![](/media/cache/profiles/5f14615696649541a025d3d0f8e0447f.jpg.50x50_q85.jpg)
データの保存、更新、取得ができるWebサービス「milkcocoa」に接続し、データのプッシュ、送信、取得ができるライブラリを使ったサンプルです。 https://mlkcca.com/
Diff: MQTTESP8266.h
- Revision:
- 1:e2ca99ac317b
diff -r e86fd348cd96 -r e2ca99ac317b MQTTESP8266.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MQTTESP8266.h Fri Dec 18 04:34:22 2015 +0000 @@ -0,0 +1,44 @@ + +#if !defined(MQTTESP8266_H) +#define MQTTESP8266_H + +#include "MQTTmbed.h" +#include "ESP8266Interface.h" +#include "MQTTSocket.h" + +// This struct is only used to workaround the order that the interfaces are initialized +// MQTTSocket contains a TCPSocketConnection which needs the ESP8266Interface to be +// instantiated first. Unfortunately the only way to instantiate a member before a superclass +// is through another superclass. +struct MQTTESP8266Holder { + MQTTESP8266Holder(PinName tx, PinName rx, PinName reset, const char *ssid, const char *pass) : + _wifi(tx, rx, reset, ssid, pass) {} + + ESP8266Interface _wifi; +}; + +// Straightforward implementation of a MQTT interface +class MQTTESP8266 : public MQTTESP8266Holder, public MQTTSocket { +private: + MQTTESP8266Holder::_wifi; + //ESP8266Interface _wifi; + +public: + MQTTESP8266(PinName tx, PinName rx, PinName reset, const char *ssid, const char *pass) : + MQTTESP8266Holder(tx, rx, reset, ssid, pass) { + _wifi.init(); + _wifi.connect(); + } + + ESP8266Interface& getInterface() { + return _wifi; + } + + void reconnect() { + _wifi.disconnect(); + _wifi.connect(); + } +}; + + +#endif