---
title: "IoT gateway design based on hardware TCP/IP protocol"
url: "https://maker.wiznet.io/chen/projects/iot-gateway-design-based-on-hardware-tcp-ip-protocol/"
markdown_url: "https://maker.wiznet.io/chen/projects/iot-gateway-design-based-on-hardware-tcp-ip-protocol/md"
type: "UCC: User Created Content"
author: "21ic"
author_url: "https://www.21ic.com/article/913201.html"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "21ic"
original_url: "https://www.21ic.com/article/913201.html"
published: "2023-03-03"
language: "en"
likes: 3
views: 167
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# IoT gateway design based on hardware TCP/IP protocol

> IoT gateway design based on hardware TCP/IP protocol

Original author: 21ic (source: https://www.21ic.com/article/913201.html)

## Article

**[导读]**摘 要 ：针对小型智能家居等物联网应用场景，基于 STM32 嵌入式处理器及硬件 TCP/IP 协议网络芯片W5500 等，设计了一种支持 RJ 45，WiFi，蓝牙等多种接入方式的小型网关，分析网关的技术架构，阐明主要软、硬件模块以及接入 Yeelink 云端应用的实现方法。

0 引 言

小型智能家居应用系统的网关数据流量较小，接入方式多样，对成本要求较高，功能上一般比较精简。现今市面上的网关大多采用高端嵌入式处理器加操作系统设计，预置有丰富的应用软件，配置较高，导致成本高，不太适用于小型智能家居等应用场合 [1]。本文旨在利用高性价比 STM32 嵌入式处理器与基于硬件 TCP/IP 协议的 [W5500](https://www.21ic.com/tags/W5500) 以太网芯片等多种接入模块，实现成本低廉、接入方式多样的智能家居网关。

1 技术架构

智能家居网关的核心功能是路由与控制，需要通过WiFi，[蓝牙](https://www.21ic.com/tags/%E8%93%9D%E7%89%99)，RJ 45，RS 485 等接入方式与终端产品进行数据交互，实现网络配置、路由管理、数据转发、远程控制等功能 [2]。本文设计以小型智能家居应用系统为应用对象，以低成本、快速开发、多方式接入为主要需求点。根据功能需求，规划设计的技术架构如图 1 所示。

![基于硬件 TCP/IP 协议的物联网网关设计](https://www.21ic.com/uploads/36870/619ca9f303295.png)

网关硬件以 STM32F103CBT6 处理器为核心， 外 扩W5500 以太网模块、ESP8266 WiFi 模块、HC-05 蓝牙模块等，以便接入具有多种通信方式的智能家居终端产品，并在网关完成协议转换与数据转发。其中，以太网模块选用 W5500以太网控制器实现相应功能。W5500 是 WIZnet 公司开发的一款以太网控制器，它采用全硬件 TCP/IP 协议栈架构，集成了 10/100 M 以太网数据链路层（MAC）及物理层（PHY），支持 TCP，UDP，ICMP，ARP，IPv4，IGMP 及 PPPoE 协议，能提供 8 个独立的硬件 Socket 通信客户端，使得用户使用单芯片就能够在应用中实现以太网连接，缩短了开发周期，减少了成本 [3]。

（1）网关软件基于轻量级嵌入式操作系统 μC/OS-III实现。

（2）底层包含 W5500 以太网驱动、HC-05 蓝牙驱动、ESP8266 WiFi 驱动，以及其他 I/O 外设驱动。

（3）应用层则根据业务需求实现网络配置、协议转换、路由管理、数据转发、远程控制等。

2 主要硬件电路设计

2.1 主控模块

主控模块主要完成协议转换及数据转发功能。本文设计采用基于 M3 内核的 STM32F103CBT6 芯片作为核心处理单元，设计时钟电路、复位电路、启动模式选择电路、SWD仿真调试电路等 [4]。

2.2 W5500 以太网模块

基 于 W5500 的 以 太网模块电路如图 2 所 示， 由W5500 芯 片、10 bit/100 bit 网络工作模式选择电路、25 MHz 时钟电路、复位电路、SPI 接口及电源滤波电路构成。其中，W5500 的 SCSn，SCLK，MISO，MOSI 分别与STM32F103CBT6 的 PA4，PA5，PA6，PA7 连接，作为从机基于 SPI 接口与 STM32F103CBT6 的主机通信 ；W5500 通过差分信号 TX+，TX-，RX+ 和 RX- 连接隔离变压器的 RJ 45接口，与其他网络设备实现串行传输。

2.3 WiFi 及蓝牙模块

WiFi 及蓝牙模块电路如图 3 所 示。WiFi 模块由ESP8266 WiFi 模块及其电源控制电路构成，蓝牙模块采用HC-05 实现，两者均采用 2 线串口与 STM32 主控模块连接，并通过 AT 指令进行模块初始化配置与数据通信。最终形成的网关实物如图 4 所示。

![基于硬件 TCP/IP 协议的物联网网关设计](https://www.21ic.com/uploads/36870/619caaf174daf.png)

![基于硬件 TCP/IP 协议的物联网网关设计](https://www.21ic.com/uploads/36870/619cab1b3aa1b.png)

![基于硬件 TCP/IP 协议的物联网网关设计](https://www.21ic.com/uploads/36870/619cab2cebf94.png)

3 硬件驱动程序设计

3.1 W5500 网络驱动程序

W5500 是基于硬件 TCP/IP 协议的网络芯片， 通 过STM32 配置 W5500 的 SPI 接口及相关寄存器就可实现与网络的连接。W5500 驱动程序流程如图 5 所示。初始化 W5500需设置模式寄存器（MR）、中断屏蔽寄存器（IMR）、重发时间寄存器（RTR）、重发次数寄存器（RCR）；建立网络通信需配置本机硬件地址寄存器（SHAR）、网关地址寄存器（GAR）、子网掩码寄存器（SUBR）、本机 IP 地址寄存器 [5]（SIPR）。

3.2 WiFi 及蓝牙串口驱动程序

STM32F103CBT6 共有三个可独立使用的串口。本文设计中，COM1 留作备用，可连接 PC 或其他串口设备 ；COM2与 COM3 分别连接 WiFi 与蓝牙模块。串口配置流程如图 6所 示， 设计时钟配置、I/O 重映射， 设 置 Tx，Rx 的 I/O功能模式及 I/O 的 Speed，初始化串口模块，使能发送和接收中断，以及使能串口等。

![基于硬件 TCP/IP 协议的物联网网关设计](https://www.21ic.com/uploads/36870/619cab63bf077.png)

4 应用案例

基于前述网关及 Yeelink 云平台，可构建简单的物联网应用系统。下面以采集一路环境温湿度数据，并通过网络将数据上传至 Yeelink 云平台，再通过网页或 APP 访问相关数据的远程温湿度采集系统为例，介绍具体实现过程。首先按图 7 所示构建温湿度管理系统，该系统主要由温湿度传感器DHT11（前述 STM32 网关板载传感器）、物联网网关、网络环境及 Yeelink 云平台组成。

![基于硬件 TCP/IP 协议的物联网网关设计](https://www.21ic.com/uploads/36870/619cab8c20fbb.png)

搭建好硬件后，按照“初始化 DHT11，W5500 →配置网络连接参数→读取 DHT11 温湿度数据（次 /5 s）→将温湿度数据封装为 HTTP 数据包→连接 Yeelink 云平台→上传数据（POST 方式）”的步骤完成相关程序开发及软件配置，即可得到图 8 所示的 Yeelink 云平台温湿度采集界面。

![基于硬件 TCP/IP 协议的物联网网关设计](https://www.21ic.com/uploads/36870/619cabaca2d79.png)

5 结 语

本文针对精简功能型智能家居应用场景，基于 STM32嵌入式处理器及硬件 TCP/IP 协议网络芯片 [W5500](https://www.21ic.com/tags/W5500) 等，设计了一种支持 RJ 45，WiFi，[蓝牙](https://www.21ic.com/tags/%E8%93%9D%E7%89%99)等多种接入方式的小型网关。该网关采用硬件 TCP/IP 方案，可支持 8 个 TCP/IP 客户端访问并预留有多类接口，接入方便、性价比高，可用于小型智能家居及其他物联网应用系统的快速搭建。

---

Source: https://maker.wiznet.io/chen/projects/iot-gateway-design-based-on-hardware-tcp-ip-protocol/
