kaiyun官方注册
您所在的位置:首页 > 模拟设计 > 业界动态 > 支持和Web服务器通信的物联网网关

支持和Web服务器通信的物联网网关

2017-06-22

  随着物联网的发展,越来越多的设备需要连接到云端。其中的设备有各类仪表、工业设备、采集设备、传感器,这些设备都以串口(RS232、RS485)居多,所以可以通过串口转TCP、串口转Wifi等物联网网关,将数据传输到云端。但是各种设备和云端服务器通信的时候由于协议不同,开发者需要开发各类后台程序以配合数据的转化和存储。

  新的“支持和Web服务器通信的物联网”网关可以直接使用POST、GET命令和Web服务器通信,用户只需要编写php代码就可以实现数据的转化和存储简化了物联网上位机接口的开发。

  此类物联网网关的最大优点是:节省了开发复杂度,网关可以直接以GET/POST指令和云服务器直接通信。

  原理

  下面讲一下此类网关的用法和原理。我们知道,当我们在浏览器中输入:以下链接的时候将以GET指令的方式向Web服务器提交数据。

  提交的数据内容为:

  该数据内容将直接发到Web服务器的(这里的服务器IP是192.168.1.180)80端口。web服务器上运行的php程序就可以正确读取到data=123456这样的数据。

  但是传统的透传式物联网网关的问题在于:

  1.      各类仪表发送给物联网网关的数据并不是标准的GET指令,所以物联网网关需要进行一个数据转化,比如在数据的前面增加GET /1.php?data=的数据,在后面增加HTTP/1.1等数据。

  2.      各类仪表发送的数据是十六机制数据,但是web服务器容易处理字符串string数据,所以需要将十六进制转化为字符串。

  实现方法

  卓岚ZLAN5143、ZLAN8343N等产品可以实现以上功能。使用步骤如下:

  1.      在计算机上编写一个配置文件,内容如下,然后下载到物联网网关内。

  注意这里的$符号就表示串口收到的数据,物联网网关收到数据后将会用串口收到的数据替换$,然后将这个配置文件的内容上传给web服务器,这样web服务器就可以按照GET指令的格式接收到串口数据。

  2.      如果需要先将数据格式从十六进制转化为字符串,则用#符号代替$符号来写配置文件。

  从这里我们看到此类网关不仅实现的是对Web服务器GET指令的支持,而且可以灵活设计,它是一种灵活地在串口数据前面增加前缀、后面增加后缀的通用方法。

  web服务器下发

  以上的方法只是实现了数据从串口到网络时,串口hex数据转变为GET命令的功能。但是如果Web服务需要按照GET命令下发数据,此时也需要将其中的某部分数据转发到串口。

  例如:当Web服务器向物联网网关(IP地址为192.168.0.200)的端口8080发送GET命令时,GET命令中的有效数据(这里是61626364656667)被转化为十六进制数据(abcdefg)从网关的串口输出,发给控制器、执行器。如下图所示:

  实现的方法是在原来的配置文件第一行增加:NFL: data=# HTTP/1.1,物联网网关在收到任何网络数据的时候将会搜索前缀data=和后缀HTTP/1.1,将中间的部分提取出来,并转化为十六进制从串口输出。

  Web服务器下发功能的实现,还得益于卓岚物联网在作为TCP客户端上传数据的时候,也可以作为TCP服务器接收Web服务器的下发连接和数据。

  总结

  能够直接和Web服务器以GET命令通信的物联网网关——包括下发和上发数据——可以大大降低云端程序的开发工作量,该类物联网网关方便了物联网网设备的集成和接入。


本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306116;邮箱:aet@chinaaet.com。
Baidu
map