『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 3773|回复: 20

[经验分享] Esphome Uart Debugging 使用分享(远程串口抓包)

[复制链接]

6

主题

96

帖子

1647

积分

论坛技术达人

积分
1647
金钱
1536
HASS币
75
发表于 2023-7-24 21:44:20 | 显示全部楼层 |阅读模式
本帖最后由 idreamshen 于 2023-7-24 21:43 编辑

分享一个使用 ESP32 对目标设备串口 tx/rx 实现远程抓包的方案,主要用到了 Esphome UART 组件的 Debugging 功能。
使用场景:当无法使用有线进行目标设备串口抓包时,可用 ESP32 制作一个远程抓包工具

物料
软件:Esphome
硬件:ESP32 模组

Esphome 固件配置 yaml
uart:
  - id: myuart1
    rx_pin: 3
    baud_rate: 9600 # 自行修改
    debug:
      direction: RX
      dummy_receiver: true
      sequence:
        - lambda: UARTDebug::log_hex(uart::UART_DIRECTION_RX, bytes, ':');
  - id: myuart2
    rx_pin: 16
    baud_rate: 9600 # 自行修改
    debug:
      direction: RX
      dummy_receiver: true
      sequence:
        - lambda: UARTDebug::log_hex(uart::UART_DIRECTION_TX, bytes, ':');
更多内容参考:https://esphome.io/components/uart.html#debugging

硬件接线
ESP32 有两路 tx/rx 引脚,本方案中将使用到其 GPIO3 和 GPIO16 引脚,对应标识为 RX0 和 RX2
UART 0 TX GPIO1
UART 0 RX GPIO3
UART 2 TX GPIO17
UART 2 RX GPIO16

将目标设备的 TX 引脚连接 ESP32 的 RX0,将目标设备的 RX 引脚连接 ESP32 的 RX2。
目标设备 ESP32
TX RX0
RX RX2


ESP32 上电后就能从日志中看到目标设备的 TX/RX 引脚收发的数据包。大致如下:
[20:30:36][D][uart_debug:114]: >>> 01:03:00:FF:FF:FF:FF:FF:FF:FE
[20:30:36][D][uart_debug:114]: <<< 01:03:00:02:1C:03:1E:00:00:43
[20:30:43][D][uart_debug:114]: >>> 01:00:FF:FF:FF:FF:FF:FF:FF:FA
[20:30:43][D][uart_debug:114]: <<< 01:00:00:02:1C:03:1F:00:00:41
[20:30:44][D][uart_debug:114]: >>> 01:01:FF:FF:FF:FF:FF:FF:FF:FB
[20:30:44][D][uart_debug:114]: <<< 01:01:00:02:1C:03:1F:00:00:42
[20:30:44][D][uart_debug:114]: >>> 01:02:FF:FF:FF:FF:FF:FF:FF:FC
[20:30:44][D][uart_debug:114]: <<< 01:02:00:04:1A:01:1F:00:00:41

游客,如果您要查看本帖隐藏内容请回复





评分

参与人数 3金钱 +27 收起 理由
sorrypqa + 16 大神666!
book123 + 10 论坛有你更精彩!
lubaker + 1 感谢楼主分享!

查看全部评分

公众号+海鲜市场: 万能浇筑哥
回复

使用道具 举报

0

主题

25

帖子

172

积分

注册会员

Rank: 2

积分
172
金钱
147
HASS币
0
发表于 2023-10-4 20:53:00 | 显示全部楼层
谢谢分享
回复

使用道具 举报

1

主题

68

帖子

493

积分

中级会员

Rank: 3Rank: 3

积分
493
金钱
425
HASS币
0
发表于 2023-10-4 21:03:24 | 显示全部楼层
学习一下,谢谢分享!
回复

使用道具 举报

0

主题

4

帖子

128

积分

注册会员

Rank: 2

积分
128
金钱
124
HASS币
0
发表于 2023-10-22 00:14:40 | 显示全部楼层
学习学习~
回复

使用道具 举报

25

主题

224

帖子

1032

积分

金牌会员

007潜水了

Rank: 6Rank: 6

积分
1032
金钱
808
HASS币
0
发表于 2023-10-29 14:43:25 | 显示全部楼层
两个uart配置为什么都只设置了rxpin
回复

使用道具 举报

6

主题

96

帖子

1647

积分

论坛技术达人

积分
1647
金钱
1536
HASS币
75
 楼主| 发表于 2023-10-30 09:37:44 | 显示全部楼层
demacia 发表于 2023-10-29 14:43
两个uart配置为什么都只设置了rxpin

你要抓包的话,就需要两路rx pin
公众号+海鲜市场: 万能浇筑哥
回复

使用道具 举报

25

主题

224

帖子

1032

积分

金牌会员

007潜水了

Rank: 6Rank: 6

积分
1032
金钱
808
HASS币
0
发表于 2023-10-30 14:32:02 | 显示全部楼层
本帖最后由 demacia 于 2023-10-30 14:33 编辑
idreamshen 发表于 2023-10-30 09:37
你要抓包的话,就需要两路rx pin

哦哦,大概看明白了,意思是目标设备跟谁交互随便。这里的两个rx都是调试记录目标设备rx接收,和tx发送的信息。

(debug)rx连(目标)rx一下子没转过来
学到了
回复

使用道具 举报

0

主题

2

帖子

178

积分

注册会员

Rank: 2

积分
178
金钱
176
HASS币
0
发表于 2024-1-16 21:38:33 | 显示全部楼层

学习一下,谢谢分享!
回复

使用道具 举报

32

主题

146

帖子

1257

积分

金牌会员

Rank: 6Rank: 6

积分
1257
金钱
1111
HASS币
0
发表于 2024-2-28 21:50:53 | 显示全部楼层
如果将这个日志看到的数据反映到nodered上进行数据处理呢?
回复

使用道具 举报

32

主题

146

帖子

1257

积分

金牌会员

Rank: 6Rank: 6

积分
1257
金钱
1111
HASS币
0
发表于 2024-3-3 13:04:55 | 显示全部楼层
chaoself 发表于 2024-2-28 21:50
如果将这个日志看到的数据反映到nodered上进行数据处理呢?

同问,怎么才能把数据往外传
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-21 23:21 , Processed in 1.731349 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表