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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于STM32設計的智能門鎖(華為云IOT)

DS小龍哥-嵌入式技術 ? 來源:DS小龍哥-嵌入式技術 ? 作者:DS小龍哥-嵌入式技 ? 2023-07-11 13:53 ? 次閱讀

1. 前言

隨著智能家居的快速發(fā)展,智能門鎖作為家庭安全的重要組成部分,受到了越來越多用戶的關注和需求。為了滿足用戶對安全和便捷的需求,決定設計一款基于STM32的智能門鎖,并將其與華為云IOT平臺相結合。

傳統(tǒng)的門鎖存在一些弊端,比如使用鑰匙容易丟失、開鎖過程繁瑣等。而智能門鎖的出現(xiàn),有效地解決了這些問題。我選擇使用STM32作為智能門鎖的核心控制器,因為STM32系列具有低功耗、高性能和豐富的外設接口等優(yōu)點,非常適合嵌入式應用。

華為云IOT平臺作為一個強大的云服務平臺,提供了豐富的物聯(lián)網(wǎng)解決方案和強大的數(shù)據(jù)處理能力。將智能門鎖與華為云IOT平臺相結合,可以實現(xiàn)遠程控制、數(shù)據(jù)監(jiān)測和智能化的功能,為用戶帶來更加便捷和安全的居家體驗。

智能門鎖設計具有以下主要特點和功能:

  1. 安全可靠:采用先進的加密算法和身份驗證機制,確保門鎖的安全性。用戶可以通過手機APP、指紋識別或密碼等方式進行開鎖,有效防止非法入侵。
  2. 遠程控制:通過與華為云IOT平臺的連接,用戶可以通過手機APP在任何地方實現(xiàn)對門鎖的遠程控制。比如,可以遠程開關門鎖、查看開鎖記錄等。
  3. 多種開鎖方式:除了傳統(tǒng)的鑰匙開鎖方式外,我們的智能門鎖還支持多種開鎖方式,如指紋識別、密碼輸入、手機APP控制等。用戶可以根據(jù)自己的需求選擇最方便的開鎖方式。
  4. 實時監(jiān)測:智能門鎖可以實時監(jiān)測門鎖狀態(tài)、開鎖記錄等信息,并將這些數(shù)據(jù)上傳到華為云IOT平臺進行存儲和分析。用戶可以通過手機APP查看相關數(shù)據(jù),了解家庭安全狀況。
  5. 智能化功能:基于華為云IOT平臺的數(shù)據(jù)處理能力,我們的智能門鎖還可以實現(xiàn)一些智能化的功能。比如,可以設置自動開鎖時間、遠程授權開鎖等。

2. 設備硬件與功能介紹

這篇文章就介紹如何使用華為物聯(lián)網(wǎng)云平臺實現(xiàn)智能鎖的應用場景構建,硬件采用STM32F103ZET6 + ESP8266+步進電機實現(xiàn)。在華為云IOT物聯(lián)網(wǎng)平臺構建智能鎖項目,配置好云端,設備端通過ESP8266連接華為物聯(lián)網(wǎng)平臺,實現(xiàn)數(shù)據(jù)上報,交互,實現(xiàn)遠程開鎖、關鎖、獲取鎖的狀態(tài)等功能,不用擔心忘記出門關鎖,也不用擔心忘記帶鑰匙無法開門的情況。

ESP8266是物聯(lián)網(wǎng)解決方案里比較熱門的WIFI設備,支持串口+AT指令控制,任意支持串口的單片機都可以使用ESP8266快速實現(xiàn)聯(lián)網(wǎng)。

image-20211215173859997

步進電機采用常規(guī)28BYJ-48來模擬當做門鎖的電機,驅動板采用ULN2003。

image-20211215173730289

3. 創(chuàng)建云端設備

登錄官網(wǎng): https://www.huaweicloud.com/

直接搜索物聯(lián)網(wǎng),打開頁面。

image-20211215174453102

