RM新时代网站-首页

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>智能家居安全系統(tǒng)開源分享

智能家居安全系統(tǒng)開源分享

2022-10-28 | zip | 0.07 MB | 次下載 | 免費(fèi)

資料介紹

描述

描述

我們認(rèn)為,沒有某種形式的安全系統(tǒng),任何智能家居都是不完整的。這只是我們安全系統(tǒng)的原型,在設(shè)計最終確定之前,硬件和軟件將進(jìn)行許多修改。無論如何,這里是我們一直在努力的一瞥。

過程

第 1 步:構(gòu)建硬件

首先收集上面零件列表中列出的所有硬件。我們將從鍵盤和 LCD 電路開始,然后轉(zhuǎn)到觸發(fā)器(運(yùn)動傳感器、距離傳感器和蜂鳴器)電路。

鍵盤和 LCD 的電路非常簡單。您可以使用面包板來構(gòu)建此電路,但我們發(fā)現(xiàn)將所有組件直接連接到 Builder Base 更簡單。

使用 7 MM 跳線并從左到右將鍵盤的引腳連接到構(gòu)建器底座上的端口因此,鍵盤最左邊的引腳連接到 GP0,最左邊的第二個引腳連接到 GP1,依此類推。

現(xiàn)在,將 LCD 上的 Vcc 和 GND 端子連接到 Builder Base 上的 5V 和 GND 端口,然后將 LCD 上的 SDA 和 SCL 引腳連接到 Builder Base 上的 SDA 和 SCL 端口。

**在 I2C LCD 的背面應(yīng)該有 6 個引腳。其中4個是5v、GND、SDA和SCL引腳,另外兩個用于亮度。這兩個引腳應(yīng)該連接在一起,但如果不是,則需要連接它們。否則,您的 LCD 將不會亮起。**

使用下面列出的原理圖和面包板視圖作為參考。

?

?
?
?
pYYBAGNY07CALVbOAAA3GvIIzsk900.png
?
1 / 2
?

現(xiàn)在讓我們組裝觸發(fā)器電路。我們建議為該電路使用面包板,因為它可以更輕松地為所有組件供電。

拿起你的面包板,將 GND 和 Vcc 導(dǎo)軌分別連接到 Builder Base 上的 GND 和 5V 端口。

?
?
?
poYBAGNY07WAXzxgAAAqoN9RacE144.png
?
1 / 2
?

現(xiàn)在,讓我們連接運(yùn)動傳感器。將 VCC 和 GND 引腳連接到面包板上的 5V 和 GND 導(dǎo)軌。將數(shù)據(jù)引腳連接到 Builder Base,如下所示:

pYYBAGNY07eAYpVNAAATfu7OzsY241.png
?

現(xiàn)在,我們將連接蜂鳴器。將蜂鳴器上的 GND 引腳連接到面包板上的 GND 導(dǎo)軌,并將正極引腳連接到 Builder Base,如下所示:

poYBAGNY07mAOCr1AAASE06SDKo838.png
?

最后,我們將連接距離傳感器。再次,將距離傳感器上的 Vcc 和 GND 引腳連接到面包板上的 5v 和 GND 導(dǎo)軌。現(xiàn)在將 Echo 和 Trigger 引腳連接到構(gòu)建器底座,如下所示:

poYBAGNY07uAI2YvAAAaDricqow198.png
?

恭喜!安全系統(tǒng)所需的所有電路現(xiàn)已完成!

第 2 步:構(gòu)建固件

由于我們在這個項目中使用了兩個 Builder Base,我們需要構(gòu)建兩個單獨(dú)的固件文件。

首先導(dǎo)航到固件生成器并創(chuàng)建一個名為“安全鍵盤”的新固件。

pYYBAGNY08CACuVsAAAczfpjo4k304.png
?

單擊“+添加硬件”按鈕并添加 LCD 和 4x3 鍵盤。

