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"

resources/PwmOutResource.h

Committer:
marcel1691
Date:
2015-10-15
Revision:
22:6d4c96af70e3
Parent:
15:fba25b7e63cd

File content as of revision 22:6d4c96af70e3:

/** 
 * 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 */