データの保存、更新、取得ができるWebサービス「milkcocoa」に接続し、データのプッシュ、送信、取得ができるライブラリを使ったサンプルです。 https://mlkcca.com/

Dependencies:   Milkcocoa mbed

Committer:
jksoft
Date:
Fri Dec 18 04:34:22 2015 +0000
Revision:
1:e2ca99ac317b
ESP8266?????????????;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jksoft 1:e2ca99ac317b 1
jksoft 1:e2ca99ac317b 2 #if !defined(MQTTESP8266_H)
jksoft 1:e2ca99ac317b 3 #define MQTTESP8266_H
jksoft 1:e2ca99ac317b 4
jksoft 1:e2ca99ac317b 5 #include "MQTTmbed.h"
jksoft 1:e2ca99ac317b 6 #include "ESP8266Interface.h"
jksoft 1:e2ca99ac317b 7 #include "MQTTSocket.h"
jksoft 1:e2ca99ac317b 8
jksoft 1:e2ca99ac317b 9 // This struct is only used to workaround the order that the interfaces are initialized
jksoft 1:e2ca99ac317b 10 // MQTTSocket contains a TCPSocketConnection which needs the ESP8266Interface to be
jksoft 1:e2ca99ac317b 11 // instantiated first. Unfortunately the only way to instantiate a member before a superclass
jksoft 1:e2ca99ac317b 12 // is through another superclass.
jksoft 1:e2ca99ac317b 13 struct MQTTESP8266Holder {
jksoft 1:e2ca99ac317b 14 MQTTESP8266Holder(PinName tx, PinName rx, PinName reset, const char *ssid, const char *pass) :
jksoft 1:e2ca99ac317b 15 _wifi(tx, rx, reset, ssid, pass) {}
jksoft 1:e2ca99ac317b 16
jksoft 1:e2ca99ac317b 17 ESP8266Interface _wifi;
jksoft 1:e2ca99ac317b 18 };
jksoft 1:e2ca99ac317b 19
jksoft 1:e2ca99ac317b 20 // Straightforward implementation of a MQTT interface
jksoft 1:e2ca99ac317b 21 class MQTTESP8266 : public MQTTESP8266Holder, public MQTTSocket {
jksoft 1:e2ca99ac317b 22 private:
jksoft 1:e2ca99ac317b 23 MQTTESP8266Holder::_wifi;
jksoft 1:e2ca99ac317b 24 //ESP8266Interface _wifi;
jksoft 1:e2ca99ac317b 25
jksoft 1:e2ca99ac317b 26 public:
jksoft 1:e2ca99ac317b 27 MQTTESP8266(PinName tx, PinName rx, PinName reset, const char *ssid, const char *pass) :
jksoft 1:e2ca99ac317b 28 MQTTESP8266Holder(tx, rx, reset, ssid, pass) {
jksoft 1:e2ca99ac317b 29 _wifi.init();
jksoft 1:e2ca99ac317b 30 _wifi.connect();
jksoft 1:e2ca99ac317b 31 }
jksoft 1:e2ca99ac317b 32
jksoft 1:e2ca99ac317b 33 ESP8266Interface& getInterface() {
jksoft 1:e2ca99ac317b 34 return _wifi;
jksoft 1:e2ca99ac317b 35 }
jksoft 1:e2ca99ac317b 36
jksoft 1:e2ca99ac317b 37 void reconnect() {
jksoft 1:e2ca99ac317b 38 _wifi.disconnect();
jksoft 1:e2ca99ac317b 39 _wifi.connect();
jksoft 1:e2ca99ac317b 40 }
jksoft 1:e2ca99ac317b 41 };
jksoft 1:e2ca99ac317b 42
jksoft 1:e2ca99ac317b 43
jksoft 1:e2ca99ac317b 44 #endif