項目簡介
本項目基于AB32VG1 BLE的SOC, 使用RT-Thread Rtos 完成智能家居燈門鎖...通過藍牙BLE用手機等智能終端控制, 并有語音提示, 除了手機控制, 當然也可以用按鍵控制, 這只一個小案例, 除了燈門鎖...還有其他的電器,比如插座窗簾'....
物盡其用,基本上這個MCU主要外設BLEDAC(做語音播放)都用上了,所以這個MCU帶語音\BLE項目非常適合,用RT--Thread開發很方便,自己寫的代碼非常實現了這個功能.
硬件說明
本項目了 除了用執行元件, 都用AB32VG1開發板完成的, 得益于AB32VG1豐富的功能組件:
CPU:AB5301A;( LQFP48 封裝,主頻 120M,片上集成 RAM 192K, flash 8 Mbit, ADC, PWM, USB, UART, IIC 等資源)
AB5301A內置藍牙BLE SOC -- 本項目用此做手機遠程控制
AB5301A內置 FM 模塊 (本項目未使用)
一路 USB 接口 (本項目未使用)
一路 IIC 接口 (本項目未使用)
一路音頻接口(美標 CTIA)-- 本項目用此做操作語音揭示及反饋
六路 ADC 輸入引腳端子引出 (本項目未使用, 如需拓展溫度光照檢測應用, 可以用ADC)
六路 PWM 輸出引腳端子引出(本項目未使用, 如需拓展調光應用, 可以用PWM)
一個全彩 LED 燈模塊, 一個電源指示燈, 三個燒錄指示燈本項目用此做指示
一個 Reset 按鍵, 三個功能按鍵(通用版為兩個功能按鍵)
硬件架構
系統采用USB供電
USB轉UART 下載程序及軟件調試
GPIO輸出控制LED燈和門鎖
軟件說明
軟件功能
手機通過BLE遠程控制LED燈亮滅, 開門鎖(鎖門驅動模塊會自動檢測關門并鎖門, 所以不考慮鎖門)
板載按鍵遠程控制LED燈亮滅, 開門鎖
軟件框圖
使用RT-Thread Studio, 創建工程,配置好組件軟件包, 本項目應用組件或軟件包:
RT-Thread 標準最新版本
驅動:
Audio
串口
Pin(GPIO)
組件:
wavplayer播放器 播放器
ptparse --命令行參數解析器, wavplayer依賴它解析播放參數
DFS ---文件系統
Finsh命令
MultiButtion --- 按鍵框架
bluetrum SDK
以上都是通過RT-Thread Studio配置 獲得,我需要寫的代碼, 非常少, 真的是低代碼開發
我需要開發的
1、BLE(Gatt Server) 收到手機發來的數據和按鍵事件處理, 調用GPIO執行控制LED燈亮滅, 開門鎖, 播放提示音
注: 提示音由mkromfs將音頻文件制作成C語言數組的虛擬文件系統, 詳細參閱//bbs.sunsili.com/thread-225776-1-1.html
2、BLE Gatt Service重寫
代碼已開源,請移步:
https://gitee.com/lojam/ab32vg1-ble_-smrthm/tree/master
操作說明
1、按鍵操作:
S2 按一下開鎖
S3 按一下開燈, 再關燈, 如此循環
注:每個操作,都播放提示音
2、BLE 遠程控制:
沒寫APP,用BLE調試助手
連接設備:Silicon_Smarthome
連接成功后, 選擇Unkown Service (用戶自定義, 一般沒注冊到藍牙聯盟的uuid,都這樣顯示)
Unkown (用戶自定義)Charismatic 長度2BytesRead / Write ( 可讀寫)
Byte0 Byte1
燈控制 lock
1:開燈1: 開鎖(鎖驅動會自動檢測關鎖)
0:關燈0: 關
Device Information Service 設備信息服務
Manufacturer Name String Charismatic read( 只讀)讀設備制造商信息字串類型
Model Number String Charismatic read( 只讀)獲取設備型號字串類型
審核編輯:湯梓紅
-
mcu
+關注
關注
146文章
17919瀏覽量
362846 -
接口
+關注
關注
33文章
8971瀏覽量
153475 -
開發板
+關注
關注
25文章
5622瀏覽量
103635 -
BLE
+關注
關注
12文章
697瀏覽量
60587 -
RT-Thread
+關注
關注
32文章
1387瀏覽量
41699
原文標題:用AB32VG1開發板基于RT-Thread開發的BLE智能燈和門鎖控制并帶語音提示演示方案
文章出處:【微信號:嵌入式加油站,微信公眾號:嵌入式加油站】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
RT-Thread記錄(一、版本開發環境及配合CubeMX)

RT-Thread的C語言編碼規范
RT-Thread編程指南
RT-Thread開發,如何有效學習RT-Thread的五個步驟

RT-Thread軟件包定義和使用

STM32WB55在RT-Thread系統上移植官方藍牙BLE功能

RT-Thread Studio驅動SD卡

RT-Thread全球技術大會:使用RT-Thread開發大規模嵌入式軟件帶來的挑戰與好處

RT-Thread學習筆記 RT-Thread的架構概述

RT-Thread文檔_RT-Thread 潘多拉 STM32L475 上手指南

使用RT-Thread Studio進行智能家居終端的設計

評論