零基础STM32+ESP12F+MQTT连接阿里云服务器完整流程(二、创建阿里云平台并使用AT指令连接阿里云)

文章目录

  • 一、创建阿里云平台
  • 二、使用AT指令使ESP12F连接阿里云平台
  • 总结

  • 准备工作:给ESP12F烧录MQTT固件,可以参考我的上篇文章
    《零基础STM32+ESP12F+MQTT连接阿里云服务器完整流程(一、给ESP12F烧写AT/MQTT固件)》

    一、创建阿里云平台

    1. 登录阿里云物联网平台,自己创建阿里云账号开通物联网平台。

    2. 点击公共实例——点击设备管理——点击产品——点击创建产品

    3. 设置产品名称(我以TestDevice为例)

    4. 点击设备——添加设备(我以STM32F103C8T6为例)

    5. 找到我们新建的产品TestDevice——点击查看——点击功能定义——点击编辑草稿

    6. 点击添加自定义功能,设置参数如下所示,之后发布上线。

    7. 点击设备——找到刚刚创建的设备(STM32F103C8T6)——点击查看——一键复制 设备三元组以便后续步骤进行。

    以上 步骤就是创建阿里云平台的所有步骤。

    二、使用AT指令使ESP12F连接阿里云平台

    1. 利用阿里云物联网平台配置工具生成设备信息。将自己三元组复制到右侧(TimeStamp不填,Clientld填五位数。不然连接阿里云时可能会报错连接不上)点击生成生成相关信息。
    配置工具
    链接:https://pan.baidu.com/s/1cXLG0MeSnBSy53SeIoqr3g 
    提取码:hrwc
    


    将连接域名、Clientld、Username、Password四个信息复制粘贴保存下来,以便后续相关步骤的进行。
    2. 打开串口调试助手,输入相关AT指令连接阿里云服务器

    (2)连接阿里云ESP8266+AT指令
    ①AT+RST                                      //重启设备
    ②AT+CWMODE=1                                 //设置ESP12F为Station模式,可以连接WIFI
    ③AT+CIPSNTPCFG=1,8,"iot.console.aliyun.com"  //开启SNTP服务器,这一步为固定步骤
    ④AT+CWJAP=“abgo”,“1234567889”                //连接WIFI,记得改为自己的手机热点
    ⑤AT+MQTTUSERCFG=0,1,“NULL”,“Username”,“Password”,0,0,""                      //配置 MQTT 用户属性,要将Username、Password改为用配置工具生成的自己的设备信息
    ⑥AT+MQTTCLIENTID=0,“Clientld”                //配置 MQTT 客户端 ID,记得将Clientld改为自己的设备信息,而且在逗号前面要加一个转义符号“\”  可以看我下面的图片
    ⑥AT+MQTTCONN=0,“连接域名”,1883,1             //连接/查询 MQTT Broker,注意将连接域名改为自己的设备信息
    
    

    得到如下结果
    此时打开阿里云服务器,可以看见我们创建的设备此时已经在线,如下图

    1. 通过订阅与发布实现通信

    订阅与发布是MQTT协议的核心内容,大家可以稍微去学习了解一下。我在这里举一个例子以便大家了解。我们平时无聊时候就会去刷抖音,抖音系统就可以很好解释MQTT协议。我们(客户端)会订阅我们喜欢的博主,而抖音就像 一个服务器,当我们已经订阅过的博主发布新的作品时,抖音就会自动的推送给我们。APP通过阿里云控制单片机的思路如下

    (1)我们可以在阿里云平台自己创建的产品中查看topic列表。点击产品——topic列表——物理型通信topic,可以看到很多的topic(注意在我们自己要用topic时要把${devicename}改为自己设备的devicename)

    我们也可以自定义topic,点击自定义topic——点击topic类,其中权限和名字都可以自己设置。

    1. 进行通信测试——订阅主题(以订阅自定义类topic为例)
    //订阅示例代码
     AT+MQTTSUB=0,"topic",1   //订阅
    

    在串口调试助手中继续发送指令

    在阿里云服务器我们的设备中可以看到我们订阅的topic,在阿里云中的topic上发送消息,串口也会打印出接收到的消息

    1. 进行通信测试——发布主题(以订阅自定义类topic为例)
    // 发布示例代码
    AT+MQTTPUB=0,"topic","test",1,0
    
    

    在串口调试助手中继续发送指令可以看到如下结果(因为我们已经订阅该主题,所以发布消息后立即会推送给他自己)

    或者也可以在阿里云的日志服务里看到阿里云与ESP12F之间的数据交互

    总结

    大家需要好好理解MQTT协议的订阅与发布(其实道理很简单),一定要弄懂后边通过订阅与发布实现通信的过程,搞清楚是谁发送给谁的消息。
    另外最后我是以自定义topic为例子,大家也可以自己尝试订阅与发布物理型模型,不过发送接收数据要用jason格式,可以参考其他博主文章进行操作理解。

    下一步
    《零基础STM32+ESP12F+MQTT连接阿里云服务器完整流程(三、STM32通过代码连接阿里云服务器)》

    物联沃分享整理
    物联沃-IOTWORD物联网 » 零基础STM32+ESP12F+MQTT连接阿里云服务器完整流程(二、创建阿里云平台并使用AT指令连接阿里云)

    发表评论