软网关的定义
网关分为软网关、网关,软网关是运行在平台的一个网关进程,网关是我们常见的硬件网关。 网关的作用是,有的设备不具备与平台直接通信的能力,需要借助网关连接到平台。比如串口设备需要先连接到网关,才能与平台通讯; 比如 HTTP 协议的设备,需要对接到软网关,才能将自己的 HTTP 协议转换为三三物联协议。
开发软网关的步骤
我们已提供了很多开箱即用的软网关,实现了 modbus、GB28181、DLT645 等设备协议的接入。
您也可以自己开发软网关。开发软网关一般要遵循以下步骤
确定需求
确定软网关实现的功能,一般软网关是做设备接入,那么您就需要了解接入设备,所需要采用的协议是什么,比如直接透传、http、coap、modbus、OPC UA等
了解三三物联协议
三三物联协议,指软网关和三三平台之间的协议,三三平台通过三三物联协议接入设备、网关,当然也包括软网关。实现软网关,实际就是把设备支持的协议转换为三三物联协议,从而将设备接入平台。所以连接三三物联协议,有助于您编写软网关。三三物联协议内容请查看 “协议和接口” 的 “三三物联协议” 章节。
您不熟悉三三物联协议,也没有关系,我们提供了 SDK, 使用 SDK 您可以很方便的将软网关接入三三平台,而不用了解三三物联协议细节。
使用 SDK 连接平台
使用我们提供的 SDK 您可以很方便的将软网关接入三三平台,而不用了解三三物联协议细节。
使用 SDK 和下位机通讯
使用我们提供的 SDK 您可以很方便的实现软网关与设备(即下位机)的通讯,SDK 提供多种通讯方式,包括 TCP 服务端、TCP 客户端、串口、MQTT、HTTP 等。
实现编解码
您只需要编写回调函数,注册到 SDK 中,就能够实现设备协议的编解码,实际上使用 SDK 后,您主要需要自己开发的,就是编解码部分。
编译和部署
编写完代码后,可将您的代码编译为二进制 (适用于 c、c++、go、rust ),或打包为 docker (适用于 java、python、nodejs 等需要解释器或虚拟机的语言)。
然后,您可以通过三三平台提供的应用市场功能,将软网关部署到三三平台。三三平台的 “应用市场” 提供了一套机制和环境,可以将您编写的应用安装到三三平台,提供用户使用,对于安装到三三平台的应用,三三会在启动时自动拉起、并进行守护。
如何具体完成这些步骤,请参考后续章节