データの保存、更新、取得ができるWebサービス「milkcocoa」に接続し、データのプッシュ、送信、取得ができるライブラリです。 https://mlkcca.com/
Dependents: MilkcocoaSample MilkcocoaSampleESP8266_LED MilkcocoaSampleESP8266 MilkcocoaSample_3G ... more
MQTTESP8266.h@0:23e533c4b1ec, 2015-12-15 (annotated)
- Committer:
- jksoft
- Date:
- Tue Dec 15 09:56:32 2015 +0000
- Revision:
- 0:23e533c4b1ec
??; Subscribe?1?????; ?Milkcocoa::on???????????????????????
Who changed what in which revision?
| User | Revision | Line number | New 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 |
Milkcocoa