温度センサの値をMilkcocoaへPushするプログラム
Dependencies: EthernetInterface Milkcocoa_EthernetIF mbed-rtos mbed
Fork of MilkcocoaSample_Eth by
main.cpp
- Committer:
- jksoft
- Date:
- 2016-02-24
- Revision:
- 2:7be8b81dc8ac
- Parent:
- 1:a45427394577
File content as of revision 2:7be8b81dc8ac:
#include "mbed.h" #include "MQTTEthernet.h" #include "MQTTClient.h" #include "Milkcocoa.h" #include "MClient.h" // The default setting is for the Simple IoT Board(mbed LPC1114FN28) // Please change to fit the platform Serial pc(USBTX, USBRX); DigitalOut red(LED1); Ticker flipper; /************************* Your Milkcocoa Setup *********************************/ #define MILKCOCOA_APP_ID "...YOUR_MILKCOCOA_APP_ID..." #define MILKCOCOA_DATASTORE "LED" /************* Milkcocoa Setup (you don't need to change this!) ******************/ #define MILKCOCOA_SERVERPORT 1883 /************ Global State (you don't need to change this!) ******************/ const char MQTT_SERVER[] = MILKCOCOA_APP_ID ".mlkcca.com"; const char MQTT_CLIENTID[] = __TIME__ MILKCOCOA_APP_ID; extern void onpush(MQTT::MessageData& md); int duty = 0; int duty_count = 0; void flip() { if( duty_count > duty ) { red = 0; } else { red = 1; } duty_count++; if( duty_count > 100) duty_count = 0; } int main() { pc.baud(9600); MQTTEthernet *ipstack = new MQTTEthernet(); MClient *client = new MClient(ipstack); Milkcocoa *milkcocoa = new Milkcocoa(client, MQTT_SERVER, MILKCOCOA_SERVERPORT, MILKCOCOA_APP_ID, MQTT_CLIENTID); pc.printf("Milkcocoa mbed ver demo\n\r\n\r\n\r"); milkcocoa->connect(); pc.printf("\n\rEther connected\n\r"); pc.printf("%d\n\r",milkcocoa->on(MILKCOCOA_DATASTORE, "push", onpush)); flipper.attach(&flip, 0.0001); while(1) { milkcocoa->loop(); } } void onpush(MQTT::MessageData& md) { MQTT::Message &message = md.message; DataElement de = DataElement((char*)message.payload); //pc.printf("onpush:%s\n\r",message.payload); //pc.printf("%d\n\r",de.getInt("RED")); duty = de.getInt("RED"); }