今天拿到了内测版的配合小程序「蓝牙串口助手」的配套硬件HexCom-V1,说实话目前手机上的蓝牙串口调试软件一大堆,小程序版的也有好多,起初没觉得它有什么特别,但还是被它的外观吸引了,谁说硬件工程师不在乎颜值!
下面制作了个小视频来演示手机小程序「蓝牙串口助手」通过HexCom-V1(普通蓝牙模组也OK)控制ESP8266,从心知天气服务器获取天气预报信息,我们先一睹为快:
蓝牙串口助手搭配HexCom-V1,它是如何工作的?
蓝牙串口助手是一款小巧、简单的串口调试工具。它摆脱了传统笨重的PC,用手机的屏幕当做调试界面,用微信小程序当做上位机软件,无需要下载,打开即用。自定义ASCII/HEX键盘,指令收藏、好友共享、历史记录导Excel文件等功能,再配上一款蓝牙硬件,让硬件工程师的串口调试工作更敏捷。下面介绍小程序的主要功能:
下面分别介绍小程序和硬件:
《小程序篇》
现在微信小程序中可以连接蓝牙设备的小程序有一堆,但大多都是拿官方的代码改了个输入框,能用,但极期不方便,这款「蓝牙串口助手」完全是从串口调试的角度出发设计的,和PC上的串口调试软件使用无异,甚至还多了好友分享,云端生成excel等贴心功能。这些功能如何方便,我们一一介绍。
蓝牙串口助手 – 功能介绍
主要功能:
基于微信小程序连接,无需要安装,用完即走
自定义Ascii码键盘,无系统输入法干扰
自定义Hex键盘,以字节为单位自动输入空格
定时发送,可根据需要加入时间戳
Ascii帧结尾可加入CRLF
历史记录保存功能(100条循环覆盖)
常用指令可添加收藏 (自定义UI)
收藏布局本地保存,并分享给好友
指令队列循环发送(max20条)
本地历史记录存储,查看(1000条)
历史记录云端生成Excel文件,分享好友
蓝牙串口助手 - 自定义键盘
程序员的世界只是0和1,为了不要系统的中文、表情等键盘干扰输入,我们专门设计了一款ASCII码键盘。它支持26个英文字母的大小写,数字及常用字符,简化了用户在输入环节的思考。并可以单击收发区域缩到底部隐藏,只保留发送按钮。
除自定义键盘外,输入框区域支持字符长按粘贴,方便好友分享或数据手册的长指令发送。收发区域与键盘可根据不同机型动态调整高度,避开异型屏的非安全区域。
蓝牙串口助手 - 历史发送
在调试过程中反复试验的各种指令,会自动保存到历史记录中。即常用指令只有第一次需要手动输入。历史记录有去重功能,如果曾经发过这条指令,它不会再次存储。
长按单条历史记录,可以删除该条记录。当有历史记录产生,底部会出现全部清空按钮。历史记录最多可保存100条,滚动删除。历史记录建议删除没用的测试字符串,因后面的「收藏指令」,「循环指令发送」功能都会以历史记录作为索引。
蓝牙串口助手 – 收藏指令
实际工作中仅仅从历史记录中翻取曾发过的指令还是不够直观,我们需要一个UI,它能简单辨识我们要发送的指令。
比如一个方向键控制小车,比如一系列复杂的AT指令。定义好了后就无需于看抽象的指令了。长按每个按钮可对其进行自定义:名称、内容、颜色等参数。?
好的布局需要花时间一条条编辑的,最重要的是这条命令是实验过可行的。我们可以把它分享给好友(需要粘贴ID),好友复制分享的ID后,进入小程序,长按顶部按钮即可获取布局。
同时我们可以根据不同项目保存不同的布局,互不影响。除了好友间的共享外,我们也可以从云端获取其它公共布局文件,最大化减少录入工作。
蓝牙串口助手 – 指令序列
单条指令可以定时发送,有没有一种方式让一系列指令按指定时间定时发送呢?答案是「指令序列」功能。
每一组指令序列由两个picker组成,左侧是发送的内容,该内容是从「历史记录」中选择;右侧是执行完该条指令后的延时时间(50ms-5000ms)。选择好后,短按START顺序发送,长按循环发送,最后一条的的延时即循环发送时大循环间隔时间。
指令序列最多可选择20组。
开始发送后顶部会有一个进度条显示总发送进度。
蓝牙串口助手 – 收发历史分享
串口调试的log,即收发历史除保存在本地外,同时可以在云端生成Excel文件,以.xls文件形式转发给友。
收发历史分享的方式有:收发区域长按复制列表内容,本地历史复制单条记录或全部记录,云端生成Excel,以文件形式分享。
本地收发历史滚动保存1000条记录。
删除小程序操作会删除收发历史及其它配置。
蓝牙串口助手 – 普通BLE设备调试
当蓝牙串口助手连接的是非HexCom设备时,它会多出一个特征值选择框。在蓝牙设备连接成功后,它会扫描出该设备下所有服务包含的所有特征值,并把它支持的属性操作:read, write, notify, indicate显示在该特征值后面。
蓝牙串口助手 - 获取方式
在中国,微信有近11亿用户。蓝牙串口助手即运行在微信上的小程序,它无需单独下载,微信搜一搜即可获得。
《硬件篇》
透传蓝牙硬件市面上有很多,通过上面的小程序也可以连接普通蓝牙硬件实现简单的控制,享受小程序带来的新功能,下面介绍一款专属硬件,不用选择特征值,波特率也方便设置。供电,接口考虑的比较周到的一款蓝牙硬件。
HexCom-V1介绍
HexCom-V1是一颗支持BLE4.2的SoC,主频48MHz,发射功率最大2dBm,接收灵敏度-98dBm,接收缓存20KByte。
在硬件设计上,HexCom-V1设计了MicroUSB输入,并可为外设提供400mA@3.3V/5V的输出,为简单负载供电。
「通讯接口」采用1.25mm的底座,并配有1.25mm转2.54mm的杜邦线母头,方便与设备连接。
「通讯接口」线序为VCC, GND, RXD, TXD,其中VCC为双向接口,输出电压可通过「拨动开关」切换5V、3.3V。注意:当做为输入时注意将拨码开关切换到3.3V档位上。
为防止误操作,VCC线上串联有保持电流500mA,跳闸电流1A的PTC自恢复保险丝。
HexCom-V1硬件特性
主要参数:
供电形式:MicroUSB DC5V / VCC3.3V input
工作电流:20mA(max)
电压输入:5V/3.3V
输出功率:300mA@5V / 450mA@3.3V
蓝牙版本:BLE4.2
通讯距离:~10米
串口速率:4800/9600/19200/38400/57600/115200
外形尺寸:30mm(高) x 35mm(宽)
HexCom-V1 工作示意图
手机端微信小程序“蓝牙串口助手”通过蓝牙连接配套硬件工具HexCom-V1。
HexCom-V1通过UART连接目标板。(假设目标板有电源)
在保证数据通讯良好的前提下,标准BLE的通讯距离在10m左右,我们可以把HexCom-V1与设备连接好后放在一起。
每30ms10个字符串,10万次压力测试100%成功接收。