【个人作品】记之-串口日志记录工具
一、作品简介
一款用于记录嵌入式设备的串口调试信息设备,目前可以同时支持两路串口输入数据,且串口参数可配置。
二、应用场景
- 需要实时记录产品在长时间运行过程中产生日志信息。(如产品在户外时)
- 需要实时记录多个产品在压力测试过程中产生的日志信息。(如产品批量老化压力测试)
三、作品概述
本模块主要解决了不方便长时间采集日志信息的场景,具备以下特点:
- 三路串口以及供电口均加入 ESD 保护。
- 具备串口输入的日志信息实时转存在外置的内存。
- 两路串口可以通过配置文件配置不同的串口参数。
- 具备在显示屏实时显示当前串口接收的日志信息。
- 具备指示灯,可指示当前两路串口和内存卡的工作状态。
- 具备在显示屏实时显示内存卡当前剩余容量以及工作时长。
- 该软件已经经过 24 小时双串口最高波特率通信的压力测试。
- 每次启动软件,日志文件名称会自动进行累加,不会覆盖旧文件。
- 使用了 LVGL 作为 UI 显示串口配置和实时显示内存卡容量以及日志信息。
- 硬件预留了两颗指示灯、一个蜂鸣器、WIFI 的天线端子、调试和烧录串口。
这个模块我工作中也在使用,所以固件会不定期升级更新,未来会新增网络推送的功能。
主控采用的是芯之联 XR872,官方SDK深度开放,拥有丰富的应用级示例代码和文档,有兴趣的话可以进行二次开发。
四、硬件参数
- 供电: 使用 USB 5V 供电,可使用电脑 USB 口。
- TF卡:四线数据通信,支持容量最高可达 128GB。
- 串口相关参数:
- 波特率可支持:9600、19200、38400、115200
- 奇偶校验支持:不校验、奇校验、偶校验
- 数据位可支持:5位、6位、7位、8位
- 停止位可支持:1个校验位、2个校验位
五、使用说明
- 首次拿到模块之后需要进行固件烧录,烧录工具以及烧录文档会放到附件中,需要自行准备USB转串口的工具。
- 先按照需求修改配置文件来设置串口参数,如果配置文件不存在或配置错误将使用默认参数。配置文件内容参考附在文后。
- 准备好内存卡后,插入设备中,并给设备通电,模块会显示当前两路串口的配置信息以及内存卡的剩余容量,表示识别到内存卡。
- 按照示意图,将需要监听的设备调试串口,接入到设备当中,若串口有数据输入,显示屏会实时显示,并且会实时写入内存卡中。
- 若显示的数据为乱码,请检查所配置的串口参数是否与要监听的设备串口输出的一致,如波特率、数据位、停止位、奇偶校验等。
- 当不需要继续监听串口数据时,在断电后轻按内存卡,即可弹出内存卡,所有日志信息均保存在内存卡根目录中名为 log 文件夹。
;---------------------------------------------------------------------------
; 记之配置文件,应存放在内存卡根目录的 config 文件夹下,文件名位 user_config.ini
;---------------------------------------------------------------------------
;-----------------------------------------------------
; 串口配置
; baudrate(波特率): 9600 19200 38400 115200(默认)
; parity(奇偶校验): 0: 无校验(默认) 1: 奇校验 2: 偶校验
; databits(数据位): 5: 5个 6: 6个 7: 7个 8: 8个(默认)
; stopbits(停止位): 1: 1个校验位(默认) 2: 2个校验位
;-----------------------------------------------------
[uart1]
baudrate = 9600
parity = 0
databits = 8
stopbits = 1
;-----------------------------------------------------
; 串口配置
; baudrate(波特率): 9600 19200 38400 115200(默认)
; parity(奇偶校验): 0: 无校验(默认) 1: 奇校验 2: 偶校验
; databits(数据位): 5: 5个 6: 6个 7: 7个 8: 8个(默认)
; stopbits(停止位): 1: 1个校验位(默认) 2: 2个校验位
;-----------------------------------------------------
[uart2]
baudrate = 115200
parity = 0
databits = 8
stopbits = 1
六、备注说明
附件包含如下:
- 深度开放的 SDK 源码以及相关开发文档链接地址。
- 包含本模块所需的固件、烧录软件、烧录文档。
- 包含本模块的外壳 3D 打印模型,STL 格式。
- 包含本模块所需的线材和母座购买链接地址。
- 包含本模块所需的显示屏购买链接地址。
- 包含本模块的电子元器件位置图。
注意事项说明:
- 烧录固件需要自行准备 USB 转串口的工具,该模块是通过串口烧录固件。
- 使用前需先配置好文件,当前固件只在上电时加载配置文件,加载失败会使用默认参数。
- 使用顺序要求:插入内存卡 ---> 接通电源 ---> 接上串口。(运行期间尽量不要拔插内存卡)。
七、演示视频
记之-串口日志信息记录工具
第一次录制视频,不是很熟练,望大家见谅。视频中演示了两种不同的波特率以间隔 1ms 通过串口发送数据的使用情况。
视频中的那块绿色小板是 USB 转 8 路串口模块,取其中两路,电脑通过该转接板发送数据,模拟有两台设备输出日志信息。
八、固件更新记录
V1.0.2 (固件文件_v1.0.2_20220522.img)
1. 修复:显示屏上下两边出现细小彩边的问题。 2. 修复:显示不同宽度的文字时未能填满整个显示区域。 3. 新增:支持中文字符显示,(目前仅支持 UTF-8 编码)。 4. 新增:增加在调试串口输出当前固件版本信息。 5. 调整:屏蔽内部信息通过串口1、串口2输出。 6. 调整:关闭 LVGL 输出的调试信息,提升性能。
V1.0.1 (固件文件_v1.0.1_20220516.img)
启用内部看门狗,若出现意外情况导致系统崩溃,会复位系统自动恢复。
V1.0.0 (固件文件_v1.0.0_20220227.img)
发布的首个版本。