CoAP Device Server Client mit leshan Server

Dependencies:   EthernetInterface mbed-rtos mbed nsdl_lib

Fork of COAPmbed by smd.iotkit2.ch

Sandbox Server

Eclipse stellt einen Testserver unter http://leshan.eclipse.org/ zur Verfügung. Das Programm verbindet sich mit diesem und ist unter mbed-k64f... erreichbar.

Installation lokale Version leshan

wget https://hudson.eclipse.org/leshan/job/leshan/lastSuccessfulBuild/artifact/leshan-server-demo.jar
java -jar ./leshan-server-demo.jar

cURL

Die Funktionen können mittels cURL oder Browser wie folgt getestet werden:

# Alle Clients abfragen (Antwort im JSON Format)
curl -X GET  http://localhost:8080/api/clients
                         
# Wert von LED2 abfragen (Antwort im text/plain Format)                      
curl -X GET  http://localhost:8080/api/clients/mbed-k64f-1234/10/0/2 
 
# Wert für LED2 setzen
curl -X GET -vvv http://localhost:8080/api/clients/mbed-k64f-1234/10/0/2 -H "Content-Type: text/plain" -d "10"
Revision:
15:fba25b7e63cd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resources/PwmOutResource.h	Sun Jun 21 12:12:34 2015 +0000
@@ -0,0 +1,45 @@
+/** 
+ * PwmOut Resourcen Abhandlung - Klassen Definition
+ */
+ 
+#ifndef PWMOUT_RESOURCE_H
+#define PWMOUT_RESOURCE_H
+ 
+#include "nsdl_support.h"
+
+class PwmOutResource 
+{
+public:
+    /** Default Konstruktor 
+     *  @param pin Pin fuer PwmOut
+     *  @param id Path zur Resource
+     *  @param name Name welcher angezeigt werden soll 
+     */
+    PwmOutResource( PinName pin, char *name, char *id ); 
+    
+    /** Erstellt die Resource 
+     *  @param sn_nsdl_resource_info_s CoAP struct
+     *  @return 0 wenn ohne Fehler
+     */
+    int create( sn_nsdl_resource_info_s *resource_ptr );
+    
+    /** Callback wenn die Resource gelesen oder geaendert werden soll
+     *  @param sn_coap_hdr_s
+     *  @param sn_nsdl_addr_s
+     *  @param sn_proto_info_s
+     *  @return 0 wenn ohne Fehler
+     */
+    static uint8_t callback( sn_coap_hdr_s *received_coap_ptr, sn_nsdl_addr_s *address, sn_proto_info_s * proto );
+    
+private:
+    /** naechste verkettete Resource, (PwmOutResource) * 0 = Ende der Kette */
+    PwmOutResource *next;
+    /** Effektive Resource */
+    PwmOut *resource;
+    /** Id / Path */
+    char *id;
+    /** Name */
+    char *name;
+};
+ 
+#endif /* PWMOUT_RESOURCE_H */