【AT模式连接ONENET】ONENET可视化平台的使用

本文介绍了如何通过AT命令配置物联网设备连接ONENET平台,包括设置工作模式、启用DHCP、连接MQTT服务器、数据流产品创建、鉴权、订阅与发布操作,以及如何在可视化平台上传位置数据和配置过滤器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

02 ONENET可视化平台的使用

 AT+CWMODE=1  设置模式
AT+CWDHCP=1,1 启动DHCP功能
①AT+CWJAP="ssid","password"    AT+CWJAP=“123456789”,“wang020118”
②AT+MQTTUSERCFG=0,1,"设备名字","设备ID","你的鉴权信息""
③AT+MQTTCONN=0,"mqtts.heclouds.com",1883,1
④AT+MQTTPUB=<LinkID>,<"topic">,<"data">,<qos>,<retain>//发布物模型数据
AT+MQTTSUB=0,"sys/设备ID/设备名/thing/property/post/reply",1⑤AT+MQTTPUB=0,"sys/设备ID/设备名/thing/property/post/reply",1
⑤AT+MQTTPUB=0,"sys/设备ID/设备名/thing/property/post/reply",1⑤AT+MQTTPUB=0,"sys/设备ID/设备名/dp/post/json","{\"id\":1\,\"dp\":{\"positiom\":[{\"v\":{\"lat\":54.76361061510214\,\"lon\":113.56443003905532\}}]}}",0,0

一 . 产品的创建

注意一定要创建数据流格式的产品!!!!!!

二 . MQTT测试

  1. 鉴权信息生成

image

res里面需要产品ID,设备ID是没有用的。

key:是一个需要验证码的产品key

image

user name : 是设备ID

密码:是产生的鉴权token

3 订阅信息

image

$sys/5KKC3r7o13/old/dp/post/json/+

订阅这个可以看见返回的信息。

发布信息

image

发布信息的格式,注意括号对称

{ "id": 2129107374,"dp": {
  "temp": [{
   "v": 30.1
   }]
}
}

image

三. 接入可视化平台

{"lat":34.74310819182532,"lon":113.62442900505873}

数据流数据,上报一个这样的信息。

过滤器的配置

// 最终数据应该是一个数组
var result = [];
var dataPoint = null;
//循环处理选中的数据源的数据点
for (var i = 0; i < data.length; i++) {
    // 从数据点中取出需要的数据,通过配置键值对使得数据格式符合要求
    dataPoint = {
        dev1: {
            lon: data[i].value.lon,
            lat: data[i].value.lat,
        },
    };
    // 将这个数据点添加进结果中
    result.push(dataPoint);
}
return result;

image

注意实际数据上传的时候,使用到的数据格式:

{
 "id": 2129107374,
 "dp": {
  "positiom": [{
   "v": {
  "lon": 113.56443003905532, 
  "lat": 54.76361061510214
}
   }]
}
}

随便改了一下坐标数据,测试结果如下,数据传输成功。

image

image

