SC格式说明

  • 上行主题 sciot/up/v1/{ESN}/json

  • 下行主题 sciot/down/v1/{ESN}/json

实例

  • 上行主题 sciot/up/v1/SC000001/json

  • 下行主题 sciot/down/v1/SC000001/json

cmdId 描述
1001 实时数据上报
1002 历史数据补传
1003 写值命令下发
1004 写值结果反馈上报
1005 请求配置表
1006 响应请求配置表
1007 响应下发配置表(下发时,无cmdd)
1009 召唤实时数据
1010 响应召唤实时数据
1011 召唤设备状态
1012 响应召唤设备状态
1013 召唤平台状态
1014 响应召唤平台状态
1015 设备启停控制
1016 响应设备启停
1017 召唤版本
1018 响应召唤版本
1019 召唤日志
1020 响应召唤日志
1021 调试信息开关
1022 响应调试信息开关
1023 召唤当前报警中的日志
1024 响应召唤当前报警中的日志

一、配置格式

name 描述
type 数据包类型
messageId 消息id
cmdId 指令id
respond 响应状态
msg 相应消息
data 数据内容
{
	"type":"S_DataInfo",
	"messageId":"xxxxxx",
	"cmdId:"1007",
	"respond":"succeed",//fail,overTime
	"msg":"下发成功",
	"data":{}
}

二、命令格式(写值、召唤配置、召唤实时数据)

1.命令

{
	"type": "S_Control",
	"cmdId": "1005",
	"messageId":"xxxxxx",
	"param":{//根据cmd
		"equipId":"dev101",
		"dataId":"b1",
		"value":"20"
	}
}

2.响应

{
	"type":"S_Control",
	"messageId":"xxxxxx",
	"cmdId": "1006",
	"respond":"succeed",//fail,overTime
	"msg":"响应请求配置表成功",
	"data":{
		//(1)1005        {} = 一、配置格式{}
	}

	//例子 8 callLogCurWarning
	"data":{
		"count":123,
		"warning":["1111","2222"]
	}
}

三、上报格式

{
	"cmdId": "1001",	
	"STA": 10,//0-99变化值, int类型,上报一次加1
	"T": "yyyy-MM-dd HH:mm:ss",
	"devs": [{
			"Id": "dev101",
			"Q": "G",//G:正常good B1~B11:异常bad。数据id状态叠加在设备状态上,见下表
			"data": {
				"b1": 220,
				"b2": 2120.34,
				"b3": "abcde"
			}
		},
		{
			"Id": "dev102",
			"Q": "G",
			"data": {
				"b1": true
			}
		}
	]
}

处理方式

  1. 设置的k=1,b=0时,如果数据是int16位,我就传16位这个类型值,如果k b是其余值,则转double型。

  2. 32 64位无符号的,我这边是不支持这两种,虽然我可以通过变体转换,但是发现值非常大的时候失真了。所以32位无符号的,直接用64位有符号代替。64位无符号的用double转换

  3. 空的用null

  4. 小数保留3位

  5. B1-B11状态

  • B1:STATE_INVALID, //初始化状态,即,设备未读写时状态,反之,此值需发生变化。

  • B1:STATE_CMD_ERR_TYPE, //类型错误

  • B3:STATE_CMD_ERR_AREA, //区域错误

  • B4:STATE_CMD_ERR_SIZE, //长度错误

  • B5:STATE_CMD_ERR_ADDR, //起始地址错误

  • B6:STATE_CMD_ERR_NOWRITE, //不允许写

  • B7:STATE_RET_ERR, //返回错误,设备响应报文错误,如:1)设备响应格式错误 2)返回长度 3)返回标志位 4)

  • B8:STATE_TIMEOUT_ERR, //响应超时

  • B9:STATE_BLOCKLINE_ERR, //设备掉线

  • B10:STATE_CONVERT_SIZE_ERR,

  • B11:STATE_CONVERT_TYPE_ERR,