资讯详情

HTTP终端(自己做的云平台)

本程序适用于最简单的局域网HTTP协议。 成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/成品在线盘工程/HTTP中。 每个地址都不一样,使用前使用netstat -an查看本地址,填写host中。 ssid WIFI 密码 password wifi密码

http地址: String postRequest = (String)(“GET “) “userupdate?device_id=3&wendu=35&shidu=50” ” HTTP/1.1\r\n” “Content-Type: text/html;charset=utf-8\r\n” "Host: " host “\r\n” “User-Agent: BuildFailureDetectorESP8266\r\n” “Connection: Keep-Alive\r\n\r\n”; //https://www.arduino.cn/thread-92176-1-1.html

程序开始: //https://www.arduino.cn/thread-92176-1-1.html #include <ESP8266WiFi.h> const char* ssid="…"; const char* password = “…”; const char* host=“192.168.2.218”; const int port=5000; const char* url=“http://se.360.cn/cc/fwl_11.dat”; char buffer[1024];

#define BASE_URL “GET %s HTTP/1.1\r\nHost:%s\r\nAccept-Language:zh-cn\r\nConnection:keep-alive\r\n\r\n” void setup() { // put your setup code here, to run once: Serial.begin(9600); Serial.println(); Serial.print(“connecting to “); Serial.println(ssid); WiFi.begin(ssid,password); while(WiFi.status()!=WL_CONNECTED){ delay(500); Serial.print(”.”);

} Serial.println(""); Serial.println(“WiFi connected”); Serial.println(“IP address: “); Serial.println(WiFi.localIP()); sprintf(buffer,BASE_URL,”/v3/weather/now.json?key=smtq3n0ixdggurox&location=beijing&language=zh-Hans&unit=c”,“api.seniverse.com”);

}

void loop() { // put your main code here, to run repeatedly: Serial.print("connecting to "); Serial.println(host); WiFiClient client; if(!client.connect(host,5000)){ Serial.println(“connection failed”); return; } delay(10);

String postRequest = (String)("GET ") "userupdate?device_id=3&wendu=35&shidu=50" " HTTP/1.1\r\n"  //"Content-Type: text/html;charset=utf-8\r\n"  "Host: " host   "\r\n"  //"User-Agent: BuildFailureDetectorESP8266\r\n"  //"Connection: Keep-Alive\r\n\r\n"; Serial.println(buffer); //client.print(newurl); //读天气 client.print(postRequest); String line = client.readStringUntil('\n'); while(line.length()!=0){   Serial.println(line);   line=client.readStringUntil('\n');    } Serial.println(line); client.stop(); delay(3000); 

}

安装库 如前所述,我们假设使用它Arduino IDE对ESP8266进行编程。如果你还没有配置它作为支持ESP8266板,请查看前面的博文。如所料,Arduino有些库可以简化我们和我们DHT交互任务。一个非常简单易用,与之和谐ESP8266配合使用Simple DHT传感器库。可以通过Arduino IDE Library Manager如图3所示,轻松安装库。

图3 - 通过仓库管理器安装简单DHT传感器库。

代码 要导入新安装的库,请在代码顶部添加以下内容include:

1

#include <SimpleDHT.h>

同时使用GPIO为了改变,引脚号声明了一个全局变量。在这种情况下,我们将使用它GPIO2:

1

int DHTpin = 2;

要允许将数据发送到计算机,请在设置功能中启动串行连接:

1

Serial.begin(115200);

声明两个字节变量,一个用于温度,另一个用于湿度:

1

2

byte temperature;

byte humidity;

我们使用字节变量,因为DHT11温湿度分辨率仅为8位。

最后,同样在主循环函数中,读取值并通过串口发送它们:

1

2

3

4

6

7

8

9

10

11

12

if (simple_dht11_read(DHTpin, &temperature, &humidity, NULL)) {

Serial.print(“Failed.”);

}else {

Serial.print("temperature: "); Serial.print(temperature); Serial.println(“oC”);

Serial.print(“Humidity: “); Serial.print(humidity); Serial.println(%);

}

delay(2000);

标签: 1392传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台