云平台与遥测端功能技术文档

**单个展开[项目三]里边所有设备(不包括RTU)**,主要是PC端,可布置于客户服务器 根据登录用户所属公司(一级公司)以及下属公司(二级以及再下级公司),展示最后一条数据

2026-07-04
云平台遥测数据采集远程监控

云平台功能描述

后台展示

单个展开[项目三]里边所有设备(不包括RTU),主要是PC端,可布置于客户服务器

实时数据

根据登录用户所属公司(一级公司)以及下属公司(二级以及再下级公司),展示最后一条数据 HTTPAPI函数:根据当前用户所在公司查询下级公司、项目,以及根据所选公司、名称查询最新一条数据

一级公司 设备一名称,编号,ICCID 历史 更新 曲线
项目二 详情二(当前数值) <该处项目采用label名称>
二级公司 详情三(单位) <该处项目采用label名称>
[项目三] 详情四(描述) <该处项目采用label名称>
项目四 设备二名称,编号,ICCID 历史 更新 曲线
三级公司 详情一(名称、当前数值、单位、描述)<该处项目采用label名称>
项目五 详情二(名称、当前数值、单位、描述)<该处项目采用label名称>
-------------------------------------------------
导出excel

历史曲线

HTTPAPI函数:根据设备_id以及起止时间查询历史数据 来自于实时数据页面跳转 曲线起止时间可以设定,默认最近24小时

测站管理

RTU管理(新增、修改、删除)

HTTPAPI函数:根据当前用户所在公司查询下级公司、项目,以及根据所选公司、名称新增、修改、查询、绑定所属RTU以及包含设备 根据登录用户所属(一级公司)以及下属(二级以及再下级公司)

搜索RTU 搜索编号 搜索ICCID 新增
项目一 RTU名称,编号,ICCID 详情 更新 修改 解绑
项目二 详情一(设备名称、设备编号、所属公司)
二级公司 详情二(设备名称、设备编号、所属公司)
[项目三] 详情三(设备名称、设备编号、所属公司)
项目四 详情四(设备名称、设备编号、所属公司)
三级公司 RTU名称,编号,ICCID 详情 更新 修改 解绑
项目五 详情一(设备名称、设备编号、所属公司)
详情二(设备名称、设备编号、所属公司)
项目管理(新增、修改、删除)

根据登录用户所属(一级公司)以及下属(二级以及再下级公司)

搜索项目 搜索编号 新增
项目管理 项目名称,编号 详情 更新 修改
详情一(设备名称、设备编号、所属公司、触发方式)
详情二(设备名称、设备编号、所属公司、触发方式)
详情三(RTU名称、RTU编号、所属公司、触发方式)<此处RTU也可作为设备的一种,从云函数处上报整理一致>
详情四(RTU名称、RTU编号、所属公司、触发方式)
项目名称,编号,ICCID 详情 更新 修改
详情一(设备名称、设备编号、触发方式)
详情二(设备名称、设备编号、触发方式)
设备管理(新增、修改、删除)

根据登录用户所属(一级公司)以及下属(二级以及再下级公司)

搜索设备 搜索编号 新增
设备管理 设备名称,编号、所属公司,ICCID 详情 更新 清除(同步RTU解绑)
设备名称,编号、所属公司,ICCID 详情 更新 清除(同步RTU解绑)
设备名称,编号、所属公司,ICCID 详情 更新 清除(同步RTU解绑)
设备名称,编号、所属公司,ICCID 详情 更新 清除(同步RTU解绑)

系统管理

企业管理(新增、修改、删除)

根据登录用户所属(一级公司)以及下属(二级以及再下级公司)

搜索企业 搜索编号 新增
企业管理 企业名称,编号,联系人,上级公司,联系电话 详情 更新 修改
企业名称,编号,联系人,上级公司,联系电话 详情 更新 修改
企业名称,编号,联系人,上级公司,联系电话 详情 更新 修改
企业名称,编号,联系人,上级公司,联系电话 详情 更新 修改
用户管理(新增、修改、删除、权限调整)

根据登录用户所属(一级公司)以及下属(二级以及再下级公司)

搜索名称 搜索编号 新增
用户管理 用户名称,头像,昵称,所属公司,联系电话 详情 更新 修改 权限
用户名称,头像,昵称,所属公司,联系电话 详情 更新 修改 权限
用户名称,头像,昵称,所属公司,联系电话 详情 更新 修改 权限
用户名称,头像,昵称,所属公司,联系电话 详情 更新 修改 权限

