基于ESP8266的无线Mesh网络设计研究

2017-12-02 13:15杨伟彪
软件导刊 2017年11期

杨伟彪

摘要:随着无线网络技术、无线物联网的发展及各种智能设备的普及,智能设备间的信息交流越发重要,其中无线网络技术是其应用的关键。无线Mesh网络是一种自组多跳的新型无线网络技术,在对esp8266无线模块基本开发及无线Mesh网络相关技术的支持下,设计出可行的无线Mesh网络系统。通过简单的AT指令语言对该模块进行无线网络开发设置,分析无线Mesh网络中的信息传输过程,最终设计出一个无线Mesh网络框架。实例应用表明,该无线Mesh网络框架具有易安装、结构灵活、健壮等优势,在智能家居、物联网应用领域具有很高的实用价值。

关键词关键词:WiFi;ESP8266;无线Mesh网络;AT指令

DOIDOI:10.11907/rjdk.172250

中图分类号:TP393

文献标识码:A文章编号文章编号:16727800(2017)011021803

0引言

随着互联网的发展,各种智能设备逐渐普及,用户之间的信息传输逐渐由人与人扩展到人与物、物与物之间,而其中信息传输交流的关键就是无线通讯技术。无线通讯技术有很多种,应用最广泛和成熟的无线技术有ZigBee、BLE、WiFi、蓝牙等。它们各有所长,分别适用于不同的应用场景。本文研究的无线Mesh网络则是一种新型的多跳无线网络技术,可以实现多种异构网络的互联。目前,国内对该技术的研究较少,且大多是理论研究,实际应用涉及较少。

本文以ESP8266无线模块为基础,对其AT指令进行开发,再将多个开发设置好的无线模块合理安装布置,建立简单的无线Mesh网络模型。由于ESP8266具有AP+STA共存模式,因此各模块之间可以互相连接组成一个特殊的无线局域网,而外部的各种智能终端可以通过相关协议连接最近、最稳定的无线节点,若要连上外部互联网,只需将无线Mesh网络中的一个节点通过相关协议连接,则整个无线Mesh网络系统中的任何节点、设备都能访问互联网。若要添加新的无线设备,只需简单接上电源即可。

1ESP8266芯片

ESP8266由Espressif设计,凭借其高集成度、低功耗、廉价和易用性等特点,成为近年来无线物联网领域最受欢迎的一款芯片。ESP8266无线模块接口丰富,支持UART、PWM、GPIO、ADC等,具有3种天线接口形式:板载PCB天线、IPEX接口和邮票孔接口、板载PCB天线和IPEX。内置32位MCU,可兼作应用处理器,支持STA/AP/STA+AP 3种工作模式,内置TCP/IP协议栈,支持多路TCP Client连接,支持丰富的SocketAT指令,能耗超低,适合电池供电应用。ESP8266是一个完整且自成体系的WiFi网络芯片,当使用WiFi功能时,可以将其添加到任何基于微控制器的设计中,连接简单易行[1]。ESP8266拥有强大的数据处理和储存能力,可通过GPIO数据接口集成传感器,实现前期开发和运行中系统资源占用最小化。ESP8266最简单的芯片模型如图1所示。

图1ESP8266结构

2无线Mesh网络

无线Mesh网络也称为“多跳(Multihop)”网络,是一种具有自组织、结构灵活、高速率、易安装、性能稳定、价格低廉等优势的无线网状网络,是与传统无线网络完全不同的新型无线网络技术。在传统无线局域网(WLAN)中,每个终端都通过一条与路由器相连的无线路径访问网络,用户之间要进行信息传输,必须首先访问一个固定的接入点,这种网络结构被称为单跳网络。而在无线Mesh网络中,任何无线设备节点都可以同时作为AP和STA,网络中的每个节点都可以发送和接收信号,每个节点都可以与一个或者多个节点进行直接通信。它们传输信息的方式是将信息包从一个节点传递到另一个节点,直到信息包到达目的地。每个网状网节点接收要传给其它节点的信息包,并将它们再次传送出去。这种结构的最大优势在于:如果最近一条路径由于流量过大而停止工作,无线Mesh网络会自动改变信息包的路由,使它们穿过一条替代路径,则数据可以自动重新路由到一个通信流量较小的邻近节点进行传输,直至到达最终目的地,这样的访问方式就是多跳访问。与传统交换式网络相比,无线Mesh网络去掉了节点之间的布线需求,但仍具有分布式网络所提供的冗余机制和重新路由功能[2]。在无线Mesh网络里,如果要添加新的设备,只需简单接上电源即可,它可以自动进行自我配置,并确定最佳的多跳传输路径。添加或移动设备时,网络能够自动发现拓扑变化并自动调整通信路由,以获取最有效的传输路径。与传统单跳网络相比,无线Mesh網络具有以下优势:

(1)易部署和安装。安装无线Mesh网络节点非常简单,只需在合理位置将智能设备接上电源即可,因此,用户可以很容易通过增加新的节点扩大无线Mesh网络容量。在无线Mesh网络中,大多Mesh节点都不需用有线电缆连接。

(2)结构灵活。在单跳网络中,设备必须共享路由。如果有多个设备要同时访问网络,就可能产生通信拥塞并导致系统运行速度降低甚至崩溃。而在无线Mesh网络中,多个设备可以分别选取当前最优路径同时连接到网络,因此不会导致系统性能降低。

(3)高带宽。无线通信的物理特性决定了信息传输距离越短就越容易获得高带宽,因为随着无线传输距离的增加,各种干扰和其它导致数据丢失的因素随之增加。而无线Mesh网络的信息传输原理正是经多个短跳传输数据,因此其相比传统网络具有更高的带宽。

