項(xiàng)目簡(jiǎn)介
本項(xiàng)目基于AB32VG1 BLE的SOC, 使用RT-Thread Rtos 完成智能家居燈門鎖...通過(guò)藍(lán)牙BLE用手機(jī)等智能終端控制, 并有語(yǔ)音提示, 除了手機(jī)控制, 當(dāng)然也可以用按鍵控制, 這只一個(gè)小案例, 除了燈門鎖...還有其他的電器,比如插座窗簾'....
物盡其用,基本上這個(gè)MCU主要外設(shè)BLEDAC(做語(yǔ)音播放)都用上了,所以這個(gè)MCU帶語(yǔ)音\BLE項(xiàng)目非常適合,用RT--Thread開(kāi)發(fā)很方便,自己寫的代碼非常實(shí)現(xiàn)了這個(gè)功能.
硬件說(shuō)明
本項(xiàng)目了 除了用執(zhí)行元件, 都用AB32VG1開(kāi)發(fā)板完成的, 得益于AB32VG1豐富的功能組件:
CPU:AB5301A;( LQFP48 封裝,主頻 120M,片上集成 RAM 192K, flash 8 Mbit, ADC, PWM, USB, UART, IIC 等資源)
AB5301A內(nèi)置藍(lán)牙BLE SOC -- 本項(xiàng)目用此做手機(jī)遠(yuǎn)程控制
AB5301A內(nèi)置 FM 模塊 (本項(xiàng)目未使用)
一路 USB 接口 (本項(xiàng)目未使用)
一路 IIC 接口 (本項(xiàng)目未使用)
一路音頻接口(美標(biāo) CTIA)-- 本項(xiàng)目用此做操作語(yǔ)音揭示及反饋
六路 ADC 輸入引腳端子引出 (本項(xiàng)目未使用, 如需拓展溫度光照檢測(cè)應(yīng)用, 可以用ADC)
六路 PWM 輸出引腳端子引出(本項(xiàng)目未使用, 如需拓展調(diào)光應(yīng)用, 可以用PWM)
一個(gè)全彩 LED 燈模塊, 一個(gè)電源指示燈, 三個(gè)燒錄指示燈本項(xiàng)目用此做指示
一個(gè) IRDA(紅外接收端口) (本項(xiàng)目未使用)
一個(gè) Reset 按鍵, 三個(gè)功能按鍵(通用版為兩個(gè)功能按鍵)
硬件架構(gòu)
系統(tǒng)采用USB供電
USB轉(zhuǎn)UART 下載程序及軟件調(diào)試
GPIO輸出控制LED燈和門鎖

