本帖是基于《TCP透传功能初探》一文为基础增加使用DTU设备来认识TCP透传功能,步骤如下:

步骤1:创建基于TCP协议的产品(略);

步骤2:创建设备,如下图:

QQ截图20170410094819.png (0 Bytes, 下载次数: 96)

下载附件

2017-4-10 10:07 上传

步骤3:上传LUA脚本,本例使用到的脚本文件如附件:

sample_20170410.rar

2017-4-10 15:55 上传

点击文件名下载附件

QQ截图20170410100509.png (0 Bytes, 下载次数: 118)

下载附件

2017-4-10 10:07 上传

步骤4:连接DTU设备,连接好天线,插入SIM卡,使用USB转232线连接到DTU设备RS232接口,使用USB转485线连接到DTU设备的RS485接口,如下图所示:

硬件连接事宜图.png (0 Bytes, 下载次数: 118)

下载附件

2017-4-10 14:56 上传

设备连接.jpg (0 Bytes, 下载次数: 118)

下载附件

2017-4-10 14:57 上传

数据拓扑图如下图所示:

拓扑图.png (0 Bytes, 下载次数: 119)

下载附件

2017-4-10 14:56 上传

说明:1、RS232接口是对DTU网络连接等参数的配置(本例中为串口COM10),RS485模拟终端485接口设备(本例中为串口COM11)。

2、PC使用485接口与DTU设备进行数据交换,DTU设备利用GPRS上传数据到平台。

步骤5:打开USR-GM3-V1.1.3.61.exe软件进行配置,配置如下:

设置.png (0 Bytes, 下载次数: 117)

下载附件

2017-4-10 14:56 上传

配置流程说明:

1、设置串口号、波特率(115200),8N1,并打开串口;

2、选择“网络透传模式”;

3、TCP服务器IP地址为:183.230.40.40 端口号为:1811;连接类型为:长连接

4、注册包发送方式:与服务器建立连接时向服务器发送一次;注册类型选择:自定义,并填写注册包,本例为:*84075#0001#sample*

登录鉴权格式为:*PID#AuthCode#ParserName*

其中:

PID为  产品ID

AuthCode为  鉴权信息(创建设备的时候所指定)

ParserName为  脚本名称(上传Lua脚本的时候所指定)5、完成参数设置后线点击进入【进入配置状态】按钮,再点击【设备并保存所有参数】按钮。

如果DTU设备上的LINK1灯点亮,则可在平台上设备已上线:

QQ截图20170410101859.png (0 Bytes, 下载次数: 117)

下载附件

2017-4-10 10:18 上传

登录鉴权成功后,平台会解析上传的LUA脚本,脚本中device_timer_init会启动一个定时器,会定时向DTU设备发送数据:

msg.png (0 Bytes, 下载次数: 97)

下载附件

2017-4-10 15:13 上传

DTU设备定时收到”hello,this msg from OneNet”符串:

发送数据.png (0 Bytes, 下载次数: 96)

下载附件

2017-4-10 16:40 上传

步骤6:上传数据,打开串口调试助手,此串口模拟485设备,连接到DTU设备485接口上,选择HEX发送,在数据填写16进制数据31 32 33 34

如上图所示,点击发送,这时平台中LUA脚本中的device_data_analyze会解析数据,

如源码:--------------------------------------------------------------------------------------------------

function device_data_analyze(dev)

local t = {}

local a = 0

--        local s = 0

-- 添加用户自定义代码 --

-- 例如: --

local s = dev:size()

add_val(t,"ds_test",0,dev:bytes(1,s))

-- return $1,$2 --

-- 例如: --

return s,to_json(t)

end

--------------------------------------------------------------------------------------------------

并且把上传的数据解析为JSON格式保存在平台上,数据流名为:ds_test,数据点则为我们发送的数据为字符串,内容为“31323334”,如下图平台中保存的数据:

平台数据.png (0 Bytes, 下载次数: 118)

下载附件

2017-4-10 16:41 上传

步骤7:使用API方法下发命令,

方法:POST

URL:http://api.heclouds.com/cmds

参数:device_id=5241585  //用户填写自己的设备ID

HTTP头部:api-key:Y=ye7vbatnOqDA0fYxirTVWPCY0=  //用户填写自己的APIKEY

HTTP内容:用户自定义数据:json、string、二进制数据(小于64K)

可使用Fiddler工具下发命令,如下图进行设置:

api3.gif (0 Bytes, 下载次数: 117)

下载附件

2017-4-10 14:55 上传

整个发送数据格式为(参考):

POST http://api.heclouds.com/cmds?device_id=5241585 HTTP/1.1

api-key: Y=ye7vbatnOqDA0fYxirTVWPCY0=

Host: api.heclouds.com

Content-Length: 6

123456------------------------------------------------------------------------------------------------------

DTU设备接收到平台下发命令后通过485通讯接口转发出来,利用串口调试助手可查看下发的命令:

485.png (0 Bytes, 下载次数: 155)

下载附件

2017-4-10 15:25 上传

至此我们就完成了一次使用DTU设备测试TCP透传功能,用户可按照自己私有协议编写LUA脚本来完成数据上传。此帖如有不足之处,请不吝赐教。

