前言
串口屏最重要的功能就是串口通信了,那么本文文章我们将使用ESP32的蓝牙功能实现低功耗蓝牙键盘控制蓝牙设备(电脑/手机)。
正文
ESP32使用PLATFORM IO插件的arduino框架编写代码。
步骤一
新建工程并搜索低功耗蓝牙键盘库文件并加入工程。如下图:
步骤二
编写ESP32串口接收与解析函数。
- else if(comdata=="q")//q
- {
- bleKeyboard.print("q");
- }
如果串口屏发送的是字符串"q",才会执行蓝牙按键按下Q的操作。
而迪文的串口屏按键返回控件发出的是16进制。
返回数据格式:
5A A5 06 83 5436 01 0001
含义:05A:帧头;
0x06:数据长度;
0x83:读指令;
0x5436:变量地址;
0x01:返回数据的字长度;
0x0001:返回的 0001 键值。
所以我们需要根据串口接收到的数据做更改为如下代码
- else if(comdata[a-2]==0x00&&comdata[a-1]==0x01)//q
- {
- bleKeyboard.print("q");
- }
其余更改不多展示,因为按键太多了。
步骤三
将ESP32的串口引脚与迪文的串口引脚对应连接,并连接5V引脚且共地。
步骤四
迪文上位机设置键值返回的属性,勾选数据上传,键值数值和变量地址自行规定。
CFG配置ICL为23(自定义),串口波特率设置为115200,因为ESP32代码串口波特率就是115200,波特率要一致,不然无法正常接收。选择自动上传数据。
因为屏幕是T5L的,所以需要生成背景图片ICL,生成的ICL为32。
最后保存工程并生成DWIN_SET工程文件,将ICL和工程文件复制到SD卡烧录。
功能介绍
该蓝牙按键键盘可以实现与普通键盘相同的效果,但是部分快捷键无法实现,因为需要多个按键同时按。可以实现媒体音量调节、换歌和暂停播放等操作。手机可以实现一键返回桌面与返回上一次功能。最终效果如顶部视频所示。