智能家居無線組網遙控電子智能鎖
文章目錄
- 智能家居無線組網遙控電子智能鎖
- 前言
- 一、需求分析
- 二、實作功能
- 1.無線開鎖
- 2.無線開報警燈閃爍
- 三、解決方案
- 1.方案考慮
- (1).鎖具問題
- (2).信號傳輸問題
- (3).通信方式
- (4).操作與安裝
- 2.方案確定
- 四、整體設計規劃
- 1.示意圖
- 2.規劃框圖
- 五、硬體設計
- 1. 硬體設計規劃框圖
- (1).CZ201E硬體設計規劃框圖
- (2).CZ201R硬體設計規劃框圖
- (3).CZ201C硬體設計規劃框圖
- 2. 硬體原理圖
- (1).CZ201E硬體原理圖
- (2).CZ201R硬體原理圖
- (3).CZ201C硬體原理圖
- 3. 硬體電路原理
- (1). 整體概述
- 1).CZ201E電路整體概述
- 2).CZ201R電路整體概述
- 2).CZ201C電路整體概述
- (2). 其它部分電路決議
- 4.MCU管腳分配
- (1).CZ201E的MCU管腳分配
- (2).CZ201R的MCU管腳分配
- (3).CZ201C的MCU管腳分配
- 5.電路最新版本
- (1).CZ201E 最新硬體版本: CZ201E_V2.0
- (2).CZ201R 最新硬體版本: CZ201R_V2.0
- (3).CZ201C 最新硬體版本: CZ201C_V2.0
- 6.PCB Layout
- (1). 布局
- 1).CZ201E布局
- 2).CZ201R布局
- 3).CZ201C布局
- (2). 印制板圖
- 1).CZ201E印制板圖
- 2).CZ201R印制板圖
- 3).CZ201C印制板圖
- 7. 成品圖
- 六、BOM表
- 1.單板材料清單
- (1).CZ201E單板材料清單
- (2).CZ201R單板材料清單
- (3).CZ201C單板材料清單
- 2.單板預估成本
- (1).CZ201E單板預估成本
- (2).CZ201R單板預估成本
- (3).CZ201C單板預估成本
- 七、軟體設計
- 1. 程式流程圖設計
- (1).CZ201E程式流程圖設計
- (2).CZ201R程式流程圖設計
- (3).CZ201C程式流程圖設計
- 2. 自定義通信協議
- (1).通信設備
- (2).通信方式和格式
- 1).通信方式
- 2).串口通信格式
- 3).zigbee作業模式
- (3).通信協議(以下命令是十六進制)
- 1).請求方和回應方
- 2).請求方幀格式
- 3).回應方幀格式
- 4).開電子智能鎖
- 5).控制報警燈閃爍
- 3. 程式開發工具
- (1).STM32CubeMX
- (2).Atollic TrueSTUDIO for STM32 9.3.0
- 4. 代碼決議
- (1).CZ201E代碼
- (2).CZ201R代碼
- (3).CZ201C代碼
- 5.程式最新版本
- (1).CZ201E 最新程式版本: CZ201E_HW_V2.00
- (2).CZ201R 最新程式版本: CZ201R_HW_V2.00
- (3).CZ201C 最新程式版本: CZ201C_HW_V2.00
- 八、操作說明
- 1.操作界面
- 2.操作說明
- 九、技術引數
- 1. 作業電源電壓
- (1).CZ201E作業電源電壓: 100~240VAC,50Hz
- (2).CZ201R作業電源電壓: 100~240VAC,50Hz
- (3).CZ201C作業電源電壓: 外接配接器 12VDC/1A
- 2. 無線通信頻段: 2.4GHz
- 3.電源功耗: ≤ 1W
- 4. 作業環境溫度: -25~+50℃,無冷凝水
- 十、裝配說明
- 1.產品配件表
- 2.安裝接線圖
- 3.安裝說明表
- 4.實際效果圖
- 十一、注意事項
- 1.勿帶電安裝
- 2.設備安裝遠程潮濕、暴曬和灰塵區
- 3.開關和設備應離地 1.3 米以上安裝
- 4.導線需放置線槽最好
- 5.終端、路由和協調器控制設備的天線不亂混淆
- 十二、總結
- 十三、下載地址
前言
為了回應智能家居潮流,提倡簡潔方便生活,通過DIY讓家庭生活設施更加智能化,
一、需求分析
由于老式房子、出租房和農村房子等在建房之初大多未安裝樓層與一樓大門的控制,對于送煤氣、送桶裝水和外賣等需要下樓開門極不方便的生活服務,所以對這現存問題有必要研究解決下,?
二、實作功能
1.無線開鎖
實作無線一鍵開啟電子智能鎖,打開大門2.無線開報警燈閃爍
實作無線一鍵開啟報警燈閃爍,夜間指示?
三、解決方案
1.方案考慮
(1).鎖具問題
很多老式房子大門還采用機械式鎖具,這是相當不方便的;有些采用電子鎖,可刷 ID 和 IC 卡開門,但市面上的電子鎖都未提供樓層控制大門,最多提供短距離遙控控制且只有一個,不足以解決該問題;在物聯網的加持下,有些電子智能鎖提供以物聯卡上網的方式遠程控制,但長期會產生流量費用問題,且樓道建筑體的復雜性會影響信號傳遞,尤其在國內傳統老式住宅區房屋的密度大,同時一但加入互聯網安全性也會受到影響, 所有,上述現成的電子鎖都不能解決該問題,由于制造電子智能鎖是極麻煩的一件事,故采用市面上現成的電子智能鎖,帶 ID 或 IC 刷卡并有有線或無線信號可控制開鎖功能,再經自已改裝和新增設備解決,?
(2).信號傳輸問題
在確定電子智能鎖后,我們要考慮信號是如何方便穩定傳輸至一樓或樓層,有線傳輸具有信號穩定和延時性低等優勢,但在樓道之間布線是極其麻煩的一件事,不僅安裝復雜、耗時長、成本高和不利于維護等劣勢,可見在這種改裝或新增設備的場所是一種很糟糕的方案,因此,無線傳輸很好解決有線傳輸存在的這些問題,雖然信號容易受墻體影響,覆寫范圍小,延時性比有線長,但在低速場合延時性根本不太重要,非重要場合對信號的穩定性要求也沒那么嚴格并不會產生嚴重后果,信號覆寫范圍小可用多個設備間橋接,?
(3).通信方式
無線傳輸的多種多樣,有 WIFI、zigbee、藍牙、紅外、2G/3G/4G 和 LoRa 等,根據我們現實的條件,凡是需要插卡才能通信的一律不考慮;而藍牙通信距離短一般在10米內,在與手機通信中應用得多,也不適合我們的要求;紅外不單距離短且是單工通信更不適合;WIFI 則需要有路由器才能作業,非常不經濟;根據以上列出的問題,只有 zigbee 和LoRa 適合做為本方案的應用, zigbee作業免費頻段在2.4G,也是近些年智能家居無線控制應用的很好的一種方案,其具有低功耗、低成本、近距離(節點間距離)、短時延、高容量和高安全等優點,是一種不錯的選擇, LoRa專為低帶寬、低功耗、遠距離、大量連接的物聯網應用而設計的,其作業免費頻段在433、868和915MHz等中,根據波長與頻率成反比的關系,頻率越低穿墻效果越好,可見在穿透能力方面比zigbee強,LoRa具有低功耗、傳輸距離遠、易于建設和部署等優點;但相互之間會出現一定頻譜干擾,技術過于集中在semtech公司等劣勢,?
(4).操作與安裝
我們要實作的是在每戶家里安裝一個無線發射器來控制一樓大門的電子智能鎖,要求操作簡單,安裝方便,安裝在墻面上不影響美觀,一般家里的插座和開關都是86型外殼,市面上是否有類似的外殼呢?經過我們的尋找,市面上存在這種外殼且帶有按鍵開關,非常方便操作,跟原先家用的開關外殼外形基本一致不影響美觀,?
2.方案確定
經過上面的無線方案對比考慮,最后只剩下zigbee和LoRa符合我們無線信號傳輸要求,為此我們就要對比市面上zigbee和LoRo模塊,進一步確定最終方案,經過對比,發現zigbee模塊比LoRa便宜且zigbee模塊帶自組網軟體,非常利于編程,而LoRa需要自己撰寫相應的程式,費時長且穩定性還要受時間考驗, 因此,本無線方案最終選擇zigbee方案,通過在每戶安裝一個帶按鍵的86型機殼,操作按鍵后通過zigbee無線傳輸信號給一樓控制器,控制器再控制電子智能鎖的遙控器,遙控器最后控制電子智能鎖,使能打開一樓大門,?
四、整體設計規劃
1.示意圖

