在 Arduino 上構建項目
我們將使用包含以下功能的系統示例來展示創建和配置 Arduino“智能家居”的過程:
- 室外和室內溫度監測;
- 窗口狀態跟踪(打開/關閉);
- 監測天氣狀況(晴/雨);
- 如果激活警報功能,則在觸發運動傳感器時產生聲音信號。
我們將以這樣一種方式配置系統,即可以通過特殊應用程序以及網絡瀏覽器查看數據,也就是說,用戶可以從任何可以訪問 Internet 的地方執行此操作。
使用的縮寫:
- “GND” - 接地。
- “VCC”——食物。
- “PIR” - 運動傳感器。
製造智能家居系統的必要組件
Arduino 智能家居系統將需要以下內容:
- Arduino微處理器板;
- 以太網模塊 ENC28J60;
- 兩個溫度傳感器品牌DS18B20;
- 麥克風;
- 雨雪傳感器;
- 運動傳感器;
- 簧片開關;
- 中繼;
- 電阻為 4.7 kOhm 的電阻器;
- 雙絞線電纜;
- 以太網電纜。
所有組件的成本約為 90 美元。
要製作一個具有我們需要的功能的系統,我們需要一套價值約 90 美元的設備。
這樣的智能家居如何運作?
要親手打造智能家居,您將需要 Brownie Kuzya 技能。通過它,您不僅可以控制智能家居,還可以將虛擬設備直接集成到 Yandex.Alisa 中。這意味著您不必為了關掉燈泡而不斷地打開技能。該技能將通過網絡掛鉤與微控制器通信。
YaTalks 2020 大會
12 月 5 日 09:00,在線,免費
活動和課程
對於 webhook,Blynk 平台,一個適用於 Arduino 和 Raspberry Pi 的設備控制面板,非常棒。在那裡,您可以輕鬆創建一個圖形界面,通過該界面您可以通過 Wi-Fi(以及以太網、USB、GSM 和藍牙)控制設備。
創作階段
應該說,由專家參與或自己動手創建“智能家居”系統的階段將是相同的。誠然,在後一種情況下,與市場上已經供不應求的專家相比,最終版本的成本要低得多。因為這個原因,他們的薪水會合適,這意味著如果你不想花額外的錢,那麼你可以自己做。所以,讓我們從這個系統的組件開始,如果您仍然決定自己創建它。


設備
如果我們談論系統的配置,該技術將包括以下一組組件:
- 運動傳感器;
- 溫濕度傳感器;
- 光傳感器;
- 一對標有 DS18B20 的溫度傳感器;
- 以太網模塊品牌ENC28J60;
- 麥克風;
- 簧片開關;
- 中繼;
- 雙絞線電纜;
- 以太網類電纜;
- 電阻為 4.7 千歐的電阻器;
- Arduino微處理器板。


連接算法
應該說,智能家居應該只配備 LED 燈泡,因為傳統選項根本無法承受高壓。當項目準備好並且已經購買了所有必要的備件時,您應該開始連接傳感器和控制器。這必須完全根據之前創建的方案來完成。觸點必須完全絕緣。
簡而言之,逐步連接算法將如下所示:
- 代碼安裝;
- 為 PC 或手機設置應用程序;
- 轉發端口;
- 測試軟件和傳感器;
- 如果在測試過程中發現故障排除。
因此,讓我們從安裝代碼開始。
首先,用戶應該在 Arduino IDE 中編寫軟件。它提出:
- 文本編輯器;
- 項目創建者;
- 編譯程序;
- 預處理器;
- 將軟件上傳到 Arduino 微型處理器的工具。
應該說有適用於主要計算機操作系統的軟件版本——Windows、Linux、Mac OS X。如果我們談論使用的編程語言,那麼我們談論的是經過一些簡化的 C++。用戶為 Arduino 編寫的程序通常稱為草圖。系統會自動創建許多功能,用戶無需理解他們的文字,即可列出常用操作列表。也不需要包含常規庫的頭類型文件。但是您需要插入自定義的。

