ワークショップ用のサンプルプログラムです。

Dependencies:   DHT Milkcocoa mbed

Committer:
jksoft
Date:
Fri Apr 29 21:31:00 2016 +0000
Revision:
0:8ac5bb04e34d
??

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jksoft 0:8ac5bb04e34d 1 #include "mbed.h"
jksoft 0:8ac5bb04e34d 2 #include "MQTTESP8266.h"
jksoft 0:8ac5bb04e34d 3 #include "MQTTClient.h"
jksoft 0:8ac5bb04e34d 4 #include "SoftSerialSendOnry.h"
jksoft 0:8ac5bb04e34d 5 #include "Milkcocoa.h"
jksoft 0:8ac5bb04e34d 6 #include "MClient.h"
jksoft 0:8ac5bb04e34d 7 #include "DHT.h"
jksoft 0:8ac5bb04e34d 8
jksoft 0:8ac5bb04e34d 9
jksoft 0:8ac5bb04e34d 10 // The default setting is for the Simple IoT Board(mbed LPC1114FN28)
jksoft 0:8ac5bb04e34d 11 // Please change to fit the platform
jksoft 0:8ac5bb04e34d 12 SoftSerialSendOnry pc(dp10); // tx
jksoft 0:8ac5bb04e34d 13 DigitalOut myled(dp18);
jksoft 0:8ac5bb04e34d 14 DHT sensor(dp13, DHT11);
jksoft 0:8ac5bb04e34d 15
jksoft 0:8ac5bb04e34d 16 /************************* WiFi Access Point *********************************/
jksoft 0:8ac5bb04e34d 17
jksoft 0:8ac5bb04e34d 18 //#define WLAN_SSID "...SSID..."
jksoft 0:8ac5bb04e34d 19 //#define WLAN_PASS "...PASS..."
jksoft 0:8ac5bb04e34d 20 #define WLAN_SSID "wx01-dda3ad"
jksoft 0:8ac5bb04e34d 21 #define WLAN_PASS "0db20294cb0d3"
jksoft 0:8ac5bb04e34d 22
jksoft 0:8ac5bb04e34d 23 /************************* Your Milkcocoa Setup *********************************/
jksoft 0:8ac5bb04e34d 24
jksoft 0:8ac5bb04e34d 25 //#define MILKCOCOA_APP_ID "...YOUR_MILKCOCOA_APP_ID..."
jksoft 0:8ac5bb04e34d 26 #define MILKCOCOA_APP_ID "teaidsirehz"
jksoft 0:8ac5bb04e34d 27 #define MILKCOCOA_DATASTORE "esp8266"
jksoft 0:8ac5bb04e34d 28
jksoft 0:8ac5bb04e34d 29 /************* Milkcocoa Setup (you don't need to change this!) ******************/
jksoft 0:8ac5bb04e34d 30
jksoft 0:8ac5bb04e34d 31 #define MILKCOCOA_SERVERPORT 1883
jksoft 0:8ac5bb04e34d 32
jksoft 0:8ac5bb04e34d 33 /************ Global State (you don't need to change this!) ******************/
jksoft 0:8ac5bb04e34d 34
jksoft 0:8ac5bb04e34d 35 // Create an ESP8266 WiFiClient class to connect to the MQTT server.
jksoft 0:8ac5bb04e34d 36 // The default setting is for the Simple IoT Board(mbed LPC1114FN28)
jksoft 0:8ac5bb04e34d 37 // Please change to fit the platform
jksoft 0:8ac5bb04e34d 38 MQTTESP8266 ipstack(dp16,dp15,dp26,WLAN_SSID,WLAN_PASS); // TX,RX,Reset,SSID,Password,Baud
jksoft 0:8ac5bb04e34d 39 MClient client(&ipstack);
jksoft 0:8ac5bb04e34d 40
jksoft 0:8ac5bb04e34d 41 const char MQTT_SERVER[] = MILKCOCOA_APP_ID ".mlkcca.com";
jksoft 0:8ac5bb04e34d 42 const char MQTT_CLIENTID[] = __TIME__ MILKCOCOA_APP_ID;
jksoft 0:8ac5bb04e34d 43
jksoft 0:8ac5bb04e34d 44 Milkcocoa milkcocoa = Milkcocoa(&client, MQTT_SERVER, MILKCOCOA_SERVERPORT, MILKCOCOA_APP_ID, MQTT_CLIENTID);
jksoft 0:8ac5bb04e34d 45
jksoft 0:8ac5bb04e34d 46 extern void onpush(MQTT::MessageData& md);
jksoft 0:8ac5bb04e34d 47
jksoft 0:8ac5bb04e34d 48 int main() {
jksoft 0:8ac5bb04e34d 49 // void setup() {
jksoft 0:8ac5bb04e34d 50 int error = 0;
jksoft 0:8ac5bb04e34d 51 double h = 0.0f, c = 0.0f;
jksoft 0:8ac5bb04e34d 52
jksoft 0:8ac5bb04e34d 53 pc.baud(9600);
jksoft 0:8ac5bb04e34d 54 pc.printf("Milkcocoa mbed ver demo\n\r\n\r\n\r");
jksoft 0:8ac5bb04e34d 55 pc.printf("Connecting to %s\n\r",WLAN_SSID);
jksoft 0:8ac5bb04e34d 56 milkcocoa.connect();
jksoft 0:8ac5bb04e34d 57 pc.printf("\n\rWiFi connected\n\r");
jksoft 0:8ac5bb04e34d 58
jksoft 0:8ac5bb04e34d 59 pc.printf("%d\n\r",milkcocoa.on(MILKCOCOA_DATASTORE, "push", onpush));
jksoft 0:8ac5bb04e34d 60
jksoft 0:8ac5bb04e34d 61 // }
jksoft 0:8ac5bb04e34d 62 while(1) {
jksoft 0:8ac5bb04e34d 63 // void loop() {
jksoft 0:8ac5bb04e34d 64 milkcocoa.loop();
jksoft 0:8ac5bb04e34d 65
jksoft 0:8ac5bb04e34d 66 error = sensor.readData();
jksoft 0:8ac5bb04e34d 67 if (0 == error) {
jksoft 0:8ac5bb04e34d 68 c = sensor.ReadTemperature(CELCIUS);
jksoft 0:8ac5bb04e34d 69 h = sensor.ReadHumidity();
jksoft 0:8ac5bb04e34d 70
jksoft 0:8ac5bb04e34d 71 DataElement elem = DataElement();
jksoft 0:8ac5bb04e34d 72 elem.setValue("temp", c);
jksoft 0:8ac5bb04e34d 73 elem.setValue("hmt", h);
jksoft 0:8ac5bb04e34d 74 milkcocoa.push(MILKCOCOA_DATASTORE, elem);
jksoft 0:8ac5bb04e34d 75 }
jksoft 0:8ac5bb04e34d 76
jksoft 0:8ac5bb04e34d 77 wait(7.0);
jksoft 0:8ac5bb04e34d 78 }
jksoft 0:8ac5bb04e34d 79 }
jksoft 0:8ac5bb04e34d 80
jksoft 0:8ac5bb04e34d 81 void onpush(MQTT::MessageData& md)
jksoft 0:8ac5bb04e34d 82 {
jksoft 0:8ac5bb04e34d 83 MQTT::Message &message = md.message;
jksoft 0:8ac5bb04e34d 84 DataElement de = DataElement((char*)message.payload);
jksoft 0:8ac5bb04e34d 85 pc.printf("onpush\n\r");
jksoft 0:8ac5bb04e34d 86 pc.printf("%d\n\r",de.getInt("v"));
jksoft 0:8ac5bb04e34d 87 }