这里写自定义目录标题
本文主要讲述如何通过在云服务器上搭建Mysql数据库,然后利用MQTT协议,将采集数据上报并保存至数据库。
采用的硬件有:
esp8266开发板
DHT11温度传感器
面包板一个
首先你需要在任意一个云服务器上搭建好一个mysql数据库,或者你在本地电脑上搭建也可以。
接着你需要把硬件的接线连接好。
[外链图片转存失败,源站可能有防盗在这里插入!链机制,建描述]议将图片上https://传(imblog.csdnimg.cn/2pfZI10420184210192.(https://imgblog.csdnimg.cn/20210420184210192.png)]
DHT11温度传感器
esp8266开发板
接线引脚:
ESP32 --------------------- DHT11
P19 --------------------- DATA
3.5V --------------------- VCC
GND --------------------- GND
硬件部分完成之后,就可以将开发板上电刷代码进去,这里就只展示部分代码。
void loop() {
client.loop();
unsigned long currentMillis = millis();
// temperature and humidity data are publish every 20 second
if (currentMillis - previousMillis >= 20000) {
previousMillis = currentMillis;
DHT.read(DHT11_PIN);//DHT11
float temp = DHT.temperature;
float hum = DHT.humidity;
// json serialize
DynamicJsonDocument data(256);
data["temp"] = temp;
data["hum"] = hum;
// publish temperature and humidity
char json_string[256];
serializeJson(data, json_string);
// {"temp":23.5,"hum":55}
Serial.println(json_string);
client.publish(topic, json_string, false);
client.subscribe(topic);
}
}
之后就可以打开串口,看到运行结果
然后登陆数据库,也可以看到相关的数据。
至此就完成了esp8266通过mqtt协议,将数据上传至mysql数据库。
对了本次实验,用到了 emqx的 emq x cloud平台。
通过这个平台直接与mysql 数据库相连。