项目简介
本项目基于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文章
17370浏览量
352986 -
接口
+关注
关注
33文章
8728浏览量
152105 -
开发板
+关注
关注
25文章
5144浏览量
98436 -
BLE
+关注
关注
12文章
671浏览量
59655 -
RT-Thread
+关注
关注
31文章
1308浏览量
40495
原文标题:用AB32VG1开发板基于RT-Thread开发的BLE智能灯和门锁控制并带语音提示演示方案
文章出处:【微信号:嵌入式加油站,微信公众号:嵌入式加油站】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
RT-Thread记录(一、版本开发环境及配合CubeMX)
![<b class='flag-5'>RT-Thread</b>记录(一、版本<b class='flag-5'>开发</b>环境及配合CubeMX)](https://file.elecfans.com//web2/M00/4C/58/pYYBAGKtyOGACMdxAABXG3HKIdk106.png)
RT-Thread的C语言编码规范
RT-Thread编程指南
RT-Thread开发,如何有效学习RT-Thread的五个步骤
![<b class='flag-5'>RT-Thread</b><b class='flag-5'>开发</b>,如何有效学习<b class='flag-5'>RT-Thread</b>的五个步骤](https://file1.elecfans.com//web2/M00/A6/D1/wKgZomUMQKSAAGYNAADF5bX7DBc399.png)
RT-Thread软件包定义和使用
![<b class='flag-5'>RT-Thread</b>软件包定义和使用](https://file.elecfans.com/web1/M00/51/37/pIYBAFsCPbCARj8DAAASmGgmf14053.png)
STM32WB55在RT-Thread系统上移植官方蓝牙BLE功能
![STM32WB55在<b class='flag-5'>RT-Thread</b>系统上移植官方蓝牙<b class='flag-5'>BLE</b>功能](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
RT-Thread Studio驱动SD卡
![<b class='flag-5'>RT-Thread</b> Studio驱动SD卡](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
RT-Thread学习笔记 RT-Thread的架构概述
![<b class='flag-5'>RT-Thread</b>学习笔记 <b class='flag-5'>RT-Thread</b>的架构概述](https://file.elecfans.com/web2/M00/52/31/pYYBAGLKk5WAA__jAADjdAdXhIs410.jpg)
RT-Thread文档_RT-Thread 潘多拉 STM32L475 上手指南
![<b class='flag-5'>RT-Thread</b>文档_<b class='flag-5'>RT-Thread</b> 潘多拉 STM32L475 上手指南](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
使用RT-Thread Studio进行智能家居终端的设计
![使用<b class='flag-5'>RT-Thread</b> Studio进行<b class='flag-5'>智能</b>家居终端的设计](https://file1.elecfans.com/web2/M00/8E/3C/wKgaomTDfrKAOUCQAADZr_2qY8Q463.jpg)
评论