2026 Make Blocks #4阶段2 - 基于W5500和ESP32的以太网蓝牙网关模块
该项目使用了W5500和ESP32,实现了以太网蓝牙网关模块的设计,它的主要功能为:W5500提供以太网接入,ESP32进行蓝牙扫描,可以为ESPHOME提供蓝牙网关功能。
标签
嵌入式系统
蓝牙
以太网
蓝牙网关
小小洋洋
更新2026-08-05
同济大学
157

一、项目任务与功能介绍

1. 原始任务

硬件TCP/IP以太网通信模块:设计一款基于硬件TCP/IP协议栈控制器的以太网通信模块,使MCU无需运行完整的软件TCP/IP协议栈,即可实现稳定的10/100 Mbps有线网络通信。

主要要求包括:

  • 采用W5500或同类硬件TCP/IP控制器;
  • 通过SPI接口与MCU连接;
  • 支持多路独立Socket;
  • 包含网络变压器和RJ45接口;
  • 使用25 MHz晶振;
  • TX±、RX±按照100 Ω差分对进行布线。

2. 本次项目功能

本项目在原始以太网通信模块的基础上增加了ESP32,设计了一款以太网蓝牙网关模块。

其中:

  • W5500负责有线以太网接入;
  • ESP32负责扫描周围的BLE设备;
  • ESPHome负责设备配置和数据转发;
  • Home Assistant负责蓝牙设备发现和数据展示。

该模块可作为Home Assistant的蓝牙代理,接收BTHome温湿度计、人在传感器、小米温湿度计等BLE设备的数据。


二、模块设计思路与器件选型

系统总体结构如下:

image.png

1. ESP32-C3:113991054 Seeed Technology Co., Ltd | 射频、RFID、无线评估板 - DigiKey

ESP32集成BLE功能,负责蓝牙扫描、ESPHome程序运行以及与W5500之间的SPI通信。

2. W5500:W5500 WIZnet | 控制器 - DigiKey

W5500内部集成10/100 Mbps以太网MAC、PHY和硬件TCP/IP协议栈,并支持8路独立Socket,能够降低ESP32处理网络协议的负担。

3. 网络接口

W5500通过中心抽头型网络变压器连接RJ45接口。网络变压器主要用于信号耦合、电气隔离和共模干扰抑制。


三、原理图与PCB设计

SCH_Schematic1_1-P1_2026-07-16.png

模块主要包括以下电路:

  • SEEED XIAO ESP32C3模块;
  • W5500及SPI接口;
  • 25 MHz晶振电路;
  • 网络变压器和RJ45接口;
  • 3.3 V电源电路;
  • 下载、复位和状态指示电路。

PCB_PCB1_2026-07-16.png

3D_PCB1_2026-07-16-2.png

3D_PCB1_2026-07-16.png

PCB设计中主要注意以下几点:

  1. W5500尽量靠近网络变压器放置;
  2. TX±、RX±按照差分对布线,并尽量等长;
  3. 差分对下方保持完整参考地平面;
  4. 晶振靠近W5500,走线短且对称;
  5. ESP32天线区域避免铺铜、走线和放置金属器件;
  6. 电源引脚附近放置去耦电容;
  7. RJ45接口附近预留静电防护器件。


本项目共制作了1版PCB,功能正常。


四、软件配置与调试

本项目使用ESPHome进行固件配置,并通过Home Assistant完成设备接入。

ESPHome的主要配置如下:

注意:api_encryption_key和ota_password需要配置成自己的,无需WiFi账号和密码

esphome:
name: seeed-xiao-c3-w5500
friendly_name: Seeed XIAO C3 W5500 Bluetooth Proxy

esp32:
board: seeed_xiao_esp32c3
variant: esp32c3
framework:
type: esp-idf

# =========================
# 日志
# =========================
logger:

# =========================
# Home Assistant API
# =========================
api:
encryption:
key: !secret api_encryption_key

# =========================
# OTA在线升级
# =========================
ota:
- platform: esphome
password: !secret ota_password

# =========================
# W5500有线以太网
# =========================
ethernet:
type: W5500

