STM32+ESP8266在新版ONENET上传温湿度信息及APP接收平台数据(物模型)

一、在ONENET创建产品

        首先登陆OENENT云平台,直接在浏览器搜索ONENET即可

        进入网站后是如下界面:

如果没有登录的话,右上角会有登录按钮,如果没有云平台账号的话,要先进行注册。登录后就可以进入上图的界面了。然后点击开发者中心,开始创建产品。

进入开发者中心后,出现如下界面:

点击左侧的产品开发,然后点击右上角处右创建产品

产品创建出现如下界面:产品品类可以随意选择,接入方式选择设备接入,产品名称可以自定义,节点类型选择直连设备,注意,接入协议要选择MQTT,然后数据类型的话,我选择的是物模型来接收的数据,所以用ONEJson,如果是选择数据流的话,数据协议可以更改为数据流。接入方式我用的是热点连接esp8266,所以选择了wifi,如果有用别的方式联网的话,可以按照自己的方式来。填写完以下信息后,我们的产品就算是创建完成了。

二、添加设备

产品创建完成后,要在产品里面添加设备,点击右侧的设备管理

添加设备:所属产品要选择我们刚创建的产品,设备名称可以根据自己喜好来,我们的温湿度数据就是通过这个设备来接收的。

### 集成新版 OneNET 平台ESP8266STM32F103 为了成功集成新版 OneNET 平台ESP8266STM32F103,在硬件连接方面,需确保正确无误地完成各模块间的电气连接。具体来说,STM32F103C8T6 的 PA9 (TX) 应当连接到 ESP8266 的 RX 引脚;而 STM32F103C8T6 的 PA10 (RX) 则应连接至 ESP8266 的 TX 引脚[^4]。 对于软件层面而言,采用 HAL 库来初始化并配置 USART 接口是非常常见的做法。这一步骤至关重要,因为后续所有的 AT 命令都将依赖于此接口向 ESP8266 发送命令以建立 WiFi 连接以及 MQTT 协议下的通信链路[^2]。 #### 初始化USART口设置 ```c UART_HandleTypeDef huart1; void MX_USART1_UART_Init(void){ huart1.Instance = USART1; huart1.Init.BaudRate = 115200; // 设置波特率 huart1.Init.WordLength = UART_WORDLENGTH_8B; huart1.Init.StopBits = UART_STOPBITS_1; huart1.Init.Parity = UART_PARITY_NONE; huart1.Init.Mode = UART_MODE_TX_RX; huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE; huart1.Init.OverSampling = UART_OVERSAMPLING_16; if (HAL_UART_Init(&huart1) != HAL_OK){ Error_Handler(); } } ``` 一旦完成了上述准备工作之后,就可以编写用于控制 ESP8266 执行特定操作的应用逻辑代码了。比如发送一系列预定义好的 AT 指令给 ESP8266 来使其加入指定 SSID 的 Wi-Fi 网络,并创建通往 OneNET 服务器的安全通道。 #### 使用AT指令使ESP8266连接WiFi网络 ```c char wifi_ssid[] = "your_wifi_ssid"; char wifi_password[] = "your_wifi_password"; // 构建并发送Wi-Fi连接请求 sprintf((char*)tx_buffer, "AT+CWJAP=\"%s\",\"%s\"\r\n", wifi_ssid, wifi_password); HAL_UART_Transmit(&huart1, tx_buffer,strlen((const char *)tx_buffer), HAL_MAX_DELAY); // 处理响应... while(HAL_UART_Receive(&huart1, rx_buffer, sizeof(rx_buffer)-1, 1000)!= HAL_OK){} if(strstr((const char*)rx_buffer,"OK")){ printf("Connected to AP\r\n"); }else{ printf("Failed to connect to AP\r\n"); } ``` 最后,要实现数据上传功能,则需要构建 JSON 格式的字符串表示待传输的数据集,并通过已建立的 MQTT 客户将其发布到目标主题上[^3]。 #### 数据上传示例 ```json { "datastreams":[ { "id":"temperature", "datapoints":[{"value":25}] }, { "id":"humidity", "datapoints":[{"value":70}] } ] } ``` 在实际应用中,可以将温度和湿度等环境参数替换为其他类型的传感信息或者业务相关指标,从而满足不同场景的需求。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值