2.規劃框圖

五、硬體設計
1. 硬體設計規劃框圖
硬體設計共分成三個設備,分別是CZ201E、CZ201R和CZ201C,其中CZ201E與CZ201R硬體設計一樣的,只是程式不同,(1).CZ201E硬體設計規劃框圖

(2).CZ201R硬體設計規劃框圖

(3).CZ201C硬體設計規劃框圖

2. 硬體原理圖
(1).CZ201E硬體原理圖

(2).CZ201R硬體原理圖
與CZ201E一致,(3).CZ201C硬體原理圖

3. 硬體電路原理
(1). 整體概述
1).CZ201E電路整體概述
市電從P1和P2端子輸入,經過以LP3667B為核心的反激式開關電源輸出5VDC電壓,5V電壓輸入到單節鋰電池管理芯片TP4054,TP4054一方面給鋰電池充電,另一面提供比后續LDO電路,當市電斷電時由鋰電池放電供應LDO,LDO輸出系統需要的3.3V電壓為整個MCU和其它模塊供電,當按鍵S1或S2按下時,MCU檢測到按鍵按下變化,會驅動LED燈和蜂鳴器做為指示,然后通過zigbee模塊E18-MS1PA2-IPX把命令發送出去,?
2).CZ201R電路整體概述
CZ201R與CZ201E電路是一樣,CZ201R系統初始化后只做為一個資料轉換,擴大信號傳輸距離,該功能由zigbee模塊E18-MS1PA2-IPX完成,MCU基本不參與,?
2).CZ201C電路整體概述
配接器12V輸出到P1端子,經過BUCK降壓輸出5VDC電壓,5V電壓輸入到單節鋰電池管理芯片TP4054,TP4054一方面給鋰電池充電,另一面提供比后續LDO電路,當市電斷電時由鋰電池放電供應LDO,LDO輸出系統需要的3.3V電壓為整個MCU和其它模塊供電,由光耦U5等器件組成對外置門禁復位開關輸入,由Q4和Q5等器件組成對外報警燈閃爍控制,由Q6、Q7和K1等組成對電子智能鎖遙控模塊控制,當有外置門禁復位開關按下時,MCU檢測到便通過控制電子智能鎖遙控模塊,遙控模塊再發射信號給電子智能鎖后開啟大門,zigbee模塊E18-MS1PA2-IPX時時等待CZ201E設備的發送命令,?
注意: 電子智能鎖遙控模塊是用12V一次性電池供電的,并未接到電路系統中,要定期檢測或更換,
?
(2). 其它部分電路決議
該電路很簡單,不再贅述,?
4.MCU管腳分配
(1).CZ201E的MCU管腳分配