選擇設備接入:

image-20211215174521654

選擇免費試用:

image-20211215174550243

產品頁面,點擊右上角創(chuàng)建產品:

image-20211215174642960

填上產品信息:

image-20211215174937965

得到產品ID,保存好ID,點擊查看詳情:

產品ID為:61b9ba3a2b2aa20288c1e7f1.

image-20211215175007908

點擊設備頁面,注冊設備:

image-20211215175814693

填充信息進行注冊:

image-20211215180006268

保存設備密匙和設備ID,點擊保存關閉會自動下載文件保存,后面生成密碼和登錄賬號需要使用

image-20211215180041077

關閉后就看到創(chuàng)建好的設備了:

image-20211215180732602

點擊產品頁面,選擇剛才創(chuàng)建的產品:

image-20211215180939201

選擇自定義模型---創(chuàng)建數(shù)據(jù)模型服務:

image-20211215181036122

image-20211215181144359

選擇新增屬性,創(chuàng)建設備的屬性

image-20211215181424235

4. 創(chuàng)建MQTT登錄賬號和密匙

設備創(chuàng)建完成接來下生成MQTT登錄賬號、密匙,方便設備登錄云端平臺。

官網(wǎng)工具地址: https://iot-tool.obs-website.cn-north-4.myhuaweicloud.com/

image-20211215181625067

打開剛才創(chuàng)建設備時,下載的密匙文件,把內容復制出來對應的填進去,生成即可。

image-20211215181747129

5. 拼接主題訂閱與發(fā)布的格式

官方文檔介紹: https://support.huaweicloud.com/devg-iothub/iot_01_2127.html

image-20211215182442581

在產品頁面可以,看到主題的全部格式:

image-20211215183137006

總結的格式如下:

格式: $oc/devices/{device_id}/sys/messages/down
 //訂閱主題: 平臺下發(fā)消息給設備
 $oc/devices/61b9ba3a2b2aa20288c1e7f1_QQ1126626497_0_0_2021121510/sys/messages/down
 ?
 ?
 格式: $oc/devices/{device_id}/sys/properties/report
 //設備上報數(shù)據(jù)
 $oc/devices/61b9ba3a2b2aa20288c1e7f1_QQ1126626497_0_0_2021121510/sys/properties/report
 ?
 上屬性的數(shù)據(jù)格式:
 //上報的屬性消息 (一次可以上報多個屬性,在json里增加就行了)
 {"services": [{"service_id": "lock","properties":{"門鎖":1}}]}

上面屬性里的服務ID和屬性里的名稱,在設備頁面,影子設備頁面查看。

image-20211215184220051

6. MQTT客戶端模擬設備登錄云端

下面使用MQTT客戶端模擬設備登錄服務器測試,看設備創(chuàng)建的是否OK。

服務器的IP地址是: 121.36.42.100

端口號是: 1883

打開MQTT客戶端軟件,按照提示,輸入相關參數(shù)后,點擊連接,然后再點擊訂閱主題,發(fā)布主題即可:

image-20211215184435114

查看云端服務器的情況: 可以看到設備已經(jīng)在線了,并且收到上傳的數(shù)據(jù)。

image-20211215184612394

修改一下鎖的狀態(tài),上報屬性再查看:

image-20211215184712687

發(fā)現(xiàn)云端的狀態(tài)也已經(jīng)改變,現(xiàn)在設備上報已經(jīng)OK。

image-20211215184735239

接下來測試命令下發(fā),實現(xiàn)遠程開鎖關鎖的功能:

打開產品頁面,新增加命令:

image-20211215185156127

image-20211215185232075

image-20211215185302157

命令添加成功:

image-20211215185325872

在設備頁面,選擇同步命令下發(fā):

image-20211215185445720

image-20211215185523035

點擊確定后,查看MQTT客戶端,發(fā)現(xiàn)已經(jīng)收到數(shù)據(jù)了:

image-20211215185612755

