Ethernetwebsoc
Dependencies: C12832_lcd LM75B WebSocketClient mbed-rtos mbed Socket lwip-eth lwip-sys lwip
main.cpp@0:0ed2a7c7190c, 2013-05-31 (annotated)
- Committer:
- GordonSin
- Date:
- Fri May 31 04:09:54 2013 +0000
- Revision:
- 0:0ed2a7c7190c
31/5/2013;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
GordonSin | 0:0ed2a7c7190c | 1 | #include "mbed.h" |
GordonSin | 0:0ed2a7c7190c | 2 | #include "EthernetInterface.h" |
GordonSin | 0:0ed2a7c7190c | 3 | #include "Websocket.h" |
GordonSin | 0:0ed2a7c7190c | 4 | #include "LM75B.h" |
GordonSin | 0:0ed2a7c7190c | 5 | #include "C12832_lcd.h" |
GordonSin | 0:0ed2a7c7190c | 6 | PwmOut r (p23); |
GordonSin | 0:0ed2a7c7190c | 7 | PwmOut g (p24); |
GordonSin | 0:0ed2a7c7190c | 8 | PwmOut b (p25); |
GordonSin | 0:0ed2a7c7190c | 9 | |
GordonSin | 0:0ed2a7c7190c | 10 | C12832_LCD lcd; |
GordonSin | 0:0ed2a7c7190c | 11 | LM75B tmp(p28,p27); |
GordonSin | 0:0ed2a7c7190c | 12 | |
GordonSin | 0:0ed2a7c7190c | 13 | int main() |
GordonSin | 0:0ed2a7c7190c | 14 | { |
GordonSin | 0:0ed2a7c7190c | 15 | |
GordonSin | 0:0ed2a7c7190c | 16 | char t[100]; |
GordonSin | 0:0ed2a7c7190c | 17 | EthernetInterface eth; |
GordonSin | 0:0ed2a7c7190c | 18 | eth.init(); //Use DHCP |
GordonSin | 0:0ed2a7c7190c | 19 | eth.connect(); |
GordonSin | 0:0ed2a7c7190c | 20 | lcd.printf("IP Address is %s\n\r", eth.getIPAddress()); |
GordonSin | 0:0ed2a7c7190c | 21 | |
GordonSin | 0:0ed2a7c7190c | 22 | wait(2.0); |
GordonSin | 0:0ed2a7c7190c | 23 | |
GordonSin | 0:0ed2a7c7190c | 24 | Websocket ws("ws://sockets.mbed.org:443/ws/rs/wo"); |
GordonSin | 0:0ed2a7c7190c | 25 | ws.connect(); |
GordonSin | 0:0ed2a7c7190c | 26 | wait(2.0); |
GordonSin | 0:0ed2a7c7190c | 27 | |
GordonSin | 0:0ed2a7c7190c | 28 | ws.send("Welcome to RS Components IOT demo: message broadcasting"); |
GordonSin | 0:0ed2a7c7190c | 29 | wait(1.0); |
GordonSin | 0:0ed2a7c7190c | 30 | |
GordonSin | 0:0ed2a7c7190c | 31 | while (1) { |
GordonSin | 0:0ed2a7c7190c | 32 | |
GordonSin | 0:0ed2a7c7190c | 33 | float tp=tmp.read(); |
GordonSin | 0:0ed2a7c7190c | 34 | sprintf(t, "[RS Components]Current Room Temperature :%.2f", (float)tp); |
GordonSin | 0:0ed2a7c7190c | 35 | ws.send(t); |
GordonSin | 0:0ed2a7c7190c | 36 | |
GordonSin | 0:0ed2a7c7190c | 37 | for(float i = 0; i < 1.0 ; i += 0.01) { |
GordonSin | 0:0ed2a7c7190c | 38 | float p = (((tmp.read()/100)-0.34)*500);// 0.34 is the offset of the Temp.of 34 oC and 500 is the scale of change in color |
GordonSin | 0:0ed2a7c7190c | 39 | |
GordonSin | 0:0ed2a7c7190c | 40 | r = 1.0 - ((p < 1.0) ? 1.0 - p : (p > 2.0) ? p - 2.0 : 0.0); |
GordonSin | 0:0ed2a7c7190c | 41 | g = 1.0 - ((p < 1.0) ? p : (p > 2.0) ? 0.0 : 2.0 - p); |
GordonSin | 0:0ed2a7c7190c | 42 | b = 1.0 - ((p < 1.0) ? 0.0 : (p > 2.0) ? 3.0 - p : p - 1.0); ; |
GordonSin | 0:0ed2a7c7190c | 43 | wait (0.005); |
GordonSin | 0:0ed2a7c7190c | 44 | |
GordonSin | 0:0ed2a7c7190c | 45 | lcd.cls(); |
GordonSin | 0:0ed2a7c7190c | 46 | lcd.locate(0,3); |
GordonSin | 0:0ed2a7c7190c | 47 | lcd.printf("Current Room Temp. :%.2foC",tmp.read()); |
GordonSin | 0:0ed2a7c7190c | 48 | wait(0.1); |
GordonSin | 0:0ed2a7c7190c | 49 | } |
GordonSin | 0:0ed2a7c7190c | 50 | } |
GordonSin | 0:0ed2a7c7190c | 51 | } |