?
(2).CZ201R的MCU管腳分配
與CZ201E一致,?
(3).CZ201C的MCU管腳分配

?
5.電路最新版本
(1).CZ201E 最新硬體版本: CZ201E_V2.0
(2).CZ201R 最新硬體版本: CZ201R_V2.0
(3).CZ201C 最新硬體版本: CZ201C_V2.0
?
6.PCB Layout
(1). 布局
1).CZ201E布局


?
2).CZ201R布局
與CZ201E一致,?
3).CZ201C布局

?
(2). 印制板圖
1).CZ201E印制板圖

?
2).CZ201R印制板圖
與CZ201E一致,?
3).CZ201C印制板圖

?
7. 成品圖


?
六、BOM表
1.單板材料清單
(1).CZ201E單板材料清單

?
(2).CZ201R單板材料清單
與CZ201E一致,?
(3).CZ201C單板材料清單

?
2.單板預估成本
(1).CZ201E單板預估成本

?
(2).CZ201R單板預估成本
與CZ201E一致,?
(3).CZ201C單板預估成本

?
七、軟體設計
1. 程式流程圖設計
(1).CZ201E程式流程圖設計

?
(2).CZ201R程式流程圖設計

?
(3).CZ201C程式流程圖設計

?
2. 自定義通信協議
(1).通信設備
CZ201E、CZ201R 和 CZ201C 都通過 zigbees 模塊通信,分別是終端、路由和協調器,CZ201E 做為終端向 CZ201C 協調器發送命令,CZ201C 回應應答,CZ201R路由做為 CZ201E 和 CZ201C 的信號橋接,擴大信號傳輸范圍,?
(2).通信方式和格式
1).通信方式
通信方式是MCU通過串口跟zigbee模塊通信2).串口通信格式
串口通信格式是115200,N,8,13).zigbee作業模式
zigbee作業模式是點播模式(3).通信協議(以下命令是十六進制)
1).請求方和回應方
請求方是 CZ201E,回應方是 CZ201C2).請求方幀格式
| 幀頭 | 幀長 | 幀命令 | 資訊段 | 幀尾 |
|---|---|---|---|---|
| 1Byte | 1Byte | 1Byte | 4Byte | 1Byte |
資訊段內容:
| 序號 | 位元組數 | 對應命令 | 描述 | 引數 | 引數意義 | 備注 |
|---|---|---|---|---|---|---|
| 1 | 4 | 01 | 開電子智能鎖 | 00 00 00 00 | 無 | |
| 2 | 4 | 02 | 控制報警燈閃爍 | 0000~FFFF | 時間(ms) |
?
3).回應方幀格式
| 幀頭 | 幀命令 | 錯誤碼 |
|---|---|---|
| 1Byte | 1Byte | 1Byte |
錯誤碼狀態:
| 序號 | 位元組數 | 錯誤碼 | 結果 | 備注 |
|---|---|---|---|---|
| 1 | 1 | 00 | 成功 | |
| 2 | 1 | 01 | 失敗 |
?
4).開電子智能鎖
| 幀頭 | 幀長 | 幀命令 | 資訊段 | 幀尾 |
|---|---|---|---|---|
| AF | 06 | 01 | 無 | AD |
?
成功回傳: BF 01 00| 幀頭 | 幀命令 | 錯誤碼 |
|---|---|---|
| BF | 01 | 00 |
?
5).控制報警燈閃爍
| 幀頭 | 幀長 | 幀命令 | 資訊段 | 幀尾 |
|---|---|---|---|---|
| AF | 06 | 02 | 閃爍時間 | AD |
?
成功回傳: BF 02 00| 幀頭 | 幀命令 | 錯誤碼 |
|---|---|---|
| BF | 01 | 00 |
?
3. 程式開發工具
本程式基本框架是采用ST官方的STM32CubeMX生成的,編譯編程也是官方的Atollic TrueSTUDIO for STM32 9.3.0,(1).STM32CubeMX
STM32CubeMX功能強大,可視化配置GPIO,直接代碼生成,為開發節省了很多時間,是開發者的必備品,
?
(2).Atollic TrueSTUDIO for STM32 9.3.0
TrueSTUDIO是一款功能強悍的免費編譯編程環境器,秉承gcc和eclipse風格,界面優美舒適、檔案管理方便和強大插件功能,TrueSTUDIO自帶git bash工具,非常利于開發時專案的管理、合作和保存,
?
4. 代碼決議
(1).CZ201E代碼
int main(void)
{
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
// flash_init();
init_queue(&usart1_queue);
timer_init();
timer_arm(&usart1_timer, 5, on_tick, _False);
usart1_init(115200);
// rtc_init();
// led_init();
// beep_init();
led_blink(0, 100, 1000);
beep_oscillation(50, 1000);
key_init();
e18_ms1_ipx_init();
power_init();
MX_IWDG_Init();
while (1)
{
iwdg_feed();
key_handler();
e18_ms1_ipx_overtime_alarm();
HAL_Delay(10);
}
}
系統初始化串口、定時器、LED和按鍵等后,while不斷進行喂狗,一直檢測按鍵是否有按下,串口接收本來打算用DMA+IDEL模式,奈何MCU的RAM有限,就此作罷,
?
(2).CZ201R代碼
int main(void)
{
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
// 省略各模塊初始化書寫...
while (1)
{
iwdg_feed();
// key_handler();
HAL_Delay(10);
}
}```
```c
if(pdata[0] == 0xFF && pdata[1] == 0x00) //無網路或失去網路
{
e18_ms1_ipx.nwk_state = 0;
led_blink_clear(0);
led_blink(0, 500, 0);
if(++nonetwork_cnt > 4)
{
//重啟模塊
buffer[0] = 0xFD;
buffer[1] = 0x01;
buffer[2] = 0x12;
buffer[3] = 0xFF;
usart1_send_data(buffer, 4);
nonetwork_cnt = 0;
}
}
系統初始化后什么都不用做,只在串口接收處理函式中若收到zigbee斷網指令便不停重啟,直到連接到網路,
?
(3).CZ201C代碼
int main(void)
{
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
// 省略各模塊初始化書寫...
while (1)
{
iwdg_feed();
key_handler();
HAL_Delay(10);
}
}
void e18_ms1_ipx_protocol_handle(uint8_t *pdata, uint16_t size)
{
//省略書寫的代碼...
if(pdata[0] == 0xAF && pdata[1] == 6 && pdata[7] == 0xAD)
{
switch(pdata[2])
{
case 0x01: //開鎖
lock_unlocking(500);
//點播模式(短地址方式)
buffer[0] = 0xFC;
buffer[1] = 0x07;
buffer[2] = 0x03;
buffer[3] = 0x02;
buffer[4] = pdata[8];
buffer[5] = pdata[9];
buffer[6] = 0xBF;
buffer[7] = 0x01;
buffer[8] = 0x00;
usart1_send_data(buffer, 9);
break;
case 0x02: //閃燈
if(power_get_ac_state() == 1) //有市電外置燈才點亮
{
time_ms = pdata[3] << 24 | pdata[4] << 16 | pdata[5] << 8 | pdata[6];
led_blink_clear(1);
led_blink(1, 0, time_ms);
}
//點播模式(短地址方式)
buffer[0] = 0xFC;
buffer[1] = 0x07;
buffer[2] = 0x03;
buffer[3] = 0x02;
buffer[4] = pdata[8];
buffer[5] = pdata[9];
buffer[6] = 0xBF;
buffer[7] = 0x02;
buffer[8] = 0x00;
if(power_get_ac_state() == 0) //無市電回傳失敗
buffer[8] = 0x01;
usart1_send_data(buffer, 9);
break;
}
}
}
各設備之間的zigbee模塊采用點播通信模式,根據自定義協議撰寫如上代碼,
?
5.程式最新版本
(1).CZ201E 最新程式版本: CZ201E_HW_V2.00
(2).CZ201R 最新程式版本: CZ201R_HW_V2.00
(3).CZ201C 最新程式版本: CZ201C_HW_V2.00
?
八、操作說明
1.操作界面