java tcp dtu_【分享】使用有人DTU设备接入OneNet(基于TCP透传)相关推荐

  1. java tcp dtu_使用有人DTU设备接入OneNet(基于TCP透传)

    本帖最后由 huizwang 于 2017-4-10 16:49 编辑 本帖是基于<TCP透传功能初探>一文为基础增加使用DTU设备来认识TCP透传功能,步骤如下: 步骤1:创建基于TCP ...

  2. java 接入到onenet_设备接入OneNET方法——卓岚物联

    <设备接入OneNET方法>-卓岚物联 发布时间:2020-04-27 作者:上海卓岚 浏览量:8356 1.设备接入OneNET OneNET是由中国移动打造的PaaS物联网开放平台.平 ...

  3. NBIOT 设备接入ONENET平台

    NBIOT 设备接入ONENET平台 一.ONENET平台的注册与配置 1.1.注册与创建产品 1.2.添加设备: 1.2.1 获取 IMEI 及 IMSI 二.连接NB-IOT 2.1 ONETET ...

  4. java初始化微信分享_微信开发(一)基于Wx-java的微信分享功能

    最近在做微信服务号开发,简单总结一下,便于自己学习积累和分享给大家: 环境介绍: Spring+ Spring MVC +Mybatis 开发语言: JAVA 微信公众平台的开发中,微信只公布了一个基 ...

  5. 设备接入ONENET(2)STM32 + ESP8266(MQTT协议)接入云 :使用 OneNET 官方麒麟座开发板例程

    重要提示:由于OneNET版本迭代,导致鉴权方式可能变更,若程序无法连接,请参考官方手册或再OneNET论坛搜索相关内容 一.麒麟镇官方资料 麒麟座官方资料整理帖子:开发板资料下载,(长期更新,首次使 ...

  6. 设备接入ONENET(3)STM32 + ESP8266(MQTT协议)接入云 :官方例程移植笔记(HAL+LL库)

    重要提示:由于OneNET版本迭代,导致鉴权方式可能变更,若程序无法连接,请参考官方手册或再OneNET论坛搜索相关内容 移植本意应该是指通过修改,使得运行原先在另一个平台可运行的程序. STM32C ...

  7. Java Socket编程 - 基于TCP方式的二进制文件传输【转】http://blog.csdn.net/jia20003/article/details/8248221...

    此人博客挺好的,推荐一个! 一个基于Java Socket协议之上文件传输的完整示例,基于TCP通信完成. 除了基于TCP的二进制文件传输,还演示了JAVA Swing的一些编程技巧,Demo程序 实 ...

  8. Java Socket编程 - 基于TCP方式的二进制文件传输

    一个基于Java Socket协议之上文件传输的完整示例,基于TCP通信完成. 除了基于TCP的二进制文件传输,还演示了JAVA Swing的一些编程技巧,Demo程序 实现主要功能有以下几点: 1. ...

  9. Java基于TCP(Socket)协议的网络语音聊天

    Java基于TCP协议的网络语音聊天 本聊天是基于tcp协议进行的,其本质为:本地录音->将录音通过网络编程转发给他人->他人进行录音的播放. 所需知识:多线程,基于tcp协议的网络编程 ...

最新文章

  1. IDEA集成Docker插件实现一键自动打包部署微服务项目
  2. 无法安装mysql server 2008_Windows Server2008安装mysql5.6出现程序无法正常启动(0xc000007b)...
  3. kaggle notebook在git push时附带用户民和密码(一行搞定,全部写在一行中)
  4. 为什么C和C++难以被取代?
  5. Visual Studio Online,带来四种开发模式,未来已来。
  6. 【CodeForces - 305C】Ivan and Powers of Two(思维,STL,set,优先队列)
  7. cairosvg在linux中的安装_直接用ISO文件在linux上安装新系统
  8. python list 元素位置_Python将list中某个元素移至末尾
  9. android学习笔记---1.为应用添加新的Activity,中使用Intent(意图),结果码,请求码,得到新打开Activity 关闭后返回的数据,Bundle类的作用
  10. 0e php若类型,0e开头MD5 python生成脚本 PHP哈希弱类型比较缺陷
  11. 从头开始复习css之选择器(中)
  12. Webstorm配置运行React Native
  13. 毕设系列之 -- 基于大数据的全国热门旅游景点数据分析与可视化
  14. AlphaGo的大脑 TensorFlow
  15. 在PSP上玩《大旋风 Twin Hawk》
  16. js模拟下雨js特效代码
  17. IP66 IP67 防护等级介绍
  18. 使用arcgis修改行政区划图边界
  19. 全网软件:高级信息搜索数据采集软件 InfoSeek FastSeek
  20. 思岚科技A1,A2雷达驱动安装

热门文章

  1. uniapp van-dropdown-menu 下拉后页面无法点击的问题
  2. 2018 OpenInfra Days China大咖来袭——开源,我们是认真的
  3. TiDB数据库要点及练习
  4. 第9章 maven的插件和生命周期
  5. 勒索病毒克星——No More Ransom
  6. OSGi动态拔插,动态部署,动态权限菜单
  7. IDEA同时同步代码到GitHub和Gitee
  8. python爬虫获取steam验证码
  9. 华为以新ICT构筑数字平台,为城市智能化赋予力量
  10. BG-sentry的安装和配置