查看: 2284|回复: 0

氦氪云入门教程10-聊聊产品接入协议

[复制链接]
  • TA的每日心情
    开心
    2016-11-11 12:32
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2017-8-17 10:27 | 显示全部楼层 |阅读模式
    本帖最后由 lawrencedon 于 2017-8-17 10:38 编辑

    在开发者控制台建立产品时,会选择接入协议。
    1.png
    目前有4种接入协议:
    JSON透传协议
    JSON主控协议
    48透传协议
    JSON透传协议不校验raw

    这些协议可以分为两大类:
    1.指令是JSON格式
    JSON透传协议是JSON主控协议的特例,JSON透传协议不校验raw是JSON透传协议的特例。


    JSON透传协议:
    云端会校验JSON数据中data部分的raw字段的值是否符合在控制台中设置的产品协议。
    选择JSON透传协议时,一般使用我们的官方透传固件,产品采用WiFi模块+单片机的方式,单片机作为主控芯片,WiFi模块只作为一个功能模块接入。使用该协议时,也可以不外接单片机,但是需要你自己编写固件。
    我们的官方透传固件使用JSON透传协议且实现了串口透传协议

    相关文档:
    2.4 APP发送数据到设备 2.4.2 设备使用JSON透传协议时
    2.5 设备发送数据到APP 2.5.2 设备使用JSON透传协议时


    JSON主控协议:
    云端会校验JSON数据中data部分的K-V键值对是否符合在控制台中设置的产品协议。
    选择JSON主控协议时,一般使用基于我们设备端的SDK编写的固件,只使用WiFi模块,不外接单片机,WiFi模块作为主控芯片。使用该协议时,也可以外接单片机,至于WiFi模块和单片机之间的通信协议,你可以自己制定。

    相关文档:
    2.4 APP发送数据到设备 2.4.1 设备使用JSON主控协议时
    2.5 设备发送数据到APP 2.5.1 设备使用JSON主控协议时


    JSON透传协议不校验raw:
    顾名思义,云端不会校验JSON数据中data部分的raw字段的值,选择该接入协议时,控制台中不会出现产品协议设置页面。
    选择JSON透传协议不校验raw时,如果使用我们的官方透传固件,需要遵循串口透传协议的格式规范,业务数据可以随便填,云端不校验业务数据。
    如果是自己写固件,所有的数据都可以随便填,不需要遵循我们的串口透传协议,而且JSON数据中data部分里不仅可以有raw字段,还可以有其他的K-V键值对,但是一定要有raw字段。
    使用该协议时,开发者不用在控制台设置产品协议,云端也不校验收发的数据,所以数据代表的意义对云端是透明的,云端无法提供数据统计分析,告警推送,设备联动等高级功能。

    自己编写设备端固件,可以按照我们的文档全部自己做,也可以基于我们设备端的SDK

    2.指令是48开头的字符串格式
    48透传协议:
    主要针对移动模块,保证在相同的有效载荷数据下,尽量减少附属数据的数量,以节省流量。
    具体协议规范请参看移动模块接入方案

    最后,我们利用开发者控制台中的虚拟设备调试页面,来看看JSON透传协议和JSON主控协议有什么不同。
    使用JSON透传协议,APP下发数据:
    2.png

    3.png
    使用JSON透传协议,设备上报数据:
    4.png

    5.png

    使用JSON主控协议,APP下发数据:
    6.png

    7.png

    使用JSON主控协议,设备上报数据:
    8.png

    9.png

    从以上的截图,我们可以发现JSON透传协议和JSON主控协议最大的不同是JSON数据中data部分的内容:
    JSON透传协议中data部分的内容形式是 {"raw":"48xxxxxx"}
    JSON主控协议中data部分的内容形式是 {"cmdId":x,"K1":"V1","K2":"V2",...}



    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    热门推荐

    5分钟带你快速了解新一代开发板:M5STACK
    5分钟带你快速了解新一代
    一、什么是M5Stack M5Stack是一种模块化、可堆叠扩展的开发板,每个模块
    【原创】全球最小口袋3D打印机mini one直播教程贴
    【原创】全球最小口袋3D打
    最近闲得蛋疼,没事搞个掌上3D打印机,先放效果图吧。 搞了半天,终于能正常打印,
    【小项目】基于XIAO的逃跑蜘蛛
    【小项目】基于XIAO的逃跑
    项目介绍:蜘蛛会在夜晚保持安静。但是一有光线,蜘蛛就会开始震动,逃离光线。硬件:
    心电传感器实验 ESP32 + AD8232
    心电传感器实验 ESP32 + A
    早前买了心电传感器,一直没机会用起来,疫情期间无聊翻将出来发现买错了,但是心电导
    Stduino IDE stm32 最小系统 小蓝板 驱动继电器(五)
    Stduino IDE stm32 最小系
    弱电控制强电 单片机输出输入的电压在3.3V到5V之间,而生活中常用电器很多是12V、220V
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表