您可以通過多種方式將庫添加到 IDE 項目管理器。以 C++ 編寫的源代碼的形式,它們被添加到 IDE shell 工作目錄上的單獨目錄中。現在所需庫的名稱出現在定義的 IDE 菜單中。您標記的那些將包含在編譯列表中。 IDE中的設置很少,根本沒有辦法設置編譯器的細微之處。這樣做是為了讓無知的人不會犯任何錯誤。


如果您下載了該庫,則需要將其解壓縮並將其插入 IDE。程序文本中有解釋它是如何工作的註釋。應該注意的是,所有 Arduino 應用程序都使用相同的技術:用戶向處理器發送請求,然後他在設備屏幕上加載所需的代碼。當一個人按下刷新鍵時,微控制器會發送信息。每個帶有特定名稱的頁面都有一個程序代碼,該代碼將顯示在屏幕上。
下一組操作是將客戶端安裝在個人計算機或智能手機上。您可以從 Internet、Google Play Market 或其他來源下載它。為此,您需要在手機上打開下載的文件,然後單擊它並在出現的窗口中按“安裝”按鈕。在這種情況下,您應該知道,為此必須激活該選項,該選項允許您安裝不是來自 Google Play 服務的程序。要啟用此選項,您需要進入設置部分並在那裡選擇“安全”項。這正是您需要激活相應選項的方式。安裝完成後,您可以激活應用程序並對其進行配置。


您打算如何管理您的智能家居
如果您已經處理過“什麼將被自動化”這個問題,那麼同樣令人興奮的話題“如何管理所有自動化”是下一個問題:
- 您可以用屏幕組織中央面板;
- 通過智能手機進行遠程控制和管理;
- 智能插座和開關;
- 全自動房屋;
- 能夠在沒有網絡訪問的情況下以自動模式運行的家用電器;
- 這些方法的各種組合。

