作者:admin于 2019年07月30日 发布在分类 / 产品相关 / 云平台 下,并于 2018年05月25日 编辑
    2018-05-25 00:17:09版本: MIOC标准接入协议-通讯模组与云端-MQTT-架构V1.0
    历史版本

    修改日期 修改人 备注
    2020-07-16 10:58:34[当前版本] admin 修正
    2020-07-16 10:26:06 admin 增加检查更新协议
    2019-07-30 14:34:04 秦大人 系统管理员修改
    2019-07-04 10:24:40 admin 完善协议

    一、建立与MQTT服务器的连接


    HOST  : auth.mqtt.9iot.cn

    PORT  : 1883


     USERNAME : 请登录厂商运营系统查看。

     PASSWORD  请登录厂商运营系统查看。


     CLIENT ID : 请根据设备情况,写入设备全球唯一标识。一般为设备/WIFI 模块MAC地址。 16字节,不足末尾补零。


    二、指令说明。


    1)协议结构说明

    字段

    大小(byte)

    描述

    协议头

    version

    2

    版本号

    length

    2

    数据包大小

    header_crc

    2

    协议头校验码

    协议体

    body

    Length - 8

    数据体

    body_crc

    2

    数据体校验码










    Version  :  版本号(公有协议 0001 开始,私有协议 0501开始)

    Length    : 完整协议包大小

    Header_crc : 协议头校验码。采用的多项式为CRC-16/CCITT的16位循环校验码


    Body : 数据体,以下为数据体结构定义


    字段

    大小(byte)

    描述

    PackageType

    1

    协议包类型

    Command

    2

    应用命令字

    Data

    不定长

    数据


    PackageType :协议包类型,用于应用层消息逻辑处理方式。以下为协议包类型值约定:


    字节值

    描述

    0x00

    Message,无需回复协议包类型

    0x01

    Get,需回复协议包类型,用于请求获取数据回复

    0x02

    Set,需回复协议包类型,用于设置数据需返回设置成功与否

    0x03

    Result,无需回复协议包类型,用于set/get类型正确回复包,序列号与set和get包相同

    0x04

    Error,无需回复协议包类型,用于set/get类型错误回复包,序列号与set和get包相同


    Command : 应用命令字,以下为值约定:


    数据包类型

    command

    source数据来源

    设备登录认证

    0x0001

    设备

    设备数据上传

    0x0002

    设备

    发送设备控制指令

    0x0003

    Server

    时间同步

    0x0004

    Server

    心跳包

    0xFFFF

    设备

    发送设备查询指令

    0X0005

    Server

    数据透传

    0x0010

    Server/设备




    2)设备与服务端建立连接之后,应首先发送设备认证数据包。以下为设备认证指令说明与实例:


    分类 描述 长度[字节] 字段名 数据样例
    Header
    2 VERSION/版本 0001


    2 LENGTH/长度 0000


    2 Header_CRC/头部校验码 0000
    PayLoad
    1 PackgeType   / 协议包类型 01


    2 Command / 数据包类型 0001


    16 Device Type / 设备类型 01


    2 PayLoad_CRC /  数据体校验码 0000



    MIOTO WIKI-V3.2.0