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

本文主要是介绍物联网小白上云(阿里云):正点原子STM32f130zet6 + ESP8266-01S + MQTT服务器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

启蒙视频: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(图解):

  • 总结:需要工具生成密码(工具下载地址:https://linkkit-export.oss-cn-shanghai.aliyuncs.com/signTool/MQTT_Password.7z?spm=a2c4g.11186623.0.0.bb7b2ec0qxlE6g&file=MQTT_Password.7z)

  • 工具使用细节:

说明ProductKey、DeviceName、DeviceSecret:

  • 获取位置

三、我遇到问题

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

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

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

  • 串口工具的使用

    失败原因:不清楚

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

  • 密码生成工具的使用

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

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

这篇关于物联网小白上云(阿里云):正点原子STM32f130zet6 + ESP8266-01S + MQTT服务器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/419039

相关文章

pycharm远程连接服务器运行pytorch的过程详解

《pycharm远程连接服务器运行pytorch的过程详解》:本文主要介绍在Linux环境下使用Anaconda管理不同版本的Python环境,并通过PyCharm远程连接服务器来运行PyTorc... 目录linux部署pytorch背景介绍Anaconda安装Linux安装pytorch虚拟环境安装cu

MySQL 中的服务器配置和状态详解(MySQL Server Configuration and Status)

《MySQL中的服务器配置和状态详解(MySQLServerConfigurationandStatus)》MySQL服务器配置和状态设置包括服务器选项、系统变量和状态变量三个方面,可以通过... 目录mysql 之服务器配置和状态1 MySQL 架构和性能优化1.1 服务器配置和状态1.1.1 服务器选项

Qt 中集成mqtt协议的使用方法

《Qt中集成mqtt协议的使用方法》文章介绍了如何在工程中引入qmqtt库,并通过声明一个单例类来暴露订阅到的主题数据,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一,引入qmqtt 库二,使用一,引入qmqtt 库我是将整个头文件/源文件都添加到了工程中进行编译,这样 跨平台

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

JavaWeb-WebSocket浏览器服务器双向通信方式

《JavaWeb-WebSocket浏览器服务器双向通信方式》文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配... 目录一、概述二、入门2.1 POM依赖2.2 编写配置类2.3 编写WebSocket服务2.4 浏

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

nginx-rtmp-module构建流媒体直播服务器实战指南

《nginx-rtmp-module构建流媒体直播服务器实战指南》本文主要介绍了nginx-rtmp-module构建流媒体直播服务器实战指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. RTMP协议介绍与应用RTMP协议的原理RTMP协议的应用RTMP与现代流媒体技术的关系2

mysqld_multi在Linux服务器上运行多个MySQL实例

《mysqld_multi在Linux服务器上运行多个MySQL实例》在Linux系统上使用mysqld_multi来启动和管理多个MySQL实例是一种常见的做法,这种方式允许你在同一台机器上运行多个... 目录1. 安装mysql2. 配置文件示例配置文件3. 创建数据目录4. 启动和管理实例启动所有实例