欧美激情综合一区二区三区,青柠影院免费观看电视剧高清8,无码人妻精品一区二区蜜桃老年人,亚洲最大成人网站,亚洲中文字幕无码一区在线

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 樹莓派項目:空氣質量監測儀

樹莓派項目:空氣質量監測儀

作者: 時間:2025-10-28 來源:

如果您生活在擁擠甚至污染嚴重的城市,空氣質量確實是值得考慮的問題。得益于 David Gherghita 和 Ioan Herisanu 的一個項目,帶有 Sensirion SPS30 傳感器的 可以測量室內和室外的空氣質量。

只需將顆粒物傳感器連接到 ,即可根據讀取的數據獲得易于閱讀的圖表。

使用 4、SPS30 和 Azure 的空氣質量監測器

將顆粒物傳感器連接到 Raspberry Pi,并使用 Microsoft Azure 根據讀取的數據獲得易于閱讀的圖形。


使用 Raspberry Pi 4、SPS30 和 Azure 的空氣質量監測器

本項目使用的東西

硬件組件


感靈 SPS30×1

樹莓派 4 B 型 4 B 型×1

面包板(通用)面包板(通用)×1

跳線(通用)跳線(通用)×1

軟件應用程序和在線服務


Rust 編程語言


Microsoft AzureMicrosoft Azure


Yocto 項目Yocto 項目


故事

構建作系統

將 Raspberry Pi 4 用于此項目的第一步是使用 Yocto 項目構建一個最小的 Linux 發行版。

從 //github.com/agherzan/meta-raspberrypi 克隆 Raspberry Pi BSP 并簽出 提交。還要使用 //github.com/openembedded/meta-openembedded 的提交 和 //git.yoctoproject.org/git/poky 的提交。 使用存儲庫中的說明生成映像并將其復制到 SD 卡并進行測試。497a90a35364c0ceca701cb92d

通過添加 :

1 來修改圖像。以獲得額外的空間;
2. 并 啟用 I2C;
3. 添加額外的包。rpi-build/conf/local.confIMAGE_ROOTFS_EXTRA_SPACE = "8388608"ENABLE_I2C = "1"KERNEL_MODULE_AUTOLOAD_rpi += "i2c-dev i2c-bcm2708" CORE_IMAGE_EXTRA_INSTALL += "bash nano tar zip openssh curl ca-certificates ntp tzdata packagegroup-core-buildessential python3 python3-pip i2c-tools git startup-script rustup"

通過添加 (從代碼部分) 添加到 的路徑來進一步修改圖像,從而添加以下配方:1. 獲取確切時間;2. 將 Rust 語言安裝腳本復制到 rootfs;3. 復制并初始化連接到 Wi-Fi 并啟動 ntp 服務的啟動腳本;4. 以設置時區。您必須根據您所在的位置修改此文件;5. 以配置 Wi-Fi 網絡。您必須為您的網絡修改此文件。meta-mylayerBBLAYERSrpi-build/conf/bblayers.confntprustupstartup-scripttzdatawpa_supplicant

重建映像并將其復制到 SD 卡。

連接傳感器

使用面包板和兩個 4 kΩ 電阻器將傳感器連接到 Raspberry Pi 10,如傳感器數據表所示,第 16 頁://www.sensirion.com/fileadmin/user_upload/customers/sensirion/Dokumente/9.6_Particulate_Matter/Datasheets/Sensirion_PM_Sensors_SPS30_Datasheet.pdf

另請查看 Raspberry Pi 4 GPIO 引腳 //www.raspberrypi.org/documentation/usage/gpio/

連接:1.SPS30 引腳 VDD (1) 至 Raspberry Pi 引腳 4(5V 電源);2.SPS30引腳SDA(2)至Raspberry Pi引腳3(GPIO 2(SDA));3。SPS30 引腳 SCL (3) 到 Raspberry Pi 引腳 5 (GPIO 3 (SCL));SPS30 引腳 SEL (4) 到 Raspberry Pi 引腳 6(接地);5.SPS30 引腳 GND (5) 至 Raspberry Pi 引腳 6(接地)。

通過在 Raspberry Pi 上運行并檢查是否檢測到具有地址的設備來驗證連接 。i2cdetect -y 10x69

讀取數據

使用 Raspberry Pi 上的 Rustup 腳本安裝 Rust 語言。

git clone //github.com/david-gherghita/sps30-i2c-rs.git下載傳感器的驅動程序。

通過運行 檢查它是否正確運行。cargo run --example linux


將數據發送到云端

在 Microsoft Azure 平臺上創建帳戶。

在“Azure 服務”選項卡中,創建新的資源組。

在資源組中添加新的 IoT 中心,然后導航到其頁面。

在資源管理器部分中 ,單擊 IoT 設備并添加新設備。請注意主連接字符串,因為您將使用它將電路板連接到云。

通過使用和設置項目的依賴項,從代碼部分編譯并運行 Rust 程序,如下所示。cargo

linux-embedded-hal = "0.3.0"
sps30-i2c = "0.1.0"

填寫主連接字符串,檢查 Rust 程序的路徑,然后 從代碼部分運行 Python 程序。

如果一切正常,則 IoT 中心應接收數據。

返回到 Azure,創建新的流分析作業,并從 IoT 中心添加新的流輸入,確保所選事件序列化格式為 JSON。

在 輸入預覽(Input Preview) 選項卡中,應該有接收到的值。

若要以圖形的形式獲取更直觀的值視圖,請將輸出添加到 Power Bi 類型的流分析作業。 請務必選擇“用戶令牌”作為“身份驗證模式”, 以便能夠將自己的工作區用作“組”工作區。

修改查詢函數以將數據發送到 Power Bi,如下所示:

SELECT
    "mass_pm1.0",
    "mass_pm2.5",
    "mass_pm4.0",
    "mass_pm10",
    "number_pm0.5",
    "number_pm1.0",
    "number_pm2.5",
    "number_pm4.0",
    "number_pm10",
    "typical_size",
    CAST ("sensor_time" AS datetime) "sensor_time"
INTO
    "AQS-PowerBI"
FROM
    IoT

若要最終使用 Power BI 中的數據,請導航到其網頁,訪問工作區,然后 使用簡單的拖放界面根據流分析作業中的數據集創建報表。


圖表

電路

面包板上的電路照片。


評論


相關推薦

技術專區

關閉