資料介紹
描述
介紹
讓我們看看使用 MediaTek Linkit 設(shè)置智能家居系統(tǒng)需要什么。由于這里有很多專家指導(dǎo)您進(jìn)行硬件連接以讀取傳感器數(shù)據(jù),我將專注于創(chuàng)建 api 并設(shè)置超低成本的 15 美元本地服務(wù)器來(lái)捕獲您的所有傳感器數(shù)據(jù)。或者,我將數(shù)據(jù)記錄到 azure。
設(shè)置
傳感器使用 xbee 或任何低成本收發(fā)器通過(guò)無(wú)線電信號(hào)將數(shù)據(jù)傳輸?shù)?MediaTek LinkIt。MediaTek linkIt 接收所有原始傳感器數(shù)據(jù),使用 adruinojson 庫(kù)將其打包成 json 對(duì)象,并向本地服務(wù)器發(fā)出 POST 請(qǐng)求。然后本地服務(wù)器托管 nodejs web 應(yīng)用程序并接收所有傳感器數(shù)據(jù)作為 json 對(duì)象。
本地服務(wù)器用作預(yù)處理器并添加 utc 時(shí)間和簽名。任何數(shù)據(jù)驗(yàn)證、轉(zhuǎn)換和過(guò)濾都可以在這里處理。在我們的案例中,本地服務(wù)器將所有數(shù)據(jù)記錄到云服務(wù) Azure 存儲(chǔ)服務(wù)。或者,聯(lián)發(fā)科 linkIt 可以直接將 json 對(duì)象發(fā)布到 azure 存儲(chǔ)服務(wù)。我設(shè)置了一個(gè)本地服務(wù)器,只是為了證明一臺(tái) 15 美元的電腦足以處理我們的數(shù)據(jù)。我們可以將數(shù)據(jù)記錄到任何 no-sql 數(shù)據(jù)庫(kù)中,甚至在我們的本地服務(wù)器中,完全消除了對(duì)外部云存儲(chǔ)的需求。我把這一切都留給你們。
演示
先決條件
我假設(shè)您知道如何使用傳感器和微控制器(如 arduino 或 mediaTek)讀取傳感器數(shù)據(jù)。為了限制這個(gè)項(xiàng)目的范圍,我將假設(shè)傳感器數(shù)據(jù)可用于 MediaTek Link It。您可以使用低頻無(wú)線電收發(fā)器或 Xbee 來(lái)傳輸和接收來(lái)自連接到微控制器(如 MediaTek)的傳感器的無(wú)線電信號(hào)。初學(xué)者可以使用 MediaTek linkIt groove starter kit 讀取外部環(huán)境數(shù)據(jù),如溫度、濕度、光照等。
杰森杰森杰森
Json已經(jīng)成為物聯(lián)網(wǎng)事實(shí)上的標(biāo)準(zhǔn),并被廣泛采用。說(shuō)完先決條件,讓我們從對(duì)傳感器數(shù)據(jù)建模開(kāi)始。主要目的是捕獲盡可能多的數(shù)據(jù)并將其傳遞給服務(wù)器。服務(wù)器可以完成所有繁重的工作,如分析、數(shù)據(jù)轉(zhuǎn)換、機(jī)器學(xué)習(xí)等。?
“所需” json 對(duì)象將是傳感器數(shù)據(jù)的所需狀態(tài)。例如,當(dāng)我們記錄溫度時(shí),所需的值 24 意味著我們需要將值與值 24 同步到云端。我們的客戶端(如 Web 應(yīng)用程序或移動(dòng)應(yīng)用程序)將更新為該值。
當(dāng)我們想要打開(kāi)一盞燈時(shí),我們說(shuō),所需的狀態(tài)為打開(kāi)。這意味著燈已打開(kāi)或?qū)⒋蜷_(kāi)。我們所有的客戶端應(yīng)用程序都將使用此狀態(tài)來(lái)向用戶反映更改。我的意思是,我們的網(wǎng)絡(luò)應(yīng)用程序中的圖標(biāo)將被打開(kāi)或關(guān)閉。
這不是國(guó)際標(biāo)準(zhǔn),我只是想出了這個(gè)。所以,請(qǐng)隨意使用您自己方便的格式。
溫度
{
"deviceid" : "iot/myhome/livingroom/thermostat"
"desired" : { "temperature" : "24", "humidity": "80"},
"timeutc": "2015-11-23T00:41:48.824Z",
"singedBy" : "localserver"
}
麥克風(fēng)
{
"deviceid" : "iot/myhome/livingroom/mic"
"desired" : {"intensity" : "66"},
"timeutc": "2015-11-23T00:41:48.824Z",
"singedBy" : "localserver"
}
距離
{
"deviceid" : "iot/myhome/livingroom/obstacle"
"desired" : {"proximity" : "150"},
"timeutc": "2015-01-01",
"singedBy" : "localserver"
}
紅外熱像儀
{
"deviceid" : "iot/myhome/livingroom/pir"
"desired" : {"motion start" : "2500", "motion end" : "5345"},
"timeutc": "2015-11-23T00:41:48.824Z",
"singedBy" : "localserver"
}
全球定位系統(tǒng)
{
"deviceid" : "iot/mydevice/location"
"desired" : {"lat" : "25.5", "long" : "32.2"},
"timeutc": "2015-11-23T00:41:48.824Z",
"singedBy" : "localserver"
}
水分
{
"deviceid" : "
/iot/myhome/garden/moisture"
"desired" : {"moisture": "20"},
"timeutc": "2015-11-23T00:41:48.824Z",
"singedBy" : "localserver"
}
氣體
{
"deviceid" : " /iot/myhome/kitchen/gas"
"desired" : {"leak": "No"},
"timeutc": "2015-11-23T00:41:48.824Z",
"singedBy" : "localserver"
}
光
{
"deviceid" : " /iot/myhome/livingroom/light"
"desired" : {"intensity": "60"},
"timeutc": "2015-11-23T00:41:48.824Z",
"singedBy" : "localserver"
}
或者用這個(gè),
客廳
{
"deviceid" : "/iot/myhome/livingroom"
"desired" : { "temperature" : "25",?
? ? ? ? ? ? ? ? ? ? ?"humidity" : "80",?
? ? ? ? ? ? ? ? ? ? ?"window": "open",?
? ? ? ? ? ? ? ? ? ? ? "door": "closed",?
? ? ? ? ? ? ? ? ? ? ?"light": "80",?
? ? ? ? ? ? ? ? ? ? ? "noise":"low"}
}
臥室
{
"deviceid" : "/iot/myhome/bedroom"
"desired" : { "temperature" : "24",
? ? ? ? ? ? ? ? ? ? "humidity" : "70",
? ? ? ? ? ? ? ? ? ? "window": "closed",
? ? ? ? ? ? ? ? ? ? "door": "closed",
? ? ? ? ? ? ? ? ? ? "light": "80",
? ? ? ? ? ? ? ? ? ? "ac":"on"
? ? ? ? ? ? ? ? ? ? "noise":"low"}
}
?
聯(lián)發(fā)科 - 接收器?
請(qǐng)參考軟件部分附帶的 ino 文件將數(shù)據(jù)登錄到本地服務(wù)器。傳感器數(shù)據(jù)是模擬的,您可以將實(shí)際讀數(shù)傳遞給相應(yīng)的 json 對(duì)象
本地服務(wù)器
本地服務(wù)器會(huì)增加開(kāi)銷,但會(huì)在很多方面得到驗(yàn)證。我們可以使用本地服務(wù)器作為物聯(lián)網(wǎng)數(shù)據(jù)的預(yù)處理器。數(shù)據(jù)可以被過(guò)濾、加蓋時(shí)間戳和簽名
微型 PC 和 nodejs 是本地服務(wù)器的絕佳選擇。我們可以選擇任何微型 pc,如 raspberry pi、odriod、banana pi、beagle bone 等。我為這個(gè)項(xiàng)目選擇了 orange pi(15 美元)。
設(shè)置
Raspberry pi 2 或 Orange Pi 以及任何支持 nodejs 5 的 linux 操作系統(tǒng)。我為 arm7 選擇了帶有 arch linux 的 orange pi。安裝了 nodejs 和 npm。從 github 下載我的 iotapp 并導(dǎo)航到 /your/local/path/iotapp 并運(yùn)行 npm install。基本的 expressjs 應(yīng)用程序開(kāi)始監(jiān)聽(tīng)您的端口 3000。
瀏覽到 your-local-ip:3000 以檢查是否呈現(xiàn)默認(rèn)的 expressjs 視圖。我創(chuàng)建了這些 api 來(lái)發(fā)布傳感器數(shù)據(jù)
/iot/myhome/livingroom/thermostat - 溫度 api
/iot/myhome/livingroom/mic - 聲音 api
/iot/myhome/livingroom/pir - 存在傳感器 api
/iot/myhome/livingroom/distance - 距離傳感器 api
/iot/myhome/mydevice/location - GPS 追蹤器 API
/iot/myhome/garden/moisture - 土壤濕度傳感器 api
/iot/myhome/kitchen/gas - 燃?xì)庑孤﹤鞲衅?api
/iot/myhome/livingroom/light - 光傳感器 api
/iot/myhome/livingroom - 客廳的其他 api
/iot/myhome/bedroom - 臥室的其他 api
?
設(shè)置本地服務(wù)器。從我的 github 克隆源代碼 iotapp。修改 index.js 以將您的云 ip 地址或域名放在 azure 中托管 aspnet5 應(yīng)用程序的位置
遠(yuǎn)程服務(wù)器
將數(shù)據(jù)發(fā)布到云現(xiàn)在已經(jīng)很流行了。我們可以從 amazon、azure、spark fun、pubnub、initial state 等提供的物聯(lián)網(wǎng)數(shù)據(jù)中購(gòu)買(mǎi)訂閱。我為這個(gè)演示選擇了天藍(lán)色。可以開(kāi)發(fā)數(shù)據(jù)分析、數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)算法來(lái)處理我們的數(shù)據(jù)。
從我的 github 下載 iotwebapp。我使用針對(duì) asp.net5 的 visual studio 2015 創(chuàng)建了它。這些 api 被設(shè)置為發(fā)布物聯(lián)網(wǎng)數(shù)據(jù)。API 將物聯(lián)網(wǎng)記錄在 Azure 存儲(chǔ)表中
可以設(shè)置 deviceid 參數(shù)來(lái)識(shí)別傳感器位置。
這些 api 已經(jīng)設(shè)置好,?
api/iot/myhome/thermostat - 用于記錄所有恒溫器數(shù)據(jù)的 asp.net5 web api?
api/iot/myhome/microphone- asp.net5 web api 記錄所有麥克風(fēng)數(shù)據(jù)
api/iot/myhome/pir - 用于記錄所有 pir 數(shù)據(jù)的 asp.net5 web api
api/iot/myhome/distance - asp.net5 web api 記錄所有距離傳感器數(shù)據(jù)
api/iot/myhome/device/location - 用于記錄 gps 數(shù)據(jù)的 asp.net5 web api
api/iot/myhome/moisture - asp.net5 web api 用于記錄濕度傳感器數(shù)據(jù)
api/iot/myhome/gas - 用于記錄氣體傳感器數(shù)據(jù)的 asp.net5 web api
api/iot/myhome/light - 用于記錄所有光傳感器數(shù)據(jù)的 asp.net5 web api
api/iot/myhome/livingroom - asp.net5 web api 用于記錄所有客廳屬性/傳感器數(shù)據(jù)。我們可以使用這個(gè) API 推送所有傳感器值。
api/iot/myhome/bedroom - 同上,我創(chuàng)建了一個(gè)記錄我臥室的詳細(xì)信息?
設(shè)置遠(yuǎn)程服務(wù)器。從我的 github 克隆源代碼 iotwebapp。創(chuàng)建一個(gè) azure 存儲(chǔ)表。修改 IoTController.cs 并放入您的 azure 存儲(chǔ)表帳戶名稱和密鑰。在本地服務(wù)器使用此域名或ip
結(jié)論
代碼中有很多地方需要重構(gòu)。請(qǐng)隨時(shí)修改,如果您感到震驚,請(qǐng)告訴我。
- 私人家庭助理開(kāi)源硬件
- 智能垃圾管理開(kāi)源硬件
- 智能積木開(kāi)源硬件
- 智能插頭開(kāi)源硬件
- 智能鏡子開(kāi)源硬件
- 智能帽開(kāi)源硬件
- 智能玻璃容器開(kāi)源硬件
- 智能鞋開(kāi)源硬件
- 智能家居門(mén)開(kāi)源分享
- 開(kāi)源硬件智能鏡子
- 智能插座開(kāi)源硬件
- 智能家居控制系統(tǒng)方案開(kāi)源資料
- 智能家居開(kāi)源項(xiàng)目
- Qorvo智能家居管家物聯(lián)網(wǎng)和智能家居革命為什么比較慢?詳細(xì)概述
- 如何利用物聯(lián)網(wǎng)解決智能家居現(xiàn)狀存在的問(wèn)題?
- 繼電器在智能家居中的應(yīng)用 1029次閱讀
- Python智能家居系統(tǒng)代碼介紹 1418次閱讀
- 用小安派開(kāi)源硬件制作一個(gè)桌面天氣站 1007次閱讀
- 為什么需要智能家居? 1305次閱讀
- 智能家居系統(tǒng)應(yīng)該用什么姿勢(shì)來(lái)落地 1070次閱讀
- 如何保護(hù)智能家居電路 984次閱讀
- 電感在智能家居市場(chǎng)的重要性 1410次閱讀
- 智能家居中的無(wú)線技術(shù)解析 2150次閱讀
- 智能家居在用戶房間設(shè)計(jì)的完整生活場(chǎng)景解決方案 3366次閱讀
- 智能家居與普通家居區(qū)別對(duì)比 7502次閱讀
- 三大主流開(kāi)源硬件對(duì)比:Arduino vs BeagleBone vs Raspberry Pi 6657次閱讀
- 智能家居安全嗎_智能家居安全性分析 3148次閱讀
- 智能家居的真正意義:連接家庭“點(diǎn)”安全 1141次閱讀
- 基于ZigBee的別墅智能家居解決方案 2121次閱讀
- 基于ZigBee技術(shù)的智能家居系統(tǒng)的設(shè)計(jì)方案 5276次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多