閱讀有關如何使用 IoT 實施家庭自動化的教程博客。它涵蓋了軟體、硬體、感測器、協議、架構和平台。
是什麼真正會迫使某人,實際開發一種基於物聯網的完整家庭自動化系統的產品?是否是需要提高你家的安全性,是否是渴望過上千禧一代夢寐以求的類似 Jetson 的生活。
很難說,建構家庭自動化平台所需的技術,通常更加難以可視化。
由於軟體、硬體和網路生態系統帶來的複雜性,為你的智慧家庭產品學習、理解,和使用正確的家庭自動化技術變得極為重要。
我們希望透過這篇報導解決一些問題。
物聯網家庭自動化:入門
家庭自動化包含三個主要部分:
- 硬體
- 軟體/應用 app
- 通訊協議
這些部分中的每一個對於為你的客戶,打造真正的智慧家居體驗同樣重要。擁有合適的硬體能夠迭代開發你的 IoT 原型,並輕鬆響應技術關鍵點。
選擇經過正確測試和仔細考慮的協議,可幫助你避免性能瓶頸,否則會限制技術和設備與感測器和物聯網 Gateway 的整合能力。
另一個重要的考慮因素,是駐留在硬體中的韌體,用於管理數據、管理數據傳輸、韌體 OTA 更新,以及執行其他關鍵操作以使事情說話。
家庭自動化的應用
重建消費者的期望,家庭自動化預計將針對新的數位消費者的廣泛應用。消費者可以期望看到家庭自動化主導的物聯網連接的一些領域是:
- 照明控制
- 暖通空調
- 草坪/園藝管理
- 智慧家電
- 改善家庭安全和保全
- 家庭空氣品質和水質監測
- 基於自然語言的語音助手
- 更好的資訊娛樂交付
- 人工智慧驅動的數位體驗
- 智慧開關
- 智慧門鎖
- 智慧電錶
該列表仍然不是詳盡無遺的,並且會隨著時間的發展而發展,以適應新的物聯網用例。
現在你已經熟悉了家庭自動化的應用,讓我們詳細了解建構典型的家庭自動化原型所涉及的組件。
家庭自動化組件
我們之前已經討論過它們,但是,讓我們清楚地將它們分成組件,最終幫助你建構一個真實的模型,了解建構智慧家庭所涉及的主要組件。主要組件可以分為:
- 物聯網感測器
- 物聯網閘道器(Gateway)
- 物聯網協議
- 物聯網韌體
- 物聯網雲和數據庫
- 物聯網韌體(如果需要)
涉及家庭自動化的物聯網感測器數以千計,還有數百個家庭自動化 Gateway。大多數韌體是用 C、Python、Node.Js 或任何其他編程語言編寫的。
物聯網雲中最大的參與者,可以分為平台即服務(PaaS)和基礎設施即服務(LaaS)。
作為服務提供商的主要物聯網平台:
- AWS 物聯網
- Azure 聯網
- Thingworx
- Ubidots
- Thingspeak
- Carriots
- Konekt
- TempoIQ
- Xively
- IBM Bluemix
物聯網平台的特點
同樣,這些平台在物聯網應用,和它們提供的安全相關功能方面,存在極大分歧。其中一些平台是開源的。
讓我們看看你應該對典型的物聯網平台有什麼期望:
- 設備安全和身份驗證
- 消息代理和消息隊列
- 設備管理
- 支持 CoAP、MQTT、HTTP 等協議
- 數據收集、可視化和簡單分析功能
- 與其他 Web 服務的可整合性
- 水平和垂直可擴展性
- WebSocket APIs for real time 即時資訊流
除了我們上面提到的之外,越來越多的平台建構者,正在將他們的庫開源給開發者。以用於 Arduino 的 DS18B20 的 Dallas 溫度庫為例,由於開源開發,它很快被移植到新版本,幫助開發人員將 DS18B20 與 Linkit One 整合。了解這些事情變得非常重要,因為物聯網往往會不斷發展,並且擁有一個同樣響應迅速的平台,可以讓業務安全地繼續進行。
現在讓我們深入評估每個組件,從物聯網感測器開始
家庭自動化感測器
可能有數千個這樣的感測器可以成為這個列表的一部分。由於這是對智慧家庭技術的介紹,我們將保持簡短。我們將透過其感測能力,分解用於家庭自動化的物聯網感測器:
- 溫度感測器
- 照度感測器
- 水位感測器
- 空氣成分感測器
- 用於監控的攝像機
- 語音/聲音感測器
- 壓力感測器
- 濕度感測器
- 加速度計
- 紅外線感測器
- 振動感測器
- 超音波感測器
根據你的需要,你的可以使用其中的一種或多種,來建構真正的智慧家庭物聯網產品。讓我們來看看一些最常用的家庭自動化感測器。
溫度感測器
市場上到處都是,但著名的溫度感測器是 TI 的 DHT11/22、DS18B20、LM35 和 MSP430 系列。MSP430 系列比其他系列更準確,但同時也是原型設計或初始產品測試最昂貴的系列之一。MSP430 在所有溫度感測器中名列前茅,因為它們的精度和電池消耗最小。
MSP430 在所有溫度感測器中名列前茅,因為它們的精度和電池消耗最小。
DHT11 的溫度範圍非常有限,並且存在精度問題。另一方面,DHT22 更準確一些,但仍然不是首選。
另一方面,DS18B20 的精度更高,與 DHT22 和 11 等數位溫度感測器相比,Dallas 溫度感測器是類比的,精度可低至 0.5 度。
請注意,你從這些感測器直接感應到的溫度,通常可能不是很準確,無論從在做什麼,偶爾都會看到 1000 °F 或更高的值。
建構溫度感測器有一個完整的邏輯,我們將在另一篇報導中討論。
照度感測器
勒克斯感測器測量亮度,可用於觸發各種功能,從交叉驗證運動到在太暗時打開燈。一些最流行的光感測器是 TSL2591 和 BH1750。
最近將 TSL2591 和 BH1750 納入低功耗物聯網設備的測試發現,它們在大多數用例中運行良好。
這是 Robert 和 Tomas 進行的一項研究,展示了這兩者如何與光譜儀和光電二極管進行比較。
為了更好地了解這兩個感測器是否滿足你的需求,我們建議進行照度測試,然後對數據進行標準化,以觀察各種情況下的偏差。
用於家庭自動化的水位感測器
在建構原型時,你可以考慮使用固態 eTape 液位感測器,或者像其他僅使用 HC-SR04 超音波感測器來測量水位感測器的人一樣。
另一方面,在這兩者都不夠用的其他情況下,必須使用可以提供更高性能的東西。
浮子液位感測器和 LM1830 等其他 IC 為物聯網開發人員,提供了更精確的測量能力。雖然,它們比其他的要貴得多。
空氣成分感測器
開發人員使用幾個特定的感測器,來測量空氣中的特定成分:
- 透過 MiCS-5525 監測 CO
- MQ-8 測量氫氣水準
- MiCS-2714 用於測量氮氧化物
- MQ135 感應有害氣體水準(NH3、NOx、酒精、苯、煙霧、CO2
其中大多數感測器都有加熱時間,這也意味著它們需要一定的時間,才能真正開始提供準確的值。
這些感測器主要依靠其表面來檢測氣體成分。當它們最初開始感知時,它們的表面上總會有一些東西,某種需要加熱才能消失的沉積物。
因此,在表面被加熱後,足夠的真實值開始出現。
用於監控和分析的攝影機
在這種情況下,通常會使用一系列特定於硬體開發套件的網路攝影機,和其他各種攝影機。帶有 USB 端口的硬體提供整合和攝影機模組來建構功能。
但是,使用 USB 端口效率不高,尤其是在即時影像傳輸,或任何類型的影像處理的情況下。
以 RaspberryPi 為例,它帶有一個攝影機模組(Pi cam),它使用柔性連接器直接連接到電路板,而不使用 USB 接口。這使得 Pi cam 非常高效。
家庭自動化的聲音檢測
聲音檢測起著極為重要的作用,從監控嬰兒到自動打開和關閉燈光,再到自動檢測你的狗在門口發出的聲音,並為它們打開聲音。
一些常用的聲音檢測感測器,包括用於快速原型製作的 SEN-12462 和 EasyVR Shield。
這些感測器不如 3DSignals 之類的工業級感測器好,後者甚至可以檢測到超低水準的噪聲,並在各種噪聲水準之間進行微調,以建構均勻的機器故障模式。
用於家庭自動化的濕度感測器
這些感測器為智慧家庭帶來了感知空氣中,濕度/相對濕度水準的能力。準確度和感測精度在很大程度上取決於多種因素,包括整體感測器設計和放置。
但與 HIH6100 和 Dig RH 等高品質感測器相比,為快速原型製作而建構的某些感測器(如 DHT22 和 11)總是表現不佳。
在建構產品以檢測濕度水準時,請確保沒有局部的濕度層會掩蓋實際結果。此外,請記住,在某些小空間中,與其他地方相比,一端的濕度可能太高。
當你查看空氣成分,可以自由移動的自由和開放空間時,可以預期感測器周圍的分佈是均勻的,因此需要非常少的糾正措施,來進行正確的校準。
家庭自動化協議
建構家庭自動化產品最重要的部分之一是考慮協議,你的設備將使用這些協議與 Gateway、伺服器和感測器進行通信。幾年前,這樣做的唯一方法是使用藍牙、WiFi 或 GSM。但是由於蜂窩 sim 卡的額外費用,以及 WiFi 的低性能,大多數此類解決方案都不起作用。
藍牙倖存下來,後來演變為智慧藍牙或低功耗藍牙。這有助於在「行動伺服器驅動的經濟」中帶來大量連接,在這種情況下,你的手機將充當中間件,從 BLE 驅動的感測器獲取數據,並將其發送到網路。
在查看主要的家庭自動化協議時,以下是最重要的:
- 低功耗藍牙或智慧藍牙:具有網狀網路功能、安全性、數據加密算法等的無線協議。非常適合用於智慧家庭的物聯網產品。
- Zigbee:用於物聯網的低成本、網狀網路和低功耗射頻協議。不同的 Zigbee 版本不相互通信。
- X10:一種利用電力線佈線進行信號和控制的傳統協議
- Insteon:透過無線和有線方式與設備通信
- Z-wave:專注於以安全為重點的家庭自動化
- WiFi:無需解釋
- UPB:使用安裝在家庭中的現有電源線,降低成本
- Thread:智慧家庭自動化的免版稅協議,使用 6lowpan
- ANT:一種超低功耗協議,可幫助開發人員建構具有網狀分佈功能的低功耗感測器。
- 6lowpan
家庭自動化:哪種協議最好?
雖然有些協議顯然比其他協議提供的更多,但從你的智慧家庭開發需求開始,然後縮小解決方案的範圍始終很重要。
通常首選的協議是低功耗藍牙、Z-wave、Zigbee 和 Thread。現在可以透過以下因素縮小協議選擇範圍:
- 執行身份驗證的能力
- 感測器網路的品質
- 數據傳輸率
- 安全級別
- 需要網路拓撲
- 周圍物體的密度
- 有效覆蓋距離
家庭自動化架構
此架構支持家庭自動化解決方案的以下注意事項:
- 涉及多級身份驗證的端到端安全機制
- 端到端數據加密,包括鏈路層
- 靈活且可配置的存取訪問和授權控制
- 強大的雲基礎設施
- 具有內置反饋迴路的網路不可知論者
- 可配置的基於雲的規則引擎
- API 端點
- 數據可擴展性
- NoSQL 數據庫
家庭自動化閘道器(Gateway)
對於開發家庭自動化產品,通常將數據發送到伺服器的獨立產品是不夠的。通常由於電池和協議的限制,來自家庭中一個或多個感測器的數據,已透過物聯網 Gateway 路由。
要為你的物聯網家庭自動化選擇完美的 Gateway,請考慮以下因素:
- 支持的通信協議
- 即時能力
- MQTT、CoAP、HTTPS 支持
- 安全和配置
- 模組化
在建構物聯網 Gateway 時,當產品處於市場推出的早期階段時,模組化和混合物聯網協議支持排在首位。
要將 Gateway 合併到你的家庭自動化堆棧中,你可以考慮以下選項:
使用現有的硬體堆棧進行原型設計(使用 Raspberry Pi、英特爾 Edison 等)從頭開始創建 Gateway。然後,當驗證 PoC 時,你可以創建自己的自定義硬體。
或者,你可以使用現有的 Gateway 模組,例如 Ingins BLE gateway。這些 Gateway 非常容易客製化,並與你的雲端服務和設備連接。但是,它們可能會或可能不會提供建構某些功能所需的相同級別的支持。
例如,具有不良網路隊列的 Gateway 可能會導致流量塞車,或者它可能不支持你希望使用的所需協議。
此外,透過這些 Gateway 轉向其他一些技術堆棧,可能會變得非常困難。應該強調的是,它們非常適合強大的原型設計需求。
面向智慧家庭開發人員的家庭自動化編程語言
以下編程語言主導了家庭自動化領域:Python、嵌入式 C、C、Shell、Go、Javascript (node.js)。這主要是由於對類似用例的語言進行了徹底的優化。
家庭自動化架構
如果你認為你可以自己建構家庭自動化(協議、硬體、軟體等)的所有內容,那有點不切實際。從高成長的新創企業,到以消費者為中心的數十億美元的企業,每個人現在都在藉助家庭自動化架構,來建構互聯產品來取悅消費者。
有超過 15 種不同的智慧家庭架構,可供物聯網開發人員使用和建構他們的下一代互聯家居產品。這些架構有些是開源的,有些是閉源的。讓我們在接下來的部分中看一下其中的一些。
用於家庭自動化的開源物聯網平台和架構
期待做一個超快速的原型嗎?沒有必要從頭開始寫下所有內容。多虧了像我們這樣的人做出了很多很棒的貢獻,我們擁有開源平台,可以讓你的家庭自動化產品立即啟動並運行。
我們最喜歡的是:
- Home Assistant
- Calaos
- Domoticz
- OpenHAB:支持用 Java 編寫的 Raspberry Pi,並具有透過調整 UI 來建構你自己的行動應用 app 的設計工具。
- OpenMotics[詢問他們的開發者,等待他們回應(開發者確認)]
- LinuxMCE
- PiDome
- MisterHouse
- Smarthomatic
讓我們來看看主要的家庭自動化物聯網平台。
智慧家庭開發的家庭助手:
支持 RaspberryPi,使用 Python 和 OS 作為 Hassbian。它簡化了開發人員可以用來建構家庭自動化產品的自動化規則,從而節省了數千行代碼。
Home Assistant 支持以下內容:
家庭助理的工作方式涉及以下內容:
- 家庭控制負責收集資訊和儲存設備
- 家庭自動化根據用戶配置觸發命令
- 基於過去用戶行為的智慧家庭觸發器
作為開發人員,了解 Home Assistant 的架構對於我們在其之上建構高性能產品非常重要。
讓我們看一下使控制和資訊流成為可能的 Home control 的架構。
家庭控制由五個部分組成:
- 組配件(Components)
- 狀態機(State Machine)
- 事件總線(Event Bus)
- 服務註冊
- 定時器
Home Assistant 的核心架構
所有這些組件一起工作,為智慧家庭物聯網創建了一個無縫的異步系統。在較早版本的 Home Assistant 核心中,核心在尋找新的設備資訊時經常不得不停下來。
但是,隨著新版本的家庭助手、向後相容的 API 和 ansyn 核心的引入,物聯網應用的運行速度大大加快。
關於家庭助理核心架構的最佳部分,是它經過精心設計和開發,以支持家庭物聯網。
用於智慧家庭自動化的 OpenHAB
OpenHAB 是用於智慧家庭的家庭自動化和物聯網 Gateway 架構。與 Home Assistant 類似,OpenHAB 可以與 Raspberry Pi 很好地配合使用,並帶有自己的設計工具,來為你的家庭自動化產品創建 UI。
OpenHAB 的理解架構:
- 模組化:透過捆綁概念實現
- 運行時動態:使軟體組件可以在運行時進行管理
- 服務導向:有服務讓各個組件互相對話,交換資訊
進一步依賴 OGSi 架構,它利用了以下堆疊在一起的層:
- 模組化層:管理捆綁包之間的依賴關係
- 生命週期層:控制 bundle 的生命週期
- 服務層:定義各種模組之間通信的動態模型
- 實際服務:這是應用層,使用所有其他層
- 安全層:可選,利用 Java 2 安全架構,並管理來自不同模組的權限
OpenHAB 特點:
- 插件架構
- 規則引擎
- 記錄機制
- UI 抽象:UI 小組件、項目 UI 提供程序和動態 UI 配置的樹結構
- UI 實現適用於 Web、Android 和 iOS
- 設計師工具可用性
OpenHAB 主要只是作為業餘程序員的項目被觀察到,甚至 openhab.org 的許多部分都傳達了相同的內容。但是,我們觀察到最近從 OpenHAB 為建構物聯網智慧家庭的開發者經濟做出了不同的努力。
以這個關於 OpenHAB 雲的緩慢成長的Github 儲存庫為例。
根據儲存庫,OpenHAB 雲端架構將如下所示:
令人印象深刻的是,一些開放平台正在考慮系統服務、Cron 作業、日誌記錄等。
此外,查看 openHAB 將支持的架構和技術:Node.Js、Express.Js、Nginx、MongoDB、Redis、Socket.IO
與 Home Assistant 的巨大可整合性不同,openHAB 目前僅限於:
- IFTTT
- Amazon Alexa
- AWS EC2 [AWS Multi-AZ 不相容多時區可用性]
- AWS IoT 與 openHAB
- MQTT 支持
OpenHAB 非常強大,但同時在整合方面非常有限。openHAB 背後的團隊非常有前途,並且已經很快傳達了他們將 openHAB 開放給其他整合功能的計劃。
用於家庭自動化的 Calaos
Calaos 最初是由一家於 2013 年關閉的公司開發的,但從那時起,家庭自動化一直存在,並且正在由開發人員維護和升級。雖然現在是開源的,但它有助於預製源代碼:
- 營造溫馨的家居環境
- 控制音樂
- 專注於時間、情緒或氛圍的自動化規則
- 易於配置
Calaos 支持以下硬體:
- 前板
- 立方體板
- 樹莓派
- 基於 Intel 的機器
他們缺乏對開發私有物聯網應用的支持,這限制了開發人員使用它們為消費者建構高品質的解決方案。
用於家庭自動化的 Domoticz
Domoticz 允許你以最簡單的設計,監控和配置你的設備和感測器。令人印象深刻的是,整個項目非常輕巧,它進一步得到了與第三方的高度整合,以及自動學習開關等功能的支持。
該平台目的在與 Linux 和 Windows 等操作系統一起使用。
Domoticz 的協議能力包括:Z-wave、藍牙、Apple Homekit、X10 和 MQTT
Domoticz的硬體整合能力:
- RFXCOM 收發器
- ESP2866 無線模組
- P1智慧電錶
- Youless meter
- 脈衝計數器
- 1-Wire
- 飛利浦 Hue
- Essent E 恆溫器
Domiticz 可用於創建你能想到的任何類型的服務,從智慧天氣設備到 Telegram 機器人。
Domoticz 架構
目前,很少有人知道 Domoticz 的架構,因此很難在其上建構應用,而不冒不必要的風險來建構產品本身。
例如,當你查看感測器以控制執行器的概念時,通用架構的整個設計感覺有點奇怪。它似乎不見了。
可以使用 C++、lula、PHP、shell 等來使用 Domoticz 建構高級應用。
物聯網中的區塊鏈用於互聯家庭
消費者,尤其是在數位時代長大的消費者,比千禧一代更了解隱私和安全的重要性。隨著物聯網的發展,安全性已成為現實佈署場景的中心。
只需 35 美元的樹莓派,就可以輕鬆地將區塊鏈佈署到家庭網路中。設備和網關之間的區塊鏈安全層,可以在不大規模修改現有代碼庫的情況下實現。
簡而言之,區塊鏈作為一種技術,將成為大多數用戶甚至不知道的實施方式,但在未來將發揮巨大作用,以透過 Airbnb 的動態租賃等革命性和新的商業模式讓他們放心。
到目前為止,互操作性問題和損壞的協議,似乎阻礙了基於物聯網的智慧家庭的發展。
但是,隨著技術的進步,越來越多的運算能力,可以透過非常低功耗的設備產生,家庭自動化將逐漸成為一種,我們每天都可以輕鬆建構和開發的技術。
沒有留言:
張貼留言