Moko_mbed
Dependencies: DigitDisplay EthernetInterface WebSocketClient mbed-rtos mbed
Digit Display -> DigitDisplay display(P4_29, P4_28); #Uart Temperature -> AnalogIn ain(P0_23); #A0
main.cpp@0:e84b2d4ab961, 2015-05-03 (annotated)
- Committer:
- bruceyang
- Date:
- Sun May 03 06:19:47 2015 +0000
- Revision:
- 0:e84b2d4ab961
Temp,LED,Websocket
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bruceyang | 0:e84b2d4ab961 | 1 | #include "mbed.h" |
bruceyang | 0:e84b2d4ab961 | 2 | #include "EthernetInterface.h" |
bruceyang | 0:e84b2d4ab961 | 3 | #include "Websocket.h" |
bruceyang | 0:e84b2d4ab961 | 4 | #include "DigitDisplay.h" |
bruceyang | 0:e84b2d4ab961 | 5 | |
bruceyang | 0:e84b2d4ab961 | 6 | DigitalOut myled(LED2); |
bruceyang | 0:e84b2d4ab961 | 7 | EthernetInterface eth; |
bruceyang | 0:e84b2d4ab961 | 8 | DigitDisplay display(P4_29, P4_28); |
bruceyang | 0:e84b2d4ab961 | 9 | AnalogIn ain(P0_23); |
bruceyang | 0:e84b2d4ab961 | 10 | |
bruceyang | 0:e84b2d4ab961 | 11 | int a; |
bruceyang | 0:e84b2d4ab961 | 12 | float temperature; |
bruceyang | 0:e84b2d4ab961 | 13 | int B=3975; //B value of the thermistor |
bruceyang | 0:e84b2d4ab961 | 14 | float resistance; |
bruceyang | 0:e84b2d4ab961 | 15 | |
bruceyang | 0:e84b2d4ab961 | 16 | int main() |
bruceyang | 0:e84b2d4ab961 | 17 | { |
bruceyang | 0:e84b2d4ab961 | 18 | char data[256]; |
bruceyang | 0:e84b2d4ab961 | 19 | eth.init(); |
bruceyang | 0:e84b2d4ab961 | 20 | eth.connect(); |
bruceyang | 0:e84b2d4ab961 | 21 | Websocket ws("ws://wot.city/object/554588e158e328ae620000ab/send"); |
bruceyang | 0:e84b2d4ab961 | 22 | ws.connect(); |
bruceyang | 0:e84b2d4ab961 | 23 | while(1) { |
bruceyang | 0:e84b2d4ab961 | 24 | // multiply ain by 675 if the Grove shield is set to 5V or 1023 if set to 3.3V |
bruceyang | 0:e84b2d4ab961 | 25 | a=ain*675; |
bruceyang | 0:e84b2d4ab961 | 26 | resistance=(float)(1023-a)*10000/a; //get the resistance of the sensor; |
bruceyang | 0:e84b2d4ab961 | 27 | temperature=1/(log(resistance/10000)/B+1/298.15)-273.15; //convert to temperature via datasheet ; |
bruceyang | 0:e84b2d4ab961 | 28 | myled = 1; |
bruceyang | 0:e84b2d4ab961 | 29 | wait(0.8); |
bruceyang | 0:e84b2d4ab961 | 30 | myled = 0; |
bruceyang | 0:e84b2d4ab961 | 31 | wait(0.8); |
bruceyang | 0:e84b2d4ab961 | 32 | display.write(temperature); |
bruceyang | 0:e84b2d4ab961 | 33 | sprintf( data , "{ \"temperature\": %f }",temperature); |
bruceyang | 0:e84b2d4ab961 | 34 | ws.send(data); |
bruceyang | 0:e84b2d4ab961 | 35 | } |
bruceyang | 0:e84b2d4ab961 | 36 | } |