(4)非视距传输(NLOS)。利用无线Mesh技术可以很容易地实现NLOS配置,因此在室外和公共场所有着广泛的应用前景。首先与发射台有直接视距的用户先接收无线信号,然后将接收到的信号通过附近节点一步步转发给非直接视距的用户。因此,无线Mesh网络能够轻易扩大覆盖范围。

(5)健壮性。实现网络健壮性的方法通常是使用多路由器传输数据。如果某个节点发生故障,则信息由其它节点通过备用路径传送。而Mesh网络原理正是如此,因此它比单跳网络更加健壮[3]。endprint

3系统开发设计

3.1ESP8266硬件程序开发

由于ESP8266本身带有AT固件,因此可以串口转WiFi使用,采用AT指令进行基本开发。ESP8266模块可以工作在3种模式:STA、AP、AP+STA。将ESP8266芯片与USB转串口线连接好后,将USB接口与电脑连接,上电后,蓝色灯微弱闪烁后熄灭,红灯长亮。使用串口调试软件,对ESP8266芯片进行AT指令设置。设置好波特率为115 200,然后选择com号,打开串口,输入AT后,返回OK则ESP8266芯片正常。初始化ESP8266芯片,设置WiFi工作模式的AT指令为AT+CWMODE=3,此模式为AP+STA模式,然后设置WiFi相关参数,指令AT+CWSAP=,列出当前可用AP,指令AT+CWLAP,执行后终端返回当前可连接上的AP列表,或者知道AP的名字,则使用指令AT+CWJAP=,终端响应OK,则成功加入了该AP。指令AT+CWLIF可以查看当前加入该AP的设备IP地址及MAC地址。指令AT+CIPSTAMAC=设置STA的MAC地址,AT+CIPAPMAC=设置AP的MAC地址,AT+CIPAP=,设置AP的IP地址,AT+CIPSTA=,设置STA的IP地址。ESP8266芯片的WiFi设置如图2所示。

图2ESP8266WIIF设置

3.2无线Mesh网络框架设计

在整个无线Mesh网络中,信息传输过程如下:首先智能设备进入无线Mesh网络范围后,将自动搜索最近、信号最强的WiFi,输入密码后则连入了该无线Mesh网络,该设备若要与Mesh网络中的任何一个节点进行信息传输,则会首先向最近、信号最强的AP发送信息,然后该AP又会通过各种路由算法自动选择最佳的下一个AP节点传送信息,经过多次节点间的路由转发后,该信息最终到达目标节点。此信息传输的优势在于,如果最近的AP由于信息流量过大而导致拥塞,数据可以自动重新路由到一个通信流量较小的相对更佳的邻近节点进行传输。依此类推,数据包最终根据网络情况,不断路由到与之最近、最佳的下一个节点进行传输,直至到达最终目的地,其过程如图3所示。

图3信息传输

在设置好多个ESP8266芯片的WiFi参数后,将1号ESP8266芯片以STA连接上附近的路由器,由于ESP8266芯片具有AP+STA模式,因此其它ESP8266芯片可以互相连接,各芯片间的数据信息传输将通过相关路由协议合理选择最佳路径,1号芯片连接上路由器后,通过相关的网络协议连接上互联网,就组建成一个无线Mesh网络。当有其它设备接入该Mesh网络,将会自动选择最近、信号最强的AP,若该设备也具有AP功能,也可以让其它设备接入其WiFi。最终设计的无线Mesh网络框架如图4所示。实例应用表明,该无线Mesh网络框架具有模块化、多频、多信道、覆盖范围广、廉价、组网灵活、可靠性强等优势,在公共场所,物联网应用领域发展前景良好。

图4无线Mesh网络框架

4结语

本文基于ESP8266WiFi芯片的软硬件开发,研究设计了一个无线Mesh网络框架。该无线Mesh网络模型具有价格低廉、易安装部署、结构灵活、高带宽等优势,各种智能设备可以快速接入该Mesh网络,信息传输更快更好。通过本文研究,可以了解ESP8266芯片的AT指令开发。ESP8266芯片具有强大的WiFi功能,其具有开发简单、功耗低、价格低廉等优点。将该无线Mesh网络模型应用于各种实际场所,能够实现各种智能设备之间的信息访问和控制。该芯片及无线Mesh网络模型框架将在智能家居、公共场所、物联网等领域得到广泛应用。

参考文献参考文献:

[1]范兴隆.ESP8266在智能家居监控系统中的应用[J].单片机与嵌入式系统应用,2016(9):5253.

[2]方旭明.一代无线因特网技术:无线Mesh网络[M].北京:人民邮电出版社,2006.

[3]张勇,郭达.无线网狀网原理与技术[M].北京:电子工业出版社,2007.

[4]武一,南京娅,刘排.基于WiFi的家电智能控制系统研究[J].电视技术,2015,39(8):2224.

[5]吴功宜.智慧的物联网[M].北京:机械工业出版社,2010.

[6]刘化君.物联网关键技术研究[J].计算机时代,2010(7):46.

[7]谢希仁.计算机网络[M].第6版.北京:电子工业出版社,2013.

[8]刘强,崔莉,陈海明.物联网关键技术与应用[J].计算机科学,2010,37(6):14.

[9]EKRAM HOSSAIN,KIN K.LEUNG.易燕,李强,刘波,译.无线Mesh网络架构与协议[M].北京:机械工业出版社,2009.

[10]李菲.智能家居技术浅谈[J].科技致富向导,2015(5):180.

[11]罗伟,刘赐恩,倪有顺.基于ESP8266EX的无线寻物装置的设计[J].科技视界,2016(8):381382.

[12]郑彦光,徐平平,常瑞.无线Mesh网络技术及其应用[J].电力系统通信,2007(7):1720.

责任编辑(责任编辑:孙娟)