ESP8266-向物联网云平台发送数据

时间:2022-04-01 22:21:22

方法一:

//向物联网平台发送数据
//发送数据格式:  https://dweet.io/dweet/for/my-thing-name?hello=world  免费平台
//my-thing-name 是自己起的地址名称;hello=world 键值对数据
//获取数据  https://dweet.io/get/latest/dweet/for/my-thing-name   用网页打开

#include <ESP8266WiFi.h>
const char* ssid = "jia";  //这里输入wifi名称
const char* password = "lm654321";  //这里输入wifi密码
const char* host= "dweet.io";  //数据存储平台

void setup() {
  Serial.begin(115200);
  delay(10);

   //接下来板子开始要连线到路由器了
  Serial.println();
  Serial.println();
  Serial.print("lianjie to ");
  Serial.println(ssid);

  WiFi.begin(ssid, password);//开始连线

  while (WiFi.status() != WL_CONNECTED) {  //如果没有连接成功,就输入"."
    delay(500);
    Serial.print(".");
  }
  Serial.println();
  Serial.println("WiFi lianxian cengong");//输入wifi连线成功
  Serial.println(WiFi.localIP());//输出IP
  
}

void loop() {
delay(5000);
Serial.print("connecting to ");
Serial.println(host);
WiFiClient client;//建立一个TCP客户端
if (!client.connect(host,80))  //如果没有连接成功
{
  Serial.println("lianjie sibai");
  return;
  }
//发送请求
Serial.print("Requesting URL:  ");
client.print(String("GET /dweet/for/esp8266_liming?temperature=")+"28"+"&humidity="+"40"+" HTTP/1.1\r\n"+"Host: "+host+"\r\n"+"Connection: close\r\n\r\n");
//esp8266_liming  自己起的名字-不要跟别人重名
//temperature的值是28;humidity的值是40

delay(10);
unsigned long timeout=millis();
while(client.available()==0)
{//判断是否有响应信息
if(millis()-timeout>5000)  //如果超时5秒,就失败
{
  Serial.println(">>>Client Timeout!");
  client.stop();
  return;
  }}
  
//读取返回的数据
while(client.available())
{
  String line=client.readStringUntil('\r');
  Serial.print(line);
  }

  //关闭连接
  Serial.println();
  Serial.println("lianjie guanbi");

}

 

在串口监视器看到 :

ESP8266-向物联网云平台发送数据

说明发送成功

 

用网页打开 https://dweet.io/get/latest/dweet/for/esp8266_liming   可以看到

ESP8266-向物联网云平台发送数据

 

 

 

方法二:利用dweet-esp-master库

库下载:链接:https://pan.baidu.com/s/1g7rpO3uP0UW01EfhKi_1vQ   提取码:49uj    

 

编译时出错-->不知为何   ??????????