保姆级!WiFi气象站实验全过程-BUPT-IoT Intro

前言

本文帮助大家熟悉实验,详细介绍WiFi气象站的实验全流程,包括准备过程、可能遇到的错误及解决办法。

所需材料

硬件

  • 面包板
  • 杜邦线(公头若干,母头至少5根)
  • 温湿度传感器(蓝色的,DHT11)
  • WiFi模块(ESP8266)

软件

准备工作

1. 下载实验所需的代码包

点击下载(click me)

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(需要记录下来

在这里插入图片描述
在这里插入图片描述
随意填写框中内容
在这里插入图片描述

在这里插入图片描述

同时记录下设备IDAPIKey

开始实验

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!

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
该设计仿制国外ESP8266+OLED Weather Station成功,原文链接:https://blog.squix.org/2017/01/esp8266-weather-sta... 下面介绍本人的设计 安卓手机app下载地址:https://espressif.com/zh-hans/products/software/esp-touch/resources,ios直接在AppStore里搜索 esptouch即可。 最新进展,源码经过修改可以通过官方的手机app让Weather Station快连到WiFi,并自动记录最后一次快连成功的路由器,下次会自动连接。如果换了WiFi环境自动进入快连界面,这时在手机运行官方app(esptouch)输入WiFi密码即可连接。 附件zip已经打包好库文件,解压后放在没有中文路径的文件夹下面,再在arduino的“首选项”-- “项目文件夹位置” 指向这个文件夹。重启arduino,然后打开“文件”--”项目文件夹“--WeatherStationDemo,选择对应的板和COM口下载即可。 源码里面有一个wunderground 的key给大家试用,每天500次的API访问量,记得把城市改到对应的城市。从下午开始想着再申请几个key结果死活不行,或许对ip有限制吧? 源码改的乱七八糟,高手大侠见笑了。。。笑过之后请抽时间多指点能改进完善一下程序最好了! 注:修改好的源码及库文件见附件内容下载。 WIFI 气象站实物图展示: 使用NodeMCU1.0(ESP8266-12E),集成了CP2102,可以直接电脑USB ;OLED是SSD1306的128×64,IIC接口 初接触Arduino和ESP8266,现在仿制阶段。 所有资料来自网络,感兴趣的一起来完善它,高手大侠们多多指教! 作者博客:https://blog.squix.org/ 制作网页:https://www.instructables.com/id/ESP8266-Weather-Widget/ Arduino源码:https://github.com/squix78/esp8266-weather-station Arduino IDE可以像使用UNO一样使用ESP8266,编译环境的搭建:https://www.geek-workshop.com/thread-26170-1-1.html 目前改进设想 1、加入SmartConfig(WIFI快连),在手机或者PC上面通过APP配置路由器密码,不用再在源码里改动 2、把OLED换成LCD或者LED点阵屏,OLED太小了

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值