聚丰项目 > 基于AB32的uart控灯

基于AB32的uart控灯

基于AB32开发板开发一个控制灯光的设备,即蓝牙控制灯光。然而实际上,AB32上面蓝牙模块,很难实现,目前还没有成熟,只能退而其次,串口通信,既是UART串口。我制作两个设备,一个是主设备,另一个从设备。主设备(AB32开发板)上开启uart串口,PA3和PA4引脚,连接到从设备。从设备可以是arduino开发板,也可以是STM32开发板,也可以是esp8266,等等,其中只要有uart串口功能。从主设备发送"uart 1"到从设备,当从设备检测到“uart 1”,则打开LED;发送“uart 0”,则关灯。 设计作品思路如下图:

rx_ted rx_ted

分享
1 喜欢这个项目
团队介绍

rx_ted rx_ted

团队成员

rx_ted 学生

分享
项目简介
基于AB32开发板开发一个控制灯光的设备,即蓝牙控制灯光。然而实际上,AB32上面蓝牙模块,很难实现,目前还没有成熟,只能退而其次,串口通信,既是UART串口。我制作两个设备,一个是主设备,另一个从设备。主设备(AB32开发板)上开启uart串口,PA3和PA4引脚,连接到从设备。从设备可以是arduino开发板,也可以是STM32开发板,也可以是esp8266,等等,其中只要有uart串口功能。从主设备发送"uart 1"到从设备,当从设备检测到“uart 1”,则打开LED;发送“uart 0”,则关灯。 设计作品思路如下图:
硬件说明

作品.png

整体架构:

内核部分:使用了线程、信号量、互斥量、定时器 

硬件部分:AB32开发板、arduino wemos R1开发板、若干LED和电线 

软件包:

blueturm(蓝牙模块)等 

设备驱动:

GPIO/BLE/UART/I2C 等

硬件.png

软件说明

软件中间使用了部分信号量和互斥量保证线程同步。跟uart_sample这个例子原理差不多。

首先查找系统中的串口设备,等找到串口设备,例如“uart1”,找到了就打开串口设备,将输入命令复制到临时变量字符串。

接着初始化信号量,一旦接收到输入字符串,则发送这命令。

然后创建线程,继续等待输入。


软件.png

根据这样的原理而获得流程:搜索串口设备->打开串口设备->接收回调->信号中断->发送命令->开灯关灯。

演示效果
评论区(0 )