![](/media/cache/profiles/5f14615696649541a025d3d0f8e0447f.jpg.50x50_q85.jpg)
ワークショップ用のプログラム
Diff: main.cpp
- Revision:
- 0:d0b3a5d1ba28
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Sep 22 00:49:42 2016 +0000 @@ -0,0 +1,89 @@ +#include "mbed.h" +#include "MQTTESP8266.h" +#include "MQTTClient.h" +#include "SoftSerialSendOnry.h" +#include "Milkcocoa.h" +#include "MClient.h" + +// The default setting is for the Simple IoT Board(mbed LPC1114FN28) +// Please change to fit the platform +SoftSerialSendOnry pc(dp10); // tx +DigitalOut myled(dp18); +AnalogIn thermistor(dp13); /* Temperature sensor connected to Analog Grove connector */ + +/************************* WiFi Access Point *********************************/ + +#define WLAN_SSID "...SSID..." +#define WLAN_PASS "...PASS..." + +/************************* Your Milkcocoa Setup *********************************/ + +#define MILKCOCOA_APP_ID "...YOUR_MILKCOCOA_APP_ID..." +#define MILKCOCOA_DATASTORE "esp8266" + +/************* Milkcocoa Setup (you don't need to change this!) ******************/ + +#define MILKCOCOA_SERVERPORT 1883 + +/************ Global State (you don't need to change this!) ******************/ + +// Create an ESP8266 WiFiClient class to connect to the MQTT server. +// The default setting is for the Simple IoT Board(mbed LPC1114FN28) +// Please change to fit the platform +MQTTESP8266 ipstack(dp16,dp15,dp26,WLAN_SSID,WLAN_PASS); // TX,RX,Reset,SSID,Password,Baud +MClient client(&ipstack); + +const char MQTT_SERVER[] = MILKCOCOA_APP_ID ".mlkcca.com"; +const char MQTT_CLIENTID[] = __TIME__ MILKCOCOA_APP_ID; + +Milkcocoa milkcocoa = Milkcocoa(&client, MQTT_SERVER, MILKCOCOA_SERVERPORT, MILKCOCOA_APP_ID, MQTT_CLIENTID); + +extern void onpush(MQTT::MessageData& md); + +float getTemperature() +{ + unsigned int a, beta = 3975; + float temperature, resistance; + + a = thermistor.read_u16(); /* Read analog value */ + + /* Calculate the resistance of the thermistor from analog votage read. */ + resistance= (float) 10000.0 * ((65536.0 / a) - 1.0); + + /* Convert the resistance to temperature using Steinhart's Hart equation */ + temperature=(1/((log(resistance/10000.0)/beta) + (1.0/298.15)))-273.15; + + return(temperature); +} + + +int main() { +// void setup() { + pc.baud(9600); + pc.printf("Milkcocoa mbed ver demo\n\r\n\r\n\r"); + pc.printf("Connecting to %s\n\r",WLAN_SSID); + milkcocoa.connect(); + pc.printf("\n\rWiFi connected\n\r"); + + pc.printf("%d\n\r",milkcocoa.on(MILKCOCOA_DATASTORE, "push", onpush)); + +// } + while(1) { +// void loop() { + milkcocoa.loop(); + + DataElement elem = DataElement(); + elem.setValue("Temperature", getTemperature()); + + milkcocoa.push(MILKCOCOA_DATASTORE, elem); + wait(7.0); + } +} + +void onpush(MQTT::MessageData& md) +{ + MQTT::Message &message = md.message; + DataElement de = DataElement((char*)message.payload); + pc.printf("onpush\n\r"); + pc.printf("%d\n\r",de.getInt("v")); +} \ No newline at end of file