前言
本文帮助大家熟悉实验,详细介绍WiFi气象站的实验全流程,包括准备过程、可能遇到的错误及解决办法。
所需材料
硬件
- 面包板
- 杜邦线(公头若干,母头至少5根)
- 温湿度传感器(蓝色的,DHT11)
- WiFi模块(ESP8266)
软件
- Arduino IDE
- 微信开发者工具
- OneNet云物联网平台
准备工作
1. 下载实验所需的代码包
2. 微信开发者工具
首先,下载微信开发者工具,以便运行用户界面端。在官方网站(点此)(https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html)下载自己电脑系统的工具。
3. 导入所需的库
Arduino代码仅使用1个外部依赖,在素材包中找到Dht11压缩包,在Arduino的选项菜单中直接导入此压缩包。必须添加此依赖,否则报错。
4. OneNet云平台设置-APikey,DeviceID
来到云平台,按照要求进行注册(clickhere)。
登录,进入OneNet Studio,从全部产品服务进入多协议接入页面。
WiFi模块使用HTTP协议传递数据,选择HTTP。添加产品。完成即可。
完成后添加设备,也可以点进该产品-左侧选择设备列表-添加设备
任意填写。
给设备添加API-Key(需要记录下来)
随意填写框中内容
同时记录下设备ID和APIKey。
开始实验
1. 连线
按照图连接。注意温湿度引脚对应。
2. 运行代码
打开素材包中的weather/weather.ino代码,上传到arduino板,运行。注意代码上方的说明。
/**
* By Thomas Andon
* 本代码直接发送AT命令实现发送HTTP请求,
* 没有调用ESP8266相关的库。请确保WiFi模块已连接好。
*
* 0. 在结束上传后,打开串口监视器,波特率为9600.串口监视器中输出的内容
* 可能出现少部分乱码,不会影响该代码的功能。忽略乱码。
*
* 1. 在上传刚结束的初始化阶段,打开串口监视器,每个准备阶段得到的响应都应该是OK,
* 如果中间的步骤出现错误,例如出现了‘Busy P...’的响应,
* 拔掉USB线等待两秒重新插。初始化会花十几秒。
*
* 2. 手机打开热点,根据下方指示完成代码。初始化阶段中,WiFi模块成功加入手机
* WiFi的标志是:能够打印出IP地址。
*
* 3. 在不断发送数据和接收响应过程中,正确的结果是每次均获得 200 OK 的响应。
*
*/
代码会输出检测到的温湿度。获得成功响应后,你应该能在OneNet中查看到最新数据。
3. 从微信小程序中可视化读取数据
打开微信小程序开发工具,微信扫码登录,点击菜单栏项目 - 导入项目,从素材包中导入项目。
从小程序中选择导入,一定要选择到onenet结尾的文件夹!
点击确定。
进入pages - wifi_station - tianqi-tianqi.js文件中,修改deviceId和api_key.
修改后点击编译,查看设备回传数据,就能看到实时可视化结果。
Preflight Checklist
- 是否导入了Dht11库?
- 是否获取了DeviceId和ApiKey?
- 是否完全正确地连接了电路?
- 是否修改了代码中相应的数据?
- 是否导入了onenet结尾文件夹的小程序?
- 是否修改了pages-wifi_station-tianqi-tianqi.js的响应数据?
- 是否在修改完tianqi.js后点了“编译”?
向传感器哈一口气,数值会发生改变。如果能正常显示,Congrats! You did it!