回答

收藏

[评测分享] 【TL7218X开发板】六、实现多端遥控灯

#板卡评测 #板卡评测 1121 人阅读 | 0 人回复 | 2025-03-11

本帖最后由 dvacos 于 2025-3-21 16:56 编辑

书接上文,之前完成了蓝牙广播名修改、服务与特征修改、数据收发、PWM等功能,现在就把他组合起来,做一个蓝牙遥控灯。


1、数据接收 与 PWM修改

在之前蓝牙数据接收、打印处添加,修改PWM的API,在每次接收蓝牙数据时改动一次PWM大小,代码如下:
  1. int spp_onReceiveData(u16 connHandle, ble_rf_packet_att_write_t *p)
  2. {
  3.     (void)connHandle;
  4.     u8 len = p->l2capLen - 3;

  5.     tlk_printf("len = %u \r\n",len);

  6.     if (len > 0) {
  7.             for(int i=0;i<len;i++){
  8.                     tlk_printf( "%02x ", *(i+(u8*)&(p->value)) );
  9.             }
  10.     }

  11.     tlk_printf("\r\n");

  12.     blc_gatt_pushHandleValueNotify(connHandle,notify_attHandle,&p->value,len);

  13.     pwm_set_tcmp(PWM0_ID, p->value * 240);

  14.     return 0;
  15. }
复制代码

蓝牙数据下发是0-100的百分比,但是PWM的API,不是接收百分比的,所以需要转化一下才可以设置为百分比的占空比。经过实验得知接收值要乘以240后就是百分比了。


2、硬件简介
调整LED亮度的方法总结起来有两种方式:调整电流、调整电压。
1、调整电压是通过占空比,PWM是频繁的开关,导致平均电压降低,从而调整亮度。
2、通过恒流源直接调整电流,直接控制亮度会更好。

下图的模块就是一个恒流源,可以通过PWM调整恒流源输出的大小。


硬件接线图

3、Web Ble网页蓝牙控制亮度
本次使用的上位机是Web Ble,一套代码可以在手机、平板、电脑上运行。

Web BLE(Web Bluetooth)是一种允许网页应用与蓝牙低功耗(BLE)设备进行交互的技术。以下是关于Web BLE的简单介绍:

基本概念
Web BLE通过Web Bluetooth API实现网页与BLE设备的通信。它基于GATT(Generic Attribute Profile)协议,其中网页应用作为GATT客户端,BLE设备作为GATT服务器。

主要功能
1. 设备发现:通过`navigator.bluetooth.requestDevice`方法,网页应用可以扫描并请求用户选择附近的BLE设备。
2. 服务与特征访问:连接后,应用可以访问设备的服务(Services)和特征(Characteristics),并进行读写操作。
3. 数据交互:支持读取、写入和监听设备数据的变化。


优势
跨平台:支持多种操作系统和主流浏览器(如Chrome、Edge)。
低功耗:基于BLE技术,适合物联网设备。
易用性:提供简单易用的API,降低开发难度。




4、视频演示
相关链接如下:
https://v.youku.com/video?spm=a2 ... =&playMode=pugv
直接嵌入的视频有些问题,只能点链接跳转观看了

5、总结
TL721X这个新的芯片资料太少了,只能参考以往其他芯片的文档来开发(但是由此可见标准化的SDK相当不错),没有什么好说的,希望官方马上、快速更新相关资料。
本次评测活动的文档都比较详细,希望可以为后来者参考,少踩点坑。

分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

229 积分
5 主题
+ 关注
热门推荐
关闭

站长推荐上一条 /3 下一条