ESP8266上報資料到中國移動物聯網平台HTTP

來源:互聯網
上載者:User

標籤:content   使用者名稱   images   ges   ice   iclient   ima   nec   ppa   

#include <HttpPacket.h>#include <ArduinoJson.h>#include <ESP8266WiFi.h>HttpPacketHead packet;#define myPeriodic 5int L = 0; //LED指示燈引腳int sent = 0;char OneNetServer[] = "api.heclouds.com";       //不需要修改const char ssid[] = "plus";     //修改為自己的路由器使用者名稱const char password[] = "45623467981"; //修改為自己的路由器密碼char device_id[] = "4983230";    //修改為自己的裝置IDchar API_KEY[] = "ZnbTv5Qpbrv";    //修改為自己的API_KEYchar sensor_id1[] = "PM1.0";char sensor_id2[] = "PM2.5";void connectWifi(){  Serial.print("Connecting to " + *ssid);  WiFi.begin(ssid, password);  while (WiFi.status() != WL_CONNECTED) {    delay(1000);    Serial.print(".");  }  Serial.println("");  Serial.println("Connected");  Serial.println("");  digitalWrite(0, HIGH);  delay(1000);  digitalWrite(0, LOW);  delay(1000);  digitalWrite(0, HIGH);}void postDataToOneNet(char* API_VALUE_temp, char* device_id_temp, char* sensor_id_temp, float thisData){    WiFiClient client;  StaticJsonBuffer<250> jsonBuffer;  JsonObject& myJson = jsonBuffer.createObject();  JsonArray& datastreams= myJson.createNestedArray("datastreams");  JsonObject& id_datapoints = datastreams.createNestedObject();  id_datapoints["id"] = sensor_id_temp;    JsonArray& datapoints = id_datapoints.createNestedArray("datapoints");  JsonObject& value = datapoints.createNestedObject();    value["value"] =thisData;  char p[180];  myJson.printTo(p, sizeof(p));  packet.setHostAddress(OneNetServer);  packet.setDevId(device_id_temp);   //device_id  packet.setAccessKey(API_VALUE_temp);  //API_KEY  /*create the http message about add datapoint */  packet.createCmdPacket(POST, TYPE_DATAPOINT, p);  if (strlen(packet.content))    Serial.print(packet.content);  Serial.println(p);  char cmd[400];  memset(cmd, 0, 400);    strcpy(cmd, packet.content);  strcat(cmd, p);  if (client.connect(OneNetServer, 80)) {    Serial.println("WiFi Client connected ");    client.print(cmd);    delay(1000);  }//end if  //  Serial.println(cmd);  client.stop();}void setup() {  Serial.begin(115200);  pinMode(0, OUTPUT);  connectWifi();  Serial.println("setup end!");}void loop() {  int temp = random(10, 38); int hum = random(50, 70);  //發送資料到Onenet  postDataToOneNet(API_KEY, device_id, sensor_id1, temp);  delay(100);  postDataToOneNet(API_KEY, device_id, sensor_id2, hum);  Serial.println("N0 " + String(sent) + " Stream: was send");  sent++;  int count = myPeriodic;  while (count--)    delay(1000);}

ESP8266上報資料到中國移動物聯網平台HTTP

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.