Sample MQTT program - simple send and receive (MQ Telemetry Transport) for GainSpan Wi-Fi module
Dependencies: C12832 GSwifiInterface MQTT mbed-rtos mbed
Fork of HelloMQTT by
mbedのMQTTグループで保守されているMQTTライブラリを GainSpan Wi-Fi モジュールへ対応させたサンプルです。
MQTT (MQ Telemetry Transport) とは、IoTやM2M向け デバイス間通信のためのプロトコルです。
MQTTサーバーには http://iot.eclipse.org/ のサンドボックスを使います。 送信したメッセージをエコーバックしてくるだけの動作をします。
mbed Application Board を使う場合は次の行のコメントアウトを外すとLCDへ表示するようになる。
#define MBED_APPLICATION_BOARD
GainSpanモジュールの接続ピンについては次の行で指定する。
gs = new GSwifiInterface(p9, p10, NC, NC, p30, NC, 9600); //tx, rx, cts, rts, reset, alarm, baud
Wi-Fiアクセスポイントは次の行で指定する。
#define SEC GSwifi::SEC_WPA_PSK #define SSID "SSID" #define PASS "PASSPHRASE"
Diff: main.cpp
- Revision:
- 3:7a6a899de7cc
- Parent:
- 2:638c854c0695
- Child:
- 5:4a257f6ac09a
- Child:
- 6:e4c690c45021
--- a/main.cpp Wed Apr 30 13:16:09 2014 +0000 +++ b/main.cpp Tue May 06 09:45:22 2014 +0000 @@ -153,13 +153,13 @@ lcd.printf("Version is %f\n", version); - MQTT::Client<IPStack, Countdown>client = MQTT::Client<IPStack, Countdown>(&ipstack); + MQTT::Client<IPStack, Countdown> client = MQTT::Client<IPStack, Countdown>(ipstack); + + client.setConnectionLostHandler(connect); MQTT::Client<IPStack, Countdown>::connectionLostInfo info = {&client, &ipstack}; int rc = connect(&info); - client.setConnectionLostHandler(connect); - rc = client.subscribe(topic, MQTT::QOS1, messageArrived); if (rc != 0) lcd.printf("rc from MQTT subscribe is %d\n", rc);