STM32通过ESP8266连接阿里云 详细步骤

04-27 3660阅读 0评论

STM32通过ESP8266连接阿里云 详细步骤 第1张

一、烧录MQTT固件

        ESP8266出厂时,默认是:AT固件。连接阿里云需要:MQTT固件。

        因此,我们需要给8266重新烧录 MQTT固件。

        针对“魔女开发板,ESP8266模块烧录MQTT固件,图解教程如下:

        ESP8266 烧录 MQTT固件-CSDN博客


二、接线说明

        "魔女开发板"系列,板上已带ESP8266模块,其TX、RT引脚,已引出到右边排针顶部。

        我们只要把跳线帽,插到2、3行之间,就能使用8266与开发板的串口相连接。

        供电引脚已在PCB设计时预先布好了线,无需理会、接线。

        款式不同,大同小异,注意一下丝印上所使用的串口引脚即可,背面也有丝印说明串口的使用。

STM32通过ESP8266连接阿里云 详细步骤 第2张


三、阿里云 新建产品

1、注册阿里云

        阿里云网页:阿里云-计算,为了无法计算的价值

        使用手机号,注册、认证,并登录。

STM32通过ESP8266连接阿里云 详细步骤 第3张

2、登录后,进入“控制台”

        右上角。

STM32通过ESP8266连接阿里云 详细步骤 第4张

3、点击“橙色选择按钮”,进入产品目录

        左上角。

STM32通过ESP8266连接阿里云 详细步骤 第5张

4、找到“物联网平台”

        第一次使用时,会显示很多种类的服务

        我们直接搜索:物联网平台。

        当有使用记录后,最近的访问记录会显示在第一行,方便后续操作

STM32通过ESP8266连接阿里云 详细步骤 第6张

