计划实现功能:将STM32F103采集到的温湿度,PM2.5等数值,通过UART与ESP8266通讯,使得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)。

                                  ----------------今天也是充满希望的一天呦~(为什么博客园要限制ID长度,好想用这个ID)

                                                      

关于STM32F103+ESP8266+阿里云过程之环境搭建和阿里云数据格式设置及注意点(一)的更多相关文章

  1. 阿里云ECS服务器环境搭建——ubuntu16.04图形界面的安装

    阿里云ECS服务器环境搭建——ubuntu16.04图形界面的安装 最近琢磨着想在服务器上搭建一个hexo博客,于是就在阿里云上买了一个云服务器ECS,远程接入后默认给的是一个命令窗口,没有图形界面, ...

  2. 阿里云ECS服务器环境搭建(1) —— ubuntu 16.04 图形界面的安装

    阿里云ECS服务器环境搭建(1) —— ubuntu 16.04 图形界面的安装1. 背景在我们购买阿里云ECS服务器之后,默认的系统环境是很干净的,我购买的是ubuntu16.04,远程登录进入之后 ...

  3. 阿里云centos+java环境搭建

    目录 .准备 .安装jdk .安装tomcat .安装mysql 1.准备 购买阿里云服务器,我买的是Centos 6.5. 因为是linux,在window下管理我使用XManager,这个软件可以 ...

  4. 阿里云数据库RDS环境搭建

    前言 现在云数据库越来越流行,国外的亚马逊AWS微软Azure,国内的BAT和京东都推出了自己的云数据库服务,各自优劣不表,个人推荐国外的用AWS,国内的用阿里云,这是我这几天刚申请的阿里云的过程的一 ...

  5. 阿里云ECS服务器环境搭建 ubuntu 16.04 图形界面的安装

    https://blog.csdn.net/zwq912318834/article/details/80528374

  6. ESP8266 RTOS SDK(IDF)编译环境搭建

    前提条件 按照https://www.cnblogs.com/ansersion/p/10458171.html的步骤搭建非IDF环境 下载 https://github.com/espressif/ ...

  7. ESP8266 鼓捣记 - 入门(环境搭建)

    一.前言 以前没怎么接触过硬件开发,ESP8266 这个名字还是从朋友处得知,用它做了许多好玩的东西,便想着自己也来玩一玩.定了一个小目标,做一个温度计.本文介绍从0到 "Hello Wor ...

  8. 腾讯云centos7服务器环境搭建,tomcat+jdk+mysql+nginx

    软件:jdk 1.8.0_45 tomcat 8.5.8 mysql 5.6.36 nginx 1.10.x或以上 其中tomcat在centos6.8中没问题,centos7中会出现卡在启动那里 I ...

  9. 从零开始学习音视频编程技术(三) 开发环境搭建(Qt4.86手动设置环境,主要就是设置g++和qmake,比较透彻,附下载链接)

    1.先下载安装Qt 我们使用的版本是4.8. 可以自行百度下载也可以从下面的网盘地址下载: Qt库和编译器下载: 链接:http://pan.baidu.com/s/1hrUxLIG 密码:0181 ...

随机推荐

  1. Java中常用的url签名防篡改方法

    实现方式:Md5(url+key) 的方式进行的. 1.key可以是任意的字符串,然后“客户端”和“服务器端”各自保留一份,千万不能外泄. 2.请求的URL 例如:  name=lxl&age ...

  2. 高并发 Nginx+Lua OpenResty系列(1)——环境搭建

    OpenResty是一款基于Nginx的高性能负载均衡服务器容器,简单来说是Nginx+Lua.结合了Lua语言来对Nginx进行扩展,使得在Nginx上具有web容器功能. OpenResty运行环 ...

  3. CentOS7.5上FTP服务的安装与使用

    1.FTP简介 1.1FTP:File Transfer Protocol 文件传输协议 FTP是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式.它属于网络传输协议的应用层.文件传送(f ...

  4. Django生成PDF显示在网页上以及解决中文显示乱码的问题

    项目地址:https://github.com/PythonerKK/django-generate-pdf/tree/master 这个demo实现了通过用户输入自己的个人信息生成一份简历pdf,来 ...

  5. CentOS7.3安装JIRA7.10

    准备工作:下载相关安装包,上传到服务器/opt/apps目录下 链接:https://pan.baidu.com/s/15Y5Y3X6AX2ZokWkZKcRrQQ 密码:q0lw 1.安装数据库 y ...

  6. 面试中常见的算法之Java中的递归

    1.方法定义中调用方法本身的现象2.递归注意实现 1) 要有出口,否则就是死递归 2) 次数不能太多,否则就内存溢出 3) 构造方法不能递归使用3.递归解决问题的思想和图解: 分解和合并[先分解后合并 ...

  7. 记一次linux通过jstack定位CPU使用过高问题或排查线上死锁问题

    一.java定位进程 在服务器中终端输入命令:top 可以看到进程ID,为5421的cpu这列100多了. 记下这个数字:5421 二.定位问题进程对应的线程 然后在服务器中终端输入命令:top -H ...

  8. core文件生成和路径设置

    在程序崩溃时,内核会生成一个core文件,即程序最后崩溃时的内存映像,和程序调试信息. 之后可以通过gdb,打开core文件察看程序崩溃时的堆栈信息,可以找出程序出错的代码所在文件和函数. 1.cor ...

  9. Codeforces Gym100623J:Just Too Lucky(数位DP)

    http://codeforces.com/gym/100623/attachments 题意:问1到n里面有多少个数满足:本身被其各个数位加起来的和整除.例如120 % 3 == 0,111 % 3 ...

  10. [AI开发]目标跟踪之计数

    基于视频结构化的应用中,目标在经过跟踪算法后,会得到一个唯一标识和它对应的运动轨迹,利用这两个数据我们可以做一些后续工作:测速(交通类应用场景).计数(交通类应用场景.安防类应用场景)以及行为检测(交 ...