近期OneNET上线了TCP透传功能,该功能旨在尽量弱化终端测软件为了适配协议而做的修改,将协议的解析功能放在了平台测,为的是更加方便用户的终端(特别是DTU)的接入。下面我们将以众山DTU为例,做一个简单的接入示例,该示例内容如下:\\ 1、终端DTU连接上OneNET平台;\\ 2、使用脚本实现周期性下发数据;\\ 3、使用脚本实现,平台将接收的字符串保存,并能够在平台数据流中查看;\\ 4、使用API向DTU下发指令。\\ ====== 具体流程 ====== 一.设备参数配置,将DTU云开关关闭,网络协议设置为TCP_Client,数据中心IP地址设置为183.230.40.40:1811。\\ {{:dtu-onenet:dtu1.png|}}\\ \\ 二.进入OneNET官网,注册账号,然后进去开发者中心,点击创建产品。\\ {{:dtu-onenet:onenet1.png|}}\\ \\ 三.创建产品(最后的协议选TCP透传就行)。\\ {{:dtu-onenet:onenet2.png|}}\\ \\ {{:dtu-onenet:onenet3.png|}}\\ \\ 四.上传脚本,此脚本让OneNET平台定时下发数据到DTU。\\ \\   **需要注意的是脚本名称很重要,在设备登录的时候需要用作参数**。\\   脚本下载:{{ :dtu-onenet:lua脚本调试.zip |}}\\ \\ {{:dtu-onenet:onenet4.png|}}\\ \\ {{:dtu-onenet:onenet5.png|}}\\ \\ {{:dtu-onenet:e1-1.png|}}\\ \\ 五.设备登录。设备登陆报文是在建立TCP连接之后,用于告知OneNET平台,该终端DTU对应的是平台上的哪一个设备,数据用何种方式进行解析。\\ \\ 格式为 ** *PID#AuthCode#ParserName* ** \\ 其中:\\ **PID** 为 **产品ID**\\ **AuthCode** 为 **鉴权信息**(创建设备的时候所指定)\\ **ParserName** 为 **脚本名称**(上传Lua脚本的时候所指定)\\ \\ 示例1:平台周期下发数据。\\ 本例所使用的PID为169428,鉴权信息为wifitest,脚本名称为example1(见第四步)。 {{:dtu-onenet:产品信息1.png|}}\\ {{:dtu-onenet:产品信息2.png|}}\\ \\ 发送登录报文为***169428#wifitest#example1***\\ \\ 登录鉴权成功后,可以看到设备指示灯变亮,说明连接OneNET成功,平台会解析上传的LUA脚本,脚本中device_timer_init会启动一个定时器,会定时向DTU设备发送一条“hello”报文。\\ \\ {{:dtu-onenet:e1-2.png|}}\\ {{:dtu-onenet:e1-3.png|}}\\ \\ 本例源码为:\\ \\ {{:dtu-onenet:源码1.png|}}\\ \\ 其中 dev:add(10,"dev1","hello") 定义了每10秒下发一包数据,内容为hello。\\ \\ \\ 示例2:向平台发送数据。\\ \\ 把例1函数device_timer_init(dev)中的内容注释掉,修改device_data_analyze(dev)函数的内容。\\ \\ {{:dtu-onenet:源码2.png|}}\\ \\ 然后上传到OneNET。\\ \\ {{:dtu-onenet:e2-1.png|}}\\ \\ 上传后需复位一下DTU,重新进行登录。\\ \\ 登录报文为***169428#wifitest#example2***\\ \\ {{:dtu-onenet:e2-2.png|}}\\ \\ 登录成功后发送字符串,OneNET平台会收到数据。\\ {{:dtu-onenet:e2-4.png|}}\\ \\ \\ 也可以通过平台向DTU发送数据。\\ \\ {{:dtu-onenet:平台下发1.png|}}\\ {{:dtu-onenet:平台下发2.png|}}\\ {{:dtu-onenet:平台下发3.png|}}\\ \\ \\ 示例3:API下发数据\\ \\ 方法:POST\\ URL:http://api.heclouds.com/cmds\\ 参数:device_id=41024770   /*用户填写自己的设备ID*/\\ HTTP头部:api-key:ECEDAdDxzeTpoAh7QW12kXdr3yo=   /*用户填写自己的APIKEY*/\\ HTTP内容:用户自定义数据:json、string、二进制数据(小于64K)\\ 可使用Fiddler工具下发命令,如下图进行设置:\\ \\ {{:dtu-onenet:api1.png|}}\\ \\ 整个发送数据格式为(参考):\\ ---- POST http://api.heclouds.com/cmds?device_id=41024770 HTTP/1.1\\ api-key: Y=ECEDAdDxzeTpoAh7QW12kXdr3yo=\\ Host: api.heclouds.com\\ Content-Length: 9\\ \\ \\ 123456789\\ ---- 点击Execute,向DTU下发数据,通过串口调试软件可以查看。\\ \\ {{:dtu-onenet:api2.png|}}\\