当前位置:   article > 正文

使用ESP8266连接阿里云并实现数据的收发(完整版)(不涉及单片机仅为连接单片机前的调试工作)_esp8266 怎么接收数据

esp8266 怎么接收数据

一、ESP8266烧录固件

        由于要连接阿里云平台要使用到相关MQTT AT指令,而我们所购买的ESP8266模块都带了乐鑫官方的AT固件,发送与MQTT相关的AT指令均会返回ERROR。因此需要给ESP8266升级固件。

烧录固件参考:ESP8266如何使用MQTT协议连接阿里云平台-CSDN博客,需注意必须使用数据线,当数据线将esp8266与电脑usb连接后需能检测到COM口。(小编开始用的三合一数据线无法检测到COM口)

二、阿里云物联网平台产品及设备的创建

        在浏览搜索阿里云并登录,在首页面选择产品-物联网-物联网平台即可进入物联网平台。

进入物联网平台后选择管理控制台

激活并进入公共实例

进入公共实例后选择设备管理-产品-创建产品

产品名称任意,所属品类为自定义品类,节点类型、连网方式、数据格式保持默认。然后确认

然后点击产品,找到对应的产品名称然后查看

点击功能定义-前往编辑草稿

第一步选择添加自定义功能,第二部按照自己的需求填写自定义功能的参数并确认,第三步发布上线(在弹窗中打勾并确认)

 然后点击设备-添加设备,选取自己创建的产品名称,DeviceName按自己需求填写,然后确认并完成。

三、连接阿里云平台

        通过ESP8266连接阿里云平台需要发送以下的AT指令,wi-fi名密码根据自己所连WiFi确认

  1. AT+RST //重启模块
  2. AT+CWMODE=1 // 设置为Station 模式
  3. AT+CWJAP="Wi-fi名","密码" //连接Wi-fi
  4. AT+MQTTUSERCFG=0,1,"NULL","username","passwd",0,0,""
  5. //配置MQTT用户属性
  6. AT+MQTTCLIENTID=0,"clientId"
  7. //设置 MQTT 客户端 ID,"clientId"参数需在每一个逗号前加/
  8. AT+MQTTCONN=0,"mqttHostUrl",1883,1
  9. //连接 MQTT Broker

其中的username、passwd、clientId及mqttHosturl参数在设备-设备信息-MQTT连接参数中找到

使用串口助手发送响应的AT指令

发送完上述AT指令后设备成功在线

四、阿里云实现数据的收发

        4.1 阿里云实现数据的接收

通过MQTT协议收发数据需要配置相应的topic,可以在产品-Topic类列表-物模型通信Topic中进行查看。选择设备属性设置(订阅Topic)与设备属性上报(发布Topic)。需注意其中的${deviceName}需改为设备名称。

对应的MQTT上传数据的订阅与发布命令为:

  1. AT+MQTTSUB=0,"订阅Topic类",1 //订阅 MQTT Topic
  2. AT+MQTTPUB=0,"发布Topic类","数据",1,0 //发布 MQTT 消息(字符串)

在设备-物模型数据可以看到上传的数据

        4.2 阿里云实现数据的发送

                4.2.1自定义Topic发送数据

        在产品-Topic类列表-自定义Topic中找到订阅Topic

        发送相应的订阅Topic的AT指令

        在设备-Topic列表下,选择发布消息

        填写消息内容,点击确认。串口助手会接收到数据。

                4.2.2在线调试发送数据

          在监控运维-在线调试中选取相应的设备,然后输入参数点击设置,即可发送数据。

AT指令参链接:MQTT AT Commands — ESP-AT 用户指南 文档 (readthedocs-hosted.com)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/675204
推荐阅读
相关标签
  

闽ICP备14008679号