?
?
?
poYBAGNY08OAfXa8AAAZ1uQie_M600.png
?
1 / 2
?

?

poYBAGNY08aAHpUHAAA2QvZwlv8485.png
?

現(xiàn)在,單擊 LCD 設(shè)備并從驅(qū)動程序下拉菜單中選擇“Generic LCD2004 Display (I2C)”驅(qū)動程序。

pYYBAGNY08iAXiQ8AABBs9oRAZo154.png
?

配置驅(qū)動程序如下:

I2C 地址:0x27

布局:2x16

pYYBAGNY08qAGMweAABENPIPMKM187.png
?

現(xiàn)在,我們將配置 4x3 鍵盤。您會注意到 4x3 鍵盤有 12 種服務(wù)需要配置。您可以通過單擊左右箭頭來循環(huán)瀏覽這些內(nèi)容。

?
?
?
poYBAGNY08-AbFHLAAAlW856Ans203.png
?
1 / 2
?

對于每項服務(wù),您必須選擇驅(qū)動程序以及服務(wù)的行/列引腳。每個服務(wù)對應(yīng)于鍵盤上的一個按鈕。按照下表配置所有 12 項服務(wù)。

poYBAGNY09KAAobtAACKZ8-QeQc973.png
?

配置完所有服務(wù)后,保存固件!

現(xiàn)在,創(chuàng)建另一個名為“Security Triggers”的固件文件。

?
?
?
poYBAGNY09WAGDHKAAAWHEEnbL0893.png
?
1 / 2
?

現(xiàn)在,單擊“+ 添加硬件”按鈕并將運(yùn)動傳感器、距離傳感器和模擬輸出設(shè)備添加到您的文件中。像我們一樣命名它們。

?
?
?
pYYBAGNY09eASgNCAAAM--0qWTA382.png
?
1 / 3
?

對于運(yùn)動傳感器,從驅(qū)動程序下拉菜單中選擇 HC-SR501 驅(qū)動程序。

poYBAGNY09yAWX0sAAB9tUf8pgI814.png
?

配置驅(qū)動程序如下:

引腳:GP0

poYBAGNY096AXrNXAAA4sglKvzY382.png
?

現(xiàn)在我們將配置蜂鳴器。從驅(qū)動程序下拉菜單中選擇“GPIO”驅(qū)動程序。

poYBAGNY0-GARXFDAAA7g2jpxSs744.png
?

現(xiàn)在我們將配置驅(qū)動程序如下:

引腳:GP1

pYYBAGNY0-OAIabbAAA53jUPPyM775.png
?

現(xiàn)在,我們將配置距離傳感器。

從驅(qū)動程序下拉菜單中選擇 HC-SR04 驅(qū)動程序:

poYBAGNY0-aAVnPhAAAy4mnZPAk579.png
?

現(xiàn)在我們將配置驅(qū)動程序如下:

回聲針:GP3

觸發(fā)引腳:GP2

分辨率(I):1

pYYBAGNY0-uAK9djAABBXfrx3gs960.png
?

**我們的系統(tǒng)在設(shè)置中設(shè)置為英制。如果您的設(shè)置為公制,您可能需要更改分辨率值。**

就是這樣,您的安全系統(tǒng)固件文件現(xiàn)已完成。保存并上傳您的固件文件。安全鍵盤固件應(yīng)上傳到連接鍵盤和 LCD 的 Builder Base,安全觸發(fā)器固件應(yīng)上傳到連接傳感器和蜂鳴器的 Builder Base。

第 3 步:對應(yīng)用程序進(jìn)行編程

對于這個應(yīng)用程序,我們將引導(dǎo)您了解所涉及的基本邏輯。您可以按照我們的描述構(gòu)建應(yīng)用程序,或者您可以下載該應(yīng)用程序并將其導(dǎo)入您的應(yīng)用程序列表。

