如何使用BleuIO發(fā)送BLE空氣質量數據到Arduino云
藍牙低功耗(BLE)設備廣泛用于環(huán)境監(jiān)測,但將其數據傳輸到云端通常需要復雜的sdk、網關或專有平臺。在本教程中,我們演示了一個簡單而靈活的替代方案:使用BleuIO作為USB BLE網關將BLE廣告數據直接發(fā)送到Arduino Cloud。
在這個項目中,我們建立了一個輕量級的數據管道,其中HibouAir空氣質量傳感器通過BLE廣告廣播環(huán)境數據,BleuIO掃描并捕獲數據,Python腳本解碼值,結果直接發(fā)送到Arduino Cloud進行存儲和可視化-所有這些都使用免費工具。
本項目旨在作為展示示例,說明如何快速透明地完成BLE開發(fā)和云集成,而無需BLE sdk或嵌入式固件開發(fā)。
為什么是Arduino Cloud?
Arduino Cloud為存儲和可視化物聯網數據提供了一個方便可靠的平臺,無需構建和維護自定義后端。雖然它經常與Arduino硬件相關聯,但該平臺支持手動設備,這使得它適合基于網關的解決方案,其中數據來自外部設備(如BLE傳感器)。在這個項目中,Arduino Cloud作為一個安全的端點,解碼的空氣質量數據可以使用標準的MQTT通信發(fā)布。其集成的儀表板允許開發(fā)人員快速可視化傳感器數據,這對于需要最少設置的原型、演示和概念驗證項目特別有用。
硬件和軟件要求
硬件
?HibouAir二氧化碳空氣質量監(jiān)測儀
?藍牙低功耗USB加密狗
軟件
?Python 3.9或更高版本
?pyserial Python庫
?arduino-iot-cloud Python庫
?Arduino云
不需要嵌入式編程或BLE sdk。
系統(tǒng)如何運作
HibouAir設備定期在其BLE廣告負載中廣播空氣質量數據。BleuIO持續(xù)掃描附近的BLE廣告,并過濾匹配特定設備標識符的數據包。當檢測到匹配的廣告時,Python網關腳本提取原始數據并應用解碼邏輯將十六進制值轉換為人類可讀的測量值。然后使用經過身份驗證的MQTT通信將這些解碼的值發(fā)布到Arduino Cloud。整個過程連續(xù)運行,無需與傳感器建立持久的BLE連接即可實現實時數據更新。
Arduino云設置(一步一步)
步驟1:創(chuàng)建或登錄Arduino Cloud
創(chuàng)建一個免費帳戶或登錄到您現有的帳戶。登錄后將生成Arduino Cloud
?設備ID
?秘密密鑰
安全地保存它們——它們將在Python腳本中使用。
步驟2:創(chuàng)建設備
?從左側菜單單擊“添加設備”
?選擇手動設備
?將設備命名為HibouAir
步驟3:創(chuàng)建一個東西
當提示創(chuàng)建設備后,創(chuàng)建一個新的東西,并命名為HibouAir的東西。
步驟4:添加云變量
向Thing添加以下變量:
?變量名
?類型
?描述
?co2_ppm
?int
?CO?濃度(ppm)
?temperature_c
?浮動
?溫度(℃)
?humidity_rh
?浮動
?相對濕度(%)
步驟5:創(chuàng)建儀表板
回到Dashboards并創(chuàng)建一個新的儀表板。
添加小部件,例如:
?CO2值小部件
?溫度測量部件
?隨時間變化的濕度圖表小部件
您的云設置現在已經完成。
配置secrets.py
更新以下值:
確保串口與BleuIO連接的位置匹配。
配置gateway.py
在gateway.py中,更新scan命令:
本例中,220069為BLE廣告中使用的HibouAir板號。如果您的HibouAir設備使用不同的ID,請相應地更新此值。
運行項目
一旦Arduino Cloud配置和本地腳本設置完成,運行項目只需要一個命令。
當執(zhí)行網關腳本時,BleuIO進入雙角色模式,并開始掃描與指定HibouAir板標識符匹配的BLE廣告。當接收到廣告數據包時,腳本對傳感器值進行解碼,并立即將其發(fā)布到Arduino Cloud。不一會兒,儀表板就開始顯示實時空氣質量數據。這種連續(xù)循環(huán)允許系統(tǒng)以最小的開銷作為實時ble到云的網關運行。
自定義儀表板
Arduino Cloud儀表板可以定制,以最適合用戶需求的方式呈現空氣質量數據??梢允褂脭底中〔考@示實時值,儀表可用于可視化二氧化碳濃度或溫度等范圍,并且可以添加圖表小部件以顯示隨時間變化的趨勢。通過安排和配置這些小部件,用戶可以創(chuàng)建一個清晰和信息豐富的界面來監(jiān)測室內空氣質量。這種靈活性使得儀表板不僅適用于開發(fā)和測試,而且適用于演示和現場演示。
該項目演示了如何使用最小和透明的方法有效地捕獲BLE廣告數據并將其傳輸到云端。通過結合HibouAir傳感器、BleuIO、一個簡單的Python網關和Arduino Cloud,可以創(chuàng)建一個完整的端到端監(jiān)控解決方案,而無需依賴復雜的sdk或嵌入式固件開發(fā)。雖然本教程的重點是空氣質量數據,但同樣的方法可以擴展到其他基于ble的傳感器和云平臺。作為一個示例,它突出了BleuIO作為BLE開發(fā)工具的靈活性,并為希望構建和擴展自己的BLE支持云解決方案的開發(fā)人員提供了堅實的基礎。
本文編譯自hackster.io





