本文介绍卓岚P2P物联网解决方案的原理、产品系列、使用方法等。
P2P是(Peer to Peer)的缩写,在计算机网络通信中P2P是相对于服务器/客户端模式而言的,通常的服务器/客户端模式下有一台强大的服务器接受大量的客户端的连接。当客户端之间需要通信的时候需要经由服务器转发。这种模式当客户端规模扩展到一定程度时对于服务器的CPU处理能力、带宽都是很大的考验。P2P技术可以让客户端之间直接通信,实现所谓的端到端(P2P)直接通信,此时中心服务器的负荷明显降低。
如图 1 所示,虽然P2P结构中也有一个“P2P验证服务器”,但是该服务器只是在两个客户端需要通信的前期做一个身份验证和牵线搭桥的作用,实际的数据交互都是在客户端之间直接进行的。
互联网应用中的下载工具BitTorrent、eMule,视频点播PPLive、迅雷,即时通信SkyPe、QQ都采用这种技术。随着物联网的兴起,上海卓岚将P2P技术引入到物联网中,并成功研发了P2P单芯片解决方案,把P2P硬件化、模块化,为实现万物互联的概念迈出了重要的一步,此解决方案已经申请了国家发明专利,仿冒必究。
物联网使用P2P技术有如下的几点优势。
第一,物联网应用中,接入网络的节点多、数量大。此时采用P2P技术可以有效降低中心节点的负荷。
第二,解决内网设备访问难的问题。物联网应用中采集、控制设备一般处于一个内网中,此时需要通过Internet访问这个内网设备一般有两种方法。(1)“动态域名”+“端口映射”。(2)架设服务器进行转发。
如图 2 所示,假设这里有一个物联网智能网关,它工作于TCP服务器模式,它具有一个内网的IP地址192.168.1.200,它通过一个路由器上网,路由器的内网IP是192.168.1.1,外网IP为116.1.2.3。当用户的手机在户外想要通过3G/4G(Internet)访问智能网关的时候用户其实并不知道当前路由器的IP地址,因为这个地址是随时可能变化的,此时就需要用到动态域名,比如在内网的一台计算机上登录动态域名软件(某些路由器内部也支持动态域名),此时用户手机可能可以通过访问类似abc.gicp.net这样的域名来实现访问路由器,但是为了让路由器将数据转发给物联网智能网关,还需要在路由器上做一个“端口映射”。但是某些路由器(比如电信定制网关)根本无法允许登录路由器进行配置,另外配置也需要较强的专业知识。使用卓岚P2P方案,可以借助P2P技术直接穿透路由器,在手机和智能网关之间建立通信,省去“动态域名”+“端口映射”的麻烦。
另一种方法是用户通过在互联网上租赁一台服务器,将物联网智能网关改为TCP客户端模式连接到这台服务器,手机也连接到这台服务器然后通过服务器转发,实际就是图 1 所示传统中心服务器模式。但是:
(1)架设服务器需要额外的费用,包括租赁费用和技术维护费用。
(2)需要用户在服务器上开发一套客户端服务器程序,系统开发和维护投入成本较大。
使用上海卓岚的P2P方案只要购买卓岚P2P芯片或者相关硬件产品,可以免费赠送计算机端软件,无需进行开发和租赁服务器。一次投入成本低,产品成熟稳定。
第三,某些项目,比如远程PLC监控、DCS系统中可能只有几个监控点,此时没有必要为这些独立的项目单独构建一个服务器。特别地,当这个采集点通过3G/4G DTU进行通信时,没有一个固定的IP,也难以安装动态域名软件,此时使用基于P2P的3G/4G DTU ZLAN8343N就非常方便。
卓岚P2P产品的特点:
1.专门为物联网通信设计的P2P方案,以提供硬件为主,包括3G、4G、以太网、Wifi、单芯片、模块等各类P2P产品。同时也提供相应的软件配套开发包和程序。
2.结合多年的P2P研究成果,具有先进地P2P网关穿透算法。
3.支持多主机访问,即多个用户同时向设备索要数据时,不会产生混乱。数据将按照先后次序发给所需要的用户。
4.支持Modbus TCP功能。在普通Modbus TCP转RTU设备基础上实现了P2P的远程Modbus网关功能。存储型的Modbus网关,数据自动采集并存储在设备内部,加快了访问/应答的速度。
5.支持用户名、密码方式访问设备,实现设备的归属管理,防止未授权用户的访问。
6.计算机通信时,支持虚拟串口,适合各类工业通信和远程数据采集系统。如果用户原来使用串口软件通信的,原来软件无需修改。
7.支持计算机(ZLVircom软件)、安卓手机、IOS手机连接设备,提供手机lib开发库。
8.一个设备可以建立多个P2P连接,一个P2P计算机软件可以连接多个设备。一个P2P连接可以支持同时建立多个TCP连接。
9.P2P建立以后,支持远程管理、设置、搜索设备,方便配置设备名称、波特率等。
10.支持P2P和传统的TCP服务器方式共用。在一个设备处于P2P通信的时候,同时用户也可以使用传统的TCP工具、软件向这个设备的IP的端口发起TCP连接,也就是说新的P2P产品兼容老的软件用法。另外如果搜索到设备是在局域网内部,则完全可以直接建立TCP连接,无需再通过P2P进行连接。
卓岚P2P产品系列中包含有硬件设备和芯片、软件开发包、开发板和计算机软件。P2P设备分为两大类:一类是将网络数据透传到设备RS232/485串口的;另外一类是可以将网络过来的数据转发给局域网中另外一个IP的网络设备的。
第一类包含大多数产品,将串口设备(RS232、RS485、UART)连接到P2P成品、P2P芯片的串口上, P2P上位机软件可以直接和这个串口进行通信。每一个卓岚P2P产品都具有一个全世界唯一的ID。当用户需要通过P2P通信的时候只要在手机、计算机上填写ID即可与设备建立P2P连接。此时从手机、计算机发送的数据将从硬件产品的RS232/RS485/UART串口输出,反之从串口收到的数据将发给、手机、计算机。在计算机端通过zlvircom工具可以通过虚拟的TCP端口或者虚拟的串口的方法进行通信,在手机上可以通过卓岚P2P 开发包进行通信。
第二类如图 3 所示是N2N产品,它一般用于代理转发局域网中TCP服务器端的网络设备的数据,实现基于P2P的Internet传输。特别适合于网口PLC的监控。
成品系列包括:3G/4G、以太网、Wifi 。3G/4G产品的型号为ZLAN8343N。一般来说3G/4G DTU都要通过中心服务器通信,即将采用的数据发给服务器,此时DTU作为TCP客户端。采用卓岚P2P后无需构建服务器,只要在上位机上添加这个ZLAN8343N的ID即可和8343N的串口进行收发通信。除3G/4G外,8343N也具有以太网通信功能。
ZLAN5143N是一款以太网的P2P转串口产品,只要接入以太网即可远程和5143N的串口进行收发通信。
ZLAN7144N和ZLAN5143N类似,但是它具有wifi和以太网两种通信方式。
为了能够将用户的串口设备、网络设备变为P2P设备,卓岚提供了P2P芯片ZLAN1043N和P2P模块。
芯片实现了基于P2P以太网转UART,可以方便、低成本地集成到用户设备内部。P2P模块分为以太网接口和WIFI/以太网双接口。用户可以根据需要进行选择,型号分别为ZLSN2043BN和ZLSN7044N。模块方案的设计比芯片要简便一些。
N2N产品,就是Net-to-Net的简称,型号为ZLAN7144N2。它实现对原有的内网网口设备的访问,而其它的P2P产品都是实现串口设备的访问或者P2P转串口。特别地,可以应用内网网口PLC的程序下载和升级。如图 3 所示,当有一个网口PLC需要通过Inernet访问时,在这个PLC的局域网内放置一个ZLAN7144N2,此时用户就可以在任何一个具有网络的地方访问这个PLC,无需对内网路由器做任何的配置。
如果用户希望自己架构一套完整的P2P系统,方便自己维护和管理,也可以购买卓岚的P2P服务器程序。卓岚提供详细的服务器配置方法、步骤和培训。购买P2P服务器软件的好处是,用户可以自己管理各个用户的设备归属和密码。无需再通过卓岚P2P平台添加设备ID、注册用户,客户品牌统一性好。
为了能够用户能够方便地开发出基于P2P硬件的手机软件,卓岚提供有P2P手机SDK开发包。分别有安卓和IOS平台,该开发包中不仅含有库文件和说明书,也有完整地基于该库的使用例子。对于简单的应用只要在例子基础上稍加修改就可以成为一个基于P2P的手机软件。
为了用户能够快速测试和检验P2P模块、P2P芯片的功能,并进行开发。卓岚提供有P2P SDK开发板。结合手机库可以开发出想要的远程智能采集和控制系统。详细参考开发板说明书。开发板上具有按键输入、模拟量采集、温度采集输入、继电器输出等。内嵌一个51 MCU,51MCU串口和P2P模块串口连接。可以方便用户开发基于自己的单片机控制程序。
这是一个windows版本的P2P设备管理和P2P虚拟串口工具。在这个软件里可以添加P2P设备的ID,并且将这个ID和某个虚拟的串口(比如COM5)绑定,这样用户的软件可以打开COM5和远处连接到P2P产品串口的RS485/232设备通信。通过zlvircom工具,你可以远程修改P2P设备的参数,如波特率等,也可以通过P2P远程升级程序。
这个软件是手机上的P2P管理软件,实现了zlvircom类似的功能,只不过它是在安卓和IOS手机上运行的,另外它不具有虚拟串口功能。用户的手机组态软件可以通过这个软件和远程的P2P设备建立TCP连接,特别地,用于建立Modbus TCP通信,采集远程设备的寄存器。
P2P产品的设备端基本无需设置。只要将设备上电,此时设备会从网络中获得一个ip地址,然后设备就等待远程的zlvircom等软件的通信了。如果设备已经就绪此时设备的LINK灯会蓝色闪烁,该指示灯方便用户检查设备是否处于正常状态。
如果需要更进一步的配置请注意以下几点:
1.用户可以自己关闭和开启P2P功能:方法是使用zlvircom搜索设备,进入设备编辑对话框。点击“更多高级选项”将“启用P2P”勾选择上或者取消。
2.注意一般工作模式需要选择为TCP Server模式,否则P2P功能会被自动禁用。
3.请注意设置正确的串口波特率等串口参数。
在计算机上运行具有P2P功能的zlvircom_p2p_pc软件,进入zlvircom的设备管理界面。点击 “P2P设备”弹出添加P2P设备对话框。
点击添加按钮,弹出添加P2P设备对话框。
输入设备ID用户名和密码。其中模拟端口是在本地计算机上虚拟一个TCP端口,这样计算机上的用户软件可以连接到这个虚拟的端口后发送和接收远程串口的数据。点击“添加”按钮。过一会儿就可以看到P2P的状态已经变为“内网”方式(是否为“内网”需要根据网络情况来定)。
此时点击返回,然后点击自动搜索可以和本地局域网设备一样去管理和修改P2P的设备。注意P2P设备的类型显示为“手动”。
卓岚P2P支持多个用户添加一个ID,添加后也可以允许多个TCP连接到同一个模拟端口。
如果不希望通过模拟的TCP端口访问P2P设备,而是使用虚拟串口访问设备,那么设置的方法和普通的串口服务器是类似的。即在设备管理对话框中选中一个设备,进入设备编辑对话框,然后将这个设备和某个虚拟串口(比如COM5)绑定即可。卓岚P2P虚拟串口同样支持自适应串口参数。
在很多应用,比如智能家居应用,需要多个用户去索要一个串口设备(即卓岚P2P产品的串口接的设备)的数据,此时需要将返回的数据准确地返回给询问者。不能够产生返回数据同时发给所有人的简单处理办法。此时就需要启用多主机功能。启用的方法是,进入设备编辑对话框的“更多高级选项”,勾选RS485多主机支持,填写多主机时间为256ms。
Modbus网关是一种将Modbus RTU(一般是RS485/232通信)通信转化为Modbus TCP(以太网/Wifi等)通信的转换器。在网络端,Modbus网关是一个TCP服务器,所以传统的方法想要通过internet访问Modbus网关是比较困难的。
卓岚的P2P系列产品都支持Modbus网关功能,即当它作为Modbus网关时,仍然可以通过远程P2P的方式实现通信。需要设置Modbus网关时,进入设备编辑对话框,在高级选项中将转化协议选择为“Modbus TCP转RTU”。
通过以上的介绍相信读者已经对卓岚P2P解决方案有了一个大概的认识。下面我们介绍几个典型的应用案例。
某智能家居公司,之前采用TCP服务器的方式智能家居网关,虽然在家里用户可以手机访问这个智能家居网关,但是如果在户外访问智能家居网关则比较麻烦。此时将卓岚的ZLAN1043N单芯片嵌入到该智能家居网关中,结合卓岚的安卓、IOS手机库可以方便的升级原来的手机软件。此后再也不用担心某些用户的路由器无法做端口映射的棘手问题。由于用户P2P设备较多,希望自己架设P2P验证服务器,用户从卓岚购买P2P服务器软件后组建了自己所有的完整的P2P系统。
某公司使用手机组态软件对某农业物联网项目进行监控,包括农业大棚的温度,控制浇灌等。但是此手机组态软件无法通过3G/4G访问物联网网关。此时采用卓岚ZLAN5143N,连接各种Modbus RTU的仪表和控制器。在手机上运行手机端P2P管理软件ZLP2pSDK,用户可以方便地在任何地方都可以监控农业大棚的状态。
某机械厂生产的机械上装有各类的PLC和触摸屏,其中有PLC和触摸屏都有网口和串口的。为了远程升级程序、调试程序经常需要派工程师到现场调试。通过安装ZLAN5143N后可以远程调试和升级串口PLC和串口屏,通过安装ZLAN7144N2后可以远程调试和升级网口屏。省去了出差的麻烦。
某公司做野外地质灾害和安全报警项目,由于在野外必须采用3G/4G网络。但是3G/4G网络的IP地址是变化的,需要采用上传到服务器的方法。但是该项目只有几个数据采集点,专门租赁一个服务器不合算,维护成本也高。在现场安装ZLAN8343N这个基于P2P的3G/4G DTU后立即解决了问题,成本低、实施方便、维护成本低。
某高校电子创意大赛,某参赛队伍需要制作一个自动化浇花系统,即通过手机、计算机软件自动能够控制家庭中的阳台的浇花系统。由于是创新、创业型项目,需要用最低的成本、最直接、最简便的方法实现该系统的网络控制部分。传统的TCP转串口方法难以实现外网访问内网设备。该团队使用了P2P开发板,P2P开发板上有自带的继电器,利用该继电器可以控制浇花电机。在卓岚手机P2P的demo基础上稍加修改,发送自己想要的控制指令。使用该开发板该团队快速地实现了创新项目。