![](/media/cache/group/ep_srxDLMd.webp.50x50_q85.jpg)
Minimalistischer Remote Procedure Call (RPC) HTTP Server V2
Dependencies: EthernetInterface HttpServer OLEDDisplay mbed-rtos mbed
Fork of RPCHTTPServerSimple by
main.cpp@14:ab5b22ac6b42, 2016-09-10 (annotated)
- 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?
User | Revision | Line number | New 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 | } |