计划实现功能:将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. Python自学day-3

    一.集合     集合元素不会重复,而且是无序的.       定义集合: set_1 = {1,2,3,4,5}     set求交集(intersection): set1 = set([1,2, ...

  2. memcached--add使用

    memcached是一种管理内存的软件,来动态的分配机器的内存,将需要存储的数据以key-value(键值对)的形式存储在内存中. 1.memcached使用的存储算法是hash算法在内存中存储字符串 ...

  3. while循环语句、格式化输出、常用运算符、字符编码

    1.while循环 while 空格 条件 冒号 缩进 循环体 num=1 while num<11: print(num) num=num+1 变量都是先执行等号右边的,然后执行等号左边的. ...

  4. Docker搭建MySQL主从集群,基于GTID

    写在前边 搭建MySQL读写分离主从集群,这里未使用binlog方式,使用的是GTID方式 源码见我的Github https://github.com/hellxz/mysql-cluster-do ...

  5. linux 多主机间快速跳转脚本

    #!/usr/bin/env python #coding=utf8 ''' 用于多机器间相互跳转,如有新机器加入,需要更新ip_list文件 ''' from prettytable import ...

  6. 研究Electron主进程、渲染进程、webview之间的通讯

    背景 由于某个Electron应用,需要主进程.渲染进程.webview之间能够互相通讯. 不过因为Electron仅提供了主进程与渲染进程的通讯,没有渲染进程之间或渲染进程与webview之间通讯的 ...

  7. Java第四次作业——面向对象高级特性(继承和多态)

    Java第四次作业--面向对象高级特性(继承和多态) (一)学习总结 1.学习使用思维导图对Java面向对象编程的知识点(封装.继承和多态)进行总结. 2.阅读下面程序,分析是否能编译通过?如果不能, ...

  8. centos 上安装redis 3.0.5

    官网下载安装包,直接使用make编译,报如下错误 : [root@localhost redis-3.0.5]# make cd src && make all make[1]: 进入 ...

  9. 齐治运维堡垒机后台存在命令执行漏洞(CNVD-2019-17294)分析

    基本信息 引用:https://www.cnvd.org.cn/flaw/show/CNVD-2019-17294 补丁信息:该漏洞的修复补丁已于2019年6月25日发布.如果客户尚未修复该补丁,可联 ...

  10. 数据库系统概念:基础的SQL

    public class DataBase { public static void main() { } } /* 3.1 SQL查询语言概览 SQL语言有一下几个部分: 数据定义语言:提供定义关系 ...