开源WiFi气象站系统(ESP连接Blynk)/zh
概述
它能够获取你身边实时的温度、湿度、光照甚至pm2.5数据,并且在屏幕上显示出来,并把这些数据上传到Blynk上,你可以通过手机(android或者Apple)来获取气象信息和发送信息到气象站。而这套系统完全由Microduino来实现,非常简单。 材料清单
实验原理气象站专用板上安装了多参数传感器,包括数字温湿度传感器(Microduino-Tem&Hum)、光照强度传感器(Microduino-Light)、空气质量传感器(Microduino-Air)和pm2.5传感器(GP2Y1010AU0F)。每个传感器均与Microduino-Sensorhub连接,由Microduino核心(Microduino Core+)对传感器数据分析处理,以直观的文字提示方式在OLED中显示。同时通过Microduino-WiFi(ESP)使气象站与Blynk相连。
文档代码下载:ESP8266BlynkWeatherStation 配置Blynk你在Blynk的配置信息要跟气象站的信息要对应上,下面就通过气象站的配置过程了解Microduino与Blynk交互方法
点击Getting Started进入:http://www.blynk.cc/getting-started/ 你在这里可以下载IPone和Android版本的手机客户端
你需要为你创建的项目起一个名字,比如:weather station 同时在下方的AUTH TOKEN处会显示为此项目生成的验证码 你可以点击下方的E-mail按钮把此验证码发送到你的邮箱里,也不要告诉别人 这个验证码复制出来用来替换Microduino气象站程序里的user_def.h文件里的auth[]变量 #define SSID "type your ssid"
#define PASS "type your pass"
char auth[] = "type your blynk token";
同时也顺便把路由器的SSID和密码也一块替换了吧。 接下来点击面板可以调出WIDGET BOX,上边有很多控件供你选择。 选择Value Display,输入tempture表示这个空间是用来获取温度值的 INPUT选择V2,READING FREQUENCY选择PUSH表示温度是气象站主动发送的,频率由Microduino端控制 在Microduino端对应的代码是: void senTempHumi() {
am2321.read();
float sensor_tem = am2321.temperature / 10.0;
float sensor_hum = am2321.humidity / 10.0;
Blynk.virtualWrite(V2, sensor_tem);
Blynk.virtualWrite(V3, sensor_hum);
oled(sensor_tem, sensor_hum, sensor_light, sensorPM25, Sensor_etoh);
}
湿度的设置跟温度类似,INPUT设置成V3,都是通过一个定时器函数senTempHumi()一起发送的 定时器的频率是通过以下两句代码实现的 void senTempHumi() {
SimpleTimer temHumtimer;
temHumtimer.setInterval(2000L, senTempHumi);
}
对应的Microduino端的代码如下: BLYNK_READ(V6) {
Blynk.virtualWrite(V6, sensorPM25);
}
对应的Microduino端的代码如下: BLYNK_READ(V4) {
sensor_light = map(analogRead(A0), 0, 1023, 0, 255);
Blynk.virtualWrite(V4, sensor_light);
}
甲烷气体的INPUT为V5,频率为5秒钟获取一次 对应的Microduino端的代码如下: BLYNK_READ(V5) {
Sensor_etoh= map(analogRead(A2), 0, 1023, 0, 30);
Blynk.virtualWrite(V5, Sensor_etoh);
}
可以设置成显示V2和V3的数据图表,最多可现实四个数据 第二个History Graph可以用来单独显示V6,PM2.5 最终你的手机面板就变成了这样
将Microduino-Core+与Microduino-USBTTL叠加(无上下顺序),通过USB数据线与电脑连接起来 确认你搭建了Microduino的开发环境,否则参考附录1-Arduino IDE安装指导。 打开Arduino IDE编程软件,点击 【文件】->【打开】 浏览到项目程序地址,点击“ESP8266BlynkWeatherStation.ino”程序打开 点击“工具”,在板选项里面选择板卡(Microduino-Core+),在处理器选项里面选择处理器(Atmega644pa@16M,5V),再在端口选项里面选择正确的端口号,然后直接烧录程序
拼装气象站
PM2.5传感器使用胶水黏在底板上
再分别将传感器固定在Step2中内部四周B1和B2组合的卡槽上,完成后将A1和A2分别接在其顶部和底部
设置完成后就可以在OLED上看到各个传感器的数据 同时在手机Blynk上也能看到气象站上传的数据
视频 |