前端

同后台,主要是手机端,可布置于客户服务器。展示方法适应于手机屏幕

大屏

-定制,主要用于数据分析,主要是PC端,可布置于客户服务器

服务器

1、serverless服务器可以设置定时巡检函数,功能根据需求设置 2、serverless服务器托管前端页面并具备各种安全措施 3、serverless服务器布置CDN服务 4、数据库位于serverless服务器 5、API函数位于serverless服务器,分为client、admin、device 6、tcp云平台位于腾讯云服务器,并与serverless服务器建立关系 7、mqtt云平台位于腾讯云服务器,并与serverless服务器建立关系 8、实时互动前端与遥测端均需开启mqtt服务 9、服务器并发数:>100万/小时 10、响应时间<30秒 11、服务器数据库DRTUx;DBX;DEVICEX;Enterprise 12、云端校验设备编码与ICCID符合性,不符则拒绝,并返回状态 13、设备端首选http API连接,反馈可读性强 14、http遥测上传path:/router/device1/pub/adddata 15、MQTT订阅主题定义:/dev/RTU/ICCID/tx/json 16、其他SL651等由协议处理 17、设备激活方法: 云端设置ICCID参数 遥测端发送数据,如没有该ICCID则设置,作为激活

httpAPI

url:"http://device.czinv.com" 1、遥测端用/router/device1/pub/adddata


//上行
{
	"encry":false,//数据库加密
	"no":{
		"bsonType": "string",
		"description": "设备编码",
		"label": "设备编码",
		"trim": "both"
	},
	"name":{
		"bsonType": "string",
		"description": "设备名称",
		"label": "设备名称",
		"trim": "both"
	},
	"iccid":{
		"bsonType":"string",
		"description": "sim卡号",
		"label": "sim卡号"
	},
	"RTU":{
		"bsonType":"string",
		"description": "连接RTU编号",
		"label": "RTU编号"
	},
	"obj":{
		"bsonType": "object",
		"properties":{
			"0": {
				"dataType":{
					"bsonType":"int",
					"description": "数据类型",
					"label": "数据类型"
				},
				"label": {
					"bsonType":"string",
					"description": "名称",
					"label": "名称"
				},
				"unit":{
					"bsonType":"string",
					"description": "单位",
					"label": "单位"
				},
				"description":{
					"bsonType":"string",
					"description": "描述",
					"label": "描述"
				},
				"Value":{
					"bsonType":"array",
					"description": "数值",
					"label": "数值"
				}
			},
			"1": {
				"dataType":{
					"bsonType":"int",
					"description": "数据类型",
					"label": "数据类型"
				},
				"label": {
					"bsonType":"string",
					"description": "名称",
					"label": "名称"
				},
				"unit":{
					"bsonType":"string",
					"description": "单位",
					"label": "单位"
				},
				"description":{
					"bsonType":"string",
					"description": "描述",
					"label": "描述"
				},
				"Value":{
					"bsonType":"number",
					"description": "数值",
					"label": "数值"
				}
			}
		}
	}
}
//下行
{
	code:0,msg:"ok"
}

2、遥测端用/router/device1/pub/getpara(云端配置通过MQTT、websocket下发得到,不再通过http获取)


	//遥测端获取云端设置
	//上行
{
	iccid:""
	edit:"时间戳"//本地最后更新的时间,与云端比较,有更新时下载,var timestamp = new Date().getTime();
}
	//下行
{
	code:0,msg:"ok",data:{
		encod:RTU编码
		iccid:ICCID
		rtu_model:RTU型号
		rtu_factory:RTU生产商
		rtu_company:归属公司(当前账户所属公司)
		center_1:中心定义1{
			sim_channel:sim2选择
			protocol:上传协议
			/* [选择
				5:HJ212(TCP)
				4:SZY206(TCP)
				3:SL651(TCP)
				2:MQTT(JSON)
				1:HTTP(JSON)
				0:websocket
			] */
			port:端口号
			gprs:连接方式:
			/* [选择
				0:IP
				1:域名
			] */
			ip:IP地址
			url:域名
			path:API路径(仅http模式)
			apn:APN接入点
			heart:心跳时间
			user:用户名
			pass:密码
			code:遥测站分类码
			}
		center_2:中心定义2
			{... ...}
		serial_0:串口0{
			buad:波特率[2400,4800,9600,19200,38400 选择默认9600]
			parity:奇偶校验[无校验,偶校验、奇校验选择默认无校验]
			bits:数据位[7,8 选择默认8]
			stop:停止位[1,1.5,2 选择默认1]
			device:[
				{
					ID:仪器编号_id
					addr:协议地址
				},{
					ID:仪器编号_id
					addr:协议地址
				},
			]
		}
		serial_1:串口1{
			波特率
			奇偶校验
			数据位
			停止位
			通讯协议(MODBUS、其他专用协议)
			协议地址	(从口用)[输入字符]
			}
		device:[
			{
				ID:仪器编号_id
				addr:协议地址
			},{
				ID:仪器编号_id
				addr:协议地址
			},
		]
	}
}

device:{
	_id:绑定到RTU
	label:仪器名称,
	No:仪器编号,
	protocol:通讯协议
	sta:工作状态(开、关)
	gap:采集周期(毫秒),
	timeout:超时时间ms
	Endian_int_16:16位整数字节序
	Endian_int_32:32位整数字节序
	Endian_float_32位浮点数字节序
	Endian_CRC_32位浮点数字节序
	device_note:仪器注释
	retry:重试次数-------------------
	channel:[{
		reg:MODBUS区域01/02/03/04
		data_type:通道通讯协议
			/* [选择0-7
			0:16位有符号
			1:16位无符号
			2:16位-4位BCD
			3:32位有符号
			4:32位无符号
			5:32位-4位BCD
			6:32位浮点数
			7:64位浮点数
			] */
		local:通道地址
		rw:read/write/r_w[选择 读/写/读写]
		reference:仪表底数[输入数字]
		scale:true[选择]
		unit:单位[输入字符]
		doi:标志符[输入字符,16进制00-FF]
		ex_doi:扩展标志符[输入字符,16进制00-FF]					
	}]
				
}

3、/router/device1/pub/getdevice


//根据项目、公司查询多台设备参数
//上行
{
	parent_id:mould
}
//下行
{
	code:0,msg:"ok",data:{
		
	}
}

4、后端用/router/device1/pub/getdevice_one


	//获取企业或项目的设备列表以及该设备
	上行
	{
		mould:mould
	}
	//下行
	{
		label:设备名称,//来自PROJECT
		No:设备编号,//来自PROJECT
		trigger:发送方式:0,//来自PROJECT
		iccid:ICCID,//以下来自DB_1
		RTU:所属RTU,
		obj:数据{
			0:{
				label:
				unit:
				description:
				Value
			},
			FF02:{
				label:
				unit:
				description:
				Value
			}
		}
	}

5、/router/user/pub/login


//上行
{
	"username":xx,
	"password":xxxxxx
}
//下行
{
	"code": 0,
	"msg": "",
	"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiI2NjU3MjNiMmU3NDY1YTUwZjJkMjgwZmMiLCJyb2xlIjpbXSwicGVybWlzc2lvbiI6W10sImlhdCI6MTcxNjk4NjgwMiwiZXhwIjoxNzE3NTkxNjAyfQ.RrllBNzwJPeq5yeZ-WUYOqEPNHCl5DttJF3iOxJNlGM",
	"tokenExpired": 1717591602848,
	"uid": "665723b2e7465a50f2d280fc",
	"type": "register",
	"userInfo": {
		"_id": "665723b2e7465a50f2d280fc",
		"dcloud_appid": [
			"__UNI__DA978AF"
		],
		"my_invite_code": "NN36LV",
		"register_date": 1716986802842,
		"register_env": {
			"app_name": "",
			"app_version": "",
			"app_version_code": "",
			"appid": "__UNI__DA978AF",
			"channel": "",
			"client_ip": "183.199.128.179",
			"os_name": "",
			"uni_platform": "h5"
		},
		"username": "czl99",
		"status": 0
	},
	"username": "czl99",
	"errCode": 0,
	"errMsg": "",
	"message": "",
	"needUpdateUserInfo": true,
	"vk_uni_token": {
		"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiI2NjU3MjNiMmU3NDY1YTUwZjJkMjgwZmMiLCJyb2xlIjpbXSwicGVybWlzc2lvbiI6W10sImlhdCI6MTcxNjk4NjgwMiwiZXhwIjoxNzE3NTkxNjAyfQ.RrllBNzwJPeq5yeZ-WUYOqEPNHCl5DttJF3iOxJNlGM",
		"tokenExpired": 1717591602848
	}
}

6、/router/user/pub/register


//上行
{
	"username":xx,
	"password":xxxxxx
}
//下行
{
	"code": 0,
	"msg": "登录成功",
	"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiI2NjBkMDllY2NhYTFiY2I1NzllNmI3NTAiLCJyb2xlIjpbIuWkqeS7quezu-e7n-euoeeQhuWRmCJdLCJwZXJtaXNzaW9uIjpbInN5cy1wZXJtaXNzaW9uLXVzZXIiXSwiaWF0IjoxNzE2OTg2ODc5LCJleHAiOjE3MTc1OTE2Nzl9.ad1dTBfsgbNj4iZjp-xZXsHlWndeUU5WpQZD0nvgoDc",
	"uid": "660d09eccaa1bcb579e6b750",
	"username": "TYADMIN",
	"type": "login",
	"userInfo": {
		"_id": "660d09eccaa1bcb579e6b750",
		"dcloud_appid": [
			"__UNI__EE86733",
			"__UNI__DA978AF"
		],
		"mobile": "19999999999",
		"mobile_confirmed": 1,
		"register_date": 1712130540040,
		"role": [
			"天仪系统管理员"
		],
		"username": "TYADMIN",
		"allow_login_background": true,
		"gender": 0,
		"nickname": "天仪管理用户",
		"status": 0,
		"last_login_date": 1716986879707,
		"last_login_ip": "183.199.128.179",
		"login_ip_limit": [],
		"Enterprise": "沧州天仪仪器仪表有限公司"
	},
	"tokenExpired": 1717591679707,
	"errCode": 0,
	"errMsg": "",
	"message": "",
	"needUpdateUserInfo": true,
	"vk_uni_token": {
		"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiI2NjBkMDllY2NhYTFiY2I1NzllNmI3NTAiLCJyb2xlIjpbIuWkqeS7quezu-e7n-euoeeQhuWRmCJdLCJwZXJtaXNzaW9uIjpbInN5cy1wZXJtaXNzaW9uLXVzZXIiXSwiaWF0IjoxNzE2OTg2ODc5LCJleHAiOjE3MTc1OTE2Nzl9.ad1dTBfsgbNj4iZjp-xZXsHlWndeUU5WpQZD0nvgoDc",
		"tokenExpired": 1717591679707
	}
}

7、/router/device_1/enterprise/sys/add


//上行
{
	"parent":"",
	"name":"",
	"contact":"",
	"zip_code":"",
	"wx":"",
	"tel":"",
	"email:",
	"facsimile":""
}
//下行
{
	code:0,msg:"ok"
}

8、/router/device_1/enterprise/sys/delete


//上行
{
	"_id":""
}
//下行
{
	code:0,msg:"ok"
}
	9、/router/device_1/enterprise/sys/getlist
//上行
{
	
}
//下行
{
	
}
	10、/router/device_1/enterprise/sys/update
//上行
{
	"_id":""
	"parent":"",
	"name":"",
	"contact":"",
	"zip_code":"",
	"wx":"",
	"tel":"",
	"email:",
	"facsimile":""
}
//下行
{
	code:0,msg:"ok"
}

11、//获取当前用户公司信息


	在登录页面获得,vk.setVuex('$user.enterpriseInfo', enterprise);
	vk.getVuex("$user.userInfo.Enterprise")
	this.avatar = vk.getVuex("$user.enterpriseInfo")[0]

12、//获取RTU信息 13、//获取指定最后一条设备信息 14、//获取指定时间、设备的信息

云端、遥测主要功能

设备分配

1、后台设置,注意ICCID为核心要素 2、扫码(如已分配需要解绑方可再次分配)

设备添加方法

1、遥测设备预置方法:扫码添加,设置设备归属公司和项目 2、云端设置,遥测设备根据ICCID下载,云端设置设备归属公司和项目 3、遥测端手动触发下载设置,触发方法:触摸屏、PIN引脚、USART触发 4、遥测端USART调试口设置规则:上电30秒内为调试口,期间如果有成功通讯,则定义为调试口。否则超期转为正常口

用户注册

1、云端分配用户名(后台前端) 2、前端APP注册(前端)。云端分配所属企业(可选) 3、前端注册类型:用户名密码,微信,手机短信

用户查看

1、具备所属企业用户可以查看当前公司以及下级公司所有数据 2、否则,只可以查看当前设备扫码数据

多租户管理

1、当前用户可用建立分公司、项目、设备,分公司也可建立下级分公司、项目、设备 2、可管理当前公司以及下级公司、项目、设备 3、多租户分级分层管理 4、租户权限设置管理 5、租户可以由上级用户-建立-删除-权限调整

公司/项目新建修改

1、可以新建当前用户公司下建立分公司、项目 2、可以以公司/项目分组查看设备信息 3、上级公司自动根据当前账户生成 4、如没有归属分公司或者项目、设备可以删除

外接设备开发

1、预制多种仪表程序 2、云端增加仪表程序,云端更新设备接入种类、型号 3、云端编辑设备串口、MODBUS地址、数据解析,非遥测设备预制仪表协议云端开发下载使用 4、一个RTU下可以驱动一个或者以上设备 5、管理以设备名称、编号为准,RTU透明

数据上报方式

1、定时上报 2、数据变化上报 3、触发需大于触发预置

数据上传协议

1、云端设置 2、http,mqtt,sl651,等等

实时数据

1、曲线展示 2、表格展示

历史数据

1、曲线展示 2、表格展示 3、批量导出excel

前端二次开发

1、APP开源,可编辑为APP、web、微信小程序,百度小程序,京东小程序,支付宝小程序 2、免费中性APP可用 3、大屏定制开发:展示可用可用于各种分析方法 4、按照公司、项目展示数据,可微信分享 5、扫码查看当前设备实时数据

数据转发

1、其他平台可通过HTTP API获取实时数据 2、其他平台可通过HTTP API获取一年内历史数据

设备管理

1、云端设备编辑(已激活状态下) 2、设备激活(预制设备) 3、上网卡查询

多重预警

1、微信推送 2、手机短信 3、电子邮件 4、HTTP交互等多种方式进行预警提示

云端MODBUS参数设置

{可定义以及调入模板,模板为单独数据库}


D_RTU(管理端设置ICCID参数后测站端根据ICCID下载改设置;测站端预编辑好后定时上传无需下载){
	moudl:模板名:RTU型号+xxx(存储于D_RTU_MOULD)
	encod:测站编码(模板时为null)[输入数字]
	iccid:ICCID(模板时为null)[自动获取]
	rtu_model:RTU型号[输入字符]
	rtu_factory:RTU生产商[输入字符]
	rtu_company:归属公司(当前账户所属公司)(模板时为null)[设置时自动获取账户所属公司,获取不到时提示激活失败]
	edit:"时间戳"//与上传比较,有更新时下载var timestamp = new Date().getTime();
	"position":{
		"longitude":longitude,
		"latitude":latitude,
	}
	center_1:中心定义1{
		sim1_en:sim1使能[X]
		sim2_en:sim2使能[X]
		protocol:上传协议:[选择
			4:HJ212(TCP)
			3:SZY206(TCP)
			2:SL651(TCP)
			1:MQTT(JSON)
			0:HTTP(JSON)
		]
		port:端口号[输入数字]
		gprs:连接方式:[选择
			0:IP
			1:域名
		]
		ip:IP地址[输入字符]
		url:域名[输入字符]
		path:API路径(仅http模式出现)[输入字符]
		apn:APN接入点[输入字符]
		heart:心跳时间[输入数字]
		user:用户名[输入字符]
		pass:密码[输入字符]
		code:遥测站分类码	(MQTT\http不出现)[输入数字]	
		}
	center_2:中心定义2
		{... ...}
	center_3:中心定义3
		{... ...}
	center_4:中心定义4
		{... ...}
	center_5:中心定义5
		{... ...}
	center_6:中心6为固定服务器参数设置通道
		{sim1使能
		sim2使能
		上传协议:HTTP/https(JSON)
		端口号:80/443
		连接方式:域名
		域名:device.cinv.com
		API路径:/router/xxxxx
		APN接入点}
	serial_0:串口0{
		mode:主从定义(上电30秒默认调试,期间有成功通讯定位为调试,否则改为正常)[
			0:从
			1:主
			]
		Serial:串口号[选择
			0:串口0
			1:串口1
			]
		buad:波特率[2400,4800,9600,19200,38400 选择默认9600]
		parity:奇偶校验[无校验,偶校验、奇校验选择默认无校验]
		bits:数据位[7,8 选择默认8]
		stop:停止位[1,1.5,2 选择默认1]
		protocol:通讯协议(MODBUS、其他专用协议)[MODBUS选择]
		addr:协议地址(从口用)
		}
	serial_1:串口1{
		主从定义(上电30秒默认调试,期间有成功通讯定位为调试,否则改为正常)
		串口号
		波特率
		奇偶校验
		数据位
		停止位
		通讯协议(MODBUS、其他专用协议)
		协议地址	(从口用)[输入字符]
		}
	device:[
		DEVICE.json modbus设备定义_id,DEVICE.json modbus设备定义_id//遥测端http获取时,_id转为实际JSON
	]//需要新转增,不固定,发送单元
}
<DEVICE.json>
	modbus设备定义(名称,公共){
		mould:构建公司,public(为公共模板)
		label:设备名称[输入字符]
		No:设备编号[输入字符]
		trigger:发送方式:[选择]
		[
			0:定时
			1:数值变化
		]
		gap:采集间隔(分钟)[输入数字,最小0.1]
		data:[{
			label:名称[输入字符]
			description:描述[输入字符]
			doi:标志符[输入字符,16进制00-FF]
			ex_doi:扩展标志符[输入字符,16进制00-FF]
			serial_NO:串口号[输入数字]
			local:true[是否本RTU]
			addr:MODBUS地址[输入数字]<local=true时指示通道号>
			reg:MODBUS区域[选择 01 线圈/02 离散/03 保持/04 输入]
			rw:r/w/r_w[选择 读/写/读写]
			dataType:数值类型[选择0-7
				0:16位有符号
				1:16位无符号
				2:16位-4位BCD
				3:32位有符号
				4:32位无符号
				5:32位-4位BCD
				6:32位浮点数
				7:64位浮点数
				]
			analysis:类型0/1/2/3/4解析顺序[选择0-5
				0:16位0[12]
				1:16位1[21]
				2:32位0[1234]
				3:32位1[2143]
				4:32位2[3412]
				5:32位3[4321]
				]
			crc:校验字节解析[选择
				0:LH
				1:HL]
			unit:单位[输入字符]
			scale:true[选择]
			ulo:量程下限[输入数字]
			uhi:量程上限[输入数字]
			reference:仪表底数[输入数字]
			trig_value:触发阈值[输入数字]
			func:执行函数(仅下行)
			alert_en:报警方式[0:dis,1:UP(>=alart_h),2:DOWN(<=alart_l),3:DOU(>alart_h;<alart_l)]
			alart_H:上限报警
			alarm_L:下限报警
		}]//需要新转增,不固定
	}

