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

Dependencies:   MQTT

Dependents:   MilkcocoaSample MilkcocoaSampleESP8266_LED MilkcocoaSampleESP8266 MilkcocoaSample_3G ... more

Committer:
jksoft
Date:
Tue Dec 15 09:56:32 2015 +0000
Revision:
0:23e533c4b1ec
??; Subscribe?1?????; ?Milkcocoa::on???????????????????????

Who changed what in which revision?

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