?
2.操作說明
如果開鎖按鍵處的紅燈一直閃爍說明設備沒有連接到網路,此時任何的按鍵都無效,當用戶按下開鎖按鍵后,指示燈會以5Hz閃爍并維持1秒后熄滅,同時蜂鳴會以5Hz鳴叫并維持0.5秒時間,如果2秒后沒CZ201C沒應答CZ201E,指示燈和蜂鳴器便會保持3秒回應,說明這次操作失敗,反之不會,開報警燈也類似原理,按鍵下報警燈會閃爍15秒后熄滅, CZ201C外置門禁復位開關是放置在離大門2米之內開關,按下即開門,下樓時免去刷ID/IC卡或擰把手,?
九、技術引數
1. 作業電源電壓
(1).CZ201E作業電源電壓: 100~240VAC,50Hz
(2).CZ201R作業電源電壓: 100~240VAC,50Hz
(3).CZ201C作業電源電壓: 外接配接器 12VDC/1A
2. 無線通信頻段: 2.4GHz
3.電源功耗: ≤ 1W
4. 作業環境溫度: -25~+50℃,無冷凝水
?
十、裝配說明
1.產品配件表

?
2.安裝接線圖



?
3.安裝說明表

?
4.實際效果圖


?
十一、注意事項
1.勿帶電安裝
2.設備安裝遠程潮濕、暴曬和灰塵區
3.開關和設備應離地 1.3 米以上安裝
4.導線需放置線槽最好
5.終端、路由和協調器控制設備的天線不亂混淆
?
十二、總結
該方案到此講述完畢,若要詳細資料請下載查看,此方案尚有許多不足之處,如未做低功耗、通信距離過短、節點過多、通信資料未加密、成本過高等,還需要額外購買電子智能鎖,需要一個控制器,沒有做到一體化集成,對于可擴展性不好,CZ201E成本過高的原因是,一是使了現成的模塊,二是采用了ST單片機,在全球缺芯的場面下從兩元不到翻了將近十倍,該zigbee模塊內部是采用IT公司的CC2530芯片,它本身就是款MCU,特殊之處就是它帶無線功能,要想節省成本可考慮直接用它,免去ST的MCU,我們發現電子智能鎖其實內部采用的是MFRC522射頻IC,是NXP公司的,要想集成電子智能鎖功能,就要進一步研究它,?
十三、下載地址
git clone -b CZ201 https://github.com/chengzidun/blog.git
https://github.com/chengzidun/blog.git
https://download.csdn.net/download/chengzidun/19555666
?
免責申明: 作者難免技術水平有限,如有錯誤拒不承認,本文技術資料只適于學習和參考,不可商用,若要商用,不必告知我,跟我沒一毛關系,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/286997.html
標籤:其他