值得記住的是,您的預算也控制著自動化。一些技術解決方案可以更好地完成任務,但它們非常昂貴,但現代市場允許您以足夠的錢找到它們的替代品。
什麼是智能家居”
這個術語有一個更容易理解的對應物——“家庭自動化”。此類解決方案的本質是確保自動執行家庭、辦公室或專業設施中發生的各種流程。最簡單的例子是在其中一位租戶進入房間時自動打開照明。
Arduino智能家居系統是一套使用Android手機控制各種設備運行的設備。
在任何“智能家居”系統中,都可以區分以下組件:
觸摸部分。這是一組設備,其主要部分由各種傳感器表示,這些傳感器允許系統記錄不同性質的事件。例如溫度和運動傳感器。觸控部分的其他設備用於向系統傳輸用戶命令。這些是帶有接收器的遙控按鈕和遙控器。
執行部分。這些是系統可以控制的設備,因此可以根據用戶定義的場景對特定事件做出反應。首先,這些是繼電器,智能家居控制器可以通過繼電器給任何用電設備供電,也就是打開和關閉。例如,通過手掌拍手(系統將通過麥克風“聽到”它),您可以配置為風扇供電的繼電器的開啟
請注意:在這個例子中,風扇可以是任何東西。但是您也可以使用專門發布的設備作為特定係統的一部分工作。
例如,Arduino 公司為其係統生產電動機,借助電動機,您可以關閉或打開窗戶,小米(此類系統的中國製造商)生產空氣淨化器控制設備。這樣的設備完全由系統控制,即不僅可以開機,還可以更改設置。
中央處理器。也可以稱為控制器。這是系統的“大腦”,負責協調和協調其所有組件的工作。
軟件。這是一組指導處理器的指令。在一些製造商的系統中,包括來自 Arduino 的系統,用戶可以自己編寫程序,而在其他製造商的系統中,使用現成的解決方案,其中只有典型的場景可供用戶使用。
現代系統“智能家居”分為幾個品種:
- 配備自己的控制器。
- 以這種能力使用用戶計算機(平板電腦、智能手機)的處理器。
- 使用開發者公司擁有的遠程服務器(雲服務)處理信息。
該系統不僅可以激活特定設備,還可以通過向手機發送消息或以其他方式通知用戶該事件。因此,可以為其分配包括防火在內的警報功能。
場景可能比我們在示例中描述的要復雜得多。例如,如果檢測到房屋內有一名居民(紅外線、超聲波傳感器,以及作為運動傳感器的幫助)。
遙控智能家居
家庭自動化 Arduino 和樹莓派
如上所述,在 Node.js 服務器的幫助下,您可以將事物相互連接。這也適用於通過雲服務在互聯網上實現家庭自動化過程的可視化。這是通過 Internet 控制您的家的一種方式。您可以在到達房屋之前提前手動打開鍋爐或加熱器。
另一種方式是使用短信和彩信在Arduino平台上接收數據並控制“智能”家居。畢竟,互聯網可能並不總是在手邊。而且,如果包含任何設備可能並不重要,那麼接收有關漏水的消息可能只是必要的。在這裡,英特爾的 Edison 開發板可以幫助您用自己的雙手在 Arduino 平台上開發一個功能齊全的“智能”家庭。
我們得到了什麼?
如您所見,Arduino 不僅僅是用於開發一些簡單自動化設備的板。在 Arduino 平台上,您甚至可以用自己的雙手輕鬆創建智能家居自動化。同時,西門子的設備無需多付,價格昂貴,比 Arduino 貴 5-10 倍。
Arduino 可以連接到計算機並在顯示器或平板電腦的屏幕上獲得過程的可視化。 Arduino 平台上的智能家居自動化可以通過互聯網或使用 SMS 和 MMS 消息進行控制。在 Arduino 上,您可以用自己的雙手創建相當複雜的設備。
組裝“智能家居”:分步說明
程序代碼開發
該程序由用戶在 Arduino IDE shell 中編寫,將文件保存在“.ino”擴展名中。編程時,以簡化形式使用 C++ 語言 - 許多庫文件和頭文件由 IDE 自動編譯。用戶必須在開始時指定 setup() 和 loop() 設置(永久執行),指定用戶庫。即使是新手程序員也不會對簡單的 IDE 設置感到困惑。
現在網上有很多Arduino的現成程序和草圖,你可以使用現成的軟件,解釋工作原理。您只需要下載、解壓縮存檔並將其發送到 IDE 文件夾即可。
在智能手機上安裝客戶端應用程序(適用於 Android 操作系統)
用於跟踪和 智能家居控制 從您需要的智能手機:
- 下載 SmartHome.apk 文件;
- 允許在手機上安裝軟件;
- 激活和配置應用程序。
使用路由器
對於路由器設置:
- 進入設備設置;
- 輸入Arduino的IP地址;
- 指示轉換到端口 80 上的 Adruino 芯片組。
什麼是控制控制器
該系統的核心,控制器不僅管理智能家居系統中包含的所有消費者和設備,還向所有者發送有關特定設備當前狀態的報告。它可以編程為在所需的時間間隔或根據批准的開啟時間表執行各種操作。整個智能家居系統可以離線工作,即無需人工干預,通過以下幾種方式與其進行通信:
- 計算機網絡;
- 手機;
- 通過無線電發射器。
必鬚根據控制系統的架構來選擇控制器。也就是說,整個複合體可以是:
- 集中式,由具有高性能和功能的單個控制器控制。它有自己的操作系統,基於安裝在小塑料外殼中的小型計算機。根據配置,它可能具有遠程訪問所需的內置 GSM 模塊,以及帶有按鈕界面的觸摸屏。要連接到網絡,有各種連接器;
- 分散式(區域性),由幾個控制系統組成,也就是說,它包括幾個更簡單的控制器。它們中的每一個都執行較少的功能,並負責為特定目的管理特定房間、房間或一組儀器和設備。它有一個沒有操作系統的低功耗電子邏輯單元。它針對基本任務和場景進行配置,可以基於時間或傳感器的狀態。例如,連接到它的光傳感器會發出控制信號,以便在天黑時打開照明。當然,切換過程本身是通過繼電器進行的。
Arduino 提供哪些解決方案?
許多製造商生產與 Arduino 兼容的傳感器和設備,因此 Arduino 智能家居系統的組件範圍令人印象深刻:
- 用於監測溫度、一天中不同時間的光照、濕度、降水和大氣壓力的傳感器。
- 運動傳感器。
- 緊急傳感器。
- 其他設備和遙控器。
Arduino Start 套件(適用於大多數製造商 - StarterKit)包括一些指示器和傳感器。
要執行基於 Arduino 的智能家居系統發送的命令,您需要:
- 繼電器和開關;
- 閥門;
- 電動機;
- 帶伺服驅動的三通閥;
- 調光器。
基本配置選項
不斷追求完美和自動化,一個人為此發明了越來越多的新機制。此外,這種願望旨在減小設備的尺寸而不丟失其功能特性。
對於控制機構的控制器和整個智能家居系統,有以下基本要求:
- 自動化;
- 自我控制;
- 精準控制,不出錯。
任何此類系統的配置選項取決於許多因素,上面已經提到過,以下是可以連接到控制器的系統的選項:
- 調整和控制房間本身和相鄰區域以及建築結構位置的照明;
- 氣候裝置(空調、通風、供暖);
- 關閉和阻塞門、門和窗;
- 音響系統、電視、家庭影院;
- 窗簾、百葉窗和防曬捲簾的管理;
- 供水系統;
- 餵養寵物和觀賞魚。
也就是說,一切都取決於客戶的願望和他的物質能力。
面向初學者的 Arduino 項目
如果您查看所有 Arduino 項目,有關哪些信息可在 Internet 上獲得,您可以將它們分為幾個主要組:
最初的學習項目並不聲稱具有任何重要的實際用途,但有助於理解平台的各個方面。
閃爍的 LED - 信標、閃光燈、交通燈等。
帶有傳感器的項目:從最簡單的模擬到數字,使用各種協議進行數據交換。
用於記錄和顯示信息的設備。
帶有伺服驅動器和步進電機的機器和設備。
使用各種無線通信模式和 GPS 的設備。
家庭自動化項目 - Arduino 上的智能家居,以及個人家庭基礎設施控制。
各種自動駕駛汽車和機器人。
自然研究和農業自動化項目
不尋常的和創造性的 - 通常是娛樂項目。
對於這些組中的每一個,您都可以在書籍和網站上找到各種各樣的材料。在本文中,我們將從最簡單的項目的描述開始我們的認識,建議初學者從這些項目開始。
如何創建一個 Arduino 項目

