基于溫濕度、空氣質(zhì)量傳感器實現(xiàn)溫度、濕度、二氧化碳、PM2.5、甲醛環(huán)境數(shù)據(jù)實時監(jiān)測。
硬件清單
我們采用 Ruff 開發(fā)板,串口連接溫濕度傳感器 DHT11 和空氣質(zhì)量傳感器 SDS011,每5分鐘采集一次數(shù)據(jù),通過MQTT協(xié)議發(fā)送到華為云 IoT 物聯(lián)網(wǎng)平臺,并基于數(shù)據(jù)分析服務實時計算出整個家庭的平均溫度值。
本項目硬件清單如下:
技術架構
傳感器通過Ruff板接入華為云IoT平臺,數(shù)據(jù)流轉分析服務,實時監(jiān)控家庭環(huán)境數(shù)據(jù)變化。
華為云IoT開發(fā)
華為云物聯(lián)網(wǎng)平臺設備接入云服務(IoTDA)提供海量設備的接入和管理能力,將物理設備聯(lián)接到云,支撐設備數(shù)據(jù)采集上云和云端下發(fā)命令給設備進行遠程控制,配合華為云其他產(chǎn)品,幫助您快速構筑物聯(lián)網(wǎng)解決方案。
使用物聯(lián)網(wǎng)平臺構建一個完整的物聯(lián)網(wǎng)解決方案主要包括3部分:物聯(lián)網(wǎng)平臺、業(yè)務應用和設備。
物聯(lián)網(wǎng)平臺作為連接業(yè)務應用和設備的中間層,屏蔽了各種復雜的設備接口,實現(xiàn)設備的快速接入;同時提供強大的開放能力,支撐行業(yè)用戶構建各種物聯(lián)網(wǎng)解決方案。
設備可以通過固網(wǎng)、2G/3G/4G/5G、NB-IoT、Wifi等多種網(wǎng)絡接入物聯(lián)網(wǎng)平臺,并使用LWM2M/CoAP、MQTT、HTTPS等主流協(xié)議或行業(yè)協(xié)議將業(yè)務數(shù)據(jù)上報到平臺,平臺也可以將控制命令下發(fā)給設備。
業(yè)務應用通過調(diào)用物聯(lián)網(wǎng)平臺提供的API,實現(xiàn)設備數(shù)據(jù)采集、命令下發(fā)、設備管理等業(yè)務場景。
產(chǎn)品模型(Product Model),也稱物模型,用于描述設備具備的能力和特性。開發(fā)者通過定義產(chǎn)品模型,在物聯(lián)網(wǎng)平臺構建一款設備的抽象模型,使平臺理解該款設備支持的服務、屬性、命令等信息。
設備注冊
進入到設備管理的設備注冊頁面,點擊右上角的創(chuàng)建按鈕。
在彈出框里選擇產(chǎn)品模型,輸入設備識別碼,點擊確定按鈕。
創(chuàng)建成功,系統(tǒng)會自動生成秘鑰。
硬件端開發(fā)
Ruff 是一個支持 JavaScript 開發(fā)應用的物聯(lián)網(wǎng)操作系統(tǒng),為軟件開發(fā)者提供開放、高效、敏捷的物聯(lián)網(wǎng)應用開發(fā)平臺,讓 IoT 應用開發(fā)更簡單。
整個 Ruff 開發(fā)體系包括 Ruff OS、Ruff SDK、Ruff 軟件倉庫、Ruff Kit 開發(fā)套件。只要您有JavaScript開發(fā)經(jīng)驗,就可以用 Ruff 開發(fā)硬件應用。
傳感器驅動程序
傳感器硬件接線
設備端程序結構
讀取溫濕度和空氣質(zhì)量傳感器數(shù)據(jù):
// 空氣質(zhì)量數(shù)據(jù)
$('#air').on('aqi', function(error, pm25, pm10) {
if (error) return;
reported.pm25 = pm25;
reported.pm10 = pm10;
});
// 溫度數(shù)據(jù)
$('#dht').getTemperature(function(error, temperature) {
if (!error) {
reported.temperature = temperature;
}
});
// 濕度數(shù)據(jù)
$('#dht').getRelativeHumidity(function(error, humidity) {
if (!error) {
reported.humidity = humidity;
}
});
上報數(shù)據(jù)到 /huawei/v1/devices/{deviceId}/data/json
var topic = `/huawei/v1/devices/${options.deviceId}/data/json`
var postJson = {
msgType: "deviceReq",
data: [{
serviceId: "postData",
serviceData: {
model: 'Ruff',
sdk: '0.02',
Node_Version: 8,
temperature: sensor.temperature,
humidity:sensor.humidity,
co2: sensor.co2,
hcho: sensor.hcho,
pm25: sensor.pm25,
pm10: sensorpm10.
}
}
]
}
client.publish(topic, JSON.stringify(postJson))
查看傳感器上云實時數(shù)據(jù)
IoT 數(shù)據(jù)分析
配置數(shù)據(jù)源
實測點數(shù)據(jù)綁定傳感器
配置虛測點為多個房間溫度的平均溫度
正式發(fā)布后,我們就可以實時監(jiān)控各個房間的環(huán)境傳感器數(shù)據(jù)變化和平均值了。
如有需求,請聯(lián)系小編:? beacon0418