Paho MQTT Client example with W7500
Dependencies: DHT MQTTforLecture WIZnetInterface mbed-src
Fork of w7500-paho-mqtt by
Code
WIZwiki W7500 with paho mqtt client.
Import programw7500-paho-mqtt
Paho MQTT Client example with W7500
You have to change
You have to use your ethernet(network) information.
MQTTEthernet.h
uint8_t mac_addr[6] = {0x00, 0x08, 0xDC, 0x00, 0x00, 0x00}; // your mac address const char * ip_addr = "???.???.???.???"; // your ip const char * gw_addr = "???.???.???.???"; // your gateway const char * snmask = "???.???.???.???"; // your subnetmask
And you have to use your mqtt broker server information. Broker server ip address and port number listed bleow are available now. But I will close the mqtt broker server on July 15,2015.
main.cpp
char* hostname = "104.199.146.45"; int port = 1883;
Platform
WIZwiki W7500 [ https://developer.mbed.org/platforms/WIZwiki-W7500/ ]
Component
YWRobot Easy module shield [ where to buy ] (This is not mbed component)
Test software
PC
MQTT-FX - A JavaFX based MQTT Client [ Home page ]
Mobile(iPhone)
ZMQTT-UTILITY - MQTT Test utility|You can download from App store(iPhone).
Diff: main.cpp
- Revision:
- 3:36fd3cfad85a
- Parent:
- 2:ec5ae99791da
- Child:
- 7:a5ead1402704
--- a/main.cpp Tue Jul 31 11:51:28 2012 +0000 +++ b/main.cpp Wed Aug 01 13:07:32 2012 +0000 @@ -1,6 +1,8 @@ #include "mbed.h" #include "EthernetInterface.h" +#define ECHO_SERVER_PORT 7 + int main (void) { EthernetInterface eth; eth.init(); //Use DHCP @@ -8,24 +10,25 @@ printf("IP Address is %s\n", eth.getIPAddress()); TCPSocketServer server; - server.bind(7); - server.listen(1); + server.bind(ECHO_SERVER_PORT); + server.listen(); while (true) { printf("\nWait for new connection...\n"); TCPSocketConnection client; server.accept(client); - client.set_blocking(false); + client.set_blocking(false, 1500); // Timeout after (1.5)s printf("Connection from: %s\n", client.get_address()); char buffer[256]; while (true) { - int n = client.receive(buffer, 256); + int n = client.receive(buffer, sizeof(buffer)); if (n <= 0) break; client.send_all(buffer, n); if (n <= 0) break; } + client.close(); } }