一個 Arduino 項目始終是一個電子電路、一些相關的硬件和機械設備、一個電源系統以及控制所有這些混亂的軟件的組合。因此,在開始工作的時候,你必須堅定地明白,一個人創造一個設備,你就必須成為一名程序員、一名電子工程師和一名設計師。
如果我們不是在談論培訓項目,那麼您肯定會遇到以下實施階段以及以下任務:
- 想出一些對其他人有用和(或)有趣的東西。即使是最簡單的項目也有一些好處——至少它有助於學習新技術。
- 組裝電路,將模塊相互連接並連接到控制器。
- 在特殊環境下編寫一個草圖(程序),上傳到控制器。
- 檢查一切如何協同工作並修復任何錯誤。
- 測試完成後,準備創建一個成品設備。這意味著您需要將設備組裝在某種可用的外殼中,提供電源系統,與環境通信。
- 如果您要分發您創建的設備,您還必須處理設計、運輸系統、考慮未經培訓的用戶使用的安全性並教育這些用戶。
- 如果你的設備可以工作,它已經過測試並且比其他解決方案有一些優勢,那麼你可以嘗試將你的工程項目變成一個商業項目,嘗試吸引投資。
創建項目的每個階段都值得單獨寫一篇文章。
但我們會專注於 電子電路的組裝階段 (電子基礎)和控制器編程
電子電路
電子電路通常使用原型板組裝,無需焊接或扭曲即可將組件固定在一起。您可以在我們的網站上了解模塊和連接圖的工作原理。通常,項目描述會指定如何安裝部件。但是對於最流行的模塊,網上已經有幾十個現成的方案和例子了。
編程
草圖是在一個特殊的程序 - 一個編程環境中創建和閃爍的。這種環境最流行的版本是 Arduino IDE。在我們的網站上,您可以找到有關如何下載、安裝和配置該程序的信息。
“智能家居”系統智庫
事實上,這些系統擁有所有必要的設備,並且在技術控制器的幫助下,從它接收到的信息被處理,因此可以單獨管理每個過程。在我們的課程中,我們將以 Arduino、Wemos、Raspberry 和其他可以低價購買的微控制器為基礎。
專門的功率元件可以使用不間斷的電力供應,當使用特殊的元件時,在系統的控制下進行家用電器的操作和調節。
遠程控制設備系統中的存在使得可以對系統控制的所有設備進行一般控制。它們以固定或便攜式模塊的形式出現。便攜式模塊更實用,因為它允許使用任何電子設備(例如電話或筆記本電腦)進行遠程控制。
同時,業主可以控制房間內發生的任何過程,遠離直接安裝該系統的住宅。借助此功能,所有者可以長時間為智能家居設置任何動作程序,從而輕鬆控制正在進行的過程。這可能包括場所的空調、特定時間間隔的自動照明以及其他類似的自動化功能,包括安全系統。

