废话不多说,一起操练起来。主要为了实现实时显示时间、室内温度、湿度,室外温度,主要材料淘宝上购买,总价大概40元,算是亲密接触物联网一大体验。
此项目是基于一个开源项目基础上改的,我是照方抓药,关于开源项目的地址及我所使用的数据等,如果需要,关注我,回复:8266,自动获取。
主要配件:
Esp8266开发板
DHT11温度传感器
0.9英寸oled显示屏
面包板,杜邦线,usb线
这些配件某宝40元包邮。
接线示意如图
具体接线
1.esp8266安到面包板上,面包板中间的凹槽为分隔位置,让8266位于面包板正中,靠近一端,把电源usb口向外,方便外连电脑和供电。
2. oled显示屏放在另一端正中位置,把插线按牢固。
3. 接温湿度传感器DHT11,一般购买的是三个针脚,分别是+ - 以及 out,或者是Vcc GND和DATA,用杜邦线连接到开发板8266上,前为DHT22针脚,后为8266针脚,
Vcc—Vcc
GND—GND
Data—D5
4.连接oled屏,oled屏为i2c接口,四个针脚,前为oled屏,后为esp8266针脚
Vcc-3V3
GND--GND
SCL—D4
SDA—D3
硬件连接过程结束。
第二大部分,搭建软件平台
一是注册天气预测平台的api,供调用查询当前天气及未来三天的天气使用。
二是搭建Arduino IDE开发环境。
1 注册OpenWeather帐号及申请Appid、城市id
打开openWeather网站,注册帐号,填写邮箱等信息,注册成功后。搜索要显示天气的城市,比如哈尔滨 https://openweathermap.org/city/2037013,到这个页面,在上面连接处会有一个7位的数字码,这个是城市id,单独记录一下。
点击最上面栏API,点API Keys,
平台提供很多种服务,我们使用免费服务就可以,点Get API key,
填写api名称,得到一个key,记录好这个key,后面也会使用到。到这里注册OpenWeather完成。
安装Arduino IDE开发环境
1.到Arduion官网下载,windows和mac平台均有,默认安装即可。
2安装好后进行配置,
复制 http://arduino.esp8266.com/stable/package_esp8266com_index.json
Arduino 打开文件—首选项
把复制内容粘贴到附加开发板管理网址,点保存。
3.添加开发板,
打开项目—开发板—开发板管理
配置那个json文件,在这里要读取一会,有时可能连不上网。
读取结束搜索 esp8266,找到后点安装。
如果连不上网,可以尝试代理试一下。安装成功进行下一步。
安装成功后,把开发板设置成NodeMCU 1.0这一项。
4安装库文件支持
这里使用DHT11、Oled都需要硬件驱动,这些库就是对应的硬件驱动。
项目-->加载库-->管理库-->添加zip库,把几个库依次安装。
5修改代码
需要修改几部分
修改成8266自动连接的无线wifi用户名和密码。
OPEN_WEATHER_MAP_APP_ID修改成你自己的appid,
OPEN_WEATHER_MAP_LOCATION_ID修改成城市代码,前面说的7位数字。
其他没有需要修改的。
6 连接com口,usb线连接8266和电脑,
电脑如果只接一个设备,唯一一个就com口,如果多个,可能查看设备来了解com口情况。设备管理器,端口是com3,选上com3。
保存修改后的代码,
7编译烧录
点击向右这个箭头,就可以编译代码,烧录到8266上,烧录好后,8266自动重启,屏幕亮起,显示连接,连接成功后就可以显示当前室内温度、湿度,当前室外温度,后续3天的天气情况,连网自动对时。
8成品展示
这款是通过屏幕显示温度、湿度等信息,还有一种方案,不用屏幕,使用网页端显示内容,操作上比这个要复杂一些,后续也会把目前这个改成第二种方案。
如果其他文档,关注@高腾岳 ,回复 8266,获取相关资料。