基于硬件TCPIP协议的物联网网关设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2019年 / 第10期 物联网技术
可靠传输 Reliable Transmission
35
0 引 言
小型智能家居应用系统的网关数据流量较小,接入方式多样,对成本要求较高,功能上一般比较精简。
现今市面上的网关大多采用高端嵌入式处理器加操作系统设计,预置有丰富的应用软件,配置较高,导致成本高,不太适用于小型智能家居等应用场合[1]。
本文旨在利用高性价比STM32嵌入式处理器与基于硬件TCP/IP 协议的W5500以太网芯片等多种接入模块,实现成本低廉、接入方式多样的智能家居网关。
1 技术架构
智能家居网关的核心功能是路由与控制,需要通过WiFi ,蓝牙,RJ 45,RS 485等接入方式与终端产品进行数据交互,实现网络配置、路由管理、数据转发、远程控制等功能[2]。
本文设计以小型智能家居应用系统为应用对象,以低成本、快速开发、多方式接入为主要需求点。
根据功能需求,规划设计的技术架构如图1所示。
图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通过
收稿日期:2019-06-29 修回日期:2019-07-30
DOI :10.16667/j.issn.2095-1302.2019.10.009
基于硬件TCP/IP 协议的物联网网关设计
沈 翔
(成都工业职业技术学院,四川 成都 610213)
摘 要:针对小型智能家居等物联网应用场景,基于STM32嵌入式处理器及硬件TCP/IP 协议网络芯片W5500等,设计了一种支持RJ 45,WiFi ,蓝牙等多种接入方式的小型网关,分析网关的技术架构,阐明主要软、硬件模块以及接入Yeelink 云端应用的实现方法。
关键词:
网关;W5500;RJ 45;WiFi ;蓝牙;TCP/IP 协议;Yeelink 云平台中图分类号:TP39;TN274 文献标识码:A 文章编号:2095-1302(2019)10-0035-03
物联网技术 2019年 / 第10期
可靠传输 Reliable Transmission
36图2 W5500
以太网通信模块电路
图3 WiFi 及蓝牙模块电路
图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
差分信号TX+,TX -,RX+和RX -连接隔离变压器的RJ 45接口,与其他网络设备实现串行传输。
2.3 WiFi 及蓝牙模块
WiFi 及蓝牙模块电路如图3所示。
WiFi 模块由
ESP8266 WiFi 模块及其电源控制电路构成,蓝牙模块采用HC-05实现,两者均采用2线串口与STM32主控模块连接,并通过AT 指令进行模块初始化配置与数据通信。
最终形成的网关实物如图4所示。
2019年 / 第10期 物联网技术
可靠传输 Reliable Transmission
37
所示,设计时钟配置、I/O 重映射,设置Tx ,Rx 的I/O 功能模式及I/O 的Speed ,初始化串口模块,使能发送和接收中断,以及使能串口等。
图5 W5500
驱动程序流程
图6 串口配置流程
4 应用案例
基于前述网关及Yeelink 云平台,可构建简单的物联网应用系统。
下面以采集一路环境温湿度数据,并通过网络将数据上传至
Yeelink 云平台,再通过网页或APP 访问相关数据的远程温湿度采集系统为例,介绍具体实现过程。
首先按图7所示构建温湿度管理系统,该系统主要由温湿度传感器DHT11(前述STM32网关板载传感器)、物联网网关、网络环境及Yeelink 云平台组成。
图7 基于网关及Yeelink 云平台的远程温湿度采集系统
搭建好硬件后,按照“初始化DHT11,W5500→配置
网络连接参数→读取DHT11温湿度数据(次/5 s )→将温湿度数据封装为HTTP 数据包→连接Yeelink 云平台→上传数据(POST 方式)”的步骤完成相关程序开发及软件配置,即可得到图8所示的Yeelink 云平台温湿度采集界面。
图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.
作者简介: 沈 翔(1982—),男,研究生,讲师,成都工业职业技术学院教师,职业发展中心主任,主要研究方向为
电子信息工程技术。