mbed OS5に対応したMilkcocoaライブラリのテストバージョンです。

Fork of mbed-os-example-mbed5-blinky by mbed-os-examples

Committer:
jksoft
Date:
Tue Jan 24 13:41:36 2017 +0000
Revision:
24:6ba1245bf049
Parent:
22:af9dcf379926
??????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jonathan Austin 0:2757d7abb7d9 1 #include "mbed.h"
jksoft 24:6ba1245bf049 2 #include "MQTTInterface.h"
jksoft 24:6ba1245bf049 3 #include "MQTTClient.h"
jksoft 24:6ba1245bf049 4 #include "Milkcocoa.h"
jksoft 24:6ba1245bf049 5 #include "MClient.h"
jksoft 24:6ba1245bf049 6 #include "EthernetInterface.h"
jksoft 24:6ba1245bf049 7
jksoft 24:6ba1245bf049 8 EthernetInterface eth;
jksoft 24:6ba1245bf049 9 Serial pc(USBTX,USBRX);
jksoft 24:6ba1245bf049 10
jksoft 24:6ba1245bf049 11 /************************* Your Milkcocoa Setup *********************************/
Jonathan Austin 0:2757d7abb7d9 12
jksoft 24:6ba1245bf049 13 #define MILKCOCOA_APP_ID "teaidsirehz"
jksoft 24:6ba1245bf049 14 #define MILKCOCOA_DATASTORE "mbed_lan"
jksoft 24:6ba1245bf049 15
jksoft 24:6ba1245bf049 16 /************* Milkcocoa Setup (you don't need to change this!) ******************/
jksoft 24:6ba1245bf049 17
jksoft 24:6ba1245bf049 18 #define MILKCOCOA_SERVERPORT 1883
jksoft 24:6ba1245bf049 19
jksoft 24:6ba1245bf049 20 /************ Global State (you don't need to change this!) ******************/
jksoft 24:6ba1245bf049 21 const char MQTT_SERVER[] = MILKCOCOA_APP_ID ".mlkcca.com";
jksoft 24:6ba1245bf049 22 const char MQTT_CLIENTID[] = __TIME__ MILKCOCOA_APP_ID;
jksoft 24:6ba1245bf049 23
jksoft 24:6ba1245bf049 24 extern void onpush(MQTT::MessageData& md);
Jonathan Austin 0:2757d7abb7d9 25
Jonathan Austin 0:2757d7abb7d9 26 int main() {
jksoft 24:6ba1245bf049 27
jksoft 24:6ba1245bf049 28 pc.baud(9600);
jksoft 24:6ba1245bf049 29 pc.printf("Milkcocoa mbed os ver demo\n\r\n\r\n\r");
jksoft 24:6ba1245bf049 30
jksoft 24:6ba1245bf049 31 int ret = eth.connect();
jksoft 24:6ba1245bf049 32 if (ret != 0) {
jksoft 24:6ba1245bf049 33 printf("\r\nConnection error\r\n");
jksoft 24:6ba1245bf049 34 return -1;
jksoft 24:6ba1245bf049 35 }
jksoft 24:6ba1245bf049 36 pc.printf("\n\rEthernet connected\n\r");
jksoft 24:6ba1245bf049 37
jksoft 24:6ba1245bf049 38 MQTTInterface* ipstack = new MQTTInterface(&eth);
jksoft 24:6ba1245bf049 39 MClient* client = new MClient(ipstack);
jksoft 24:6ba1245bf049 40 Milkcocoa* milkcocoa = new Milkcocoa(client, MQTT_SERVER, MILKCOCOA_SERVERPORT, MILKCOCOA_APP_ID, MQTT_CLIENTID);
jksoft 24:6ba1245bf049 41
jksoft 24:6ba1245bf049 42 milkcocoa->connect();
jksoft 24:6ba1245bf049 43
jksoft 24:6ba1245bf049 44 pc.printf("%d\n\r",milkcocoa->on(MILKCOCOA_DATASTORE, "push", onpush));
jksoft 24:6ba1245bf049 45
jksoft 24:6ba1245bf049 46 milkcocoa->start();
jksoft 24:6ba1245bf049 47
jksoft 24:6ba1245bf049 48 while(1) {
jksoft 24:6ba1245bf049 49
jksoft 24:6ba1245bf049 50 DataElement elem = DataElement();
jksoft 24:6ba1245bf049 51 elem.setValue("v", 1);
jksoft 24:6ba1245bf049 52
jksoft 24:6ba1245bf049 53 milkcocoa->push(MILKCOCOA_DATASTORE, elem);
jksoft 24:6ba1245bf049 54 pc.printf("PUSH\n\r");
jksoft 24:6ba1245bf049 55 Thread::wait(500);
jksoft 24:6ba1245bf049 56
Jonathan Austin 0:2757d7abb7d9 57 }
Jonathan Austin 0:2757d7abb7d9 58 }
Jonathan Austin 1:846c97078558 59
jksoft 24:6ba1245bf049 60 void onpush(MQTT::MessageData& md)
jksoft 24:6ba1245bf049 61 {
jksoft 24:6ba1245bf049 62 MQTT::Message &message = md.message;
jksoft 24:6ba1245bf049 63 DataElement de = DataElement((char*)message.payload);
jksoft 24:6ba1245bf049 64 pc.printf("onpush\n\r");
jksoft 24:6ba1245bf049 65 pc.printf("%d\n\r",de.getInt("v"));
jksoft 24:6ba1245bf049 66 }