這是安全系統(tǒng)應(yīng)用程序:

**請注意,此安全系統(tǒng)應(yīng)用程序處于高度原型狀態(tài),無法完美運(yùn)行。我們將在未來幾個月內(nèi)更新此應(yīng)用程序以更有效地工作。**

在本說明中,我們將把應(yīng)用程序分為四個主要部分:1. 代碼集,2. 代碼輸入/評估,3. 傳感器輸入,和 4. 布防警報倒計時

poYBAGNY0-6AUpgyAAC2TbdoQ-E668.png
?

在當(dāng)前狀態(tài)下,當(dāng)應(yīng)用程序啟動時,您需要通過儀表板界面設(shè)置密碼。這發(fā)生在應(yīng)用程序的代碼集部分。

?
?
?
pYYBAGNY0_CAM76fAAAnFR6KNwQ050.png
?
1 / 2
?

使用兩個自定義代碼塊設(shè)置引腳。一個將儀表板按鈕按下轉(zhuǎn)換為數(shù)字,另一個將數(shù)字存儲在全局上下文數(shù)組中。

對于Number Convert代碼和Set Pin 代碼,請查看我們的文檔。

現(xiàn)在我們來看看程序的代碼輸入/評估部分。

poYBAGNY0_KAGfPlAABegWPIqkc141.png
?

在這里,我們有一個 4x3 鍵盤對象連接到另一個數(shù)字轉(zhuǎn)換自定義片段。這會從 4x3 鍵盤對象獲取數(shù)字輸出,并根據(jù)接收到的端口將其轉(zhuǎn)換為數(shù)字。此數(shù)字轉(zhuǎn)換自定義代碼段與上面使用的代碼段相同。

然后將此數(shù)字傳遞到名為“安全?”的自定義片段中。

?
?
?
poYBAGNY0_eAF17iAAAXG05NjWA412.png
?
1 / 2
?

“安全?” 片段從三個端口獲取輸入。第一個端口“InNode0”用作布防系統(tǒng)的一種方式。我們通過使用鍵盤上的“*”鍵來布防系統(tǒng)如果從該端口接收到觸發(fā)器,則執(zhí)行以下代碼:

1.案例0:{

2. globalContext.safe = 0;

3.};打破;

第二個端口“inNode1”從數(shù)字轉(zhuǎn)換自定義片段中獲取數(shù)字并將它們存儲在輸入數(shù)組中。當(dāng)通過此端口接收到值時,將執(zhí)行以下代碼:

