![](/media/cache/group/Download_mxxYCWN.jpg.50x50_q85.jpg)
8.1 Kombiniert das Übung 6.1 Licht bei Dämmerung einschalten mit RPC Variable um die Sensordaten via Client abzufragen.
Dependencies: EthernetInterface HttpServer mbed-rpc mbed-rtos mbed
Fork of RPCHTTPServerVariable by
main.cpp@13:9ac1a340866e, 2015-03-21 (annotated)
- Committer:
- stefan1691
- Date:
- Sat Mar 21 10:07:09 2015 +0000
- Revision:
- 13:9ac1a340866e
- Parent:
- 12:9281320e8687
Daemmerungsschaltung ergaenzt
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
stefan1691 | 12:9281320e8687 | 1 | /** 8.1 Kombiniert das Übung 6.1 Licht bei Dämmerung einschalten |
stefan1691 | 12:9281320e8687 | 2 | mit RPC Variable um die Sensordaten via Client abzufragen. |
stefan1691 | 9:66ff9ae5572e | 3 | */ |
yueee_yt | 0:050a5d4ffd55 | 4 | #include "mbed.h" |
yueee_yt | 0:050a5d4ffd55 | 5 | #include "rtos.h" |
yueee_yt | 0:050a5d4ffd55 | 6 | #include "EthernetInterface.h" |
yueee_yt | 0:050a5d4ffd55 | 7 | #include "HTTPServer.h" |
yueee_yt | 3:5758cfefe980 | 8 | #include "mbed_rpc.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 | 12:9281320e8687 | 13 | AnalogIn light( A1 ); |
stefan1691 | 13:9ac1a340866e | 14 | DigitalOut d10( D10 ); |
stefan1691 | 12:9281320e8687 | 15 | float val1; |
stefan1691 | 12:9281320e8687 | 16 | Ticker sensors; |
stefan1691 | 11:4f5efa32051c | 17 | |
stefan1691 | 12:9281320e8687 | 18 | // Update Sensor Werte |
stefan1691 | 12:9281320e8687 | 19 | void updateVal() |
stefan1691 | 11:4f5efa32051c | 20 | { |
stefan1691 | 13:9ac1a340866e | 21 | // Variable RPC zur Verfuegung stellen |
stefan1691 | 12:9281320e8687 | 22 | val1 = light; |
stefan1691 | 13:9ac1a340866e | 23 | |
stefan1691 | 13:9ac1a340866e | 24 | // Licht bei Daemmerung einschalten |
stefan1691 | 13:9ac1a340866e | 25 | if ( light < 0.04f ) |
stefan1691 | 13:9ac1a340866e | 26 | d10 = 1; |
stefan1691 | 13:9ac1a340866e | 27 | else |
stefan1691 | 13:9ac1a340866e | 28 | d10 = 0; |
stefan1691 | 11:4f5efa32051c | 29 | } |
stefan1691 | 11:4f5efa32051c | 30 | |
yueee_yt | 0:050a5d4ffd55 | 31 | int main() |
yueee_yt | 0:050a5d4ffd55 | 32 | { |
stefan1691 | 9:66ff9ae5572e | 33 | printf("RPC HTTP Server\n"); |
stefan1691 | 9:66ff9ae5572e | 34 | eth.init(); //Use DHCP |
stefan1691 | 9:66ff9ae5572e | 35 | eth.connect(); |
stefan1691 | 9:66ff9ae5572e | 36 | printf("IP Address is %s\n\r", eth.getIPAddress()); |
stefan1691 | 11:4f5efa32051c | 37 | |
stefan1691 | 12:9281320e8687 | 38 | sensors.attach( &updateVal, 1.0 ); |
marcel1691 | 7:8a319a112fba | 39 | |
stefan1691 | 9:66ff9ae5572e | 40 | // Objekte |
stefan1691 | 12:9281320e8687 | 41 | RPCVariable<float> rpcVal1( &val1, "light" ); |
yueee_yt | 3:5758cfefe980 | 42 | |
stefan1691 | 9:66ff9ae5572e | 43 | // Handler |
yueee_yt | 3:5758cfefe980 | 44 | HTTPServerAddHandler<RPCHandler>("/rpc"); |
stefan1691 | 9:66ff9ae5572e | 45 | |
stefan1691 | 9:66ff9ae5572e | 46 | // Start HTTP Server auf Port 80 |
stefan1691 | 9:66ff9ae5572e | 47 | printf( "Starte Server\n" ); |
yueee_yt | 0:050a5d4ffd55 | 48 | HTTPServerStart(80); |
yueee_yt | 0:050a5d4ffd55 | 49 | } |
yueee_yt | 0:050a5d4ffd55 | 50 |