Esp8266接入OneNet调试、Arduino接入OneNet平台[有用]

1.连接到OneNET服务器  【按从上到下顺序进行AT指令】
服务器IP和端口为 183.230.40.34:80
服务器IP和端口为 183.230.40.33:80  #OneNet服务器这两个 IP都可以 (一个不行换另外一个)
AT+UART=9600,8,1,0,0                 
AT+UART_CUR=115200,8,1,0,3//AT+UART_CUR – 设置 UART 当前设置,不保存到 flash
//==========================
AT+CIFSR                               //查看IP地址
AT+CWMODE=3                    //配置成 AP+STA模式
AT+RST                                  //重启生效
AT+CIFSR                              //查询设备IP
AT+CWJAP=“777”,“guaishou”  //连接你手机的热点“777”为热点的名称,"guaishou"为密码。  
AT+CIPSTART=“TCP”,“183.230.40.33”,80 //HTTP服务器183.230.40.33/80
AT+CIPMODE=1                     //开启透传模式
AT+CIPSEND                          //开始透传
———————————————— 从下面这个博主得到的信息 建议看一看
版权声明:本文为CSDN博主「小小小White」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
 

AT+CWLAP                                                         //查询此时AP

AT+CWJAP="TP-LINK_A345","dzsj520+++++" //连接热点 这是我在实验室的 路由器wifi账号与密码

AT+CIPSTART="TCP","183.230.40.33",80        //连接Onenet平台 如果连接OneNet平台不成功试一下这个Ip地址//183.230.40.33//
AT+CIPMODE=1                                                //开启透传模式
AT+CIPSEND                                                     //开始透传
//==============

退出透传
AT+CIPSEND
+++  

 //发送“+++”     目的是让ESP8266退出透传;
//===========突破==============================================//

//因为发送信息都是通过 Http协议的Post方式
https://blog.csdn.net/Sanjay_Wu/article/details/84870419【GET POST 还有C语言版都来自于这位网友 感谢!!!】
POST /devices/569937849/datapoints HTTP/1.1 【POST注意得地方】

//===========Onenet USR-TCP232调试==(发送数据toOnenet)=================//USR-TCP232是一个网络串口调试助手
POST /devices/569937849/datapoints HTTP/1.1
api-key:cI4814MJryBZJrb7hxRfwuhV2TI=
Host:api.heclouds.com
Content-Length:66

{"datastreams":[{"id":"ADC_1","datapoints":[{"value":28}]}]}
//===========Onenet USR-TCP232调试==(接受数据fromOnenet)================//
GET http://api.heclouds.com/devices/569937849/datapoints?datastream_id=ADC_1 HTTP/1.1
api-key:cI4814MJryBZJrb7hxRfwuhV2TI=
Host:api.heclouds.com


//Host:api.heclouds.com之后要有两个换行\r\n\r\n 也就是空了两行的原因(此行与 上一行空了Host:api.heclouds.com的原因就是要发两个空行)

//=======以上为WiFi模块AT指令+接入OneNET平台==//
//与PC类似:https://www.jianshu.com/p/912a48d8f1ee
但再USRTCP232上位机上连接串口WIFI模块发送POST GET没反应换一个串口助手能迅速响应!!如ComPort.exe 串口助手,

USRTCP232既有网络串口功能,也有普通PC串口功能 但是在我电脑上它的PC串口功能有时有点问题 ,当时花了很多时间调试,解决方法是换一个串口助手就可以了

//====Arduino接入OneNet平台==基于HTTP协议需要的库//

#include <TimerOne.h>
#include <HttpPacket.h>
#include <ArduinoJson.h>
https://blog.csdn.net/qq_36955622/article/details/90044343    (TimerOne库)
好多人找的arduinojson库和httppacket库文件包
https://open.iot.10086.cn/bbs/thread-2716-1-1.html   (感谢网友)
http://www.51hei.com/bbs/dpj-136464-1.html       (感谢网友)


 
 
 

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个基本的ESP8266连接OneNet服务器的Arduino IDE代码: #include <ESP8266WiFi.h> #include <WiFiClientSecure.h> const char* ssid = "your_SSID"; const char* password = "your_PASSWORD"; const char* host = "api.heclouds.com"; const int httpsPort = 443; void setup() { Serial.begin(115200); delay(10); // Connect to WiFi network Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); } void loop() { WiFiClientSecure client; Serial.print("connecting to "); Serial.println(host); if (!client.connect(host, httpsPort)) { Serial.println("connection failed"); return; } String url = "/devices/your_device_id/datapoints?type=3"; String apiKey = "your_api_key"; String contentType = "application/json"; String payload = "{\"datastreams\":[{\"id\":\"your_datastream_id\",\"datapoints\":[{\"value\":1}]}]}"; Serial.print("requesting URL: "); Serial.println(url); client.print(String("POST ") + url + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "api-key: " + apiKey + "\r\n" + "Content-Type: " + contentType + "\r\n" + "Content-Length: " + payload.length() + "\r\n" + "Connection: close\r\n\r\n" + payload); Serial.println("request sent"); while (client.connected()) { String line = client.readStringUntil('\n'); if (line == "\r") { Serial.println("headers received"); break; } } String line = client.readStringUntil('\n'); if (line.startsWith("{\"errno\":0,")) { Serial.println("data sent"); } else { Serial.println("data not sent"); } Serial.println("closing connection"); delay(5000); } 请注意,您需要将代码中的“your_SSID”、“your_PASSWORD”、“your_device_id”、“your_api_key”和“your_datastream_id”替换为您自己的值。此外,您还需要在OneNet上创建设备和数据流,并获取API密钥。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值