APP下载

基于硬件TCP/IP协议的物联网网关设计

2019-11-16沈翔

物联网技术 2019年10期
关键词:寄存器网关以太网

沈翔

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

关键词:网关;W5500;RJ 45;WiFi;蓝牙;TCP/IP协议;Yeelink云平台

中图分类号:TP39;TN274文献标识码:A文章编号:2095-1302(2019)10-00-03

0 引 言

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

1 技术架构

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

网关硬件以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所示。

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,初始化串口模块,使能发送和接收中断,以及使能串口等。

4 应用案例

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

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

5 结 语

本文针对精简功能型智能家居应用场景,基于STM32嵌入式处理器及硬件TCP/IP协议网络芯片W5500等,设计了一种支持RJ 45,WiFi,蓝牙等多种接入方式的小型网关。该网关采用硬件TCP/IP方案,可支持8個TCP/IP客户端访问并预留有多类接口,接入方便、性价比高,可用于小型智能家居及其他物联网应用系统的快速搭建。

参 考 文 献

[1]邹晓康,刘帅,张浩然.基于STM32嵌入式多协议网关设计[J].微型机与应用,2015(16):38-43.

[2]朱铨.铁路干线移动互联网的异构网络部署与流控关键技术研究[D].长沙:中南大学,2014.

[3]肖玺泽.云电子鼻平台开发及其在黄酒酒龄检测中的应用[D].杭州:浙江大学,2018.

[4]张馨龙.基于TMS320F28335的永磁同步电机控制器研究[D].北京:清华大学,2017.

[5]童存智,马钧华.多机伺服驱动系统中以太网和SERCOS总线的实现[J].轻工机械,2014(4):47-51.

[6]刘保君,尹长川.基于嵌入式Linux的传感器网络综合网关设计[J].物联网技术,2014,4(1):44-46.

[7]徐健丰.CNC压机无线传感器网关设计[J].物联网技术,2016,6(1):29-31.

[8]王昊,张延童,马超.基于TCP/IP协议的通信电源监控系统探究[J].中国新通信,2017,19(19):4.

[9]石荣水,山发军.基于TCP/IP协议的网络负载均衡软件的设计与实现[J].中国设备工程,2018(5):148-149.

[10]田兴宇.基于STM32的嵌入式加密链路机的设计与实现[D].哈尔滨:黑龙江大学,2018.

猜你喜欢

寄存器网关以太网
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
Lite寄存器模型的设计与实现
分簇结构向量寄存器分配策略研究*
谈实时以太网EtherCAT技术在变电站自动化中的应用
一种90W高功率以太网供电系统的设计
浅谈EPON与工业以太网在贵遵高速公路中的应用
应对气候变化需要打通“网关”
一种实时高效的伺服控制网关设计
基于Zigbee与TCP的物联网网关设计
高速数模转换器AD9779/AD9788的应用