資料介紹
描述
介紹
讓我們看看使用 MediaTek Linkit 設置智能家居系統需要什么。由于這里有很多專家指導您進行硬件連接以讀取傳感器數據,我將專注于創建 api 并設置超低成本的 15 美元本地服務器來捕獲您的所有傳感器數據。或者,我將數據記錄到 azure。
設置
![pYYBAGOhK2iAY5s7AAB2Dohug1s274.png](https://file.elecfans.com/web2/M00/85/3E/pYYBAGOhK2iAY5s7AAB2Dohug1s274.png)
傳感器使用 xbee 或任何低成本收發器通過無線電信號將數據傳輸到 MediaTek LinkIt。MediaTek linkIt 接收所有原始傳感器數據,使用 adruinojson 庫將其打包成 json 對象,并向本地服務器發出 POST 請求。然后本地服務器托管 nodejs web 應用程序并接收所有傳感器數據作為 json 對象。
本地服務器用作預處理器并添加 utc 時間和簽名。任何數據驗證、轉換和過濾都可以在這里處理。在我們的案例中,本地服務器將所有數據記錄到云服務 Azure 存儲服務。或者,聯發科 linkIt 可以直接將 json 對象發布到 azure 存儲服務。我設置了一個本地服務器,只是為了證明一臺 15 美元的電腦足以處理我們的數據。我們可以將數據記錄到任何 no-sql 數據庫中,甚至在我們的本地服務器中,完全消除了對外部云存儲的需求。我把這一切都留給你們。
![poYBAGOhK3-AHzSPAAWnDPPVg1A023.jpg](https://file.elecfans.com/web2/M00/84/B6/poYBAGOhK3-AHzSPAAWnDPPVg1A023.jpg)
演示
先決條件
我假設您知道如何使用傳感器和微控制器(如 arduino 或 mediaTek)讀取傳感器數據。為了限制這個項目的范圍,我將假設傳感器數據可用于 MediaTek Link It。您可以使用低頻無線電收發器或 Xbee 來傳輸和接收來自連接到微控制器(如 MediaTek)的傳感器的無線電信號。初學者可以使用 MediaTek linkIt groove starter kit 讀取外部環境數據,如溫度、濕度、光照等。
杰森杰森杰森
Json已經成為物聯網事實上的標準,并被廣泛采用。說完先決條件,讓我們從對傳感器數據建模開始。主要目的是捕獲盡可能多的數據并將其傳遞給服務器。服務器可以完成所有繁重的工作,如分析、數據轉換、機器學習等。?
“所需” json 對象將是傳感器數據的所需狀態。例如,當我們記錄溫度時,所需的值 24 意味著我們需要將值與值 24 同步到云端。我們的客戶端(如 Web 應用程序或移動應用程序)將更新為該值。
當我們想要打開一盞燈時,我們說,所需的狀態為打開。這意味著燈已打開或將打開。我們所有的客戶端應用程序都將使用此狀態來向用戶反映更改。我的意思是,我們的網絡應用程序中的圖標將被打開或關閉。
這不是國際標準,我只是想出了這個。所以,請隨意使用您自己方便的格式。
溫度
{
"deviceid" : "iot/myhome/livingroom/thermostat"
"desired" : { "temperature" : "24", "humidity": "80"},
"timeutc": "2015-11-23T00:41:48.824Z",
"singedBy" : "localserver"
}
麥克風
{
"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"
}
全球定位系統
{
"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"
}
或者用這個,
客廳
{
"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"}
}
?
聯發科 - 接收器?
請參考軟件部分附帶的 ino 文件將數據登錄到本地服務器。傳感器數據是模擬的,您可以將實際讀數傳遞給相應的 json 對象
本地服務器
本地服務器會增加開銷,但會在很多方面得到驗證。我們可以使用本地服務器作為物聯網數據的預處理器。數據可以被過濾、加蓋時間戳和簽名
微型 PC 和 nodejs 是本地服務器的絕佳選擇。我們可以選擇任何微型 pc,如 raspberry pi、odriod、banana pi、beagle bone 等。我為這個項目選擇了 orange pi(15 美元)。
設置
Raspberry pi 2 或 Orange Pi 以及任何支持 nodejs 5 的 linux 操作系統。我為 arm7 選擇了帶有 arch linux 的 orange pi。安裝了 nodejs 和 npm。從 github 下載我的 iotapp 并導航到 /your/local/path/iotapp 并運行 npm install。基本的 expressjs 應用程序開始監聽您的端口 3000。
瀏覽到 your-local-ip:3000 以檢查是否呈現默認的 expressjs 視圖。我創建了這些 api 來發布傳感器數據
/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 - 燃氣泄漏傳感器 api
/iot/myhome/livingroom/light - 光傳感器 api
/iot/myhome/livingroom - 客廳的其他 api
/iot/myhome/bedroom - 臥室的其他 api
?
設置本地服務器。從我的 github 克隆源代碼 iotapp。修改 index.js 以將您的云 ip 地址或域名放在 azure 中托管 aspnet5 應用程序的位置
遠程服務器
將數據發布到云現在已經很流行了。我們可以從 amazon、azure、spark fun、pubnub、initial state 等提供的物聯網數據中購買訂閱。我為這個演示選擇了天藍色。可以開發數據分析、數據挖掘和機器學習算法來處理我們的數據。
從我的 github 下載 iotwebapp。我使用針對 asp.net5 的 visual studio 2015 創建了它。這些 api 被設置為發布物聯網數據。API 將物聯網記錄在 Azure 存儲表中
可以設置 deviceid 參數來識別傳感器位置。
這些 api 已經設置好,?
api/iot/myhome/thermostat - 用于記錄所有恒溫器數據的 asp.net5 web api?
api/iot/myhome/microphone- asp.net5 web api 記錄所有麥克風數據
api/iot/myhome/pir - 用于記錄所有 pir 數據的 asp.net5 web api
api/iot/myhome/distance - asp.net5 web api 記錄所有距離傳感器數據
api/iot/myhome/device/location - 用于記錄 gps 數據的 asp.net5 web api
api/iot/myhome/moisture - asp.net5 web api 用于記錄濕度傳感器數據
api/iot/myhome/gas - 用于記錄氣體傳感器數據的 asp.net5 web api
api/iot/myhome/light - 用于記錄所有光傳感器數據的 asp.net5 web api
api/iot/myhome/livingroom - asp.net5 web api 用于記錄所有客廳屬性/傳感器數據。我們可以使用這個 API 推送所有傳感器值。
api/iot/myhome/bedroom - 同上,我創建了一個記錄我臥室的詳細信息?
設置遠程服務器。從我的 github 克隆源代碼 iotwebapp。創建一個 azure 存儲表。修改 IoTController.cs 并放入您的 azure 存儲表帳戶名稱和密鑰。在本地服務器使用此域名或ip
結論
代碼中有很多地方需要重構。請隨時修改,如果您感到震驚,請告訴我。
- 私人家庭助理開源硬件
- 智能垃圾管理開源硬件
- 智能積木開源硬件
- 智能插頭開源硬件
- 智能鏡子開源硬件
- 智能帽開源硬件
- 智能玻璃容器開源硬件
- 智能鞋開源硬件
- 智能家居門開源分享
- 開源硬件智能鏡子
- 智能插座開源硬件
- 智能家居控制系統方案開源資料
- 智能家居開源項目
- Qorvo智能家居管家物聯網和智能家居革命為什么比較慢?詳細概述
- 如何利用物聯網解決智能家居現狀存在的問題?
- 繼電器在智能家居中的應用 1029次閱讀
- Python智能家居系統代碼介紹 1418次閱讀
- 用小安派開源硬件制作一個桌面天氣站 1007次閱讀
- 為什么需要智能家居? 1305次閱讀
- 智能家居系統應該用什么姿勢來落地 1070次閱讀
- 如何保護智能家居電路 984次閱讀
- 電感在智能家居市場的重要性 1410次閱讀
- 智能家居中的無線技術解析 2150次閱讀
- 智能家居在用戶房間設計的完整生活場景解決方案 3366次閱讀
- 智能家居與普通家居區別對比 7502次閱讀
- 三大主流開源硬件對比:Arduino vs BeagleBone vs Raspberry Pi 6657次閱讀
- 智能家居安全嗎_智能家居安全性分析 3148次閱讀
- 智能家居的真正意義:連接家庭“點”安全 1141次閱讀
- 基于ZigBee的別墅智能家居解決方案 2121次閱讀
- 基于ZigBee技術的智能家居系統的設計方案 5276次閱讀
下載排行
本周
- 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次下載 | 免費
評論