WIFI连接阿里云

目录

[1 实现功能](#1 实现功能)

[2 器件](#2 器件)

[3 AT指令](#3 AT指令)

[4 阿里云配置](#4 阿里云配置)

[4.1 打开阿里云](#4.1 打开阿里云)

[4.2 创建产品](#4.2 创建产品)

[4.3 添加设备](#4.3 添加设备)

[5 STM32配置](#5 STM32配置)

[5.1 基础参数](#5.1 基础参数)

[5.2 功能定义](#5.2 功能定义)

[6 STM32代码](#6 STM32代码)

本文主要是记述一下,如何使用阿里云物联网平台,创建一个简单的远程控制小灯示例。

1 实现功能

STM32通过ESP8266模块,采用MQTT连接阿里云平台,之后可以和阿里云平台进行通信,可以向平台发布小灯的状态(开\关),也可以接收平台控制小灯的指令(开\关)。

2 器件

  • 单片机:STM32f103c8t6
  • Wif模块:ESP8266-01s
  • 外设: 小灯(STM32最小核心板自带PC13)

3 AT指令

这里只是简单看下wifi连接阿里云的AT指令,不需要过于纠结,可以往下继续看:

cpp 复制代码
1 基础指令
1)重置wifi模块
AT+RST
    
2)设置模块为STA模式
AT+CWMODE=1
3)使模块连接上wifi
AT+CWJAP="WIFI名称","WIFI密码"
注意:若你的模块连接不上wifi,回复EEROR,首先先判断你的wifi是否是2.4G的频段,5G频道ESP8266不可用

4)检查IP地址,看看是否正确连上wifi
AT+CIFSR

5)设置时区为:中国早上八点
AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com"
到此,ESP8266的基本配置以及完成,下面就是MQTT协议连接上云平台的操作。
     
2 使用MQTT指令连接到云平台
需要先查看下阿里云的MQTT参数,在设备那里面有!!!
1) 设置MQTT的登陆用户名与密码
AT+MQTTUSERCFG=0,1,"NULL","username","passwd",0,0,""

2) 设置MQTT的ClientID
AT+MQTTCLIENTID=0,"clientId"
注意:在自己的clientId中,需要在每个逗号前面加一个\符号,串口数据才能正确发送识别,否则会一直回复EEROR

3)设置MQTT接入地址
AT+MQTTCONN=0,"mqttHostUrl",port,1
完成以上三步,设备就连接到了云平台(设备更新为在线)
3. 订阅平台消息(设备上传/接收,平台接收/下发)
订阅Topic是指在一个订阅服务中,用户可以选择关注或订阅感兴趣的话题或主题。
通过订阅Topic,用户可以更加精准地获取自己的内容,提高信息的质量和效率。

3 订阅Topic
1)订阅平台消息
AT+MQTTSUB=0,"subtopic",1
2)设备上报数据

AT+MQTTPUB=0,"pubtopic","data",0,0

Eg:
AT+RST    // 重置wifi模块
AT+CWMODE=1   // 
AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com"   // 设置时区为:中国早上八点
AT+CWJAP="HONORL","12345Lz."   // 使模块连接上wifi

AT+MQTTUSERCFG=0,1,"NULL","ESP8266010&a1cRrS9qC4K","c9c3585b4841be49f67dc4da6d9e894074dd7fc956c429515bcf247a4bee7541",0,0,""   // 设置MQTT的登陆用户名与密码

AT+MQTTCLIENTID=0,"a1cRrS9qC4K.ESP8266010|securemode=2\,signmethod=hmacsha256\,timestamp=1720315990667|"   //  设置MQTT的ClientID

AT+MQTTCONN=0,"a1cRrS9qC4K.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883,1   //  设置MQTT接入地址

// AT+MQTTSUB=0,"topic",1
AT+MQTTSUB=0,"/sys/a1cRrS9qC4K/ESP8266010/thing/service/property/set",1   // 订阅平台消息

AT+MQTTPUB=0,"/sys/a1cRrS9qC4K/ESP8266010/thing/event/property/post","{params:{\"LightSwitch\":1}}",1,0   // 设备上报数据
// 注意发布部分写代码时容易出问题------格式问题

4 阿里云配置

4.1 打开阿里云

没有账号的话,注册登录下,之后搜索物联网平台,点击进去

4.2 创建产品

4.3 添加设备

也可以直接到设备列表创建设备

5 STM32配置

5.1 基础参数

关于wifi连接阿里云的一些参数,这些信息可以在MQTT连接参数里面找到:

cpp 复制代码
需要先查看下阿里云的MQTT参数,在设备那里面有!!!
1) 设置MQTT的登陆用户名与密码
AT+MQTTUSERCFG=0,1,"NULL","username","passwd",0,0,""

2) 设置MQTT的ClientID
AT+MQTTCLIENTID=0,"clientId"
注意:在自己的clientId中,需要在每个逗号前面加一个\符号,串口数据才能正确发送识别,否则会一直回复EEROR

3)设置MQTT接入地址
AT+MQTTCONN=0,"mqttHostUrl",port,1
完成以上三步,设备就连接到了云平台(设备更新为在线)

至于要订阅和发布的主题可以到产品里面去找:

以下以物模型通信topic为例说明。

5.2 功能定义

为了能够接收来自WiFi的数据(小灯状态),并显示小灯状态,需要创建一下功能定义:

为了更好的区分控制功能和显示功能,我们这里再创建一个控制的功能定义,用于下发控制信息:

注意要发布上线,之后去设备那里就可以看到了

以上完成后就可以编写代码连接云平台并实现数据的收发。

6 STM32代码

待~~~

相关推荐
CODECOLLECT1 小时前
京元 I62D Windows PDA 技术拆解:Windows 10 IoT 兼容 + 硬解码模块,如何降低工业软件迁移成本?
stm32·单片机·嵌入式硬件
BackCatK Chen1 小时前
STM32+FreeRTOS:嵌入式开发的黄金搭档,未来十年就靠它了!
stm32·单片机·嵌入式硬件·freertos·低功耗·rtdbs·工业控制
全栈游侠4 小时前
STM32F103XX 02-电源与备份寄存器
stm32·单片机·嵌入式硬件
深圳市九鼎创展科技6 小时前
瑞芯微 RK3399 开发板 X3399 评测:高性能 ARM 平台的多面手
linux·arm开发·人工智能·单片机·嵌入式硬件·边缘计算
辰哥单片机设计7 小时前
STM32项目分享:车辆防盗报警系统
stm32·单片机·嵌入式硬件
小龙报8 小时前
【51单片机】从 0 到 1 玩转 51 蜂鸣器:分清有源无源,轻松驱动它奏响新年旋律
c语言·数据结构·c++·stm32·单片机·嵌入式硬件·51单片机
范纹杉想快点毕业8 小时前
嵌入式与单片机开发核心学习指南——从思维转变到第一性原理的深度实践
单片机·嵌入式硬件
czwxkn8 小时前
4STM32(stdl)TIM定时器
stm32·单片机·嵌入式硬件
Love Song残响8 小时前
NVIDIA显卡终极优化指南
stm32·单片机·嵌入式硬件
Hello.Reader8 小时前
Flink 对接阿里云 OSS(Object Storage Service)读写、Checkpoint、插件安装与配置模板
大数据·阿里云·flink