APP下载

基于串口转WiFi的物联网终端远程控制实现方法

2017-02-27屈军锁

计算机测量与控制 2017年1期
关键词:终端设备串口远程

白 昊,屈军锁,孙 阳,占 伟

(西安邮电大学 通信与信息工程学院,西安 710121)

基于串口转WiFi的物联网终端远程控制实现方法

白 昊,屈军锁,孙 阳,占 伟

(西安邮电大学 通信与信息工程学院,西安 710121)

随着物联网技术的高速发展,对同一无线局域网内的设备进行控制时,存在传输距离短、可移动性差等缺点;针对此问题,提出了一种物联网终端远程控制的实现方法,采用串口转WiFi模块,通过Socket模式下的透传机制,传统的串口设备能够无线接入到互网络中基于MQTT消息传输协议的服务器上,完成数据的接收和发送,从而使终端设备突破无线通信距离的限制,达到数据交互和远程控制的目的;实验结果表明该方法正确、可靠,可广泛应用于智能家居、工业控制等领域。

串口;WiFi;远程控制;透传

0 引言

在与物联网终端设备通信中,有线通信方式可移动性较差,无线局域网方式通信距离较短,两者都难以满足人们对于设备远程控制和数据交互的需求。而计算机网络、通信和控制技术的发展使物联网设备在远程智能控制上成为可能。本文主要介绍了一种基于串口转WiFi的物联网终端远程控制的实现方法,通过串口转WiFi模块,将数据进行透明化传输,内置的TCP/IP协议栈和IEEE802.11协议栈,能够完成用户串口到无线网络之间的转换。终端设备通过能够访问互联网的无线路由器,连接到基于消息传输协议MQTT的服务器上,实现在移动设备上对物联网终端进行远程控制和数据交互,更大程度上实现信息化和智能化。

1 串口转WiFi的工作模式

当与物联网终端设备进行无线通信时,从通信的距离上可分为局域网通信和广域网通信,从拓扑结构上可分为自组网(Ad hoc)和基础网(Infra),此时WiFi模块分别工作在STA(Station)组网模式和AP(Access Point)组网模式。

AP即无线接入点,此时WiFi模块是一个网络的创建者,处于网络的中心节点,网络中所有的通信都要通过AP来实现数据的转发。结构如图1所示。

图1 AP模式结构示意图

STA即站点,无线通信网络中每一个的终端(如手机、笔记本、掌上电脑PDA等)都可以称作是一个站点。网络中所有结点的地位是平等的,无需设置任何的中心控制结点。网络中的结点不仅具有普通移动终端所需的功能,而且具有报文转发能力。结构如图2所示。

图2 STA模式结构示意图

串口转WiFi模块可工作于Socket通信模式或命令模式。

在Socket模式下,模块可工作在透传、Httdp Client、Websocket、SSL Client通信模式,串口转WiFi模块可实现通用同步/异步收发传输器UART(Universal Asynchronous Receiver/Transmitte)与网络设备之间的数据传输。在命令模式中,可使用AT(Attention)命令对模块进行UART的设置。

物联网设备进行远程通信时,WiFi模块工作在STA组网模式,串口转WiFi模块工作在Socket模式,无线路由器作为网络的总控中心。网络拓扑结构如图3所示。串口设备通过串口转WiFi模块将设备的MAC地址、ID、用户定义信息等注册数据打包进行Socket透传通信,数据经过路由器转发给外网服务器,通过服务器这个桥梁,与终端设备的2G/3G/4G网络或者WiFi网络形成一个完整的网络结构,从而达到远程控制和数据交互的目的。

图3 远程控制拓扑示意图

2 Socket模式下的透传通信机制

WiFi转串口模块的整体功能框图如图4所示。本文使用透传的通信模式实现物联网设备的远程控制和数据交互,交换网络无论传输的数据是什么,不会对其进行任何处理,只负责将需要转发的数据正确的传输到目的节点。与交换网络的介质、解调方式、传输方式和通信协议无关的一种数据传输方式。

