採用ROHM感測器套件的DIY Arduino家庭保全系統 第2部分 — Cayenne設定

點擊這裡閱讀本文的第1部分 >

arduino home security system

 

DIY智慧家居保全系統 第1部分中,我們將各種元件(例如PIR感測器、溫度感測器和壓力感測器)組合在一起,以創建家庭保全系統/探測器。在第2部分中,將對前面所創建系統的離線程式進行測試,並連接到Internet,以便使用Cayenne API進行無線控制。使用myDevices Cayenne,只要您通過網站和/或智慧行動電話中的Cayenne App連接到WiFi,您就能夠無線控制保全系統。

硬體

  • 筆記型電腦/PC或智慧型行動電話

參考第1部分:

軟體

使用離線程式測試硬體

完成硬體安裝後,現在可以運行離線程式進行測試。這是“離線”模式,系統尚未連接到Internet。我們馬上就進行測試。離線程式將執行下列功能:

  • 遙控射極器(在示例中使用頻道D)打開/斷路警報。如果遙控射極器打開,綠色 LED將亮起,蜂鳴器將發出一次嗶嗶聲。
  • PIR感測器將檢測行動情況。如果檢測到行動,藍色 LED 將亮起。
  • 當警報聲響起並檢測到行動時,紅色 LED將亮起,蜂鳴器將熄滅。
  • 同樣,當警報聲響起(即綠色 LED亮起)且熱量高於設定目標時,紅色 LED將亮起,蜂鳴器將熄滅。

注:

若想斷路警報聲,用戶只需再次按遙控射極器上的頻道D。綠色 LED將熄滅,蜂鳴器將發出兩次嗶嗶聲。

若需查看溫度和氣壓的值,請將USB電線從Arduino連接到PC。然後,進入Arduino IDE並按一下工具 → 序列監視器。

現在可以上傳程式。進行編譯以前,請確保已安裝所有必需的程式館。

 

準備線上連接

創建一個myDevices帳戶!您可以通過以下連結註冊並創建一個新帳戶:https://mydevices.com/cayenne/signup/

如果您已經擁有帳戶,請隨意使用自己的帳戶。

arduino home security system

圖1. 註冊頁面 – https://mydevices.com/cayenne/signup/

然後選擇Arduino作為本專案的裝置。

arduino home security system

圖2. 選擇本專案所需的Arduino裝置

閱讀文檔並通過以下網站安裝Cayenne程式館:

https://mydevices.com/cayenne/docs/#using-cayenne-library

然後繼續下一步,在新網頁中連接到Arduino。選擇Arduino Mega和WiFi Shield。選定這兩項後,您將收到裝置的“身份驗證口令”。務必複製此口令並將其保存於某處。在下一個程式中需要用到此口令。

char token[] = “zzzzzzz”; // Cayenne authentication token

arduino home security system

圖3. 選擇Arduino Mega和WiFi Shield

arduino home security system

圖4. 創建感測器微件

創建微件

我們可以為PIR感測器、觸發狀態和警報開/關狀態創建微件。

為此,必須按一下 “添加新…” ,然後按一下 “裝置/微件”。然後轉到 “感測器” 類別並按一下 “通用”。在“通用”下,有2個輸入選項:類比輸入和數位輸入。選擇 “數位輸入”。進入“數位輸入”設定頁面後,將連接設定為“虛擬”和“V1”(在下方)。請勿忘記按一下 步驟 1步驟 2

 

V2和V4微件也按相同步驟操作。請使用下表作為參考:

虛擬頻道號 微件名稱 選擇微件 選擇圖示/顯示 連接至
V1 PIR 感測器 0/1 2 狀態 顯示值 PIR 感測器 – 藍色 Led
V2 觸發狀態 0/1 2 狀態 顯示值 觸發開關 – 紅色 Led
V4 警報狀態開/關 0/1 2 狀態 圖示指示燈 遠端開關

代碼中使用的虛擬引腳分配如下:

#define VIRTUAL_PIN1 V1 // PIR感測器的虛擬引腳 – 藍色 Led

#define VIRTUAL_PIN2 V2 // 觸發開關的虛擬引腳 – 紅色 Led

#define VIRTUAL_PIN4 V4 // 遠端開關的狀態

  • 當PIR感測器檢測到發生行動時,V1將開啟(顏色變為綠色);藍色LED也將亮起。
  • 當觸發狀態開啟時,V2將開啟(顏色變為綠色);當警報開啟且PIR感測器檢測到發生行動時,紅色LED也將亮起。
  • 通過遙控射極器或線上/應用程式開啟警報狀態時,V4將開啟(顏色變為綠色)

接下來為線上/應用程式開關功能創建一個微件。

轉至 “添加新…” ,然後按一下 “裝置/微件”。這次選擇 “執行器” ,然後選擇 “通用”。選擇 “數位輸出” ,然後在“連接”下選擇“虛擬”。在“Pin”下,選擇“V3”。

