Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: W5500Interface WebSocketClient mbed
Fork of Websocket_Ethernet_W5500 by
main.cpp@2:d6eb2ce07362, 2014-07-08 (annotated)
- Committer:
- Bongjun
- Date:
- Tue Jul 08 08:37:08 2014 +0000
- Revision:
- 2:d6eb2ce07362
- Parent:
- 1:22e5197655a9
- Child:
- 3:4c02f6287752
Added DS18B20 Temperature Sensor.; send current Temperature information to Webserver
Who changed what in which revision?
| User | Revision | Line number | New contents of line | 
|---|---|---|---|
| Bongjun | 0:2efa5e59223d | 1 | #include "mbed.h" | 
| Bongjun | 0:2efa5e59223d | 2 | #include "EthernetInterfaceW5500.h" | 
| Bongjun | 0:2efa5e59223d | 3 | #include "Websocket.h" | 
| Bongjun | 2:d6eb2ce07362 | 4 | #include "DS18B20Sensor.h" | 
| Bongjun | 0:2efa5e59223d | 5 | |
| Bongjun | 0:2efa5e59223d | 6 | DigitalOut myled(LED1); | 
| Bongjun | 2:d6eb2ce07362 | 7 | DS18B20Sensor sensor(P1_25); | 
| Bongjun | 0:2efa5e59223d | 8 | |
| Bongjun | 0:2efa5e59223d | 9 | int main() | 
| Bongjun | 0:2efa5e59223d | 10 | { | 
| Bongjun | 0:2efa5e59223d | 11 | #if defined(TARGET_LPC1114) | 
| Bongjun | 0:2efa5e59223d | 12 | SPI spi(dp2, dp1, dp6); // mosi, miso, sclk | 
| Bongjun | 0:2efa5e59223d | 13 | EthernetInterfaceW5500 eth(&spi, dp25, dp26); // spi, cs, reset | 
| Bongjun | 0:2efa5e59223d | 14 | |
| Bongjun | 0:2efa5e59223d | 15 | #elif defined(TARGET_LPC1768) | 
| Bongjun | 0:2efa5e59223d | 16 | SPI spi(p11, p12, p13); // mosi, miso, sclk | 
| Bongjun | 0:2efa5e59223d | 17 | EthernetInterfaceW5500 eth(&spi, p14, p15); // spi, cs, reset | 
| Bongjun | 0:2efa5e59223d | 18 | |
| Bongjun | 0:2efa5e59223d | 19 | #elif defined(TARGET_LPC11U68) | 
| Bongjun | 0:2efa5e59223d | 20 | SPI spi(P0_9, P0_8, P1_29); // mosi, miso, sclk | 
| Bongjun | 0:2efa5e59223d | 21 | //WIZnetInterface eth(&spi, P0_2, P1_25); // spi, cs, reset | 
| Bongjun | 0:2efa5e59223d | 22 | //SPI spi(p5, p6, p7); // mosi, miso, sclk | 
| Bongjun | 0:2efa5e59223d | 23 | EthernetInterfaceW5500 eth(&spi, P0_2, P1_28);//, nRESET(p9); // reset pin is dummy, don't affect any pin of WIZ550io | 
| Bongjun | 0:2efa5e59223d | 24 | spi.format(8,0); // 8bit, mode 0 | 
| Bongjun | 0:2efa5e59223d | 25 | spi.frequency(7000000); // 7MHz | 
| Bongjun | 0:2efa5e59223d | 26 | wait(1); // 1 second for stable state | 
| Bongjun | 0:2efa5e59223d | 27 | |
| Bongjun | 0:2efa5e59223d | 28 | #endif | 
| Bongjun | 0:2efa5e59223d | 29 | |
| Bongjun | 0:2efa5e59223d | 30 | #ifdef _DHCP | 
| Bongjun | 0:2efa5e59223d | 31 | eth.init(); //Use DHCP | 
| Bongjun | 0:2efa5e59223d | 32 | eth.connect(); | 
| Bongjun | 0:2efa5e59223d | 33 | //printf("IP Address is %s\n\r", eth.getIPAddress()); | 
| Bongjun | 0:2efa5e59223d | 34 | printf("Initialized, MAC: %s\n", eth.getMACAddress()); | 
| Bongjun | 0:2efa5e59223d | 35 | printf("Connected, IP: %s, MASK: %s, GW: %s\n", | 
| Bongjun | 0:2efa5e59223d | 36 | eth.getIPAddress(), eth.getNetworkMask(), eth.getGateway()); | 
| Bongjun | 0:2efa5e59223d | 37 | |
| Bongjun | 0:2efa5e59223d | 38 | #else | 
| Bongjun | 1:22e5197655a9 | 39 | // as your env. change to real IP address and so on. | 
| Bongjun | 0:2efa5e59223d | 40 | int ret = eth.init("222.98.173.212", "255.255.255.192", "222.98.173.254"); | 
| Bongjun | 0:2efa5e59223d | 41 | if (!ret) { | 
| Bongjun | 0:2efa5e59223d | 42 | printf("Initialized, MAC: %s\n", eth.getMACAddress()); | 
| Bongjun | 0:2efa5e59223d | 43 | printf("Connected, IP: %s, MASK: %s, GW: %s\n", | 
| Bongjun | 0:2efa5e59223d | 44 | eth.getIPAddress(), eth.getNetworkMask(), eth.getGateway()); | 
| Bongjun | 0:2efa5e59223d | 45 | } else { | 
| Bongjun | 0:2efa5e59223d | 46 | printf("Error eth.init() - ret = %d\n", ret); | 
| Bongjun | 0:2efa5e59223d | 47 | return -1; | 
| Bongjun | 0:2efa5e59223d | 48 | } | 
| Bongjun | 0:2efa5e59223d | 49 | |
| Bongjun | 0:2efa5e59223d | 50 | #endif | 
| Bongjun | 0:2efa5e59223d | 51 | |
| Bongjun | 0:2efa5e59223d | 52 | // Websocket ws("ws://sockets.mbed.org:443/ws/demo/wo"); | 
| Bongjun | 0:2efa5e59223d | 53 | // ws.connect(); | 
| Bongjun | 0:2efa5e59223d | 54 | |
| Bongjun | 0:2efa5e59223d | 55 | // this code from http://mbed.org/teams/mbed/code/Websocket_Ethernet_HelloWorld/file/bd0a76c1d9d0/main.cpp | 
| Bongjun | 0:2efa5e59223d | 56 | // view @ http://sockets.mbed.org/demo/viewer | 
| Bongjun | 0:2efa5e59223d | 57 | Websocket ws("ws://sockets.mbed.org:443/ws/demo/rw"); | 
| Bongjun | 0:2efa5e59223d | 58 | ws.connect(); | 
| Bongjun | 0:2efa5e59223d | 59 | |
| Bongjun | 0:2efa5e59223d | 60 | char str[100]; | 
| Bongjun | 2:d6eb2ce07362 | 61 | char sensorBuf[25]; | 
| Bongjun | 2:d6eb2ce07362 | 62 | uint8_t result; | 
| Bongjun | 2:d6eb2ce07362 | 63 | uint8_t sensor_cnt; | 
| Bongjun | 2:d6eb2ce07362 | 64 | sensor_cnt = sensor.count(); | 
| Bongjun | 0:2efa5e59223d | 65 | |
| Bongjun | 0:2efa5e59223d | 66 | for(int i=0; i<0x10; ++i) { | 
| Bongjun | 0:2efa5e59223d | 67 | // string with a message | 
| Bongjun | 2:d6eb2ce07362 | 68 | result = sensor.startReading(true); // start sensor readings and wait | 
| Bongjun | 2:d6eb2ce07362 | 69 | if (result == DS18X20_OK) { | 
| Bongjun | 2:d6eb2ce07362 | 70 | sensor.getReading(sensorBuf, 0); // get result into buf | 
| Bongjun | 2:d6eb2ce07362 | 71 | sprintf(str, "%d WebSocket for WIZnet W5500 Hello World over Ethernet : Current Temperature is %s", i, sensorBuf); | 
| Bongjun | 2:d6eb2ce07362 | 72 | } else { | 
| Bongjun | 2:d6eb2ce07362 | 73 | sprintf(str, "%d WebSocket for WIZnet W5500 Hello World over Ethernet", i); | 
| Bongjun | 2:d6eb2ce07362 | 74 | } | 
| Bongjun | 0:2efa5e59223d | 75 | ws.send(str); | 
| Bongjun | 0:2efa5e59223d | 76 | |
| Bongjun | 0:2efa5e59223d | 77 | // clear the buffer and wait a sec... | 
| Bongjun | 0:2efa5e59223d | 78 | memset(str, 0, 100); | 
| Bongjun | 0:2efa5e59223d | 79 | wait(0.5f); | 
| Bongjun | 0:2efa5e59223d | 80 | |
| Bongjun | 0:2efa5e59223d | 81 | // websocket server should echo whatever we sent it | 
| Bongjun | 0:2efa5e59223d | 82 | if (ws.read(str)) { | 
| Bongjun | 0:2efa5e59223d | 83 | printf("rcv'd: %s\n", str); | 
| Bongjun | 0:2efa5e59223d | 84 | } | 
| Bongjun | 0:2efa5e59223d | 85 | } | 
| Bongjun | 0:2efa5e59223d | 86 | ws.close(); | 
| Bongjun | 0:2efa5e59223d | 87 | eth.disconnect(); | 
| Bongjun | 0:2efa5e59223d | 88 | |
| Bongjun | 0:2efa5e59223d | 89 | while(1) { | 
| Bongjun | 0:2efa5e59223d | 90 | myled = 1; | 
| Bongjun | 0:2efa5e59223d | 91 | wait(0.2); | 
| Bongjun | 0:2efa5e59223d | 92 | myled = 0; | 
| Bongjun | 0:2efa5e59223d | 93 | wait(0.2); | 
| Bongjun | 0:2efa5e59223d | 94 | } | 
| Bongjun | 0:2efa5e59223d | 95 | } | 
