Version |
Data |
Athor |
|
V1.6 |
2022-02-14 |
chy |
增加主题WriteReply |
V1.7 |
2022-03-07 |
chy |
修改WriteReply的json格式 |
四信网关支持通过FF_MQTT协议将数据推送到第三方平台,第三方服务器需符合四信FF_MQTT协议接口文档所定义的接口。同时,用户需通过配置MQTT推送的服务器地址和端口号,登录用户名、密码,以及是否加密传输等信息。
客户端ID作为登录连接MQTT服务器时的客户端标识符(Client Identifier),支持长度1-64位的Ascall数据格式(仅支持数字+英文格式),可选配置为SN码或设备ID,若为SN码即为设备出厂默认的唯一设备条形码,也可配置为设备ID,提供可配置选项。
MQTT CONNECT连接时的用户名和密码,若使用此功能,服务器必须接受检验账号合法性并给出登录成功或失败的CONNACK 消息。
MQTT 支持 TLS 加密,支持三种方式,服务器验证模式(也叫双向认证方式),客户端认证(单向认证),预共享秘钥方式(匿名连接)。
服务器验证模式可以由预先下载的服务器信息,设备登录 MQTT 服务器时收到的服务器发送过来的凭证做对比,如不符,则设备拒绝登录该服务器,切换服务器链接;
客户端认证模式,由提供私钥与凭证,让服务器验证是否可以允许设备联机;
匿名连接模式,提供预共享秘钥与客户端标识连接服务器。
四信网关提供keep alive的心跳报文,使用MQTT协议约定的心跳报文维持和服务器的连接,另外还自带了设备心跳,默认心跳时间间隔为60秒。
设备心跳
Topic/ffgw/SN/system/heartbeat
{
"time": "2020-07-20 16:16:30"//当前系统时间
}
系统主题为每个设备默认自带的主题Topic列表,在创建设备MQTT协议上,自动带上此类主题。
主题列表为系统默认主题,服务器可以通过读取此主题获得网关设备支持的主题列表。
主题:Topic/ffgw/SN/system/Devinfo
类型:订阅
内容:
{
"MqttVer": "3.1.1",
"username": "ff",
"password": "16852555",
"topicList": [
{
"topicname": "Topic/ffgw/SN/system/ReportData", //实时数据
"type": "pub"
},
{
"topicname": "Topic/ffgw/SN/system/AlarmEvent", //报警事件
"type": "pub"
},
{
"topicname": "Topic/ffgw/SN/system/HistoryData", //历史数据
"type": "pub"
},
{
"topicname": "Topic/ffgw/SN/system/ReadData",//发布
"type": "pub"
},
{
"topicname": "Topic/ffgw/SN/system/WriteData", //订阅
"type": "sub"
},
{
"topicname": "Topic/ffgw/SN/system/WriteReply", //订阅回复
"type": "pub"
},
{
"topicname": "Topic/ffgw/SN/system/heartbeat", //心跳
"type": "pub"
}
],
"Devstaus": [
{"devtype": "fg100"},//设备型号
{"solfver": "V1.0"},//网关软件版本
{"reporting_cycle": "60"},//上传周期
{"batch_reports_cnt": "1000"},//数据批量上报个数
{"change_reporting": "1"},//数据变化上报状态//1-开启,0-关闭
{"encryption_enabled": "1"},//是否启用加密(包含启用时,对应状态)1-开启,0-关闭
{"time": "2020-07-20 16:16:30"},//当前时间
{ "com1": "enable", "protype": "ModbusRtu"},//通道启用时上报当前使用的PLC类型
{ "com2": "disable"},
{ "com3": "disable"},
{ "com4": "disable"},
{ "com5": "disable"},
{ "LAN1": "disable"},
{ "LAN2": "disable"},
{ "LAN3": "disable"},
{ "LAN4": "disable"}
]
}
Topic/ffgw/SN/system/ReportData
{
"Time":"2018-4-10 12:13:43",
"Type":"0",//上报类型,0:周期上报,1:单个数据突变上报, 2:多个数据突变打包上报,3:响应读数据处理;4:全部上报;
"Data":[
{"name":"温度","value":"-2.6"},
{"name":"电磁阀","value":"on"},
{"name":"气泵","value":"off"}
]
}
Topic/ffgw/SN/system/AlarmEvent
{
"AlarmType":"1",//1:报警,0:报警恢复
"time":"2018-4-10 16:24:13",
"name":"Name",
"value":"1"
}
Topic/ffgw/SN/system/HistortyData
{
"time": "2020-07-20 16:16:30",//当前系统时间
"Data":[
{"name":"当前温度","value":"1.8","time":"2019-8-6 17:00:02"},
{"name":"当前温度","value":"2.2","time":"2019-8-6 17:00:03"},
{"name":"当前温度","value":"2.3","time":"2017-8-6 17:00:04"},
{"name":"当前温度","value":"2.6","time":"2017-8-6 17:00:05"},
{"name":"当前温度","value":"4.0","time":"2017-8-6 17:00:06"}
]
}
支持多个同时读取
Topic/ffgw/SN/system/ReadData
{
"dataname":"",
"dataname":"",
"dataname":""
}
支持多个同时写入
Topic/ffgw/SN/system/WriteData
{
"name1":"value1",
"name2":"value2",
"name3":"value3"
}
4.7设备信息读取
支持读取设备信息
类型:发布
Topic/ffgw/SN/system/DevinfoRqst
{
"time": "2020-07-20 16:16:30",//当前系统时间
"devinforgst":"",
}
订阅Topic:Topic/ffgw/SN/system/Devinfo
Topic/ffgw/SN/system/WriteReply
{
"name1":"0",//0写成功,1写失败
"name2":"0",
"name3":"1"
}