图4 整体功能框图

2.1 UART组帧机制

WiFi转串口模块当接收到串口设备UART发送过来的数据时,会不断检查相邻2个字节的时间间隔。如果时间间隔大于设定的打包时间nms,则认为一帧的数据发送完毕,否则一直接收数据。组帧流程如图5所示。

图5 组帧示意图

2.2 透传模式

在透传模式下的Socket连接,可采用TCP或UDP两种方式。当模块UART接口写入数据时,模块会自动向Socket转发数据。而模块通过Socket接收的数据,都将通过UART接口发送出去。

当Socket设置成TCP Server状态时,Socket TCP Server模式下可支持最多3个TCP Client建立连接,当有第4个TCP Client接入时,会断开第一个Client的连接。在多TCP链路连接的情况下,从TCP传输的数据会被逐个转发到UART接口上。从UART接口上接收到的数据会被复制成多份,分别向每一个TCP 链接转发一份。

当Socket设置成UDP Server状态时,若串口先接收到数据,模块会将数据转发到已设置好IP和端口的服务器中,如果UDP Server接收到数据,模块会记录下发送数据的源地址,当串口接收到数据后,模块会向该地址转发数据。在UDP Client模式下,模块只向已设置好的IP和端口的服务器发送数据,并且也只能接收该服务器发送的数据,其他地址转发的数据将会被丢弃,不会转发到UART口。

在建立Socket连接前需先发送注册数据包,将设备的MAC地址、ID、以及用户定义信息发送给服务器。在TCP Client模式下注册包可以设置为连接时第一次发送或者在每个数据包前添加,而在UDP Client模式下注册包数据会在每个数据包前添加。

在透传模式下可开启加密功能。模块的串口接收到数据后进行加密处理,然后传输到Socket端。Socket端接收到加密数据时,模块对数据进行解密处理,然后将数据透传给串口。开启加密解密功能会增大网络数据传输的延迟时间,导致数据可能发生传输错误,需通过增大发送数据包之间的时间间隔来降低错误率。

3 远程控制的实现过程

物联网终端设备首次配置时,设备会通过串口转WiFi模块自建一个WIFI网络,以便将AP和服务器配置信息写入到终端设备中,完成远程设备的上线。当用户加入到该无线局域网后,会读取终端设备的基本信息,获取到相应的IP地址、端口号、MAC地址等信息,进行系统初始化。配置信息的写入可通过手动方式或者smart-config方式。配置好相应的工作模式、AP信息(服务集标识SSID、密码和加密方式)和服务器信息(IP地址、端口号)后,终端设备的信息将通过互联网注册到服务器上,实现终端设备连接到互联网服务器中。物联网终端设备配置流程图如图6所示。

图6 设备配置流程图

设备有服务器和客户机两种工作模式,在服务器模式下,串口转WIFI模块处于被动式联网状态,在每次数据交换之前,设备处于等待的状态,当有客户端发起连接邀请,才进行数据交换。在客户机模式下,串口转WiFi模块处于主动式联网状态,在每次数据交换前,由设备主动发起连接,然后再进行数据的交换。

在服务器端通过部署Apache apollo,使用轻量级的、基于代理的“发布/订阅”模式的MQTT消息传输协议。该协议具有简洁、开放、小巧和可靠的特点,特别适用于低带宽、不可靠连接,以及CPU内存资源紧张的嵌入式设备和移动终端上。

MQTT可分为MQTT消息代理和MQTT客户端,客户端直接使用MQTT协议与消息代理进行连接,结构如图7所示。发布/订阅是一种消息模式,消息的发布者与订阅者通过代理服务器中的特定的主题作为中介进行数据的交互,不需要通过TCP来建立直接的通信连接,消息发布者发送的消息会进入一个发送队列中;订阅者对于一个或多个类别表达兴趣,于是接收感兴趣的消息,而无需关心谁是消息的发布者,解除应用程序的耦合。此外,MQTT提供3个级别的Qos服务质量,使得客户端和服务器之间能准确无误的接收消息。