<think>好的,我现在需要帮助用户了解如何将ESP32连接OneNet平台。根据用户提供的引用资料,虽然大部分是关于ESP8266的,但ESP32和ESP8266连接平台的流程上有相似之处,可能可以借鉴。 首先,我需要回顾用户提供的三个引用内容。引用[1]提到ESP8266连接OneNet的HTTP协议方法,需要APIKEY和设备号。引用[2]讨论了STM32和ESP8266通过MQTT上传数据到OneNet的步骤,涉及产品ID、设备ID和鉴权信息。引用[3]则给出了HTTP接入流程的链接。这些信息显示,连接OneNet通常需要产品ID、设备ID、APIKEY或鉴权信息,以及选择正确的协议(HTTP或MQTT)。 接下来,我需要确定ESP32与ESP8266连接平台时的异同。ESP32同样支持Wi-Fi,可以使用AT指令或编程框架(如Arduino、MicroPython)进行开发。因此,步骤可能包括配置设备信息、编写连接代码、上传数据等。 用户的问题是关于ESP32连接OneNet的步骤教程。现有的引用中没有直接提到ESP32,但流程应该类似。可能需要先注册OneNet账户,创建设备,获取设备信息,然后编写ESP32代码,使用HTTP或MQTT协议进行连接和数据传输。 需要注意的是,不同的协议(HTTP vs MQTT)步骤不同。引用[1]和[3]用的是HTTP,而引用[2]用的是MQTT。用户可能需要选择其中一种协议,所以回答中应该区分这两种情况。 另外,确保代码示例的正确性。由于用户提供的引用中有Python的快速排序示例,但ESP32通常用C/C++(Arduino)或MicroPython编写,可能需要提供相应的代码片段。例如,使用Arduino IDE的HTTP POST请求或MQTT客户端库。 最后,生成相关问题需要考虑用户可能的后续疑问,比如如何处理连接失败、数据格式要求、如何实现远程控制等,以及可能涉及的鉴权方式、固件更新等。</think>### ESP32连接OneNet平台步骤教程 将ESP32连接OneNet平台的核心步骤包括**设备注册、协议选择、代码编写及数据验证**,具体流程如下: --- #### **一、OneNet平台配置** 1. **注册账号并创建产品** - 登录[OneNet平台](https://open.iot.10086.cn/),进入控制台,点击「产品」→「创建产品」。 - 选择接入协议(HTTP或MQTT),填写产品名称和行业类别[^3]。 2. **添加设备并获取关键信息** - 在创建的产品下点击「添加设备」,填写设备名称和唯一标识(如设备ID)。 - 记录**产品ID**、**设备ID**、**APIKEY**(HTTP协议)或**鉴权信息**(MQTT协议)[^1][^2]。 --- #### **二、ESP32端代码开发** ##### **方案1:HTTP协议接入** 1. **依赖库与初始化** - 使用Arduino IDE,安装`WiFiClientSecure`和`HTTPClient`库。 - 配置Wi-Fi连接: ```cpp #include <WiFi.h> const char* ssid = "your_SSID"; const char* password = "your_PASSWORD"; void setup() { WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) delay(500); } ``` 2. **发送数据到OneNet** - 构造HTTP POST请求,需包含APIKEY和设备ID: ```cpp #include <HTTPClient.h> void uploadData() { HTTPClient http; String url = "http://api.heclouds.com/devices/<设备ID>/datapoints"; http.begin(url); http.addHeader("api-key", "<你的APIKEY>"); http.addHeader("Content-Type", "application/json"); String payload = "{\"datastreams\":[{\"id\":\"temp\",\"datapoints\":[{\"value\":25}]}]}"; int httpCode = http.POST(payload); if (httpCode == HTTP_CODE_OK) { Serial.println("数据上传成功"); } http.end(); } ``` ##### **方案2:MQTT协议接入** 1. **使用PubSubClient库** - 安装`PubSubClient`库,配置MQTT连接参数: ```cpp #include <PubSubClient.h> WiFiClient espClient; PubSubClient client(espClient); const char* mqttServer = "mqtt.heclouds.com"; const int mqttPort = 1883; const char* deviceID = "<设备ID>"; const char* authInfo = "<产品鉴权信息>"; // 格式为"产品ID;设备ID;鉴权token" ``` 2. **连接并发布数据** ```cpp void reconnect() { while (!client.connected()) { if (client.connect(deviceID, "<产品ID>", authInfo)) { client.publish("$sys/<产品ID>/<设备ID>/upload", "{\"temp\":25}"); } } } ``` --- #### **三、数据验证与调试** 1. 在OneNet控制台找到设备的数据流页面,查看是否接收到ESP32上传的数据。 2. 使用**平台的数据可视化工具**创建仪表盘,实时监控传感器数据。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

おもいね

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

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

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

打赏作者

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

抵扣说明:

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

余额充值