# SPI接口
mosi_pin: GPIO10
miso_pin: GPIO9
clk_pin: GPIO8
cs_pin: GPIO4

# W5500控制接口
reset_pin: GPIO2
interrupt_pin: GPIO3

# W5500 SPI通信时钟
clock_speed: 25MHz

# =========================
# BLE扫描
# 建议先使用ESPHome默认扫描参数
# =========================
esp32_ble_tracker:

# =========================
# Home Assistant蓝牙代理
# =========================
bluetooth_proxy:
active: true
connection_slots: 3

# =========================
# 设备在线状态
# =========================
binary_sensor:
- platform: status
name: "Gateway Status"

# =========================
# 以太网信息
# =========================
text_sensor:
- platform: ethernet_info
ip_address:
name: "Ethernet IP Address"

- platform: version
name: "ESPHome Version"

# =========================
# 运行时间
# =========================
sensor:
- platform: uptime
name: "Gateway Uptime"
update_interval: 60s

# =========================
# 远程重启
# =========================
switch:
- platform: restart
name: "Restart Gateway"

调试过程主要包括:

  1. 检查PCB焊接和电源是否正常;
  2. 检查ESP32是否能够正常启动;
  3. 检查W5500的晶振、复位和SPI通信;
  4. 插入网线并观察网络指示灯;
  5. 查看ESPHome是否成功获取IP地址;
  6. 在Home Assistant中添加该设备;
  7. 测试BLE设备是否能够被正常发现。

五、功能展示

  1. 焊接完成图:

image.png

image.png


  1. ESPHOME烧录后状态与logs:接入同一局域网的网线,状态变为在线,并成功获取了IP,我这里是192.168.10.214。

image.png

image.png


  1. HA配置:在设备中自动发现了该蓝牙网关,选择添加(密钥在ESPHOME中查看),添加后可以看到已经正确获取了信息。

image.png

image.png


  1. 蓝牙广播扫描:相比于WiFi版本的蓝牙网关,这个可连接设备从3个提升到了6个;并且轻轻松松扫描到30+的广播的信号。

image.png

image.png

  1. 蓝牙网关功能:自动解析一款自制的毫米波人在传感器的广播数据,该传感器使用BTHOME格式广播,可以看到正确解析了人在和光强。

image.png

image.png


六、复刻教程

复刻之前,请确保安装成功了Home Assistant和ESPHOME。有如下两种方式烧录固件:

  1. 自行编译与烧录:在ESPHOME中创建一个设备,复制上述的配置YAML或下载附件中YAML文件,按照页面提示进行编译和下载即可。其中api_encryption_key和ota_password需要配置成自己的。
  2. 使用已有固件烧录:如果不想自己编译,可以直接烧录附件中的固件,使用网页ESPHome Web进行设备连接和烧录即可。其中api_encryption_key为9RIV69t52HSDYNGO59XeKTvYX49wpmeKQ0wEc4FDHWU=,在添加至HA时需要输入。

七、心得体会

通过本次项目,我掌握了W5500以太网电路、ESP32最小系统、网络变压器和RJ45接口的基本设计方法,并加深了对差分布线、晶振布局、电源去耦和蓝牙天线净空的理解。

在调试过程中,应按照“电源、主控、SPI、以太网、Home Assistant、蓝牙设备”的顺序逐级排查,这样能够更快定位问题。

本项目不仅完成了原始的硬件以太网通信任务,还扩展实现了Home Assistant蓝牙网关功能,具有一定的实际应用价值。

后续可增加PoE供电、外置蓝牙天线、ESD防护和外壳设计,进一步提高模块的可靠性和工程化程度。

软硬件
电路图
附件下载
ProPrj_基于ESP32和W5500的以太网蓝牙网关_2026-07-16.epro
立创EDA专业版工程
ble-rpoxy-w5500-firmware.factory.bin
ESPHOME ESP32-C3固件
ble-rpoxy-w5500.yaml
ESPHOME 配置YAML
团队介绍
无
评论
0 / 100
查看更多
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号