Minimalistischer Remote Procedure Call (RPC) HTTP Server V2

Dependencies:   EthernetInterface HttpServer OLEDDisplay mbed-rtos mbed

Fork of RPCHTTPServerSimple by smd.iotkit2.ch

Committer:
stefan1691
Date:
Sat Sep 10 07:01:44 2016 +0000
Revision:
14:ab5b22ac6b42
Parent:
12:e55991dab543
Minimalistischer Remote Procedure Call (RPC) HTTP Server V2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
stefan1691 14:ab5b22ac6b42 1 /** Minimalistischer Remote Procedure Call (RPC) HTTP Server V2
stefan1691 9:66ff9ae5572e 2 */
yueee_yt 0:050a5d4ffd55 3 #include "mbed.h"
yueee_yt 0:050a5d4ffd55 4 #include "rtos.h"
yueee_yt 0:050a5d4ffd55 5 #include "EthernetInterface.h"
yueee_yt 0:050a5d4ffd55 6 #include "HTTPServer.h"
yueee_yt 3:5758cfefe980 7 #include "mbed_rpc.h"
stefan1691 14:ab5b22ac6b42 8 #include "OLEDDisplay.h"
yueee_yt 5:bfa9878aa274 9
yueee_yt 0:050a5d4ffd55 10 EthernetInterface eth;
yueee_yt 3:5758cfefe980 11
stefan1691 14:ab5b22ac6b42 12 OLEDDisplay oled;
stefan1691 14:ab5b22ac6b42 13
yueee_yt 0:050a5d4ffd55 14 int main()
yueee_yt 0:050a5d4ffd55 15 {
stefan1691 14:ab5b22ac6b42 16 // OLED Display
stefan1691 14:ab5b22ac6b42 17 oled.clear();
stefan1691 14:ab5b22ac6b42 18 oled.printf( "Sensoren Demo\r\n" );
stefan1691 14:ab5b22ac6b42 19
stefan1691 9:66ff9ae5572e 20 printf("RPC HTTP Server\n");
stefan1691 9:66ff9ae5572e 21 eth.init(); //Use DHCP
stefan1691 9:66ff9ae5572e 22 eth.connect();
stefan1691 9:66ff9ae5572e 23 printf("IP Address is %s\n\r", eth.getIPAddress());
stefan1691 14:ab5b22ac6b42 24 oled.printf("IP Address is %s\n\r", eth.getIPAddress());
stefan1691 9:66ff9ae5572e 25
stefan1691 9:66ff9ae5572e 26 // Klassen
yueee_yt 3:5758cfefe980 27 RPC::add_rpc_class<RpcDigitalOut>();
stefan1691 10:f92d1e679fea 28 RPC::add_rpc_class<RpcDigitalIn>();
stefan1691 12:e55991dab543 29 RPC::add_rpc_class<RpcAnalogIn>();
stefan1691 10:f92d1e679fea 30 RPC::add_rpc_class<RpcPwmOut>();
marcel1691 7:8a319a112fba 31
stefan1691 9:66ff9ae5572e 32 // Objekte
stefan1691 9:66ff9ae5572e 33 RPC::construct<RpcDigitalOut, PinName, const char*>(D10, "led1");
stefan1691 9:66ff9ae5572e 34 RPC::construct<RpcDigitalOut, PinName, const char*>(D11, "led2");
stefan1691 10:f92d1e679fea 35 RPC::construct<RpcPwmOut, PinName, const char*>(D12, "led3");
stefan1691 11:43e28c85fd75 36 RPC::construct<RpcAnalogIn, PinName, const char*>(A0, "poti");
stefan1691 11:43e28c85fd75 37 RPC::construct<RpcAnalogIn, PinName, const char*>(A1, "light");
stefan1691 11:43e28c85fd75 38 RPC::construct<RpcDigitalIn, PinName, const char*>(A2, "b1");
yueee_yt 3:5758cfefe980 39
stefan1691 9:66ff9ae5572e 40 // Handler
yueee_yt 3:5758cfefe980 41 HTTPServerAddHandler<RPCHandler>("/rpc");
stefan1691 9:66ff9ae5572e 42
stefan1691 9:66ff9ae5572e 43 // Start HTTP Server auf Port 80
stefan1691 9:66ff9ae5572e 44 printf( "Starte Server\n" );
yueee_yt 0:050a5d4ffd55 45 HTTPServerStart(80);
stefan1691 12:e55991dab543 46 }