工作日记-LED串口开发
作者:互联网
背景
公司最近的一个项目中需要使用LED显示屏实时显示一些数据,经过调研,项目经理选择了泰美泉公司的产品,前几日硬件设备到了之后,笔者负责的中间件组就马不停蹄的开始了实际的调研与测试工作,因为之前有过对接LED设备的经验,所以对这次的调研还是比较有把握的。LED调研最核心的要解决,这个LED是否可以满足我方的项目需求。
项目需求的核心点如下:
- 实时性
- 稳定性
具体的展示UI是否可以满足也是需要考虑的方面,但是既然已经采购,UI就只能在使用这个LED的基础下尽可能的满足显示需求,所以本次测试不考虑UI设计。
针对不同的关注点,笔者分配组员进行了相关的调研测试。
泰美泉LED调研-开发模式的确定
设备连接与启动
泰美泉LED是针对我公司定制的,与服务器的通信方式为串口无线方式,具体如下
- LED端:串口转无线模块(内部封装好了,只保留了一根天线暴露在外)
- 服务器端:USB转串口无线模块
win10笔记本电脑连接上usb串口无线模块后,可以自动安装驱动,安装完驱动后,打开设备管理器,可以看到端口部分这个设备正常显示了出来。
右键属性,可以设置串口的波特率和串口号。设置好属性后,需要检查下LED端是否正常启动,检查方法:LED端使用移动电源供电,移动电源开关打开后,屏幕会闪烁一下,代表正常启动。
设备基本调试
设备和无线模块都连接好后,使用串口工具发送指令来查看LED设备是否可以正常工作。串口工具使用的是sscom串口调试助手。打开后显示如下:
选择端口号为无线模块对应的端口号,波特率对应修改,点击打开串口就可以开始测试了。
具体依次发送的测试内容如下:
- !#001%ZD00$$ //先清除所有区域,执行一次就行
- !#001%ZI01%ZC0000000000960064%ZA01%ZS03%ZH0050%F16%C1%AH1%AV1欢迎使用北京泰美泉2000型中长跑测试仪$$
发现串口正确回复,并且LED屏幕显示了测试文字-欢迎使用北京泰美泉2000型中长跑测试仪。设备基本调试步骤成功。
动态库环境调试
上面的步骤是直接使用串口,调用字库协议来发送数据,此外,LED还提供了另外一种方式,就是调用dll动态库的方式来控制LED屏幕。这种方式需要搭建Java开发环境,并加载泰美泉提供的demo程序进行测试。
组员在进行测试时,发现虽然已经正确修改了配置文件,但是Demo程序测试时会反馈失败,咨询对方技术人员后得知,数据未从串口发出,后来对接了另外一个动态库的技术人员,远程后,发现原来使用的Demo程序版本太低,使用对方的Demo程序就可以正常显示。
工作小启示:
很多时候与我们对接的是设备的销售商或者商务,对方提供的资料未必是最新的资料,尽量找对方的一线人员获取最新的资料数据。
动态库调试最核心的步骤是修改配置文件信息,配置文件信息如下:
[地址:0]
CardType=21
CardAddress=0
CommunicationMode=0
ScreemHeight=64
ScreemWidth=96
SerialBaud=9600
SerialNum=3
NetPort=5005
IpAddress0=192
IpAddress1=168
IpAddress2=1
IpAddress3=236
ColorStyle = 1
测试节目模式和实时模式后,均无法满足我们对于实时性更新的要求,所以本次开发不会选用动态库模式。
字库模式调试
既然动态库模式行不通,我们就开始测试字库模式,字库模式的协议比较简单,但是也比较受限,经过测试,虽然可以满足实时性的需求,但是针对目前的UI设计就无法满足,只能重新设计UI。
最终确定的UI如下:
阶段总结
经过上述的一番测试,我们组最终确定了使用字库模式进行开发。具体开发计划是使用Java语言,调用串口工具类,直接发送协议字符串给LED进行实时显示。这个阶段的目标已经达到。
泰美泉LED调研-Java串口环境的搭建
未完待续...
标签:LED,泰美泉,UI,测试,串口,字库,日记 来源: https://www.cnblogs.com/ging/p/13750309.html