●硬件電路:
●APP項目:
1.1 項目簡介
主控芯片使用W600的TW-03 WIFI模組,指紋識別使用FPC1020A,這里開門使用MG996R舵機拉開門鎖。W600運行RT-Thread操作系統并連接OneNET進行數據交互。
●使用W600嵌入式WiFi芯片
●使用FPC1020A電容式指紋識別模塊
●支持指紋識別開門
●支持NEC紅外遙控開門
●支持OneNET遠程開門
●支持oneshot web配網
●OneNET查看開門狀態和記錄開門方式和自定義id
●網絡自動檢測保持連接狀態
●安卓APP控制開門和查看歷史記錄
1.2 硬件電路
電路設計使用了立創EDA,項目所有硬件資料在立創開源硬件平臺上。
●硬件項目地址:
表1
詳細元件清單請看原理圖,開門裝置請根據實際情況替換,指紋模塊的控制和指紋錄入請參考FPC1020A SDK里面有詳細資料和調試工具,在立創開源硬件平臺附件里有FPC1020A SDK和離線版STM32指紋門鎖項目全部資料。
1.3 W600簡介
芯片資料:[W600文檔中心](https://docs.w600.fun/)
W600是北京聯盛德自主研發設計的一款嵌入式WiFi芯片,該系列模塊支持標準的802.11 b/g/n協議,內置完整的TCP/IP協議棧。
600_SoC芯片集成Cortex-M3內核,內置Flash,集成射頻收發前端RFTransceiver,CMOS PA功率放大器,基帶處理器/媒體訪問控制,支持SDIO、SPI、UART、GPIO、I2C、PWM、I2S、7816等接口,支持多種加解密協議,如PRNG(Pseudo random Number Generator)/SHA1/MD5/RC4/DES/3DES/AES/CRC等。
1.4 代碼
項目環境搭建和編譯在項目編譯指南中介紹,這里只是簡單介紹項目組成。
圖2
表2
按住WIFI鍵然后復位可以進入oneshot配網,設備熱點名稱door_wifi_config,連接ap后打開http://192.168.169.1。
1.5OneNET
1.5.1 創建項目
打開[OneNET控制臺]進入多協議接入。
圖3
在MQTT(舊版)頁面點擊添加產品,設備接入協議確保是MQTT,其他隨便填寫。
圖4
1.5.2 獲取連接參數
項目創建成功后需要獲取三個參數:
●產品ID
●Master-APIkey
●設備注冊碼
圖5
圖6
1.5.3 配置RT-Thread
打開rtconfig.h文件將自己的這三個參數粘貼到對應位置。
圖7
這里為了方便可直接修改rtconfig.h。
如果需要繼續開發本項目請使用env工具修改這三個參數,env工具使用方法參考[Env用戶手冊]。
1.5.4 數據流
設備上傳了兩個數據流:
●門開關狀態
●歷史開門方式
進入設備詳情查看。
圖8
開關狀態取決于檢測開門狀態的傳感器,這里使用了一個霍爾傳感器模塊,將一塊磁鐵安裝在門框上,關門時霍爾傳感器靠近磁鐵,并輸出低電平,此時W600讀取電平并上傳到OneNET。
歷史開門記錄由type和id組成,type類型定義在applicationsuser_def.h中。
enum {IR_MSG = 1, FP_MSG, REMOTE_MSG};
紅外類型是1,指紋是2,OneNET遠程開門是3、紅外id是遙控器nec碼,指紋id是模塊內存儲指紋id,遠程id是用戶下發的id。
1.5.5 開門測試
這里可以手動測試遠程開門功能。
圖9
開門數據格式為:
{"opendoor":id}
如果id!=0則開門,并上報開門方式和id。
驗證開門標識代碼在applicationsonenet_control.c中,可自行數據格式。
static void onenet_cmd_rsp_cb(uint8_t *recv_data, size_t recv_size, uint8_t **resp_data, size_t *resp_size) { int open_id = 0; cJSON *root = cJSON_Parse((char *)recv_data); cJSON_item_get_number(root,"opendoor",&open_id); if (open_id != 0) { rt_sem_release(&door_open_sem); ..... }
1.6 APP
●APP項目:
通過安卓APP接入OneNET下發指令控制開門和查看門的開關狀態,歷史開門記錄。
圖10
注:如果需要其他方式接入OneNET進行控制,請參考[OneNET文檔中心](https://open.iot.10086.cn/doc/multiprotocol)進行開發。
二RT-Thread項目編譯指南
2.1 RT-Thread簡介
RT-Thread是一個來自中國的開源物聯網操作系統,它具備非常強的可伸縮能力:從一個可以運行在Arm Cortex-M0芯片上的極小內核,到中等的Arm Cortex-M3/4/7系統,甚至是運行于MIPS32、Arm Cortex-A系列處理器上。RT-Thread項目的源代碼托管在 [GitHub repo] 上。
2.3 環境搭建
2.3.1 編譯環境搭建
●Keil MDK
●下載W60x_RT-Thread SDK源碼:GitHub
2.3.2 工程目錄介紹
W60X SDK的目錄結構如11所示:
圖11
docs文件夾下放著W600_RTT相關的參考文檔,建議先閱讀UM3103-RT-Thread-W60X-SDK快速上手.pdf和UM3101-RT-Thread-W60X-SDK開發手冊.pdf。
2.4 編譯燒錄
2.4.1 編譯
將倉庫克隆放到工程目錄examples文件夾內。
進入項目文件夾,雙擊打開project.uvprojx工程文件,打開工程后直接編譯即可(注意,一定要先搭建好Keil環境)。
圖12
固件生成在當前示例所在目錄的Bin文件夾下。
圖13
2.4.2 燒錄
打開星通智聯下載調試軟件選擇rtthread_layout_1M.FLS燒錄,型號可以不選,如果串口沒有連接復位,點擊下載后需要手動復位W600。
圖14
注意:
1.本項目使用W600芯片,FLASH為1M版本,選擇rtthread_layout_1M.FLS燒錄。
2.其它燒錄問題請參考:[W600固件燒錄指南]。
審核編輯:劉清
-
電容器
+關注
關注
63文章
6199瀏覽量
99302 -
指紋識別
+關注
關注
43文章
1741瀏覽量
102164 -
FPC
+關注
關注
70文章
947瀏覽量
63241 -
WIFI
+關注
關注
81文章
5286瀏覽量
203275 -
FPC連接器
+關注
關注
2文章
44瀏覽量
14022 -
WiFi芯片
+關注
關注
4文章
45瀏覽量
36966 -
RT-Thread
+關注
關注
31文章
1272瀏覽量
39919 -
智能鎖
+關注
關注
18文章
1065瀏覽量
38998 -
智能指紋鎖
+關注
關注
0文章
38瀏覽量
1852
原文標題:基于RT-Thread的智能指紋門鎖
文章出處:【微信號:Ithingedu,微信公眾號:安芯教育科技】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論