軟件說(shuō)明
軟件功能
手機(jī)通過(guò)BLE遠(yuǎn)程控制LED燈亮滅, 開(kāi)門鎖(鎖門驅(qū)動(dòng)模塊會(huì)自動(dòng)檢測(cè)關(guān)門并鎖門, 所以不考慮鎖門)
板載按鍵遠(yuǎn)程控制LED燈亮滅, 開(kāi)門鎖
軟件框圖
使用RT-Thread Studio, 創(chuàng)建工程,配置好組件軟件包, 本項(xiàng)目應(yīng)用組件或軟件包:
RT-Thread 標(biāo)準(zhǔn)最新版本
驅(qū)動(dòng):
Audio
串口
Pin(GPIO)
組件:
wavplayer播放器 播放器
ptparse --命令行參數(shù)解析器, wavplayer依賴它解析播放參數(shù)
DFS ---文件系統(tǒng)
Finsh命令
MultiButtion --- 按鍵框架
bluetrum SDK
以上都是通過(guò)RT-Thread Studio配置 獲得,我需要寫的代碼, 非常少, 真的是低代碼開(kāi)發(fā)
我需要開(kāi)發(fā)的
1、BLE(Gatt Server) 收到手機(jī)發(fā)來(lái)的數(shù)據(jù)和按鍵事件處理, 調(diào)用GPIO執(zhí)行控制LED燈亮滅, 開(kāi)門鎖, 播放提示音
注: 提示音由mkromfs將音頻文件制作成C語(yǔ)言數(shù)組的虛擬文件系統(tǒng), 詳細(xì)參閱//bbs.sunsili.com/thread-225776-1-1.html
2、BLE Gatt Service重寫
代碼已開(kāi)源,請(qǐng)移步:
https://gitee.com/lojam/ab32vg1-ble_-smrthm/tree/master
操作說(shuō)明
1、按鍵操作:
S2 按一下開(kāi)鎖
S3 按一下開(kāi)燈, 再關(guān)燈, 如此循環(huán)
注:每個(gè)操作,都播放提示音
2、BLE 遠(yuǎn)程控制:
沒(méi)寫APP,用BLE調(diào)試助手
連接設(shè)備:Silicon_Smarthome
連接成功后, 選擇Unkown Service (用戶自定義, 一般沒(méi)注冊(cè)到藍(lán)牙聯(lián)盟的uuid,都這樣顯示)
Unkown (用戶自定義)Charismatic 長(zhǎng)度2BytesRead / Write ( 可讀寫)
Byte0 Byte1
燈控制 lock
1:開(kāi)燈1: 開(kāi)鎖(鎖驅(qū)動(dòng)會(huì)自動(dòng)檢測(cè)關(guān)鎖)
0:關(guān)燈0: 關(guān)
Device Information Service 設(shè)備信息服務(wù)
Manufacturer Name String Charismatic read( 只讀)讀設(shè)備制造商信息字串類型
Model Number String Charismatic read( 只讀)獲取設(shè)備型號(hào)字串類型
審核編輯:湯梓紅
-
mcu
+關(guān)注
關(guān)注
147文章
18924瀏覽量
398040 -
接口
+關(guān)注
關(guān)注
33文章
9519瀏覽量
157020 -
開(kāi)發(fā)板
+關(guān)注
關(guān)注
26文章
6289瀏覽量
118054 -
BLE
+關(guān)注
關(guān)注
13文章
776瀏覽量
66342 -
RT-Thread
+關(guān)注
關(guān)注
32文章
1613瀏覽量
44868
原文標(biāo)題:用AB32VG1開(kāi)發(fā)板基于RT-Thread開(kāi)發(fā)的BLE智能燈和門鎖控制并帶語(yǔ)音提示演示方案
文章出處:【微信號(hào):嵌入式加油站,微信公眾號(hào):嵌入式加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
RT-Thread記錄(一、版本開(kāi)發(fā)環(huán)境及配合CubeMX)
RT-Thread的C語(yǔ)言編碼規(guī)范
智能門鎖:基于RT-Thread與FRDM-MCXA156的多外設(shè)嵌入式實(shí)踐 | 技術(shù)集結(jié)
RT-Thread編程指南
RT-Thread開(kāi)發(fā),如何有效學(xué)習(xí)RT-Thread的五個(gè)步驟
RT-Thread軟件包定義和使用
嵌入式RT-Thread應(yīng)用與開(kāi)發(fā)
STM32WB55在RT-Thread系統(tǒng)上移植官方藍(lán)牙BLE功能
RT-Thread全球技術(shù)大會(huì):使用RT-Thread開(kāi)發(fā)大規(guī)模嵌入式軟件帶來(lái)的挑戰(zhàn)與好處
RT-Thread學(xué)習(xí)筆記 RT-Thread的架構(gòu)概述
RT-Thread文檔_RT-Thread 潘多拉 STM32L475 上手指南
基于RT-Thread Studio學(xué)習(xí)
使用RT-Thread Studio進(jìn)行智能家居終端的設(shè)計(jì)
基于RT-Thread開(kāi)發(fā)的BLE智能燈和門鎖控制方案
評(píng)論