1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | /** Sensor for Maximo IoT Nov 2016 * * Author: IBM * License: Apache License v2 */ #include <ESP8266WiFi.h> #include <ubSubClient.h> // #include <DHT.h> #define DHT11_PIN D1 #define DHTTYPE DHT22 //-------- Customize these values ----------- const char* ssid = "YOUR SSID"; const char* password = "YOUR PASSWORD"; #define ORG "YOUR ORGID" #define DEVICE_TYPE "YOUR DEVICE TYPE" #define DEVICE_ID "YOUR DEVICE ID" #define TOKEN "YOUR TOKEN" //-------- Customize the above values -------- DHT dht(DHT11_PIN, DHTTYPE); char server[] = ORG ".messaging.internetofthings.ibmcloud.com"; char topic[] = "iot-2/evt/status/fmt/json"; char authMethod[] = "use-token-auth"; char token[] = TOKEN; char clientId[] = "d:" ORG ":" DEVICE_TYPE ":" DEVICE_ID; WiFiClient wifiClient; PubSubClient client(server, 1883, NULL, wifiClient); void setup() { Serial.begin(115200); Serial.println(); Serial.print("Connecting to "); Serial.print(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.print("."); } Serial.println(""); Serial.print("WiFi connected, IP address: "); Serial.println(WiFi.localIP()); } void loop() { if (!!!client.connected()) { Serial.print("Reconnecting client to "); Serial.println(server); while (!!!client.connect(clientId, authMethod, token)) { Serial.print("."); Serial.println(); } } // in the string below, where you see quotation marks followed by a backslash, this means the quotation marks should be included in the final payload. String payload = "{\"d\":{\"SensorXX\":\"Usage\""; //Name this anything you like. Just make sure to keep the quotation marks in place. payload += ",\"Temperature\":"; payload += dht.readTemperature(); payload += ",\"Humidity\":"; payload += dht.readHumidity(); payload += "}}"; Serial.print("Sending payload: "); Serial.println(payload); if (client.publish(topic, (char*) payload.c_str())) { Serial.println("ublish ok"); } else { Serial.println("ublish failed"); } delay(20000); } |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |