ThingsKit设备接入案例-畅维达通PN4800-TCP接入ThingsKit

PN4800-TCP接入ThingsKit

ThingsKit设备接入案例-畅维达通PN4800-TCP接入ThingsKit

1、准备工作

1-1、硬件设备准备

本次测试所需硬件为北京畅维达通PN4800网关,普锐森社温湿度变送器(扁卡轨壳485型)以及各类线材

ThingsKit设备接入案例-畅维达通PN4800-TCP接入ThingsKit

普锐森社温湿度变送器(扁卡轨壳485型),型号:PR-3008-WS-N01

购买地址:

ThingsKit设备接入案例-畅维达通PN4800-TCP接入ThingsKit
ThingsKit设备接入案例-畅维达通PN4800-TCP接入ThingsKit

北京畅维达通网关(本次测试使用),型号:PN4800-N1NN

购买地址:

ThingsKit设备接入案例-畅维达通PN4800-TCP接入ThingsKit

准备好设备后按照相关说明书接线,该网关以及传感器主要接入一组12VDC电源以及AB数据线,本次测试组网方式为以太网。

2、ThingsKit配置

2-1、新增转换脚本

根据设备实际情况需要新增网关上行脚本和网关子设备解析脚本:

2-1-1、网关上行脚本

💡 提示

本次测试网关上传平台数据不包含传感器地址码,所以将网关上行脚本获取网关子设备id写入子设备地址码。

ThingsKit设备接入案例-畅维达通PN4800-TCP接入ThingsKit
var teleData = {};
teleData.source = params;
slaveDevice = "02";			//调用平台默认网上行脚本后将slaveDevice赋值为地址码(字符串)
teleData[slaveDevice] = params;
out.datas = teleData;
out.telemetry = true;

💡 注意

每次创建脚本,脚本状态默认关闭,将脚本状态改为开启才能被调用。

💡 注意

本次修改网关上行脚本会导致,网关数据在线网关子设备就在线,原脚本则会保证网关即使在线但没有传对应网关子设备返回数据,网关子设备不会上线。

2-1-2、网关子设备解析脚本

💡 提示

本次测试网关只上传寄存器返回字节,网关子设备解析脚本要根据实际情况做调整。

ThingsKit设备接入案例-畅维达通PN4800-TCP接入ThingsKit
  var teleData = {};
  teleData.source = params;
  tempVal = params;
  teleData.wendu = (parseInt('0x'+tempVal.substr(4, 4))*0.1).toFixed(2);
  teleData.shidu = (parseInt('0x'+tempVal.substr(0, 4))*0.1).toFixed(2);
  out.datas = teleData;
  out.telemetry = true;
//本次网关返回数据示例:01d1011e

💡 注意
每次创建脚本,脚本状态默认关闭,将脚本状态改为开启才能被调用。

本次测试传感器相关说明:

ThingsKit设备接入案例-畅维达通PN4800-TCP接入ThingsKit

2-2、创建产品配置》》网关设备【TCP】方式

ThingsKit设备接入案例-畅维达通PN4800-TCP接入ThingsKit

💡 提示

如果需要查看网关上传至平台的原数据,请在网关产品添加标识符为source,类型为text的物模型。

ThingsKit设备接入案例-畅维达通PN4800-TCP接入ThingsKit

2-3、创建产品》网关子设备

ThingsKit设备接入案例-畅维达通PN4800-TCP接入ThingsKit

💡 提示

本处创建物模型中标识符需要与网关子设备解析处一致,物模型是返回数据展示界面。

ThingsKit设备接入案例-畅维达通PN4800-TCP接入ThingsKit

2-4、创建设备》网关设备

创建设备:

ThingsKit设备接入案例-畅维达通PN4800-TCP接入ThingsKit

💡 提示

若无组织可直接新增。

修改设备凭证:

ThingsKit设备接入案例-畅维达通PN4800-TCP接入ThingsKit

💡 提示

访问令牌需要与网关处一致,凭据类型必须为Access Token。

2-5、创建设备》网关子设备

💡 提示

网关子设备组织需与网关设备一致。

ThingsKit设备接入案例-畅维达通PN4800-TCP接入ThingsKit

3、PN4800网关配置

3-1、通过路由器查询设备ip

由于本网关设备第一次使用动态ip,所以需要将网关和电脑接入局域网,再由路由器等设备对照网关MAC地址查询其分配的ip地址

3-2、通过PC访问网关后台

确定网关当前ip后,在PC上使用ssh远程连接工具对设备linux后台进行访问

💡 提示

设备默认登录账号为root,默认登录密码为1,本次测试使用ssh远程连接工具为xshell。

进入设备linux后台后为了使用方便将动态ip修改为静态ip:

nmcli connection show			
//显示当前所有连接过的网络信息,找到eth0
nmcli connection modify 'Wired connection 2' connection.autoconnect yes ipv4.method manual ipv4.address 192.168.10.136/24 ipv4.gateway 192.168.10.1 ipv4.dns 8.8.8.8
//根据返回结果将eth0所属连接修改为静态ip,所有参数根据本地网络修改,本处只为参照
ThingsKit设备接入案例-畅维达通PN4800-TCP接入ThingsKit

3-3、登录Node-red界面

确定网关ip后,使用浏览器登录网关Node-red界面:

💡 提示

图中包含流程中已写好的流程,第一次使用只有厂家预设流程。

ThingsKit设备接入案例-畅维达通PN4800-TCP接入ThingsKit

3-4、设置TCP通讯

💡 提示

填写设备凭证的内容必须与平台一致,且每一个设备都有单独的凭证。

ThingsKit设备接入案例-畅维达通PN4800-TCP接入ThingsKit
ThingsKit设备接入案例-畅维达通PN4800-TCP接入ThingsKit

💡 提示

服务器的地址以及端口要根据实际情况填写平台的ip以及TCP端口。

💡 注意

本次测试在编辑inject节点时勾选了立刻执行于0.1秒后,所以部署流程设备立刻就上线了,如果不勾选此功能,则需要手动启用。

ThingsKit设备接入案例-畅维达通PN4800-TCP接入ThingsKit

3-5、设置数据上报

该章节讲解如何用网关获取测试传感器数据并将数据发送给服务器

ThingsKit设备接入案例-畅维达通PN4800-TCP接入ThingsKit

💡 注意

连接modbus-read节点是第二个,每一个节点输出结果可以用debug节点打印,在debug节点查看。

ThingsKit设备接入案例-畅维达通PN4800-TCP接入ThingsKit
msg.payload = msg.payload.buffer;
return msg;

💡 提示

使用该方法将modbus-red第二个节点返回的buffer数组封装了一次,如果不使用该方法传递到平台则为返回值的ASCCII转HEX的结果。

本次测试传感器相关说明:

ThingsKit设备接入案例-畅维达通PN4800-TCP接入ThingsKit
ThingsKit设备接入案例-畅维达通PN4800-TCP接入ThingsKit

💡 提示

本次测试已将传感器波特率设置为9600,地址位02,连接串口是网关RS485-1。

网关串口对应关系:

ThingsKit设备接入案例-畅维达通PN4800-TCP接入ThingsKit

4、验证数据

ThingsKit设备接入案例-畅维达通PN4800-TCP接入ThingsKit

💡 注意

如果操作以上步骤设备不上线,请检查网关和平台的相关设备,排查接线是否出错,最后重启网关。