5、选择“公共实例”

  • 公共实例,是免费的,使用限制:同时在线设备数创建产品

            很多人不理解“产品”、“设备”的概念,确实无法三言两语解释。

    STM32通过ESP8266连接阿里云 详细步骤 第7张

    7、产品创建的过程和参数

            为了更多人理解,我们本篇将使用DHT11的温、湿度进行数据上报、订阅进行示例。

            在名称框中,输入:DHT11,也可以是其它名称,如: 车间1的温湿度控制。

            支持中文,可以按自己喜欢而设定。

    STM32通过ESP8266连接阿里云 详细步骤 第8张

    8、查看新建的产品

            新建产品后,我们再次点击“产品”,就能进入到产品列表,在这里,发现我们新建的“DHT11", 已在列表中。

            点击其右侧的"查看", 进入详细页面。

    STM32通过ESP8266连接阿里云 详细步骤 第9张

    9、添加产品功能

            在上一步进入"查看"页面后,这一步我们开始在其中添加想要的”功能",简单理解为数据模板。

    STM32通过ESP8266连接阿里云 详细步骤 第10张

    10、添加定义功能

            记得:“添加自定义功能”。

    STM32通过ESP8266连接阿里云 详细步骤 第11张

    11、添加“温度”功能

            我们将给“DHT11"这个产品,添加两个功能,下面是"温度”功能的参数设置。

            操作提示:在功能名称框中,输入“温度”后,会弹出模板提示,我们可以选择其中相近需求的,它将自动填充相关参数,然后,我们可以再按需求稍作修改。

            标识符,我们取:Temp,  既简短,又便于理解。

    STM32通过ESP8266连接阿里云 详细步骤 第12张

    12、继续添加“湿度”功能

            "湿度"功能,和刚才的“温度”, 参数相近。

            标识符我们这里取: Humi。同上,是为了简短和方便理解。

    STM32通过ESP8266连接阿里云 详细步骤 第13张

    13、发布上线

            现在,我们的产品“DHT11", 有两个功能、属性了。

            温度,标识符:Temp,类型:float

            湿度,标识符,Humi,类型:float

            最后,点击左下角的”发布上线“,刚才的编辑,才能生效。

    STM32通过ESP8266连接阿里云 详细步骤 第14张

            发布过程中,弹出的提示窗口。

    STM32通过ESP8266连接阿里云 详细步骤 第15张


    四、添加设备

    1、添加新的设备

            这里的"设备",可以简单理解为,用于管理连接的设备,及设备的数据。

    STM32通过ESP8266连接阿里云 详细步骤 第16张

            过程弹窗,关闭即可。

    STM32通过ESP8266连接阿里云 详细步骤 第17张

    2、查看已添加的设备

            点击"设备"刷新后,可以看到我们刚才添加的设备,已在列表中。

            其中,显示为“示激活”状态,不用理会,当有设备连接成功后,会自动激活。

            我们点击“查看”,里面有最重要的信息。

    STM32通过ESP8266连接阿里云 详细步骤 第18张

    3、复制设备信息

    这里,是最重要的一步。

    我们新建一个txt文件,或者word文件, 把下面7个信息,复制粘贴到文件中,以方便后面使用。

    STM32通过ESP8266连接阿里云 详细步骤 第19张

    下面是小编复制后整理的。

    特别地:

    1:clientID字符串中,有两个逗号,需要在逗号前添加转义符'\',参考下图。

    2:下面的复制信息,除了端口号port,其它都是字符串,如果在代码中代码,需要加双引号。

    STM32通过ESP8266连接阿里云 详细步骤 第20张


    五、通过串口助手,手动发送AT指令,连接阿里云

    1、准备工作

            ① 开发板,烧录一个点灯的示例,使STM32关闭了USART功能,以空出USB转TTL。

            ② 接线:跳线帽怼到第3、4行,使ESP8266的TX、RX引脚,连接到USB转TTL电路上。

            ③ USB线,怼到CMSIS DAP接口,使板载的USB转TTL连接到电脑。

            ④ 打开串口助手:115200-None-8-1, 打开串口;        

    STM32通过ESP8266连接阿里云 详细步骤 第21张

    2、串口助手,发送基础配置指令。

    AT                                      // AT测试指令,如果返回OK,表示与8266连接正常 
    AT+RESTORE                              // 重置8266,以清除旧的配置记录
    AT+CWMODE=1                             // 配置工作模式,1-STA,2-AP,3-STA+AP
    AT+CIPMUX=0                             // 多连接模式,0-关,1-开
    AT+CWJAP="wifi名称","wifi密码"           // 加入AP,即连接wifi
    AT+CIFSR                                // 查询当前IP地址; 8266默认IP地址为
    AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com"     // 设置时区、NPT服务器地址,用于获取网络时间
    AT+CIPSNTPTIME?                         // 请求获取当前的网络时间

            上面AT指令 ,顺序逐条发送执行, 每一个指令执行成功,均可返回“OK"。

            最后一条指令 ,如果连接正常,可以返回当前的网络时间。

    3、连接阿里云

    AT+MQTTUSERCFG=0,1,"NULL","username","passwd",0,0,""  // 发送MQTT的登陆用户名和密码
    AT+MQTTCLIENTID=0,"clientId"                          // 发送MQTT的ClientID, 注意,在clientID的字符串中,两个逗号前都要加一个\作转义字符
    AT+MQTTCONN=0,"mqttHostUrl",1883,1                    // 设置MQTT接入地址

            连接阿里云,只需要依次发送上面这3条AT指令,简单得不行。

            指令中的端口号,固定的1883; 

            其中的4个参数,我们按自己的数据来修改:username、passwd、clientId、mqttHostUrl。

            它们在上述复制的文件中,再次在文本中按需复制,替换到指令中即可。

            也可以按这个路径查询到:阿里云>物联网平台>设备管理>设备>查看>MQTT连接参数.

            第1、2条指令,只会返回"OK",第3条指令,会有过程信息返回,注意查看结果是否成功。

            执行成功后,查看阿里云的设备列表,设备最初的状态"未激活”, 自动切换为“在线”。 

    4、订阅

            当连接上阿里云后,我们就可以订阅需要的主题数据了。

            只需发送一个指令:

    AT+MQTTSUB=0,"/ProductKey/DeviceName/user/get",1  // 订阅

            其中,两个参数:ProductKey、DeviceName,在我们的记录文件中,粘贴替换即可。

            执行订阅指令后,如果返回OK,  基本是顺利执行了。 

            我们点击设备列表后面的“查看”,进入 如下页面后。发现Topic列表已增加了订阅。

            它右侧的“发布消息”,用于测试,给订阅的设备,发送测试消息。

    STM32通过ESP8266连接阿里云 详细步骤 第22张

    5、上报

            当我们需要上报数据时,就发送以下指令 :

    AT+MQTTPUB=0,"/sys/ProductKey/DeviceName/thing/event/property/post","{params:{\"标识符\":你想要设置的数值}}",0,0

            其中,前两个参数:ProductKey、DeviceName,在我们的记录文件中,粘贴替换即可。

            后面的参数,标识符、数值,我们按之前新建产品时的属性,复制填入。如果多个属性,用逗号分隔; 如:

    AT+MQTTPUB=0,"/sys/ProductKey/DeviceName/thing/event/property/post","{params:{\"Temp\":15.2\,\"Humi\":87.6}}",0,0

            执行上报指令后,如果返回OK, 基本是顺利执行了。 我们打开设备页面验证一下:

            可以看到数据的更新了!(注意,免费版本,最高5条信息/秒)

    STM32通过ESP8266连接阿里云 详细步骤 第23张

    6、在线调试

            如果使用两个或多个8266, 可以方便地进行调试:所有8266设备设置订阅,其中一个设备上报更新数据,其它的设备就能收到数据。

            如果没有两个或多个8266, 我们可以使用阿里云的在线调试,如下:

    STM32通过ESP8266连接阿里云 详细步骤 第24张

            在这个页面中,点击获取,即可获取云上的数据,点击设置,即可把数据上报到云,同时,其它订阅了此主题的设备,也能收到数据。

            如下:

    STM32通过ESP8266连接阿里云 详细步骤 第25张

            至此,我们已使用串口助手,对连接阿里云、订阅、上报,都作了测试和熟悉。

            后面,我们就可以把上述的AT指令,嵌入到代码中,使用串口通信代码进行操作,使其上电后自动运行。


    六、通过STM32, 编写代码,实现自动连接阿里云

    1、连接阿里云

    2、上报数据

    3、订阅数据

    4、数据解读到变量


免责声明
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明。
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所
提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何
损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在
转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并白负版权等法律责任。

手机扫描二维码访问

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,3660人围观)

还没有评论,来说两句吧...

目录[+]