尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

深度剖析眼动模块串口通信协议:0x5A 0xA5帧结构、命令字与校验和机制全解读

发布时间:2026/9/25 7:59:41

资讯中心
01
ARTICLE

深度剖析眼动模块串口通信协议:0x5A 0xA5帧结构、命令字与校验和机制全解读

深度剖析眼动模块串口通信协议:0x5A 0xA5帧结构、命令字与校验和机制全解读
深度剖析眼动模块串口通信协议0x5A 0xA5帧结构、命令字与校验和机制全解读【免费下载链接】eye-tracking-module源师兄扩展项目: 眼动模块 | 由源师兄组织创建项目地址: https://gitcode.com/yuanshixiong/eye-tracking-module眼动模块是源师兄组织打造的圆形屏外接扩展板通过串口UART通信控制屏幕上眼睛的形态与内容。本文带你完整解读它的串口通信协议0x5A 0xA5帧结构、常用命令字、校验和校验机制帮助新手快速看懂并上手控制。一、眼动模块能做什么根据 config.json 中的描述该模块的核心功能是通过串口控制眼动模块的眼睛状态。在图形化编程环境中你可以直接使用眼动模块分类下的现成积木见 category.json清屏颜色清屏或填充白色、红色、蓝色、绿色、黄色、橙色眼睛状态眼睛、眨眼、向上看、向下看、向左看、向右看、左下看、右下看积木的定义与 Python 代码生成逻辑位于 blocksdef.js而所有底层协议实现都集中在 library/CircularScreenExtend.py 这一个文件中。二、帧结构如何读懂一帧 0x5A 0xA5 数据设备发给眼动模块的数据都以帧为单位统一帧结构如下字节位置内容说明第 1~2 字节0x5A 0xA5帧头魔数接收方靠它识别一帧的起点第 3 字节长度命令字 数据的字节数第 4 字节命令字指定本帧要执行的具体操作第 5 字节起数据命令对应的参数最后 1 字节校验和对帧内数据的累加校验值 为什么用0x5A 0xA5做帧头这种不易在正常数据中出现的字节组合就是魔数Magic Number接收端在串口数据流中读到它就表示一帧新命令到来了。三、校验和机制如何保证一帧数据没被传坏串口线路易受干扰协议因此加入了简单高效的累加校验校验和 帧中校验字节之前的所有字节之和取低 8 位 0xFF以清屏命令为例整帧为0x5A 0xA5 0x04 0x01 颜色高 颜色低 校验和其中校验和 0x5A 0xA5 0x04 0x01 颜色高 颜色低的低 8 位。接收端收到后重新求和与末字节不符即判定丢包或串包丢弃该帧。在 library/CircularScreenExtend.py 中可以看到核心实现checksum sum(command_data) 0xFF command_data.append(checksum)⚠️ 细节提示0x22图片叠图标命令的校验口径略有不同仅对命令字 数据部分求和见build_image_icon_cmd手工拼帧时务必对照源码。四、命令字速查表5 个常用串口命令一览命令字功能数据内容0x04清屏 / 填充颜色1 字节参数 RGB565 颜色2 字节0x03显示内置图片图片 ID0~720x11画文字模式/字号 文字色 背景色 坐标 GB2312 文本0x21批量显示内置图标图标数量 各图标的地址、宽高、坐标0x22大图上叠加图标图片 ID、位置 图标列表几个新手容易踩坑的点颜色用 RGB565 格式源码rgb888_to_rgb565把 RGB888 压缩成 565 位再拆成高低 2 字节传输文字用 GB2312 编码含无法编码的字符时自动降级为 ASCII多字节数值是大端序坐标、地址等一律先发高字节、后发低字节内置资源模块闪存中预置了 4 张动物图标牛、兔、狗、蛇与 0~9 数字图标见icon_tables资源表五、代码如何组帧三步看懂原理以show_pic_command显示内置图片为例组帧只有三步拼出帧头0x5A 0xA5、长度、命令字0x03和图片 ID计算并追加校验和uart.write一次性写出整帧再延时 50ms 等模块处理你无需手工拼帧——library/CircularScreenExtend.py 已把每个命令的组帧逻辑封装成函数调用时只填参数即可。六、上手实战连接串口与常见问题串口选择默认使用硬件 UART2也可通过SUART函数指定软串口引脚P1 / P2 / P8 / P12 / P15 / P16发送后等待每条命令后都有 50ms 延时给模块处理时间不要连续快速刷屏调试口诀命令无响应时先查帧头写没写对再手工验算校验和眼睛状态的真相眨眼、看左看右其实是依次发送0x03命令切换不同图片 ID 实现的例如眨眼就是播放 0 → 19 → 20 → … → 25 → 0 的序列见eye_blink函数总结眼动模块的串口协议是一套经典的帧头 长度 命令字 数据 校验和结构用0x5A 0xA5标记帧起点用命令字0x03 / 0x04 / 0x11 / 0x21 / 0x22区分功能用校验和保障数据完整。掌握这套帧结构后你完全可以自定义新的眼睛状态与屏显内容全部实现可参考 library/CircularScreenExtend.py。【免费下载链接】eye-tracking-module源师兄扩展项目: 眼动模块 | 由源师兄组织创建项目地址: https://gitcode.com/yuanshixiong/eye-tracking-module创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。