图7 MQTT架构图

4 效果验证与分析

首先终端设备上电后会进入默认的AP模式,自动组建一个SSID为TEST-Device的无线局域网络,如图8(a)所示。配置设备成功连接上该网络后,可对设备的工作模式和服务器进行设置,如图8(b)所示。输入无线路由器(可连接到互联网的AP设备)SSID和密码信息,如图8(c)所示,将配置信息写入到设备后,设备在服务器注册成功后即可连接到互联网服务器进行远程控制和数据交互。从互联网向设备发送的交互数据和远程控制信息,通过服务器转发给设备连接互联网的AP设备,AP作为设备的网络中心,将数据通过WiFi转串口模块转发给终端设备的串口模块。通过串口调试助手可将远程控制信息成功显示,串口显示如图9所示。通过实验验证,基于串口转WiFI模块的物联网终端远程控制方法可将客户端的控制命令通过服务器实时下发给设备端,实现物联网设备的远程控制。

图8 配置示意图

图9 串口显示测试

5 结论

基于串口转WiFi的物联网终端远程控制实现方法,不受位置和线缆的束缚,可移动性较好、交互性更强,可完成设备的数据传输和远程控制,使得设备间交互更加方便、快捷。该方法成本较低,可靠性高,可广泛应用于智能家居、工业控制等领域,具有良好的拓展性和通用性。

[1] Scaglia Sergio.潘琢金,译.嵌入式internet tcp/ip基础实现及应用[M].北京:北京航空航天大学出版社,2008.

[2] Richard Stevens W.范建华,译.TCP/IP详解卷1:协议[M].北京:机械工业出版社,2013.

[3] 任 亨,马 跃,杨海波,等.基于 MQTT 协议的消息推送服务器[J].计算机系统应用,2014,23(3):78-79.

[4] 杨海波,王默涵,贾正锋,等.面向移动互联网Presence/IM机制研究[J].小型微型计算机系统,2015,36.

[5] Banks A, Gupta R.OASIS Standard MQ[EB/OL].http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/mqtt-v3.1.1.html.

[6] In-Su Yoon,Sang-Hwa Chung,Jeong-Soo Kim. Implementation of Lightweight TCP/IP for Small,Wireless Embedded Systems[J].2009,53.

Remote Control of Internet of Things Terminal Implementation Method Based on Serial to WiFi

Bai Hao,Qu Junsuo,Sun Yang,Zhan Wei

(College of Communication and Information Engineering, Xi’an University of Posts & Telecommunications, Xi’an 710121, China)

With the rapid development of the Internet of things technology, control of devices in the same wireless local area network,there is a short transmission distance, poor mobility etc. To tackle this problem, here is one proposed remote control of Internet of things terminal implementation method, the serial to WiFi module, through the socket mode of transmission mechanism, the traditional serial port device can access the server based on the MQTT message transmission protocol in the Internet to complete the data sending and receiving, so that the terminal devices to break through the limitation of wireless communication distance, to achieve the purpose of remote data exchange and control. Experimental results show that the method is correct and reliable, and can be widely used in smart home, industrial control and other fields.

serial; WiFi; remote control; transparent transmission

2016-07-15;

2016-08-24。

白 昊(1992-),男,内蒙古巴彦淖尔人,硕士研究生,主要从事物联网技术及应用方向的研究。

屈军锁(1968-),男,陕西渭南人,教授,硕士研究生导师,主要从事宽带通信与信息化方向的研究。

1671-4598(2017)01-0149-03

10.16526/j.cnki.11-4762/tp.2017.01.042

TP393

A

猜你喜欢

终端设备串口远程
让人胆寒的“远程杀手”:弹道导弹
远程工作狂综合征
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
基于MAC 认证的终端网络准入控制系统方案*
浅谈AB PLC串口跟RFID传感器的通讯应用
视频监视系统新型终端设备接入方案
远程诈骗
船舶电子设备串口数据的软件共享方法
行车记录仪通信连接方法、行车记录仪及终端设备
电网终端设备信息安全研究