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 08-01-Uebung by th.iotkit2.ch

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?

UserRevisionLine numberNew 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