电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>ESP8266空气质量指数显示

ESP8266空气质量指数显示

2023-01-04 | zip | 0.10 MB | 次下载 | 免费

资料介绍

描述

冬天我在中国的一个大城市,不幸的是,这是造成空气污染的良方。我几乎每次出门都会检查 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 电池或其他非墙上电源可以运行多长时间会很有用。到目前为止,我只用过它,因为手机移动电源在我连接到它们后不久就会自动关闭。我猜这是因为它没有吸收足够的电量,所以移动电源假设没有插入任何东西。


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费