從 Arduino 傳輸數據
首先,我們將讓我們的 arduino 將數據發送到一個單獨的站點,該站點將顯示從 arduino 傳感器接收到的數據。為此,物聯網站點 - dweet.io 是完美的。
該站點可以顯示溫度、光線、濕度以及隨時間變化的任何內容的圖表。
讓我們嘗試將有關我們房間溫度變化的數據傳輸給它。
您可以不創建自己的密鑰,並且在代碼中(您需要插入密鑰的位置),您可以編寫任何您喜歡的內容,並且該站點仍將顯示已發送數據隨時間變化的圖表。但是為了在未來創建一個在線設備網絡,你必須更加認真地對待這個站點。
在主頁上,您可以看到本網站工作的可能選項


還可以為不同的設備創建您的帳戶和密鑰網絡,這樣您就不必擔心數據安全,並且可以通過任何設備了解您家中發生的事情。

常見品牌控制器
任何智能家居系統的命令執行質量和功能直接取決於控制器及其製造商。
白羊座
這100台PLC改裝智能家居控制器是基本解決方案。其中一個特點是使用 Modbus 協議。是他組織溝通渠道之間的信息交換。控制器“Aries”專為不超過兩層的住宅建築和別墅、街道照明、地暖和報警裝置的使用和創建自動化系統而設計。邏輯控制器通過 RS-485 接口連接到操作面板和 I/O 設備。編程由所有者自己進行,當然,除非他有這樣的願望。該菜單由六個信息控制塊組成,每個控制塊負責一個特定的部分。有一個使用 GSM 控制器的元素發送 SMS 的功能。在“智能家居”系統的各個關鍵元件的供電或供電電路出現故障的緊急情況下會發出通知。
維拉邊緣
由於多年來在該行業中使用他們的設備,Vera 系列的模型具有很大的用戶信心。該模型的主要優點是:
- 高性能;
- 人體工程學;
- 緊湊;
- 可靠性。
開發人員在這裡使用了一個新的平台,它提供了稱為 SoC 的高性能指標,其頻率為 600 MHz,RAM 增加到 128 MB。主要創新是在 Z-Wave Plus 芯片上實現的,這是這些微電路的第五代。用戶可以同時控制和管理這些機制,其數量已增加到 200 台設備。 VeraEdge 控制器配備了 Wi-Fi 通信模塊。任何系統中仍然存在的缺點之一可以認為是缺少集成的不間斷電源單元,可以額外購買和安裝。
阿杜諾
Arduino 控制器為控制智能家居提供了一種非常不尋常但非常合乎邏輯的解決方案。一些工匠用自己的雙手輕鬆連接和安裝,這是可能的,因為它易於使用。邏輯控制器的尺寸非常小。套件中還有傳感器,傳感器以及各種指示器。開發人員幾乎設法使設備的優化達到完美。所有傳感器都具有無線連接,其特點是操作錯誤最小,並且為了控制,有一些具有不尋常外觀的塊,具有方便且獨特的網頁。它也可作為移動應用程序使用。
西門子
這些德國品質的系統不僅用於日常生活中的系統自動化,還用於生產和工業中。這家公司的控制器由參與創建“智能家居”的LOGO線表示。這是傳統的二元模型。其中一個是帶顯示器的鍵盤形式,是一個輸入輸出系統,第二個允許您執行操作並通過方便可靠的有線接口連接到控制器。該公司還提供某些操作模式的獨立開發,為此附加了一個特殊的 Soft Comfort 程序。當 LOGO 用作中央控制器時,它可用於創建電路操作的完整算法。不斷的新引進和修改提高了該設備的性能。
你喜歡什麼
任何園丁最大的願望就是以最少的勞動支出獲得最大的產量。這個問題的一個解決方案是溫室。但即使在這種情況下,我也希望在必要時給床澆水、照明和加熱。當然,還組織了一個自動通風系統,以盡量減少打開和關閉窗戶的努力。
監控和調整

