日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

自制宿舍门禁,微信小程序蓝牙控制,比指纹更安全~

發布時間:2023/12/20 编程问答 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自制宿舍门禁,微信小程序蓝牙控制,比指纹更安全~ 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

不用改裝原有門鎖,成本低,除電源外僅需30多元就能升級智能宿舍(其實只是智能門禁

?PS:由于安信可在文章發布之后多次修改了SDK,提供一個我當時的版本,出錯請先確認是否為20年4月的SDK:Telink_825X_SDK-0bd68dce44cd69b5f785a5bfcbfab4d342dd40fe.zip - 藍奏云

這套方案仍然有一些問題,有時候板子會卡死(不確定是板子還是什么的原因),另外微信小程序也并不是很方便快速開門,建議有能力的同學自己研究一下,或者單純參考一下思路。

0.寫在最前

基于安信可TB-02開發板AT固件V0.4.2開發(C語言),使用微信小程序控制,實現多平臺可用、多用戶、多終端的門禁系統。

提供原始固件和配套小程序(已經發布了,搜索quicklyOpen),有一定C語言基礎(沒有也行),修改固件設備名稱燒寫之后就可直接在小程序綁定設備使用。利用了小愛實驗室功能錄屏教學還可以實現語音控制(不過不穩定),效果放在文末。

這是我的第二塊開發板(第一塊是ESP8266),第一次接觸SDK開發,第一次接觸微信小程序開發,一共差不多用了我一個星期(網課都沒好好聽),多有不足請多指教。

開發過程參考了@半顆心臟 的許多文章,有興趣的可以看一看,鏈接貼在文末。

解釋一下標題,為什么說比網上許多的指紋門禁要安全呢?

源于我看到了B站一位UP主(__Aknice)的視頻,普通的指紋模塊指紋數據存儲在指紋模塊上而非開發板上面,而指紋模塊必須安裝在門外,那么別人只需要把你的模塊拔掉替為自己的,將可以隨便開門。

這個UP主自己也有一套很好的方案,是基于ESP8266的,我一開始也是使用ESP8266做了一個WIFI門禁,但是很快就決定放棄這個方案,因為ESP8266功耗并不小,沒幾天充電寶就掉了一格(可能是我的方案的問題,沒有設計好),扯線又存在危險性,所以我最終選擇藍牙,實測10000mAh充電寶應該至少可以用一個月(已經試了快一周,還沒掉格)。

1.準備工作

元件清單:

  • 安信可TB-02開發板1個
  • 數碼舵機1個,要買扭矩比較大的,比如MG995和TD8120MG
  • 公對母杜邦線數根
  • Micro-usb數據線1條
  • 結實而細的繩子1條,綁在門把手和舵機臂上開門
  • 移動電源一塊,或者自己買幾個18650和電池盒組裝

重點說一下電源的選擇,因為TB-02的工作電流很小,實測我手上這塊小米移動電源2工作幾十秒就會停止供電,換了一塊很老的充電寶才可以用,大家可以選擇買幾節18650和一個電池盒自己做電源。

接線:舵機紅線接電源(開發板的5V)、棕線接地(開發板的GND)、橙色線接信號(開發板的PC3)

建議接上后使用熱熔膠等固定好,以免松動。

SDK環境安裝:

Linux 下教程:泰凌微ble mesh藍牙模組天貓精靈學習之旅 ① 小白也癡迷,如何在 Linux環境搭建編譯燒錄 安信可TB02,點亮一盞LED燈;_徐宏的博客 | 修身齊家治國平天下-CSDN博客

Windows?下教程:Telink_825X_SDK/start_windows.md at master · Ai-Thinker-Open/Telink_825X_SDK · GitHub

安裝教學這里不再贅述,如果有問題的話可以加群獲取幫助,群號也貼在文末。

PS:由于安信可在此之后多次修改了SDK,提供一個我當時的版本,出錯請先確認是否為20年4月的SDK:Telink_825X_SDK-0bd68dce44cd69b5f785a5bfcbfab4d342dd40fe.zip - 藍奏云

2.燒錄固件

固件開源Github:GitHub - chillsoul/TB02-BLEControl: 基于安信可TB-02制作的微信小程序藍牙門禁控制系統。

下載后將這個固件放在SDK同目錄下,如圖:

本文以Windows系統為例,Linux下操作大致相同。

Windows下端口號的獲取:連接開發板后桌面右擊此電腦→設備管理器

在makefile中修改對應的端口號 在我的電腦上顯示是com3就寫com3:

DOWNLOAD_PORT := com3

Linux版本請參考上面的安裝教程確定燒錄端口,默認:

DOWNLOAD_PORT := /dev/ttyUSB0

然后打開編輯app_att.c,建議使用Visual Studio Code等編輯器。

//app_att.c line 169 #define USER_NUM 6 const char whitelist[USER_NUM][64] = {{"在這里填上你的WHITELIST"} };

所謂whilelist是指對應我開發的微信小程序的openid。

關于openid

openId是用戶在當前小程序下的唯一標識(‘身份證’),就是說通過這個openId,就能區分在這個小程序下具體是哪個用戶。

openid的計算方法只有微信官方知道,正是由于openid的唯一性,我選擇openid作為控制門禁的鑰匙,即發送openid到藍牙設備,盡最大努力保證安全。

當然不理解也沒有關系,不要求你開發,會用就行~

下一步,獲取你對應我開發的小程序的openid。

掃碼打開小程序:

點擊右上角獲取openid,即可復制你的openid到剪切板,為了安全起見,不要把這個openid發送給別人,尤其是離你實際距離比較近的人。

回到app_att.c,按照C語言標準修改二維數組:例如我宿舍有四個人,他們的openid分別是

  • qwerty1
  • qwerty2
  • qwerty3
  • qwerty4
  • 那么就修改為:

    #define USER_NUM 4 const char whitelist[USER_NUM][64] = {{"qwerty1"},{"qwerty2"},{"qwerty3"},{"qwerty4"} };

    然后保存文件,再打開app.c,修改你的設備名稱。

    //app.c line 95 const u8 tbl_scanRsp [] = {0x13, 0x09, 'q', 'u', 'i', 'c', 'k','l','y','O','p','e','n','\'','s',' ','D','o','o','r',//loacalName};

    此處修改有講究,第一位0x13代表其后有多少個字符,上述默認代碼其后0x09和quicklyOpen's Door共19位,轉換成16進制就是0x13,這里建議不要太長,小程序端限制設備名稱最長是10位,修改完成,保存。如果你對C語言的字符沒有什么概念,就簡單點只改字母和數字,比如F01E314,就是:

    const u8 tbl_scanRsp [] = {0x08, 0x09, 'F', '0', '1', 'E', '3','1','4',//loacalName};

    在ble_conrtol_and_AT文件夾內右鍵空白處選擇Git?Bash Here(如果沒有,就是環境沒裝好,請回顧上文)

    輸入make,顯示如下表示成功編譯:

    等待處理完成后輸入make flash,再次等待進度條讀滿,出現這個界面就是燒錄成功了:

    然后按下開發板RST按鍵,別急,還差最后幾步就可以使用了。

    先打開手機自帶的藍牙界面,找到qUiCkDoOr,沒錯就是他,點擊后會顯示正在配對(如果是和室友一起,同時只能配對一個,不然會出現搜索不到的情況,一個配對好了再換下一個人),當他出現在已配對設備的時候,開始最后一步吧~

    打開小程序,點擊右上角綁定設備,輸入你剛才輸好的名字,此處我輸入1111(注意區分大小寫):

    輸入完成,點擊確定,這樣你的數據就已經保存至云端,下次使用不必再次綁定設備,直接搜索藍牙即可。

    確定已經給開發板供電、且燒錄完成已按RST重啟,點擊搜索藍牙,稍等片刻,點擊開門,舵機就會開始轉動:

    然后把繩子綁在門把手上(或者老鎖的拉栓),再次測試...

    不出意外的話,恭喜你,大功告成!

    當然,如果有問題的話也很正常~歡迎評論留言交流:

    視頻演示效果:

    基于安信可TB-02開發板自制宿舍藍牙門禁

    小愛同學語音控制利用小愛實驗室錄屏教學功能實現

    效果視頻:視頻去哪了呢?_嗶哩嗶哩_bilibili

    本文開發參考:

    @半顆心臟?TB-02開發板入門好文:

    泰凌微ble mesh藍牙模組天貓精靈學習之旅 ① 小白也癡迷,如何在 Linux環境搭建編譯燒錄 安信可TB02,點亮一盞LED燈;_徐宏的博客 | 修身齊家治國平天下-CSDN博客

    泰凌微ble mesh藍牙模組天貓精靈學習之旅 ② 如何實現 微信小程序藍牙控制 Ble Mesh模組 安信可TB02,全部開源!_徐宏的博客 | 修身齊家治國平天下-CSDN博客

    Telink Kite BLE SDK Developer Handbook:

    http://pan-yz.chaoxing.com/share/info/d7111ddd25675790 密碼 : xvkiik

    微信開放文檔 學習小程序開發:

    微信開放文檔

    總結

    以上是生活随笔為你收集整理的自制宿舍门禁,微信小程序蓝牙控制,比指纹更安全~的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。