#include "rca.h" #include "ESP8266.h" #include "Milkcocoa.h" #include "Client_ESP8266.h" #define WLAN_SSID "" #define WLAN_PASSWORD "" #define MILKCOCOA_APP_ID "" #define MILKCOCOA_DATASTORE "esp8266" #define MILKCOCOA_DATASTORE_CHAT "chat" #define MILKCOCOA_SERVERPORT 1883 ESP8266Client wifi; const char MQTT_SERVER[] PROGMEM = MILKCOCOA_APP_ID ".mlkcca.com"; const char MQTT_CLIENTID[] PROGMEM = __TIME__ MILKCOCOA_APP_ID; Milkcocoa milkcocoa = Milkcocoa(&wifi, MQTT_SERVER, MILKCOCOA_SERVERPORT, MILKCOCOA_APP_ID, MQTT_CLIENTID); extern void onpush(DataElement *elem); extern void onpush_chat(DataElement *elem); void setup() { Serial.begin(115200); Serial.println(F("Milkcocoa SDK demo")); // Connect to WiFi access point. Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(WLAN_SSID); wifi.begin(Serial5, 115200); Serial.print("FW Version:"); Serial.println(wifi.getVersion().c_str()); if (wifi.setOprToStation()) { Serial.print("to station ok\r\n"); } else { Serial.print("to station err\r\n"); } if (wifi.joinAP(WLAN_SSID, WLAN_PASSWORD)) { Serial.print("Join AP success\r\n"); Serial.print("IP: "); Serial.println(wifi.getLocalIP().c_str()); } else { Serial.print("Join AP failure\r\n"); } if (wifi.disableMUX()) { Serial.print("single ok\r\n"); } else { Serial.print("single err\r\n"); } if (milkcocoa.on(MILKCOCOA_DATASTORE, "push", onpush)){ Serial.println("milkcocoa on sucesss"); } else { Serial.println("milkcocoa on failure"); } if (milkcocoa.on(MILKCOCOA_DATASTORE_CHAT, "push", onpush_chat)){ Serial.println("milkcocoa on sucesss"); } else { Serial.println("milkcocoa on failure"); } pinMode(13, OUTPUT); Serial.println("setup end\r\n"); } int loop_cnt = 0; int cnt; void loop() { milkcocoa.loop(); char buffer[100]; sprintf(buffer, "RCA is Alive %d", loop_cnt++); DataElement elem = DataElement(); elem.setValue("message", buffer); milkcocoa.push(MILKCOCOA_DATASTORE_CHAT, &elem); // DataElement elem = DataElement(); // elem.setValue("v", cnt++); // milkcocoa.push(MILKCOCOA_DATASTORE, elem); Serial.print("."); delay(1000); }; void onpush(DataElement *pelem) { int v; Serial.print("onpush : "); v = pelem->getInt("v"); Serial.println(v); if (v == 1) { Serial.println("LED : ON!"); digitalWrite(13, HIGH); } else { Serial.println("LED : OFF!"); digitalWrite(13, LOW); } }; void onpush_chat(DataElement *pelem) { char *c; Serial.print("onpush_chat : "); c = pelem->getString("message"); Serial.println(c); };