资料介绍
描述
冬天我在中国的一个大城市,不幸的是,这是造成空气污染的良方。我几乎每次出门都会检查 AQI(空气质量指数),这样我就知道我是否需要戴 N95 口罩。AQI 并没有可靠地显示在我手机的天气应用程序中,而且每次都在线查找它很乏味。我的室友建议我建造一些东西来持续显示 AQI,这样我们所要做的就是看它。
因此,我介绍了 AQI 显示。NodeMCU ESP8266 开发板连接到 wifi,并根据一天中的时间每 20 分钟或每小时查询一次 AQI API。我认为它不需要在我睡着的晚上更新那么频繁。它通过查询 NIST 时间服务器知道现在是什么时间。在查询之间,ESP8266 深度睡眠(关闭 Wifi、CPU,除实时时钟之外的所有东西)以节省能源。
------------------------------------自己制作的步骤-------- ------------------------------
1) 通过 Arduino IDE 与 NodeMCU ESP8266 开发板对话:
这些说明包括一个闪烁程序,可确保您能够闪烁 ESP。
2) 空气质量指数 API:
此页面解释了公开的各种 API。我们想使用 JSON 格式的。
这是 JSON API 的特定文档:
API 请求是通过访问以下 URL 发出的,
接下来,在 aqicn.org 上搜索您所在的城市。进入城市网页后,如果您需要更多本地化数据,可以单击地图上城市内的特定站点,将您带到站点页面。例如,北京城市页面为http://aqicn.org/city/beijing/ ,
我们想找到城市或车站的 4 位数索引,但网页本身似乎没有显示。因此,一旦您位于适当的页面,请查看该页面的 HTML 源代码并搜索“idx”。至少一个搜索结果应该在一个 JSON 块中,该块将 idx 列为一个 4 位数字。如北京城市指数为1451,美国驻北京大使馆站指数为3303。
现在您可以通过网络浏览器进行测试 API 调用。如上构造 URL(不要忘记索引前的“@”)并访问它。您应该会收到一个 JSON 响应,其中包含 AQI 等许多内容。
在我的测试中,API 通常会向 ESP 返回非 200(即以某种方式失败)的 HTTP 响应,因此我的代码将发送请求,直到请求成功或达到最大错误数。您可以在文件顶部附近的常量部分更改最大错误数和其他常量。
3)接线
请参阅下面的 Fritzing。
4)修改刷写代码:
修改标记为“CHANGE ME!”的三行 在代码中(参见下面链接的 github 存储库)以反映您的 Wifi 凭据和 AQI 站和令牌。然后通过 Arduino IDE 使用此代码闪存开发板。如果您还没有 Adafruit SSD1306 和 Adafruit GFX 库
----------------------------------------代码注释---- ----------------------------------
1) 解析 API 的 JSON 响应:
2) 现在几点了?
为了尽量减少不必要的 API 请求数量并节省电量,我希望 AQI 显示在我睡着的晚上不那么频繁地更新。
简而言之,预期行的形式为:JJJJJ YR-MO-DA HH:MM:SS TT LH msADV UTC(NIST) OTM。请注意,此格式与上述教程所说的不同。
例如:58537 19-02-23 08:15:31 00 0 0 420.9 UTC(NIST) *
3)启用深度睡眠:
深度睡眠很酷,因为它会关闭除实时时钟以外的所有功能以节省电量,然后在设定的时间后醒来。这个时间以微秒为单位指定,并存储为 32 位整数,因此 ESP 可以深度睡眠的最长时间约为 71 分钟。
在指定时间段休眠后,ESP 通过将 GPIO16(NodeMCU 开发板上的引脚 D0)驱动为低电平来唤醒自己。因此,确保引脚 D0 连接到电路板上的 RST 引脚(参见下面的 Fritzing)。
要进入深度睡眠,请使用这行代码:ESP.deepSleep(time_to_sleep_in_us);
4)控制显示:
我买的 OLED 兼容 Adafruit 的 SSD1306 驱动程序,所以我只包含了 Adafruit_SSD1306 库并修改了他们的示例代码。
在 OLED 屏幕上显示内容的代码非常复杂。制作一个通用函数或一组可以自动适应屏幕并显示任意文本的函数会很好。
或者,我们可以尝试其他类型的显示器,例如 LED 矩阵或某种投影。
最后,了解该项目使用 2 节 AA 电池或其他非墙上电源可以运行多长时间会很有用。到目前为止,我只用过它,因为手机移动电源在我连接到它们后不久就会自动关闭。我猜这是因为它没有吸收足够的电量,所以移动电源假设没有插入任何东西。
- 空气质量传感器解决方案 0次下载
- 使用ESP8266构建的开源空气质量传感器
- 带有复古压力表显示的空气质量监测仪 0次下载
- DIY空气质量监测设备 1次下载
- 基于单片机的空气质量监测
- 基于时空优化的多尺度STM空气质量预测模型 18次下载
- KQM2801A空气质量模块的数据手册和使用程序及工程文件免费下载 104次下载
- 城市空气质量评价优化法 1次下载
- 英国Atmospheric sensor远程空气质量检测 2次下载
- 自制Arduino空气质量检测器 6次下载
- 基于STM32空气质量检测仪原理图 353次下载
- 基于传感器网络的空气质量检测系统 61次下载
- 空气质量传感器有什么用途? 48次下载
- 空气质量综合指数检测仪
- 基于神经网络的空气质量采集系统的设计
- WT2003H语音芯片在空气质量监测系统的应用方案 656次阅读
- ESP8266硬件 4865次阅读
- 如何利用ESP32实现空气质量监测系统的设计 4535次阅读
- 如何利用ESP8266实现便携式空气质量监测站的设计 3287次阅读
- 如何使用ESP8266制作可配置的Web服务器 1.3w次阅读
- 基于创建带有空气质量传感器的室内气象站 2358次阅读
- dfrobotSHARP空气质量传感器转接模块简介 1906次阅读
- 盛思锐的环境传感器在空气质量测试中的应用 1257次阅读
- 空气质量流量计的原理及设计 3021次阅读
- 微型空气质量监测系统,空气质量微型监测站介绍 3820次阅读
- esp8266中文资料汇总(esp8266引脚图_与单片机连接_串口wifi实例) 22.5w次阅读
- 空气质量传感器原理及作用 3.2w次阅读
- 什么是空气质量传感器_小米空气净化器2空气质量传感器 3728次阅读
- esp8266 at指令集详解 14.3w次阅读
- 室内空气质量检测与传感器的应用 2124次阅读
下载排行
本周
- 1DD3118电路图纸资料
- 0.08 MB | 1次下载 | 免费
- 2AD库封装库安装教程
- 0.49 MB | 1次下载 | 免费
- 3PC6206 300mA低功耗低压差线性稳压器中文资料
- 1.12 MB | 1次下载 | 免费
- 4网络安全从业者入门指南
- 2.91 MB | 1次下载 | 免费
- 5DS-CS3A P00-CN-V3
- 618.05 KB | 1次下载 | 免费
- 6海川SM5701规格书
- 1.48 MB | 次下载 | 免费
- 7H20PR5电磁炉IGBT功率管规格书
- 1.68 MB | 次下载 | 1 积分
- 8IP防护等级说明
- 0.08 MB | 次下载 | 免费
本月
- 1贴片三极管上的印字与真实名称的对照表详细说明
- 0.50 MB | 103次下载 | 1 积分
- 2涂鸦各WiFi模块原理图加PCB封装
- 11.75 MB | 89次下载 | 1 积分
- 3锦锐科技CA51F2 SDK开发包
- 24.06 MB | 43次下载 | 1 积分
- 4锦锐CA51F005 SDK开发包
- 19.47 MB | 19次下载 | 1 积分
- 5PCB的EMC设计指南
- 2.47 MB | 16次下载 | 1 积分
- 6HC05蓝牙原理图加PCB
- 15.76 MB | 13次下载 | 1 积分
- 7802.11_Wireless_Networks
- 4.17 MB | 12次下载 | 免费
- 8苹果iphone 11电路原理图
- 4.98 MB | 6次下载 | 2 积分
总榜
- 1matlab软件下载入口
- 未知 | 935127次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420064次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233089次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191390次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183342次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81588次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73815次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65989次下载 | 10 积分
评论