智慧大棚中通过ESP收集温湿度等参数并发送至云服务器

编程入门 行业动态 更新时间:2024-10-27 16:29:08

智慧大棚中通过ESP收集<a href=https://www.elefans.com/category/jswz/34/1763887.html style=温湿度等参数并发送至云服务器"/>

智慧大棚中通过ESP收集温湿度等参数并发送至云服务器

用ESP32的代码

#include <WiFi.h>
#include <WiFiClient.h>
#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>
/* change ssid and password according to yours WiFi*/
const char* ssid     = "feng";
const char* password = "12345678";
/** This is the IP address of your PC* [Wins: use ipconfig command, Linux: use ifconfig command]
*/
const char* host = "49.235.106.65";
const int port = 9990;
const char* houseId ="0001";/* 设置DHT11 */
#define DHTPIN 4     // Digital pin connected to the DHT sensor 
#define DHTTYPE    DHT11     // DHT 11DHT_Unified dht(DHTPIN, DHTTYPE);void setup()
{Serial.begin(115200);Serial.print("Connecting to ");Serial.println(ssid);/* connect to your WiFi */WiFi.begin(ssid, password);/* wait until ESP32 connect to WiFi*/while (WiFi.status() != WL_CONNECTED) {delay(5000);Serial.print(".");}Serial.println("");Serial.println("WiFi connected with IP address: ");Serial.println(WiFi.localIP());/* ====== 初始化DHT11 ========*/dht.begin();Serial.println(F("DHTxx Unified Sensor Example"));// Print temperature sensor details.sensor_t sensor;dht.temperature().getSensor(&sensor);Serial.println(F("------------------------------------"));Serial.println(F("Temperature Sensor"));Serial.print  (F("Sensor Type: ")); Serial.println(sensor.name);Serial.print  (F("Driver Ver:  ")); Serial.println(sensor.version);Serial.print  (F("Unique ID:   ")); Serial.println(sensor.sensor_id);Serial.print  (F("Max Value:   ")); Serial.print(sensor.max_value); Serial.println(F("°C"));Serial.print  (F("Min Value:   ")); Serial.print(sensor.min_value); Serial.println(F("°C"));Serial.print  (F("Resolution:  ")); Serial.print(sensor.resolution); Serial.println(F("°C"));Serial.println(F("------------------------------------"));// Print humidity sensor details.dht.humidity().getSensor(&sensor);Serial.println(F("Humidity Sensor"));Serial.print  (F("Sensor Type: ")); Serial.println(sensor.name);Serial.print  (F("Driver Ver:  ")); Serial.println(sensor.version);Serial.print  (F("Unique ID:   ")); Serial.println(sensor.sensor_id);Serial.print  (F("Max Value:   ")); Serial.print(sensor.max_value); Serial.println(F("%"));Serial.print  (F("Min Value:   ")); Serial.print(sensor.min_value); Serial.println(F("%"));Serial.print  (F("Resolution:  ")); Serial.print(sensor.resolution); Serial.println(F("%"));Serial.println(F("------------------------------------"));
}void loop()
{char temp[8];char hum[8];delay(10);Serial.print("connecting to ");Serial.println(host);/* Use WiFiClient class to create TCP connections */WiFiClient client;if (!client.connect(host, port)) {Serial.println("connection failed");return;}// Get temperature event and print its value.sensors_event_t event;dht.temperature().getEvent(&event);if (isnan(event.temperature)) {Serial.println(F("Error reading temperature!"));}else {Serial.print(F("Temperature: "));Serial.print(event.temperature);Serial.println(F("°C"));
//      client.print(event.temperature);dtostrf((float)event.temperature,2,2,temp);}// Get humidity event and print its value.
//    delay(100);dht.humidity().getEvent(&event);if (isnan(event.relative_humidity)) {Serial.println(F("Error reading humidity!"));}else {Serial.print(F("Humidity: "));Serial.print(event.relative_humidity);Serial.println(F("%"));dtostrf((float)event.relative_humidity,2,2,hum);}/* This will send the data to the server */String msg = "Temperature: " + String(temp)+ "; " + "Humidity: " + String(hum)+"houseId: " + String(houseId)+ "\n";client.print(msg);client.stop();
}

用ESP32 S3的代码

#include <WiFi.h>
#include <WiFiClient.h>
#include <Adafruit_Sensor.h>
#include <DHT.h>const char* ssid     = "ccc";
const char* password = "123456789";const char* hostt = "49.235.106.65";
const int portt = 9990;
const char* houseId ="0006";#define DHTPIN 17  // 连接DHT传感器的数字引脚.
const int guangmin=16;  //光敏传感器
const int yanwu=15;    //烟雾传感器
const int eryang=7;    //二氧化碳传感器// 取消对使用中的传感器类型的注释:
#define DHTTYPE DHT11  // DHT 11DHT dht(DHTPIN, DHTTYPE);void setup()
{Serial.begin(115200);Serial.print("Connecting to ");Serial.println(ssid);/* connect to your WiFi */WiFi.begin(ssid, password);/* wait until ESP32 connect to WiFi*/while (WiFi.status() != WL_CONNECTED) {delay(5000);Serial.print(".");}Serial.println("");Serial.println("WiFi connected with IP address: ");Serial.println(WiFi.localIP());pinMode(17,INPUT);  //温度传感器pinMode(16,INPUT);  //光敏传感器pinMode(15,INPUT);   //烟雾传感器pinMode(7,INPUT);    //二氧化碳传感器analogReadResolution(10);  // 设置采样分辨率为10bit 范围可以是9-12之间dht.begin();
}void loop()
{float temper = 0;float humer=0;float guang=0;float mqmq=0;float coco=0;float plant=0;char temp[8];char hum[8];char bright[8];char smoke[8];char Co2[8];char planttype[8];Serial.print("connecting to ");Serial.println(hostt);/* Use WiFiClient class to create TCP connections */WiFiClient client;if (!client.connect(hostt, portt)) {Serial.println("connection failed");return;}temper = dht.readTemperature();humer=dht.readHumidity();guang=analogRead(16);mqmq=analogRead(15);coco=analogRead(7);plant=100;Serial.print("温度");Serial.print(temper);Serial.println("℃");Serial.print("湿度");Serial.print(humer);Serial.print("%");Serial.print("光敏");Serial.print(guang);Serial.print("烟雾");Serial.print(mqmq);Serial.print("二氧化碳");Serial.print(coco);delay(10);dtostrf((float)dht.readTemperature(),2,2,temp);dtostrf((float)dht.readHumidity(),2,2,hum);dtostrf((float)(570-analogRead(16)),2,2,bright);dtostrf((float)analogRead(15),2,2,smoke);dtostrf((float)analogRead(7)/80,2,2,Co2);dtostrf((float)plant,2,2,planttype);String msg = "Temperature:" + String(temp)+ ";" + "Humidity:" + String(hum)+ ";"+"Bright:" + String(bright)+ ";"+"Smoke:" + String(smoke)+ ";"+"Co2:" + String(Co2)+ ";"+"Planttype:" + String(planttype)+ ";"+"houseId:" + String(houseId)+ ";"+ "\n";Serial.println( msg);client.print(msg);client.stop();
}

更多推荐

智慧大棚中通过ESP收集温湿度等参数并发送至云服务器

本文发布于:2024-03-07 13:23:34,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1717951.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:温湿度   大棚   智慧   参数   服务器

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!