$oc/devices/61b9ba3a2b2aa20288c1e7f1_QQ1126626497/sys/commands/request_id=88e2626f-290d-405e-962d-51554445a8fd{"paras":{"lock":1},"service_id":"lock","command_name":"lock"}

設備端解析收到的數(shù)據(jù),就可以完成多步進電機的控制,完成開鎖關鎖。

7. STM32+ESP8266連接云端

2021-12-16_095526

image-20211215190612026

工程是keil5工程

項目源碼:https://download.csdn.net/download/xiaolong1126626497/81993720

main函數(shù)代碼如下:

#include "stm32f10x.h"
 #include "led.h"
 #include "delay.h"
 #include "key.h"
 #include "usart.h"
 #include < string.h >
 #include "timer.h"
 #include "bluetooth.h"
 #include "esp8266.h"
 #include "mqtt.h"
 ?
 //華為物聯(lián)網(wǎng)服務器的設備信息
 #define MQTT_ClientID "61b9ba3a2b2aa20288c1e7f1_QQ1126626497_0_0_2021121510"
 #define MQTT_UserName "61b9ba3a2b2aa20288c1e7f1_QQ1126626497"
 #define MQTT_PassWord "385ce91dfe7da5b7431868d5d87e7998163c493344040935d5a00024d6324242"
 ?
 //訂閱與發(fā)布的主題
 #define SET_TOPIC  "$oc/devices/61b9ba3a2b2aa20288c1e7f1_QQ1126626497_0_0_2021121510/sys/messages/down"  //訂閱
 #define POST_TOPIC "$oc/devices/61b9ba3a2b2aa20288c1e7f1_QQ1126626497_0_0_2021121510/sys/properties/report"  //發(fā)布
 ?
 char mqtt_message[200];//上報數(shù)據(jù)緩存區(qū)
 ?
 int main()
 {
    u32 time_cnt=0;
    u32 i;
    u8 key;
    LED_Init();
    BEEP_Init();
    KEY_Init();
    USART1_Init(115200);
    TIMER1_Init(72,20000); //超時時間20ms
    USART2_Init(9600);//串口-藍牙
    TIMER2_Init(72,20000); //超時時間20ms
    USART3_Init(115200);//串口-WIFI
    TIMER3_Init(72,20000); //超時時間20ms
    USART1_Printf("正在初始化WIFI請稍等.\\n");
    if(ESP8266_Init())
    {
       USART1_Printf("ESP8266硬件檢測錯誤.\\n");  
    }
    else
    {
       //非加密端口
       USART1_Printf("WIFI:%d\\n",ESP8266_STA_TCP_Client_Mode("CMCC-Cqvn","99pu58cb","121.36.42.100",1883,1));
   
    }
    
     //2. MQTT協(xié)議初始化  
     MQTT_Init(); 
     //3. 連接華為服務器        
     while(MQTT_Connect(MQTT_ClientID,MQTT_UserName,MQTT_PassWord))
     {
         USART1_Printf("服務器連接失敗,正在重試...\\n");
         delay_ms(500);
     }
     USART1_Printf("服務器連接成功.\\n");
     
     //3. 訂閱主題
     if(MQTT_SubscribeTopic(SET_TOPIC,0,1))
     {
         USART1_Printf("主題訂閱失敗.\\n");
     }
     else
     {
         USART1_Printf("主題訂閱成功.\\n");
     }        
     
     while(1)
     {    
         key=KEY_Scan(0);
         if(key==2)
         {
             time_cnt=0;
             sprintf(mqtt_message,"{"services": [{"service_id": "lock","properties":{"門鎖":1}}]}");
             MQTT_PublishData(POST_TOPIC,mqtt_message,0);
             USART1_Printf("發(fā)送狀態(tài)1\\r\\n");
         }
         else if(key==3)
         {
             time_cnt=0;
             sprintf(mqtt_message,"{"services": [{"service_id": "lock","properties":{"門鎖":0}}]}");
             MQTT_PublishData(POST_TOPIC,mqtt_message,0);
             USART1_Printf("發(fā)送狀態(tài)0\\r\\n");
         }  
 ?
         if(USART3_RX_FLAG)
         {
             USART3_RX_BUFFER[USART3_RX_CNT]='\\0';
             for(i=0;i< USART3_RX_CNT;i++)
             {
                 USART1_Printf("%c",USART3_RX_BUFFER[i]);
             }
             USART3_RX_CNT=0;
             USART3_RX_FLAG=0;
         }
 ?
         //定時發(fā)送心跳包,保持連接
         delay_ms(10);
         time_cnt++;
         if(time_cnt==500)
         {
             MQTT_SentHeart();//發(fā)送心跳包
             time_cnt=0;
         }
     }
 }

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2262

    文章

    10846

    瀏覽量

    353650
  • 智能家居
    +關注

    關注

    1925

    文章

    9436

    瀏覽量

    183357
  • IOT
    IOT
    +關注

    關注

    186

    文章

    4140

    瀏覽量

    195635
  • 智能門鎖
    +關注

    關注

    17

    文章

    1843

    瀏覽量

    42888
  • 華為云
    +關注

    關注

    3

    文章

    2386

    瀏覽量

    17200