當然,首先,需要一個針對所有這種高度智能經濟的管理系統。此外,希望在家用計算機或智能手機上直接接收有關當前狀態的信息。為此,將使用 Arduino 上的溫室控制器。
控制
根據需要,有必要組織自動控制地暖(作為加熱種植的基礎)、打開通風口和潤濕土壤。如果外面很黑,照明控制系統會點亮它會很好。
什麼是阿杜諾
Arduino 是一個開放的小型電子板,帶有易於使用的處理器和軟件。該平台讀取傳入的信息,然後根據之前輸入的算法,將命令重塑到各種電力驅動的設備。為此,使用了 Arduino 編程語言和基於 Processing 項目的 Arduino 軟件 (IDE)。
該板的開源代碼允許使用來自不同製造商的組件。要在 Arduino 上設計智能家居系統,很容易根據用戶要求選擇設備
編程和電氣知識最少的人應該注意這個系統。

工作原理
我們中的許多人都聽說過自動化系統,但很少有人對如此眾多的傳感器和控制器的操作有正確的理解。此類設備只要經過適當規劃,就可以控制房屋中所有設備、安全、公用設施等的運行。此外,在每種情況下,這種生命支持系統的功能將根據房主的具體要求而顯著變化。
如果直到最近,這種系統的成本很高,這是由於技術的複雜性和需要使用特殊的微處理器和控制軟件,那麼今天,在 Arduino 平台上,您可以輕鬆實現這種簡單的生命支持系統,它將具有高級功能。
平台組件
標準智能家居包括以下組件:
- 傳感器部分,包括可以響應溫度、濕度、運動或各種其他事件的各種傳感器。
- 執行部分,即用戶或系統本身可以通過發送適當的命令來打開或關閉它們來控制的設備。該執行部分包括各種繼電器、電動機、空氣濾清器控制裝置等。
- 微處理器是“大腦”,負責協調和協調所有組件的工作。
該軟件是一組說明和簡單的應用程序,用戶可以使用它們自行配置程序或下載現成的預設和腳本。
公寓不同區域的系統項目
在開始組裝電子系統之前,您應該為 Arduino 上的智能家居項目制定計劃。例如,讓我們以一個小房子為例,嘗試制定一個“智能綜合體”的運營方案。所以,我們需要保證不同區域不同設備的智能運行。

- 鄰近區域的入口應在黑暗中自動開啟照明,當業主接近房屋時,以及離開房屋時,當門打開時。您將需要:一個運動傳感器和一個開門傳感器。
- 公寓的入口大廳 - 沿著行人移動時,照明應自動打開。必需:運動傳感器。
- 浴室。業主到家後自動開啟電熱水器。門打開時,浴室的抽油煙機和照明燈會亮起。必需:傳感器正在移動
我打開門。 - 廚房。當租戶進入房間時,燈光會打開。
- 當您打開滾刀時,抽油煙機應同時啟動。您需要在電爐的電源線上安裝一個繼電器和一個存在傳感器。
- 客廳。自動開燈,冬天用電對流控溫,夏天用空調。您將需要一個存在檢測器、一個溫度和光傳感器。
















































