zoukankan      html  css  js  c++  java
  • ESP8266-向物联网云平台发送数据--dweet

    方法一:

    //向物联网平台发送数据
    //发送数据格式:  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
    "+"Host: "+host+"
    "+"Connection: close
    
    ");
    //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('
    ');
      Serial.print(line);
      }
    
      //关闭连接
      Serial.println();
      Serial.println("lianjie guanbi");
    
    }

    在串口监视器看到 :

    说明发送成功

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

    用python读取数据

    from urllib.request import urlopen   #导入urlopen函数
    
    #读取网页内容,如果网页中有中文要用“utf-8”解码
    html = urlopen( "https://dweet.io/get/latest/dweet/for/esp8266_liming").read().decode('utf-8')
    print(html,type(html))
    
    #后面用正则表达式 提取需要的内容

    天子骄龙 

  • 相关阅读:
    vi 的使用,很详细
    Linux文件的打包与压缩
    Linux初学者学习资料
    正确的关机方法: sync, shutdown, reboot, halt, poweroff, init
    Linux命令下,cp,rm,mv命令的使用
    Linux的文件权限(简单易懂)
    FireBug与FirePHP
    Git进一步学习
    jQuery插件开发
    人生就如做项目
  • 原文地址:https://www.cnblogs.com/liming19680104/p/11004579.html
Copyright © 2011-2022 走看看