收藏 人收藏

    評論

    相關推薦

    基于STM32+ESP8266+華為IoT設計的健康管理系統(tǒng)并完成應用側開發(fā)

    這篇文章就利用STM32加上各種外設傳感器配合華為IOT物聯(lián)網(wǎng)平臺設計一個健康管理設備,通過ESP8266+MQTT協(xié)議將數(shù)據(jù)傳輸導致華為
    的頭像 發(fā)表于 07-11 09:09 ?2403次閱讀
    基于<b class='flag-5'>STM32</b>+ESP8266+<b class='flag-5'>華為</b><b class='flag-5'>云</b><b class='flag-5'>IoT</b>設計的健康管理系統(tǒng)并完成應用側開發(fā)

    基于STM32+ESP8266+華為IoT設計的智能門鎖

    近幾年物聯(lián)網(wǎng)發(fā)展非常迅猛、周邊各種設備都已經(jīng)接入互聯(lián)網(wǎng),遠程集成控制。例如: 智慧交通、森林防火、智慧小區(qū)、智慧停車場、智慧牧業(yè)、智慧農業(yè)等等。為了降低用戶的成本、門檻,各大廠商平臺也都開發(fā)了自己的物聯(lián)網(wǎng)IOT平臺,方便用戶接入快速搭建自己的應用場景。
    的頭像 發(fā)表于 05-27 10:51 ?4763次閱讀
    基于<b class='flag-5'>STM32</b>+ESP8266+<b class='flag-5'>華為</b><b class='flag-5'>云</b><b class='flag-5'>IoT</b>設計的<b class='flag-5'>智能</b><b class='flag-5'>門鎖</b>

    基于STM32+NBIOT+華為IOT設計的智能井蓋

    智能井蓋是一種通過物聯(lián)網(wǎng)技術實現(xiàn)對井蓋狀態(tài)監(jiān)測和管理的設備。當前介紹基于STM32微控制器,BC26 NBIOT模組以及華為IOT平臺設計
    的頭像 發(fā)表于 04-26 11:06 ?3721次閱讀
    基于<b class='flag-5'>STM32</b>+NBIOT+<b class='flag-5'>華為</b><b class='flag-5'>云</b><b class='flag-5'>IOT</b>設計的<b class='flag-5'>智能</b>井蓋

    基于STM32設計的智能家居控制系統(tǒng)(華為IOT

    設計了一款基于華為物聯(lián)網(wǎng)平臺的智能家居控制系統(tǒng),硬件采用了STM32和ESP8266的組合,實現(xiàn)了設備的上連接。
    的頭像 發(fā)表于 07-11 13:58 ?3104次閱讀
    基于<b class='flag-5'>STM32</b>設計的<b class='flag-5'>智能</b>家居控制系統(tǒng)(<b class='flag-5'>華為</b><b class='flag-5'>云</b><b class='flag-5'>IOT</b>)

    智能家居教程:基于機智物聯(lián)網(wǎng)開發(fā)平臺的智能門鎖v1.0(APP)

    25RMB左右的成本+接入機智AIoT平臺后,簡單的門鎖也能變?yōu)?b class='flag-5'>智能門鎖??蓪崿F(xiàn)以下功能:1、安裝配置簡單2、APP遠程控制3、可分享:
    發(fā)表于 09-25 16:32

    NB-IoT技術在智能門鎖上的應用是什么?

    什么是NB-IoT傳輸技術?NB-IoT技術在智能門鎖上的應用是什么?
    發(fā)表于 06-30 06:27

    如何實現(xiàn)基于stm32智能門鎖系統(tǒng)的設計?

    如何實現(xiàn)基于stm32智能門鎖系統(tǒng)的設計?
    發(fā)表于 12-13 06:05

    使用MQTT方式對接華為IoT平臺的具體過程

    摘要:本文主要講述使用MQTT方式對接華為IoT平臺的具體過程。使用的方案:目標板為STM32L431BearPI(帶E53擴展板); TCPIP功能由開發(fā)板的ESP8266提供;M
    發(fā)表于 01-27 07:13

    全球首款鴻蒙 HarmonyOS 智能門鎖哪些新特性呢?

    華為舉行 2022 華為全屋智能及全場景新品春季發(fā)布會,余承東帶來了華為智能門鎖 Pro 新品。
    發(fā)表于 03-18 11:42

    基于OpenHarmony的華為IoT智慧路燈實現(xiàn)

    。前面的文章介紹了基于OpenHarmony的智慧路燈實現(xiàn),本文將在前面文章的基礎上,添加華為IoT功能,實現(xiàn)基于OpenHarmony系統(tǒng)的IoT智慧路燈。小凌派RK2206開發(fā)板
    發(fā)表于 05-10 09:36

    基于OpenHarmony的華為IoT智慧路燈

    。前面的文章介紹了基于OpenHarmony的智慧路燈實現(xiàn),本文將在前面文章的基礎上,添加華為IoT功能,實現(xiàn)基于OpenHarmony系統(tǒng)的IoT智慧路燈。小凌派RK2206開發(fā)板
    發(fā)表于 05-11 10:06

    【合作伙伴】華為--智能見未來

    華為華為IoT,致力于提供極簡接入、智能化、安全可信等全棧全場景服務和開發(fā)、集成、托管、運營
    發(fā)表于 12-12 10:35

    基于STM32F103做的WIFI指紋智能門鎖

    基于STM32F103做的WIFI指紋智能門鎖,WIFI使用的是ESP8266+機智連接,指紋模塊是FPM10A光學指紋模塊,加12864屏幕顯示,還有矩陣鍵盤輸入密碼,用舵機控制
    發(fā)表于 09-27 07:47

    華為智能門鎖正式發(fā)布

    4月28日,華為召開折疊旗艦及全場景新品發(fā)布會,推出了華為智能門鎖華為智能
    的頭像 發(fā)表于 04-29 09:53 ?2652次閱讀

    基于 STM32 和機智智能門鎖的實現(xiàn)

    關鍵詞:智能門鎖、STM32、機智、APP目錄1、功能實現(xiàn)2、軟、硬件系統(tǒng)設計3、系統(tǒng)調試4、結論1功能實現(xiàn)本系統(tǒng)基于STM32和機智
    的頭像 發(fā)表于 03-23 08:09 ?1356次閱讀
    基于 <b class='flag-5'>STM32</b> 和機智<b class='flag-5'>云</b><b class='flag-5'>智能</b><b class='flag-5'>門鎖</b>的實現(xiàn)