資料介紹
描述
冬天我在中國的一個大城市,不幸的是,這是造成空氣污染的良方。我幾乎每次出門都會檢查 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次閱讀
下載排行
本周
- 1A7159和A7139射頻芯片的資料免費下載
- 0.20 MB | 55次下載 | 5 積分
- 2PIC12F629/675 數據手冊免費下載
- 2.38 MB | 36次下載 | 5 積分
- 3PIC16F716 數據手冊免費下載
- 2.35 MB | 18次下載 | 5 積分
- 4dsPIC33EDV64MC205電機控制開發板用戶指南
- 5.78MB | 8次下載 | 免費
- 5STC15系列常用寄存器匯總免費下載
- 1.60 MB | 7次下載 | 5 積分
- 6模擬電路仿真實現
- 2.94MB | 4次下載 | 免費
- 7AN158 GD32VW553 Wi-Fi開發指南
- 1.51MB | 2次下載 | 免費
- 8Altium Designer多頁原理圖繪制基礎
- 1.05MB | 1次下載 | 免費
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 452次下載 | 免費
- 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 141次下載 | 1 積分
- 3基于STM32單片機智能手環心率計步器體溫顯示設計
- 0.10 MB | 137次下載 | 免費
- 4A7159和A7139射頻芯片的資料免費下載
- 0.20 MB | 55次下載 | 5 積分
- 5PIC12F629/675 數據手冊免費下載
- 2.38 MB | 36次下載 | 5 積分
- 6如何正確測試電源的紋波
- 0.36 MB | 19次下載 | 免費
- 7PIC16F716 數據手冊免費下載
- 2.35 MB | 18次下載 | 5 積分
- 8Q/SQR E8-4-2024乘用車電子電器零部件及子系統EMC試驗方法及要求
- 1.97 MB | 8次下載 | 10 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論
查看更多