arduino home security system

圖5. 創建線上/應用程式開關功能的微件

使用下表作為參考:

虛擬頻道號 微件名稱 選擇微件 選擇圖示/顯示 連接到
V3 線上/應用程式開關 按鈕 圖示鎖定 線上/應用程式開關 — 綠色 LED

 

按一下微件(在網站/應用程式上)時,V3將開啟(顏色變為紫色)。當V3開啟時,綠色LED也會亮起。因此,該虛擬開關與遙控射極器功能相同。但是,通過此虛擬交換機啟動時會有一段延時。在下一程式中以下代碼將會引用引腳V3。

#define VIRTUAL_PIN3 V3 // 線上開關 – 綠色 led

然後需要創建溫度和壓力感測器的微件。和前面一樣,點擊 “添加新…” 和 “裝置/微件”。然後選擇 “感測器” 和 “通用” ,然後選擇 “類比輸入”。連接後,選擇“虛擬”和“V5”進行引腳選擇。

arduino home security system

圖6. 創建溫度和壓力感測器的微件

對V6執行相同操作並使用下表作為參考:

 

虛擬頻道號 微件名稱 選擇微件 選擇單位 連接到
V5 溫度(℃) 測量精度 有效位數 – 小數點後2位 溫度感測器
V6 氣壓(hPa) 測量精度 有效位數 – 小數點後2位 大氣壓力感測器

 

在下一程式中以下代碼將會引用引腳V5和V6。

#define VIRTUAL_PIN5 V5 // 溫度感測器

#define VIRTUAL_PIN6 V6 // 氣壓感測器

 

如果上述所有步驟都正確完成,您將看到如圖7所示的頁面。

arduino home security system

圖7. 微件的顯示

最後一步是啟用電子郵件通知功能(觸發警報時)。為此,請按一下“觸發器狀態”微件上的設定符號,然後選擇“觸發器”。

arduino home security system

圖8. 創建電子郵件觸發器

然後,您將進入以下頁面(圖9)。在“添加自訂收件人”中鍵入您的電子郵寄位址,然後按一下“發送電子郵件”。

arduino home security system

圖9. 設定電子郵件通知

myDevices設定到此結束!

測試線上程式

以上已經完成了與家庭保全系統的線上連接設定。運行最終程式前可以先測試線上程式。

上傳以下程式。確保已安裝適用於Arduino的Cayenne程式館。該程式用於執行簡單的功能(即顯示溫度和氣壓值)。正確運行時,溫度和氣壓微件將改變顏色(綠色和橙色),相應數值顯示於微件的底部。

 

 

至此差不多完成了所有步驟!

最終方案

如果以上所有程式都能流暢運行,則可上傳最終程式,該程式中嵌入了離線程式以及與Cayenne API的連接功能。

 

 

以下幾種方法可以測試程式是否正常運行。

檢查觸發警報時是否發送電子郵件。您應收到如圖10所示的電子郵件。

arduino home security system

圖10. 觸發警報時收到的電子郵件通知

檢查您是否可以看到溫度和氣壓圖。如需顯示圖形,請按一下視窗微件右上角的圖形符號。

arduino home security system

圖11. 感測器的圖形符號的顯示

然後還會顯示圖表:

arduino home security system

圖12. 溫度曲線圖示例

下載智慧手機APP

如前所述,無論何時何地只要您能連接WiFi,您就可以24/7全天候對保全系統進行監控。您可以在網站上或通過Cayenne手機APP進行監控。您可以在智慧手機上直接下載Cayenne APP。進入App Store(適用於iPhone)或Google Play商店(適用於Android)並搜索Cayenne然後就能下載。

 

arduino home security system

圖13. Cayenne App

成功安裝應用程式後,應用程式圖示會顯示在主螢幕上。

arduino home security system

按一下應用程式圖示並登錄myDevices帳戶(電子郵件ID和密碼應與上一次設定帳戶時相同)。登錄後,您將看到您創建的微件。現在按一下線上/應用程式開關微件就可以打開/斷路警報;警報開/關狀態顏色變為綠色,如下圖所示:

arduino home security system

圖14. Cayenne App微件

恭喜您!完整的系統已經建立!每當觸發警報時,您將收到電子郵件通知。

這是一個包含多個模組的有趣專案。將來還可以添加更多感測器並增加其他功能和多個蜂鳴器,以使嗶嗶聲更大。我們還可以考慮通過更換一些元件來縮小系統規模。在此之前,盡情享受吧!

Purnomo Nuhalim
Purnomo Nuhalim
來自墨爾本的Purnomo是一名退休人員,也是電子發燒友。目前,他正使用Arduino和Raspberry Pi從事各種開放式硬體專案的研發。除了電子學,他還對航空建模和天文學充滿熱情。

Check us out on Social Media