查看“开源WiFi气象站系统(ESP连接Blynk)/zh”的源代码
←
开源WiFi气象站系统(ESP连接Blynk)/zh
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{| style="width: 840px;" |- | ==概述== *项目名称:开源WiFi气象站系统(ESP8266连接Blynk) *目的:获取身边实时的温度、湿度、光照甚至pm2.5数据 *难度:中 *耗时:2小时 *制作者:ray 简介: *它能够获取你身边实时的温度、湿度、光照甚至pm2.5数据,并且在屏幕上显示出来 *并把这些数据上传到Blynk上 *你可以通过手机(android或者Apple)来获取气象信息和用手机发送信息到气象站 *这套系统完全由Microduino来实现,非常简单。 ==材料清单== ===Microduino设备=== {|class="wikitable" |- |模块||数量||功能 |- |[[Microduino-Core+/zh]]||1||核心板 |- |[[Microduino-USBTTL/zh]] ||1||下载程序 |- |[[Microduino-Module WIFI,ESP/zh]] ||1||连接网络 |- |[[Microduino-Temp&Hum/zh]] ||1||数字温湿度传感器 |- |[[Microduino-Air quality/zh]] ||1||空气质量传感器 |- |[[Microduino-Light/zh]] ||1||光照传感器 |- |[[Microduino-Module Sensor Hub/zh]] ||1||连接传感器 |- |[[GP2Y1010AU0F/zh]] ||1||PM2.5传感器 |- |[[Microduino-OLED/zh]] ||1||显示 |} ===其他设备=== {|class="wikitable" |- |模块||数量||功能 |- |Micro-USB线||1||下载程序、供电 |- |GP2Y1010AU0F ||1||pm2.5传感器 |- |螺丝 ||7||固定模块 |- |螺丝刀 ||1||固定螺丝 |- |外壳 ||1|| |} [[File:气象站物料.jpg||1000px|center]] ==实验原理== 气象站可以检测的数据包括: *温湿度,通过数字温湿度传感器[[Microduino-Temp&Hum/zh]] *光照,通过光照强度传感器[[Microduino-Light/zh]] *空气质量,通过空气质量传感器[[Microduino-Air quality/zh]] *pm2.5,通过pm2.5传感器GP2Y1010AU0F *由Microduino核心[[Microduino-Core+/zh]]对传感器数据分析处理 *以直观的文字提示方式在OLED [[Microduino-OLED/zh]]中显示 *同时通过[[Microduino-Module WIFI,ESP/zh]]使气象站与Blynk相连 *每个传感器均与[[Microduino-Module Sensor Hub/zh]]连接 [[File:Wifistationtheory.jpg||600px|center]] ==配置Blynk== 下面就通过气象站的配置过程了解Microduino与Blynk是如何交互的 ===进入Blynk官网=== *Blynk官网:http://www.blynk.cc/ 点击Getting Started进入:http://www.blynk.cc/getting-started/ [[File:BlynkSetting0.png||600px|center]] *你在这里可以下载IPone和Android版本的手机客户端 *打开Blynk App注册一个账户 ===创建项目=== *打开手机Blynk app,点击上面的加号你可以创建一个项目: [[File:BlynkSetting1.png||600px|center]] *你需要为你创建的项目起一个名字,比如:weather station *同时在下方的AUTH TOKEN处会显示为此项目生成的验证码 *你可以点击下方的E-mail按钮,就会把此验证码发送到你的邮箱里,也不要告诉别人 [[File:BlynkSetting2.png||600px|center]] ===配置验证码,SSID和密码=== *这个验证码复制出来用来替换Microduino气象站程序里的user_def.h文件里的auth[]变量 <source lang="cpp"> #define SSID "type your ssid" #define PASS "type your pass" char auth[] = "type your blynk token"; </source> *同时也顺便把路由器的SSID和密码也一块替换了吧。 ===添加配置控件=== *接下来点击面板可以调出WIDGET BOX,上边有很多控件供你选择。 [[File:BlynkSetting3.png||300px|center]] *选择Value Display,输入tempture表示这个空间是用来获取温度值的 *INPUT选择V2,READING FREQUENCY选择PUSH表示温度是气象站主动发送的,频率由Microduino端控制 [[File:BlynkSetting4.png||300px|center]] 在Microduino端对应的代码是: <source lang="cpp"> 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); } </source> *湿度的设置跟温度类似,INPUT设置成V3,都是通过一个定时器函数senTempHumi()一起发送的 [[File:BlynkSetting5.png||300px|center]] 定时器的频率是通过以下两句代码实现的 <source lang="cpp"> void senTempHumi() { SimpleTimer temHumtimer; temHumtimer.setInterval(2000L, senTempHumi); } </source> *PM2.5的的INPUT设置成V6,READING FREQUENCY设置成5秒钟,代表获取PM2.5数据的频率 [[File:BlynkSetting6.png||300px|center]] 对应的Microduino端的代码如下: <source lang="cpp"> BLYNK_READ(V6) { Blynk.virtualWrite(V6, sensorPM25); } </source> *同理,光照传感器的INPUT设置为V4,频率为3秒钟获取一次 [[File:BlynkSetting7.png||300px|center]] 对应的Microduino端的代码如下: <source lang="cpp"> BLYNK_READ(V4) { sensor_light = map(analogRead(A0), 0, 1023, 0, 255); Blynk.virtualWrite(V4, sensor_light); } </source> *甲烷气体的INPUT为V5,频率为5秒钟获取一次 [[File:BlynkSetting8.png||300px|center]] 对应的Microduino端的代码如下: <source lang="cpp"> BLYNK_READ(V5) { Sensor_etoh= map(analogRead(A2), 0, 1023, 0, 30); Blynk.virtualWrite(V5, Sensor_etoh); } </source> *接下来放一个按钮控件 *OUTPUT设置为D6,MODE设置为SWITCH,表示按一下按钮可以切换Microduino端的D6引脚高低电平 [[File:BlynkSetting9.png||300px|center]] *为了更直观的显示数据可以添加一个或几个历史图标History Graph *可以设置成显示V2和V3的数据图表,最多可现实四个数据 [[File:BlynkSetting10.png||300px|center]] *第二个History Graph可以用来单独显示V6,PM2.5 [[File:BlynkSetting11.png||300px|center]] *最终你的手机面板就变成了这样 [[File:BlynkSetting12.png||300px|center]] ==下载程序== 气象站代码:[https://github.com/Microduino/ESP8266BlynkWeatherStation ESP8266BlynkWeatherStation] ==程序烧写== *将[[Microduino-Core+/zh]]、[[Microduino-USBTTL/zh]]堆叠在一起。用数据线连接其中的[[Microduino-USBTTL/zh]]上传程序。 **注意:最好不要将所有模块堆叠在一起之后再上传程序 *打开Arduino IDE for Microduino,环境,(搭建参考:[[AVR核心:Getting started/zh]]) *确认板卡(Microduino-Core+)处理器(Atmega644Pa)选择无误,并选中对应端口号(COMX) *打开你所下载的项目中“ESP8266BlynkWeatherStation.ino”程序 *几项都无误后,点击"→"按钮下载程序到开发板上 ==拼装气象站== *'''Step1''':将[[Microduino-OLED/zh]]和'''结构A1'''用螺丝固定在一起 [[File:Waetherstep1.jpg||600px|center]] *'''Step2''':把'''结构B1~B5'''用'''结构B6'''拼接在一起 [[File:Waetherstep2.jpg||600px|center]] *'''Step3''':将 **[[Microduino-Core+/zh]] **[[Microduino-USBTTL/zh]] **[[Microduino-Module Sensor Hub/zh]] **堆叠在一起并且用'''螺丝螺帽'''固定在'''结构A2'''上 **再准备好PM2.5传感器[[GP2Y1010AU0F/zh]] **并将PM2.5传感器[[GP2Y1010AU0F/zh]]用胶水黏在底板上 [[File:Waetherstep3.jpg||600px|center]] *'''Step4''':将'''结构B7,B8,B9'''按照如图所示分别装配到 **温湿度传感器[[Microduino-Temp&Hum/zh]] **气体传感器[[Microduino-Air quality/zh]] **光照传感器[[Microduino-Light/zh]]上 [[File:Waetherstep4.jpg||600px|center]] *'''Step5''':按说明图上所示的位置将 **温湿度传感器[[Microduino-Temp&Hum/zh]] **气体传感器[[Microduino-Air quality/zh]] **光照传感器[[Microduino-Light/zh]] **连接到[[Microduino-Module Sensor Hub/zh]]板上 **再分别将传感器固定在Step2中内部四周'''结构B1'''和'''结构B2'''组合的卡槽上 **完成后将'''结构A1'''和'''结构A2'''分别接在其顶部和底部 [[File:Waetherstep5.jpg||600px|center]] *'''Step6''':完成上述步骤后用'''结构B0'''进行固定,之后插上USB线,气象站完成 *设置完成后就可以在[[Microduino-OLED/zh]]上看到各个传感器的数据 *同时在手机Blynk上也能看到气象站上传的数据 [[File:BlynkSetting13.png||600px|center]] ==注意事项== *确保Blynk验证码配置正确,可通过把验证码发送到邮箱,复制,粘贴确保一致性。 *确保家里的路由器运行正常,SSID和密码填写正确 |}
返回至
开源WiFi气象站系统(ESP连接Blynk)/zh
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息