遥测端功能

设备脚本

1、外设1:Esim 2、外设2:卡槽sim 3、外设3:LCD屏 4、外设4:RS485三个 5、协议:MODBUS主从、TCP-MODBUS 6、协议:主从口设置规则:根据端口设置 7、协议:其他专有协议 8、MODBUS解析内置,数据结构内置或者云端下载 9、输入开关信号(可选) 10、万能输入0-10V/0-20mA(可选) 11、输出无源节点(可选) 12、输出PWM2路(0-10V/0-20mA可选) 13、主力LUA脚本 14、自动判断sim卡可用性,非可用sim卡下设置不可用,中心六除外 15、中心六自动判断sim卡可用性并执行 16、按照线程执行中心1-5下项目 17、当触发时执行中心六下项目,非触发不执行 18、主要功能: a)HTTP与服务器通讯读取设置(固定中心6,非触发不执行) b)http/mqtt/HJ212(TCP),SZY206(TCP),SL651(TCP)解析协议内置 c)参数设置通过http从云端获取 d)参数设置从串口MODBUS从口获取 e)默认参数设置格式JSON f)无论MODBUS从口还是http云端,以最后一次获取为准 g)根据RTU设置和设备设置解析协议并发送,协议见b) h)读取MODBUS数据协议协议解析(位、8位、16位、单精度浮点数、双精度浮点数、字符等等) i)PWM具备校正字节 j)时间通过网络校准,内置不带电池时钟 k)低功耗模式和定时唤醒功能 19、设备发送数据结构

/ websocket 结构 数据库: vk-ws-connection 当前在线的用户 vk-ws-group 设备用户组的用户名,头像,设备id,具备权限:管理、只读、读写 vk-ws-order 设备订单状态以及用户名关联 DB-X-PARA 设备最后一条更新记录,当新用户上线时,补发最新一条数据 操控流程: 设备发送参数到设备指定DB-X-PARA,然后检查该设备的在线用户,并将该信息同步至改用户 当有用户上线时,检查该用户所有的组并同步信息至该用户 扫码绑定设备,第一个用户为管理用户,后续权限都需要有管理用户授权 管理用户可以解散设备组,便于重新绑定 /