您现在的位置是:首页 >学无止境 >胎教式教程——51单片机ESP8266连接新版本OneNet操作,发送数据至云服务器网站首页学无止境

胎教式教程——51单片机ESP8266连接新版本OneNet操作,发送数据至云服务器

墨晨码影 2024-08-22 12:01:03
简介胎教式教程——51单片机ESP8266连接新版本OneNet操作,发送数据至云服务器

前言

该教程适用于新版本的OneNET物联网开放平台,找到多协议接入入口,本教程不需要使用Keil5上的代码,你是否出现了AT指令无回应,HTTP请求错误 等问题,这一篇文章带你解决所有问题,胎教式教程
后续将发布一些用51单片机发送数据至云服务器

注册OneNet

官网 :https://open.iot.10086.cn/
在这里插入图片描述

创建产品

登录成功后进入到该页面

点击进入开发者中心

在这里插入图片描述

进入后点击右上角有一个“费用中心”

在这里插入图片描述

进去后,第一步先点击左上角类似齿轮的东西
第二步点击多协议接入

在这里插入图片描述

进入后点击上方有个HTTP,之后点击添加产品,产品名称根据你自己的需求来定,用WIFI

在这里插入图片描述

添加之后,这个页面包含你设备的API,你可以拿记事本记下来,以免每次都需要验证码查看
点击左边的列表

在这里插入图片描述

添加产品,根据自己的需求来创建

在这里插入图片描述

最后创建结束,这样就创建成功了,设备id也有了

在这里插入图片描述

ESP8266连接方式

将ESP8266直接插在电脑上,单片机或许也要接通在电脑上(如果不插入无效,则连接单片机),即可
在这里插入图片描述

关于本文章所需要用到的文件放在最上面免费下载(推荐),下面也有其他的下载方式

CSDN上下载应该在该文章最上面,下载后记得解压使用哦

ESP固件烧录

对于有些ESP8266可能要烧录才可以正常使用,如果你可以直接发送AT(正确的串口和波特率的情况下)
有回答“ok”则不需要烧录,如果没反应则进行固件烧录

下载固件烧入软件和相对于的文件

链接:https://pan.baidu.com/s/1oZJ3FegmqJzCiZ7m6vxszw?pwd=0xc7
提取码:0xc7
下载文件后,如图

下面分别由AT固件和烧录软件,我们首先要找到AT固件文件夹中的一个8位 1024kb大小的bin文件

在这里插入图片描述

bin文件如下图第一个

在这里插入图片描述

找到后记住这个文件位置,或者将这个文件复制到桌面 再找到图中这个选中的应用程序,打开

在这里插入图片描述

打开后(这些文件需要解压),选中第一个

在这里插入图片描述

除了串口不一致,其他都一致

在这里插入图片描述

配置完成之后,点击下面的ERASE准备,然后点击START开始,如果下面有进度条,则等待进度条完成,如果没有则点击ESP8266的USB接口处有个复位,再来一遍(确保bin文件是1024kb的8位的文件),串口号也要与你的ESP8266一致
完成后及可以复位,ESP8266则烧录固件成功,可以进行下一步了

关于使用ESP8266的相关工具

链接:https://pan.baidu.com/s/1vx-eh8NfneOCLzOrJURkmA?pwd=d8qn
提取码:d8qn
下载XCOM串口助手
在这里插入图片描述

操作步骤

建议严格按照下列步骤,如果出错了(例如ERROR),可以发送AT-RST(重置当前指令,从步骤一再开始),WIFI连接需要时间,等候一会即可

1.先在串口选择处选择你当前ESP8266的端口,然后ESP8266波特率默认为115200
2.先发送指令“AT”,看是否回复“OK”
3.发送下面的指令改波特率为9600:AT+UART=9600,8,1,0,0 看看是否回复ok,如果不是,则手打一遍,要英文输入法
4.发送 : AT+CWMODE=1 //如果不行则把后面的1改为3
5.打开手机热点 :让ESP8266连接WIFI(手机开热点要2.4G的,电脑要连接)
6.连接WIFI :发送指令 :AT+CWJAP=“ESP”,“123456789” //前面是你手机的WIFI账号,后面是密码 连接成功会显示“WIFI CONNECTEDND GOT IP” 该功能可能会需要等待5~15秒左右
7.和OneNet服务器建立连接 发送指令 AT+CIPSTART=“TCP”,“183.230.40.33”,80
8.透明传输模式 AT+CIPMODE=1
9.传输数据 AT+CIPSEND
每次指令成功后会发出“OK”

最后一步很重要,这只是个发送“A”字符的测试

发送HTTP请求 同样在发送指令那里输入,直接粘贴过去

POST /devices/你的设备ID/datapoints?type=3 HTTP/1.1
api-key:你的设备密钥
Host:api.heclouds.com
Connection:close
Content-Length:16
Content-Type: application/json

{"Data": "A"}

如果出现

>HTTP/1.1 400 Bad Request
Server: nginx
Date: Mon, 05 Jun 2023 13:44:12 GMT
Content-Type: text/html
Content-Length: 150
Connection: close

<html>
<head><title>400 Bad Request</title></head>
<body>
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx</center>
</body>
</html>

这种情况 则说明你的HTTP请求格式出错了,那么再仔细看看哪里没复制好

你的密钥和设备ID在上文已经说明如何查看了

最终结果展示

发送HTTP请求成功后会显示

最下面显示0错误,SUCC成功则代表发送成功
在这里插入图片描述

在OneNET上则是

数据流展示那里可以看到你发送的数据

在这里插入图片描述

总结

这只是一个如何用ESP8266用串口的方式发送数据至云服务器的最基础教程,如果你须用发送单片机里的数据,也是大致的方法,具体请查阅其他博主,如果还有其他问题欢迎评论区留言

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。