1.案例1:{

2. context.entr[context.i] = val2;

3.上下文.i++;

最后,第三個端口用作代碼評估的觸發(fā)器。第三個端口連接到 4x3 鍵盤對象上的“#”鍵。當(dāng)按下“#”鍵時,它充當(dāng)輸入按鈕。你可以在這里看到代碼:

pYYBAGNY0_qAJQRYAAB-KLce4CQ761.png
?

這是“安全?”的完整代碼 自定義片段:

?
?
?
poYBAGNY0_yALv5RAABbLcd_whQ094.png
?
1 / 2
?

每次按下 4x3 鍵盤上的一個數(shù)字時,此程序部分還會向 LCD 發(fā)送一個“*”。每按下一個數(shù)字,就會觸發(fā)“Send *”數(shù)據(jù)序列,然后將計數(shù)加一,范圍為 [10 → 16]。此計數(shù)對應(yīng)于 LCD 上的列位置,因此每次輸入一個新數(shù)字時,在最后一個數(shù)字之后輸入一個新的“*”。此外,每次按下“#”鍵時,都會重置此計數(shù)。無論如何,這個數(shù)字被發(fā)送到 LCD 對象上的列位置端口。

然后數(shù)據(jù)序列觸發(fā)包含“*”的靜態(tài)字符串塊,并將其發(fā)送到 LCD 上的字符串端口。

最后,數(shù)據(jù)序列觸發(fā) LCD 上的“Send to Display”端口,實際上使新消息出現(xiàn)在 LCD 上。

poYBAGNY0_-AH8nWAACdJ8u_puw389.png
?

我們現(xiàn)在來看看程序的傳感器輸入部分。

?

?
?
?
poYBAGNY1AGAMtz5AAB9W1nX37c110.png
?
1 / 2
?

我們有一個初始觸發(fā)器連接到一個名為“Set Safe”的自定義片段。當(dāng)應(yīng)用程序最初啟動時,系統(tǒng)被設(shè)置為安全位置,因此警報不會立即觸發(fā)。

poYBAGNY1AaAFp_bAAAbQA9JAOo577.png
?

這是代碼:

1.globalContext.safe = 1;

初始觸發(fā)器還觸發(fā)“輸入代碼”數(shù)據(jù)序列。此數(shù)據(jù)序列觸發(fā)“輸入代碼:”的靜態(tài)字符串并將其發(fā)送到 LCD 硬件對象。

pYYBAGNY1AmAEmrMAACH6ro-vYI562.png
?

現(xiàn)在,我們將看看所有傳感器如何用作警報的觸發(fā)器。

poYBAGNY1AuAFjxCAABofeOPWg8494.png
?

所有三個傳感器,門觸點(diǎn)、運(yùn)動傳感器和距離傳感器,都通向一個 2 秒的超時對象。然后,此超時對象會導(dǎo)致一個名為 Sound Alarm 的自定義代碼片段。

pYYBAGNY1A6AIdQRAABpSul4Q6A664.png
?

此自定義代碼段檢查 globalContext.safe 變量是設(shè)置為 0 還是 1。如果設(shè)置為 1,則系統(tǒng)是安全的,并且沒有任何反應(yīng)。但是,如果變量設(shè)置為 0,則字符串“Intruder Alert”通過端口“outNode0”發(fā)送到“Access G/D Data Sequence”,并通過第二個端口向“Beep Alarm”振蕩器對象發(fā)送觸發(fā)器“outNode1”。

pYYBAGNY1BKAPztbAAA_FEbcnJM718.png
?

然后觸發(fā)“拉伸脈沖”脈沖拉伸器,進(jìn)而激活蜂鳴器。

pYYBAGNY1BWAeZZTAAAmk1-E6qU862.png
?

如果我們正在輸入代碼并試圖撤防系統(tǒng),則采用 4x3 鍵盤上的“#”鍵的這條路線。

poYBAGNY1BeAE6B1AACIlQTLW3g628.png
?

在 4x3 鍵盤上“授予訪問權(quán)限?” 觸發(fā)自定義片段,如果 globalContext.safe 變量設(shè)置為 1,則將字符串“Access Granted”傳遞給 LCD,并觸發(fā)“Access G/D”數(shù)據(jù)序列。

poYBAGNY1BqAC165AABY34XOMDM467.png
?

這是“授予訪問權(quán)限?”的代碼。自定義片段:

1.if(globalContext.safe ===1){

2. return["Access Granted",new Date()];

3.}

最后,我們將看看應(yīng)用程序的 Arm Alarm Countdown 部分。

pYYBAGNY1B6ASzfYAACeFPPRetE529.png
?

當(dāng)按下 4x3 鍵盤上的“*”鍵時,會觸發(fā)“倒計時序列”對象,并觸發(fā) 20 秒超時。這些同時執(zhí)行。20 秒超時結(jié)束后,系統(tǒng)將在“安全?”上設(shè)置為“inNode0”。我們之前討論的塊將被觸發(fā)。

poYBAGNY1CCARkhVAABKKfCT49s031.png
?

倒計時序列對象處理出現(xiàn)在 LCD 屏幕上的 20 秒倒計時。首先,清除 LCD,然后將字符串“Alarm Armed:”發(fā)送到“字符串合并”對象。

pYYBAGNY1COALlOhAABrBDaBB3M874.png
?

接下來,數(shù)字 20 被發(fā)送到數(shù)據(jù)計數(shù)器對象上的值端口。然后將該值傳遞到數(shù)據(jù)計數(shù)器上的“字符串 B”端口。“Alarm Armed:”+“20”的連接字符串然后通過任意數(shù)據(jù)序列發(fā)送到 LCD。

pYYBAGNY1CWAV-vwAABuc5RfmnE677.png
?

然后觸發(fā)振蕩代碼塊,計數(shù)設(shè)置為 20,間隔設(shè)置為 1000 毫秒。

然后這會觸發(fā)數(shù)據(jù)計數(shù)器 20 次,每秒遞減一次計數(shù)器,直到計數(shù)達(dá)到 0。每次計數(shù)遞減時,都會向 String Merge 對象發(fā)送一個新值,然后將新合并的字符串傳遞給“Any Data Sequence”,最終將新字符串“Alarm Armed:”+“(一些新的計數(shù))”到液晶顯示器。

pYYBAGNY1CeAPgRCAABrW9pGbyw712.png
?

最后,已同時運(yùn)行的超時塊完成其超時并觸發(fā) LCD 上的“清除”端口和“輸入代碼:”序列。這使系統(tǒng)處于其布防狀態(tài),準(zhǔn)備好輸入密碼以解除其布防。

poYBAGNY1CyAM7UeAABwfLC8WME973.png
?

這就是對應(yīng)用程序進(jìn)行編程的過程。保存您的應(yīng)用程序并返回應(yīng)用程序頁面。

第 4 步:映射應(yīng)用程序

您現(xiàn)在應(yīng)該回到應(yīng)用程序頁面。

找到您的“安全系統(tǒng)”應(yīng)用程序并點(diǎn)擊播放按鈕。

pYYBAGNY1C6AFHD-AAAR7Hq1p8s353.png
?

包含應(yīng)用程序中所有設(shè)備的列表將展開。

poYBAGNY1DGAbrF1AACDzy8l7Ig553.png
?

接下來單擊“運(yùn)動傳感器”設(shè)備,客戶端下拉菜單將出現(xiàn)在右側(cè)。

從下拉菜單中選擇運(yùn)動傳感器驅(qū)動程序并點(diǎn)擊“完成”。

poYBAGNY1DSAbeP5AACDjOUNuNs798.png
?

對其余設(shè)備重復(fù)相同的步驟。對于此應(yīng)用程序,每個設(shè)備應(yīng)該只有一個可選驅(qū)動程序。

請注意,除了一個狀態(tài)符號之外的所有狀態(tài)符號都已更改為綠色復(fù)選標(biāo)記。我們在我們的應(yīng)用程序中使用了門觸點(diǎn)設(shè)置,但目前我們沒有通過三星 SmartThings 或我們的 Builder Bases 之一設(shè)置。因此,您可以將此設(shè)備保留為未映射,或者您可以將一個設(shè)備與系統(tǒng)配對。

poYBAGNY1DeAK-I0AACEOzGzypk080.png
?

**將固件設(shè)備映射到您的應(yīng)用程序中的對象時,請務(wù)必注意,只有相同類型的設(shè)備和對象才能映射在一起。例如,使用此應(yīng)用程序,我們只能選擇將帶有按鈕固件的客戶端映射到按鈕對象。**

您現(xiàn)在已經(jīng)完成了應(yīng)用程序的映射!

第 5 步:運(yùn)行應(yīng)用程序!

接下來,點(diǎn)擊“保存+運(yùn)行”

poYBAGNY1DeAK-I0AACEOzGzypk080.png
?

?

poYBAGNY1D2AZtdgAAAQwtdlrCg835.png
?

恭喜!您的安全系統(tǒng)現(xiàn)已完成,玩得開心!

?

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)
RM新时代网站-首页