Ergänzt das jQueryMobile Beispiel um die Fehlenden Aktoren wie LED 3 und Servo 2.
Fork of RPCHTTPServerVariable by
main.cpp@11:4f5efa32051c, 2015-03-11 (annotated)
- Committer:
- stefan1691
- Date:
- Wed Mar 11 19:11:18 2015 +0000
- Revision:
- 11:4f5efa32051c
- Parent:
- 10:f92d1e679fea
- Child:
- 12:fc0fe305d4d3
Erweiterte Variante mit RCPVariable und Servo
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
stefan1691 | 9:66ff9ae5572e | 1 | /** Minimalistischer RCP HTTP Server |
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 | 11:4f5efa32051c | 8 | #include "Servo.h" |
yueee_yt | 5:bfa9878aa274 | 9 | |
yueee_yt | 0:050a5d4ffd55 | 10 | EthernetInterface eth; |
yueee_yt | 3:5758cfefe980 | 11 | |
stefan1691 | 11:4f5efa32051c | 12 | // Servo + aktuelle Werte |
stefan1691 | 11:4f5efa32051c | 13 | Servo servo1 ( A4 ); |
stefan1691 | 11:4f5efa32051c | 14 | Servo servo2 ( A5 ); |
stefan1691 | 11:4f5efa32051c | 15 | float val1, val2; |
stefan1691 | 11:4f5efa32051c | 16 | Ticker servos; |
stefan1691 | 11:4f5efa32051c | 17 | |
stefan1691 | 11:4f5efa32051c | 18 | // Update Servo Werte |
stefan1691 | 11:4f5efa32051c | 19 | void updateServo() |
stefan1691 | 11:4f5efa32051c | 20 | { |
stefan1691 | 11:4f5efa32051c | 21 | servo1 = val1; |
stefan1691 | 11:4f5efa32051c | 22 | servo2 = val2; |
stefan1691 | 11:4f5efa32051c | 23 | } |
stefan1691 | 11:4f5efa32051c | 24 | |
yueee_yt | 0:050a5d4ffd55 | 25 | int main() |
yueee_yt | 0:050a5d4ffd55 | 26 | { |
stefan1691 | 9:66ff9ae5572e | 27 | printf("RPC HTTP Server\n"); |
stefan1691 | 9:66ff9ae5572e | 28 | eth.init(); //Use DHCP |
stefan1691 | 9:66ff9ae5572e | 29 | eth.connect(); |
stefan1691 | 9:66ff9ae5572e | 30 | printf("IP Address is %s\n\r", eth.getIPAddress()); |
stefan1691 | 11:4f5efa32051c | 31 | |
stefan1691 | 11:4f5efa32051c | 32 | servos.attach( &updateServo, 1.0 ); |
stefan1691 | 9:66ff9ae5572e | 33 | |
stefan1691 | 9:66ff9ae5572e | 34 | // Klassen |
yueee_yt | 3:5758cfefe980 | 35 | RPC::add_rpc_class<RpcDigitalOut>(); |
stefan1691 | 10:f92d1e679fea | 36 | RPC::add_rpc_class<RpcDigitalIn>(); |
stefan1691 | 10:f92d1e679fea | 37 | //RPC::add_rpc_class<RpcAnalogIn>(); // bringt Link Fehler |
stefan1691 | 10:f92d1e679fea | 38 | RPC::add_rpc_class<RpcPwmOut>(); |
marcel1691 | 7:8a319a112fba | 39 | |
stefan1691 | 9:66ff9ae5572e | 40 | // Objekte |
stefan1691 | 9:66ff9ae5572e | 41 | RPC::construct<RpcDigitalOut, PinName, const char*>(D10, "led1"); |
stefan1691 | 9:66ff9ae5572e | 42 | RPC::construct<RpcDigitalOut, PinName, const char*>(D11, "led2"); |
stefan1691 | 10:f92d1e679fea | 43 | RPC::construct<RpcPwmOut, PinName, const char*>(D12, "led3"); |
stefan1691 | 10:f92d1e679fea | 44 | RPC::construct<RpcDigitalIn, PinName, const char*>(PTC9, "b1"); |
stefan1691 | 10:f92d1e679fea | 45 | //RPC::construct<RpcAnalogIn, PinName, const char*>(A0, "light"); |
stefan1691 | 11:4f5efa32051c | 46 | RPCVariable<float> rpcVal1( &val1, "servo1" ); |
stefan1691 | 11:4f5efa32051c | 47 | RPCVariable<float> rpcVal2( &val2, "servo2" ); |
yueee_yt | 3:5758cfefe980 | 48 | |
stefan1691 | 9:66ff9ae5572e | 49 | // Handler |
yueee_yt | 3:5758cfefe980 | 50 | HTTPServerAddHandler<RPCHandler>("/rpc"); |
stefan1691 | 9:66ff9ae5572e | 51 | |
stefan1691 | 9:66ff9ae5572e | 52 | // Start HTTP Server auf Port 80 |
stefan1691 | 9:66ff9ae5572e | 53 | printf( "Starte Server\n" ); |
yueee_yt | 0:050a5d4ffd55 | 54 | HTTPServerStart(80); |
yueee_yt | 0:050a5d4ffd55 | 55 | } |
yueee_yt | 0:050a5d4ffd55 | 56 |