物联网小白上云(阿里云):正点原子STM32f130zet6 + ESP8266-01S + MQTT服务器

1 篇文章 0 订阅
1 篇文章 0 订阅

启蒙视频:stm32+esp8266(MQTT固件)阿里云物联网开发哔哩哔哩bilibili 视频说明:内容主要是部分实现,细节实现以及可能遇到问题解决如下

一、烧录固件

0. 为什么要烧录固件:一般出厂的esp8266还不支持MQTT,需要重新烧录带有MQTT的指令包 1. 查看esp8266-01s的Flash大小(我的Flash:1M)* 2. 固件下载地址:AT固件汇总 | 安信可科技(这里面根据自己Flash大小选择AT固件) 3. 使用多绑线连接esp8266和STM32引脚对应图:

二、连接阿里云AT指令(按顺序即可)

    1. AT+RST //重启

    1. ATE0 //关闭回显

    1. AT+CIPMODE=1 //sta模式

    1. AT+CWJAP="WIFI名称","WIFI密码" //连接热点

    1. AT+MQTTUSERCFG=0,1,"clientId","username","passwd",0,0,"" //用户信息配置

    1. AT+MQTTCONN=0,"阿里云服务器IP地址",1883,1 //连接服务器

重点说明

第五小点细节说明(可参考阿里云MQTT接入文档):

  1. Client ID、username、passwd这三个不是MQTT连接参数

  1. Client ID(图解):

  • 细说这个Client ID:

    1. 一般值为 ${ClientId任意值(建议五位)}|securemode=3,signmethod=hmacsha1|

    2. 第一点的值(有个坑):在发送AT指令时,要在| | 之间的每个逗号前面要加 \发送

    3. 由上图可知Client ID和ClientId是不同的

  1. username(图解):

  • 总结:就是{DeviceName}&{ProductKey}

  1. passwd(图解):

  • 工具使用细节:

说明ProductKey、DeviceName、DeviceSecret:

  • 获取位置

三、我遇到问题

  • 使用use-ttl以及多邦线连接,通过串口工具发送AT指令

失败原因:上图中 \ 没有加导致返回error

解决:在||之间的逗号前加 \

  • 串口工具的使用

    失败原因:不清楚

    解决:前面我一直使用的XCOM串口工具,发送AT指令,在连接服务器时始终失败,后面我更换了串口工具SSCOM结果就成功了。

  • 密码生成工具的使用

    失败原因:我在ClientId一栏填写了Client ID(就是完整的值:${ClientId:任意值(建议五位)}|securemode=3,signmethod=hmacsha1|)

    解决:只需要填写任意值(建议5个)生成密码才是正确密码

  • 5
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值