資料介紹
描述
介紹
讓我們看看使用 MediaTek Linkit 設置智能家居系統需要什么。由于這里有很多專家指導您進行硬件連接以讀取傳感器數據,我將專注于創建 api 并設置超低成本的 15 美元本地服務器來捕獲您的所有傳感器數據。或者,我將數據記錄到 azure。
設置
傳感器使用 xbee 或任何低成本收發器通過無線電信號將數據傳輸到 MediaTek LinkIt。MediaTek linkIt 接收所有原始傳感器數據,使用 adruinojson 庫將其打包成 json 對象,并向本地服務器發出 POST 請求。然后本地服務器托管 nodejs web 應用程序并接收所有傳感器數據作為 json 對象。
本地服務器用作預處理器并添加 utc 時間和簽名。任何數據驗證、轉換和過濾都可以在這里處理。在我們的案例中,本地服務器將所有數據記錄到云服務 Azure 存儲服務。或者,聯發科 linkIt 可以直接將 json 對象發布到 azure 存儲服務。我設置了一個本地服務器,只是為了證明一臺 15 美元的電腦足以處理我們的數據。我們可以將數據記錄到任何 no-sql 數據庫中,甚至在我們的本地服務器中,完全消除了對外部云存儲的需求。我把這一切都留給你們。
演示
先決條件
我假設您知道如何使用傳感器和微控制器(如 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次下載 | 免費
評論
查看更多