【个人作品】记之-串口日志记录工具

一、作品简介

一款用于记录嵌入式设备的串口调试信息设备,目前可以同时支持两路串口输入数据,且串口参数可配置。

二、应用场景

  1. 需要实时记录产品在长时间运行过程中产生日志信息。(如产品在户外时)
  2. 需要实时记录多个产品在压力测试过程中产生的日志信息。(如产品批量老化压力测试)

三、作品概述

本模块主要解决了不方便长时间采集日志信息的场景,具备以下特点:

  1. 三路串口以及供电口均加入 ESD 保护。
  2. 具备串口输入的日志信息实时转存在外置的内存。
  3. 两路串口可以通过配置文件配置不同的串口参数。
  4. 具备在显示屏实时显示当前串口接收的日志信息。
  5. 具备指示灯,可指示当前两路串口和内存卡的工作状态。
  6. 具备在显示屏实时显示内存卡当前剩余容量以及工作时长。
  7. 该软件已经经过 24 小时双串口最高波特率通信的压力测试。
  8. 每次启动软件,日志文件名称会自动进行累加,不会覆盖旧文件。
  9. 使用了 LVGL 作为 UI 显示串口配置和实时显示内存卡容量以及日志信息。
  10. 硬件预留了两颗指示灯、一个蜂鸣器、WIFI 的天线端子、调试和烧录串口。

这个模块我工作中也在使用,所以固件会不定期升级更新,未来会新增网络推送的功能。

主控采用的是芯之联 XR872,官方SDK深度开放,拥有丰富的应用级示例代码和文档,有兴趣的话可以进行二次开发。

四、硬件参数

  1. 供电: 使用 USB 5V 供电,可使用电脑 USB 口。
  2. TF卡:四线数据通信,支持容量最高可达 128GB。
  3. 串口相关参数:
    1. 波特率可支持:9600、19200、38400、115200
    2. 奇偶校验支持:不校验、奇校验、偶校验
    3. 数据位可支持:5位、6位、7位、8位
    4. 停止位可支持:1个校验位、2个校验位

五、使用说明

  1. 首次拿到模块之后需要进行固件烧录,烧录工具以及烧录文档会放到附件中,需要自行准备USB转串口的工具。
  2. 先按照需求修改配置文件来设置串口参数,如果配置文件不存在或配置错误将使用默认参数。配置文件内容参考附在文后。
  3. 准备好内存卡后,插入设备中,并给设备通电,模块会显示当前两路串口的配置信息以及内存卡的剩余容量,表示识别到内存卡。
  4. 按照示意图,将需要监听的设备调试串口,接入到设备当中,若串口有数据输入,显示屏会实时显示,并且会实时写入内存卡中。
  5. 若显示的数据为乱码,请检查所配置的串口参数是否与要监听的设备串口输出的一致,如波特率、数据位、停止位、奇偶校验等。
  6. 当不需要继续监听串口数据时,在断电后轻按内存卡,即可弹出内存卡,所有日志信息均保存在内存卡根目录中名为 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

六、备注说明

附件包含如下:

  1. 深度开放的 SDK 源码以及相关开发文档链接地址。
  2. 包含本模块所需的固件、烧录软件、烧录文档。
  3. 包含本模块的外壳 3D 打印模型,STL 格式。
  4. 包含本模块所需的线材和母座购买链接地址。
  5. 包含本模块所需的显示屏购买链接地址。
  6. 包含本模块的电子元器件位置图。

注意事项说明:

  1. 烧录固件需要自行准备 USB 转串口的工具,该模块是通过串口烧录固件。
  2. 使用前需先配置好文件,当前固件只在上电时加载配置文件,加载失败会使用默认参数。
  3. 使用顺序要求:插入内存卡 ---> 接通电源 ---> 接上串口。(运行期间尽量不要拔插内存卡)。

七、演示视频

记之-串口日志信息记录工具

第一次录制视频,不是很熟练,望大家见谅。视频中演示了两种不同的波特率以间隔 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)

发布的首个版本。
posted @ 2022-07-29 15:11  Love_梦想  阅读(143)  评论(0编辑  收藏  举报