云平台 stm32连接oneNET保姆级别教学只看这一篇就够了~

在这里插入图片描述▬▬▬▬▬▶玩转oneNET平台◀▬▬▬▬▬


⚔️注册账号

oneNET点击直达


⚔️如图点击右上角开发者中心

在这里插入图片描述


⚔️点击多协议接入

在这里插入图片描述


⚔️点击添加产品

在这里插入图片描述


⚔️如下图设置参数

在这里插入图片描述


⚔️点击立即添加设备

在这里插入图片描述


⚔️点击添加设备

在这里插入图片描述


⚔️如下图设置参数

在这里插入图片描述


⚔️点击右边的详情查看设备ID和鉴权信息

在这里插入图片描述

在这里插入图片描述


⚔️点击产品概况获取 产品ID

在这里插入图片描述


⚔️平台注册告一段落

你现在拥有了一个oneNET账号

如设备ID

鉴权信息

产品ID

以上三个保存好 在代码中需要用到


⚔️烧录固件

硬件准备方案1 EPS01S+烧录座

在这里插入图片描述


硬件准备方案2 ESP8266-NodeMcu

在这里插入图片描述


成本最低选第1个 手头上正好有2就选2个

现在正式开始进入固件烧录

获取 esp 固件烧录压缩包, 解压完毕如图所示 (这个固件包免费分享)

在这里插入图片描述


打开 flash_download_tools_v3.65 文件夹, 点击 exe 可执行文件(鸭子 logo)
然后选择ESP8266 DownloadTool

在这里插入图片描述


按照下图设置参数(仔细比对) 绿色区域右边的三个小点点击可选择固件

固件在固件包的第一个文件夹里面 COM根据实际修改 BAUD选择115200

在这里插入图片描述


点击 START 开始烧录(红色框选处)

然后等待进度条加载完就烧录成功了(蓝色框选处)

在这里插入图片描述


⚔️测试固件状态

使用 XCOM 软件发送 AT 设备会回复 OK(勾选发送新行)

如果收到 OK, 固件烧录就 OK 了

在这里插入图片描述


⚔️连接单片机

在这里插入图片描述
实际需要接五根线

TXD接STM32 RXD

RXD接STM32 TXD

GND接STM32 GND

RST接STM32 任意普通功能IO口 后续根据代码配置

3V3 接STM32 3.3V


⚔️代码修改

下面我只给出需要修改的地方 让你做到马上可以使用

填你自己的PROID (产品id)

填你自己的AUTH_INFO (鉴权信息)

填你自己的DEVID (设备id)

在这里插入图片描述


填你身边可用的热点名称和密码

在这里插入图片描述


⚔️数据上传

打开平台点击数据流

在这里插入图片描述


在这里插入图片描述


对应的代码

在这里插入图片描述


⚔️数据下发

点击设备列表, 接着点击下发命令
在这里插入图片描述

思路为 上行发送{”BEEP0”},{”BEEP1”},分别执行自定义的操作, 例如灯的开关

在这里插入图片描述


⚔️项目获取

在这里插入图片描述▬▬▬▬▬▶点击获取源代码◀▬▬▬▬▬


### STM32连接OneNet云平台的教程与示例 #### 一、硬件准备 为了成功将STM32设备连接OneNet云平台,需准备好以下硬件组件: - **STM32微控制器**:推荐使用带有UART或SPI接口的型号。 - **Wi-Fi模块**:如ESP8266或其他兼容模块[^1]。 - **调试工具**:用于烧录程序和串口调试。 --- #### 二、软件环境搭建 在开始编程之前,需要完成如下准备工作: 1. 安装Keil MDK或者STM32CubeIDE作为开发环境。 2. 下载并安装适用于STM32的HAL库或LL库。 3. 获取OneNet提供的MQTT协议SDK,并将其集成至项目中[^2]。 --- #### 三、网络配置 在网络层面上,STM32需要通过Wi-Fi模块建立互联网连接。以下是具体步骤: ##### 1. 初始化Wi-Fi模块 通过USART接口向ESP8266发送AT指令来设置无线参数,例如SSID、密码等。典型代码片段如下所示: ```c void wifi_init(void) { UART_Send("AT+CWMODE=1\r\n"); // 设置为Station模式 delay_ms(500); UART_Send("AT+CWJAP=\"your_ssid\",\"your_password\"\r\n"); // 连接到指定WiFi热点 } ``` ##### 2. 测试联网状态 确认Wi-Fi已成功连接后,可以尝试获取IP地址以验证连通性: ```c UART_Send("AT+CIFSR\r\n"); ``` 如果返回有效的IPv4地址,则说明网络正常工作。 --- #### 四、MQTT协议实现 一旦建立了稳定的TCP/IP通道,就可以借助MQTT协议上传数据至OneNet服务器。 ##### 1. MQTT客户端初始化 创建一个结构体表示当前会话的状态变量,包括但不限于主题名称、QoS等级等内容。下面展示了一个简单的函数原型定义: ```c typedef struct _mqtt_client_t { char client_id[32]; uint16_t keep_alive; } mqtt_client_t; void mqtt_connect(mqtt_client_t *client, const char* broker_ip, int port); ``` 调用上述方法前记得填充必要的字段值,比如`broker_ip="183.230.40.39"`对应于OneNet公共网关地址。 ##### 2. 数据发布流程 当传感器采集完毕之后,可按照既定格式封装消息并通过PUBLISH命令广播出去。假设我们要推送温度读数给特定Topic `"/devices/{device_id}/datapoints"` ,则对应的C语言逻辑可能类似于这样: ```c char payload[] = "{\"temp\":25}"; mqtt_publish(client, "/devices/12345/datapoints", payload, strlen(payload), QOS_1); ``` 注意替换实际Device ID以及动态生成JSON字符串部分[^3]。 --- #### 五、OTA远程升级支持(选配) 对于追求更高灵活性的产品而言,引入Over-the-Air技术显得尤为重要。它允许开发者无需亲临现场即可完成固件迭代操作。关于这部分的具体实施细节,请参阅开源仓库中的文档资源[^4]。 ---
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

日落悬崖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值