关于ESP8266+STM32F103+阿里云过程之环境搭建和阿里云数据格式设置及注意点

  实现功能:通过STM32F103采集环境的温湿度,PM2.5的数值,通过UART与ESP8266通讯,ESP8266通过MTQQ发布订阅数据,设备上传、接收 阿里云的数据,通过SmartConfig配网。

   用到工具和环境:

    1.安信可ESP8266 IDE集成环境,https://wiki.ai-thinker.com/ai_ide_install 

      注:cygwin的文件已存在在下载文件中,不需要网上搜索下载。不要被链接中的内容误导

    2.如何使用安信可ESP系列集成环境   https://wiki.ai-thinker.com/ai_ide_use

    3.ESP 系列模组烧录固件: https://wiki.ai-thinker.com/esp_download

    4.官方SDK下载链接   https://www.espressif.com/zh-hans/products/hardware/esp8266ex/resources

      注:本人使用的是 ESP8266_NONOS_SDK-3.0 + aliyun_mqtt_app。

    5.下载 aliyun_mqtt_app。  https://github.com/AngelLiang/esp8266_aliyun_mqtt_app

  

  一.  免费注册阿里云,https://www.aliyun.com/   阿里云物联网平台目前收费方法是按消息数量收费,不过每月前100万条消息免费,对于个人玩转物联云是完全够用的。获取阿里云IoT hub设备认证三元组方法流程:

    注册阿里云->开通物联网平台->创建产品->创建设备->获取认证三元组(DeviceName、ProductKey、DeviceSecret)。具体参照阿里云文档https://help.aliyun.com/document_detail/73728.html?spm=5176.11485173.0.0.3fc459afRok2la    这里只介绍部分注意点。

  附阿里云创建完成后页面:

     1.新建产品时,选择的数据格式决定后续的通讯方式

       1)ALINK JSON的数据格式: Alink协议是针对物联网开发领域设计的一种数据交换规范,数据格式是JSON,用于设备端和物联网平台的双向通信,官方给出的SDK中包含了ALINK JSON需要上报的数据格式,一般在设备端处理能力足够的情况下采用此方式,这里采用此种格式。

       2)透传/自定义 数据格式:使用这种数据格式的上报方式,需要在物联网平台网页中(路径为 产品->数据解析)调用数据解析脚本中的 protocolToRawData方法,将结果数据转换成Alink JSON格式。阿里云文档参照https://help.aliyun.com/document_detail/68702.html?spm=a2c4g.11186623.6.575.64e920a8CHKJBw   注: 数据格式选择为透传/自定义时, 产品页面下的才有数据解析的选项。ALINK JSON格式下无需设置。

                        

    2.创建设备时输入的DeviceName将用于认证三元组中。获取认证三元组之后要在  产品->功能定义  中填入需要设备属性和服务以及事件,这里我使用的是自定义功能,设备的属性数据只要可读就能更新来自设备的数据。此页面下可查看已创建好的物模型(后续将用到)。

  

    二:MQTT协议简介:基于TCP协议栈上,轻量级的发布订阅,不实时,低开销,低宽带占有。MQTT的topic和三个角色:发布者,订阅者,代理

        1.topic,附加在消息中的标签,发布信息时附带topic。

        2.发布者:发布一条带有topic的信息。

        3.订阅者:订阅感兴趣的topic(多个topic在代码中进行string的判断选择)。

        4.代理:负责对来自发布者的信息进行存储操作,并将消息发送至正确的订阅者去。

          附:产品topic查看位置,各个topic功能参展后面的描述,(可自定义topic)。

      

猜你喜欢

转载自www.cnblogs.com/DayDayUp-ZxmNet/p/11265771.html