美文网首页
通讯基本协定

通讯基本协定

作者: 水上清风 | 来源:发表于2017-05-12 19:22 被阅读10次
    数据采用json格式,内容全部为字符串

    1,服务器请求设备数据

    {msgtype:devices,id:51001,action:读总电量,data:""}

    说明:

    msgtype:消息类型,

    devices表示是一个发个具体设备的消息请求;

    id,具体设备,对应设置的端口号

    action,对设备的请求行为,如:获取总电量,获取当前功率等

    data,要发送给设备的数,如:当action为修改总电量时,data为要修改的新数据,data不用时为空,但不能没有,有多个数据时,使用数组data:[abc,wfd]

    2,回复服务器数据

    {msgtype:devices,id:51001,action:读总电量,data:2396.65}

    读设备和服务器请求相同,

    写设备data回复OK,或者不回复服务器

    错误上报:action为error,data有三种,1,offline,表示和485转wifi设备网络断开;2,failed表示和485转wifi设备连接正常,但不能获取设备数据,可能设备停止运行;3,能读到设备数据,但数据不正常,需要检查线路连接等


    3,服务器和中间件的通讯

    1,中间件从服务器获取设备列表

    {msgtype:serv,:action:devlist,data:“”}

    2,服务器回复中间件

    {msgtype:serv,:action:devlist,data:[51001,52000,53003]}

    由于终端设备没有可配置信息,所有信息直接在服务器配置

    注,这条可以添加设备时发给中间件,直接发送新添加的设备id,也可以全部重发所有id,中间件不会删除id,服务器发送过来的id不存在就添加在设备列表里

    疑问:

    1,每条消息用什么分割,即粘包问题

    2,和主服务器断开时,是否要把设备侧的数据暂时保存到中间件侧文件,等和服务器建立连接后,将数据同步到服务器,

    相关文章

      网友评论

          本文标题:通讯基本协定

          本文链接:https://www.haomeiwen.com/subject/gqrtxxtx.html