資料介紹
描述
?
室內或室外空氣的質量取決于許多污染源以及天氣。
該設備使用 2 個傳感器芯片捕獲一些常見和一些最有趣的參數。
- 溫度
- 濕度
- 壓力
- 有機氣體
- 微粒子
這里使用的傳感器是用于獲取溫度、濕度、壓力和有機氣體值的 BME680,以及用于獲取微粒密度的 PMS5003。
通過使用 HomeDing 庫,可以輕松構建僅連接到家庭網絡的設備,并且可以通過網絡上的任何瀏覽器訪問和控制。它帶有一系列允許使用最常見的傳感器芯片、設備和其他服務的元素。
它還提供了一個完整的解決方案,用于在設備內部托管 Web 端,而不是使用基于云的解決方案來顯示傳感器數據并與設備交互。
補給品:
構建此項目所需的只是一個基于 ESP8266 的板,例如 nodemcu 板和一組用于測量空氣質量的傳感器。本項目使用的 HomeDing 庫支持一些常見的傳感器芯片。這里使用的是BME680芯片。
- 一個 USB 插頭和一個用于供電的 micro-usb 電纜。
- 1 個帶有 ESP8266 CPU 的 nodeMCU 板。
- 1 個 BME680 傳感器分線板。
- 1 PM2.5 空氣粒子激光傳感器型號 PMS5003
如果您只想捕獲溫度和濕度,則可以輕松地將 BME680 傳感器與 DHT22 傳感器交換,因為庫也支持它們。
第 1 步:為 ESP8266 準備 Arduino 環境
- 安裝最新版本的 Arduino IDE(當前版本 1.8.2)。
- 使用 Board Manager 安裝安裝 esp8266 支持。可以在此處找到詳細說明:https ://arduino-esp8266.readthedocs.io/en/latest/installing.html#boards-manager
- 安裝 Arduino ESP8266 文件系統上傳器,您可以在此處找到:https ://github.com/esp8266/arduino-esp8266fs-plugin
- 為具有 1MByte SPIFFS 文件系統的 NodeMCU 1.0 設置板選項,如屏幕截圖所示。
第 2 步:包括所需的庫
HomeDing 庫依賴于一些常見的額外庫來使傳感器和顯示器工作。
當您安裝 HomeDing 庫時,您將看到一個包含這些所需庫的彈出窗口,這些庫可以自動安裝,如圖所示,并且很容易安裝它們。
有時(出于未知原因)庫的安裝會失敗,因此需要手動安裝所有必需的庫。
有關所需庫的更多詳細信息,請訪問文檔網站:
https://homeding.github.io/#page=/elements.md
?
這是當前所需庫的列表:
- Adafruit NeoPixel
- LiquidCrystal_PCF8574.h
- 適用于 SSD1306 顯示器的 ESP8266 和 ESP32 Oled 驅動程序
- 旋轉編碼器
- ESPx 的 DHT 傳感器庫
- 單線
PMS5003 空氣粒子激光傳感器使用 9600 波特串行線路信號進行通信。該信號是使用 ESP8266 工具安裝隨附的 SoftwareSerial 庫捕獲的。確保不要將舊版本安裝為庫。
第 3 步:自定義標準示例草圖
標準示例已經包含一些更常見的傳感器作為元素,因此只需要一些配置。
這適用于BME680 Element支持的 BME680 傳感器。
PMS5003 傳感器不太常見,需要通過將PMS 元件包含到固件中來激活。這是通過在草圖的元素寄存器部分定義#define HOMEDING_INCLUDE_PMS 來完成的
#define HOMEDING_INCLUDE_BME680#define HOMEDING_INCLUDE_PMS
為簡單起見,將新設備添加到網絡中,您可以在 standard.ino 草圖文件旁邊的 secrets.h 文件中添加家庭 WiFi 的 SSID 和密碼。但您也可以使用內置的 WiFi 管理器將設備添加到網絡,而無需這種硬編碼配置。
現在所有關于實現草圖的事情都完成了,可以編譯和上傳固件。
第 4 步:上傳 Web UI
標準示例附帶一個數據文件夾,其中包含 Web UI 的所有文件。
在上傳這些文件之前,您可能需要添加您可以在本文中找到的 env.json 和 config.json 文件,因為這會使事情變得更容易。
這些文件的內容使物聯網設備與眾不同并充當空氣質量傳感器。在這個故事中有詳細的解釋。
使用 ESP8266 文件上傳實用程序并上傳所有文件。它需要重新啟動才能激活配置。
第 5 步:添加 BME680 傳感器
?
?
BME680 傳感器正在使用 I2C 總線與電路板通信。
由于這可能與其他擴展共享,例如其他傳感器或顯示器,因此在 env.json 中的設備級別上配置了設備的網絡名稱。以下是設備和 I2C 設置的提取示例:
"device": {
"0": {
"name": "airding",
"description": "Air Quality Sensor",
...
"i2c-scl": "D2",
"i2c-sda": "D1"
}
}
在面包板上,您可以看到傳感器的連接線:3.3V=red, GND=black, SCL=yellow, SDA=blue
BME680的配置可以在config.json中使用:
"bme680": {
"bd": {
"address": "0x77",
"readtime": "10s"
}
}
我們稍后會添加動作。
要測試設置,只需使用瀏覽器并打開http://airding/board.htm你會看到顯示的傳感器的實際值,它們大約每 10 秒更新一次:
第 6 步:添加 PMS5003 傳感器
我沒有一個帶有面包板友好連接器的傳感器,所以我不得不用我的烙鐵切斷電纜上的一個連接器,將它直接連接到 nodemcu 板上。您仍然可以在最終圖片上看到它。
該傳感器的電源必須取自通常由 USB 總線供電的 Vin。GND 相同,但在 Vin 引腳旁邊也可用。
來自傳感器的數據以標準 9600 波特串行格式傳輸,因此需要配置 rx 和 tx 引腳以及讀取時間:
"pms": {
"pm25": {
"description": "pm25 particle sensor",
"pinrx": "D6",
"pintx": "D5",
"readtime": "10s"
}
}
我們稍后會添加動作。
要再次測試設置,只需重新啟動設備并使用瀏覽器并打開http://airding/board.htm你會看到顯示的傳感器的實際 pm35 值,它們大約每 10 秒更新一次,但這個值通常不會經常變化。
您可以通過在傳感器旁邊放置蠟燭燈來獲得更高的值,因為蠟燭會產生大部分這些顆粒。
現在您可以將所有東西都放在一個漂亮的外殼中,因為所有其他配置甚至軟件更新都可以遠程完成。
第 7 步:添加一些網絡功能
env.json 中的以下配置提取正在啟用
- 無線更新固件
- 允許使用 SSDP 網絡協議檢測網絡并從 ntp 服務器檢索當前時間。
{
...
"ota": {
"0": {
"port": 8266,
"passwd": "123",
"description": "Listen for 'over the air' OTA Updates"
}
},
"ssdp": {
"0": {
"Manufacturer": "yourname"
}
},
"ntptime": {
"0": {
"readtime": "36h",
"zone": 2
}
}
}
您應該將時區調整為您所在的位置。如果您有疑問,可以使用網站https://www.timeanddate.com/獲取與 UTC/GMT 的偏移量。“2”適用于德國夏季。
您也可以在閱讀https://homeding.github.io/index.htm#page=/savemo 文檔中有關保存模式的說明后調整 ota 密碼...
重新啟動后,您可能會在網絡上找到播放設備,并且在從 ntp 服務器獲得回復后,本地時間可用。
第 8 步:添加一些日志記錄
僅實際值可能還不夠,因此可以使用更多元素。
對于這個故事,Log 元素和NPTTime 元素用于在日志文件中記錄傳感器值的歷史記錄,并且該元素的 Web UI 卡可以將其顯示為圖形。
以下配置為氣體和粒子創建 2 個日志元素:
{
"log": {
"pm": {
"description": "Log of pm25",
"filename": "/pmlog.txt",
"filesize": "10000"
},
"aq": {
"description": "Log of gas quality",
"filename": "/aqlog.txt",
"filesize": "10000"
}
}
}
第 9 步:行動
?
?
現在我們需要使用操作將實際值傳輸到日志元素。這些操作使用 URL 表示法將 kay 和 value 傳遞給目標元素。許多元素支持對發生的某些事件發出操作,例如捕獲新的傳感器值。
動作在發出動作的元素上配置,需要 2 個條目:
- pms/p25 onvalue 事件使用值操作將實際值發送到 log/pm 元素。
- bme680/bd ongas 事件使用值操作將實際值發送到 log/pm 元素。
{
"pms": {
"pm25": {
...
"onvalue": "log/pm?value=$v"
}
},
"bme680": {
"bd": {
...
"ongas": "log/aq?value=$v"
}
}
}
現在所有元素都已配置。
第 10 步:圖片和配置文件
這是我最終的物聯網空氣質量傳感器的一些圖片。
下載的配置文件需要重命名為*.json(no.txt)才能上傳。
鏈接和參考
- HomeDing源碼倉庫:https ://github.com/HomeDing/HomeDing
- 文檔:https ://homeding.github.io/
- 標準示例:https://homeding.github.io/#page=/examples/standar...
- BME680 元素:https://homeding.github.io/#page=/elements/bme680...
- PMS 元素:https ://homeding.github.io/#page=/elements/pms.md
- 日志元素:https ://homeding.github.io/#page=/elements/log.md
- NtpTime 元素:https://homeding.github.io/#page=/elements/ntptim...
- 空氣質量傳感器解決方案 0次下載
- 使用ESP8266構建的開源空氣質量傳感器
- 多功能空氣質量傳感器解決方案 0次下載
- 帶DSM501A傳感器的Arduino空氣質量監測器
- STM32移植BME680傳感器輸出IAQ(室內空氣質量)
- 使用Arduino實現空氣質量傳感器的資料合集 13次下載
- MQ135空氣質量檢測傳感器電路原理圖 88次下載
- KQM2801A空氣質量模塊的數據手冊和使用程序及工程文件免費下載 103次下載
- 開發套件簡化空氣質量傳感器系統設計 2次下載
- 空氣質量傳感器規格書 10次下載
- 基于傳感器網絡的空氣質量檢測系統 61次下載
- 空氣質量傳感器有什么用途? 48次下載
- 空氣質量綜合指數檢測儀
- 溫差式熱膜空氣質量流量傳感器
- 溫差式熱膜空氣質量流量傳感器
- WT2003H語音芯片在空氣質量監測系統的應用方案 527次閱讀
- 如何利用ESP32實現空氣質量監測系統的設計 4169次閱讀
- 如何利用ESP8266實現便攜式空氣質量監測站的設計 3047次閱讀
- 基于創建帶有空氣質量傳感器的室內氣象站 2186次閱讀
- dfrobotSHARP空氣質量傳感器轉接模塊簡介 1648次閱讀
- dfrobot空氣質量傳感器簡介 1148次閱讀
- 基于室內空氣盒子產品的空氣質量傳感器TGS2600的特點介紹 1025次閱讀
- 盛思銳的環境傳感器在空氣質量測試中的應用 1193次閱讀
- ZMOD4410總揮發性有機物和室內空氣質量傳感器介紹 5913次閱讀
- 微型空氣質量監測系統,空氣質量微型監測站介紹 3659次閱讀
- 氣體傳感器研究開發空氣質量監測系統創造了有利條件 提供了一條簡單而實用的途徑 1983次閱讀
- 空氣質量傳感器原理及作用 3.2w次閱讀
- 什么是空氣質量傳感器_小米空氣凈化器2空氣質量傳感器 3622次閱讀
- 什么是空氣質量傳感器?空氣質量傳感器工作原理,FSM-A-002模塊設計 7406次閱讀
- 室內空氣質量檢測與傳感器的應用 1982次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多