ESP8266实战贴:使用HTTP POST请求上传数据到公有云OneNet

Posted 嵌入式云IOT技术圈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ESP8266实战贴:使用HTTP POST请求上传数据到公有云OneNet相关的知识,希望对你有一定的参考价值。

好了,下面进入正题,使用ESP8266来上传数据到公有云-OneNet

纵观大部分公有云,就目前个人接触过的而言,我觉得中国移动OneNet平台是最好上手的,下面,我们就简单根据官方网站提供的HTTP开发者文档的操作指引,通过ESP8266上报数据,最终通过平台进行展示:

https://open.iot.10086.cn/doc/kit/book/standard_board/onenet/HTTP/HTTP.html

根据操作指引,以下是我在OneNet平台上创建了一个多协议接入的产品:

ESP8266实战贴:使用HTTP POST请求上传数据到公有云OneNet

ESP8266实战贴:使用HTTP POST请求上传数据到公有云OneNet

1、OneNet平台针对各类接入协议的描述

ESP8266实战贴:使用HTTP POST请求上传数据到公有云OneNet

这里,我们重点看HTTP协议部分,其它的部分等用到了再详细去了解。

2、OneNet平台产品常用名词解析

ESP8266实战贴:使用HTTP POST请求上传数据到公有云OneNet

这部分也是后面使用HTTP协议的铺垫,这里面有部分参数我们后面需要使用,譬如设备ID,OneNet平台上注册的APIKey。

3、一个最简单的数据上报OneNet平台的HTTP模板

ESP8266实战贴:使用HTTP POST请求上传数据到公有云OneNet

关于HTTP协议学习,可以参考大佬的文章学习,这是我认为写得最通俗易懂的:


如上图所示,这是我创建的数据流模板,然后以下提供一个最简单的HTTP头+HTTP数据包。

ESP8266实战贴:使用HTTP POST请求上传数据到公有云OneNet

这样一个简单的数据上传模板就完成了,接下来我们用ESP8266来实测一下:

关于ESP8266联网的一些基础之前的文章已经有写过了,这里就不再重复写了,请看下文,当然之前也写了一篇ESP8266透传HTTP服务器的文章,这个是用SoapUI搭建的HTTP服务器。



ESP8266实战贴:使用HTTP POST请求上传数据到公有云OneNet

以上串口终端已经收到后台给我们回复的200OK的字段,数据已经成功上传到OneNet服务器,接下来我们登录OneNet云平台,可以看到数据已经透传成功:

ESP8266实战贴:使用HTTP POST请求上传数据到公有云OneNet

以下是我随机模拟的一组数据,平台能够成功收到并通过折线图进行展示。

ESP8266实战贴:使用HTTP POST请求上传数据到公有云OneNet

那么在MCU软件上如何来实现呢?很简单,我们把在串口终端收发的过程用代码实现就可以了,其实大部分小白不是纠结怎么通过ESP8266去连接热点,连接服务器,这些随便找野火、正点原子等厂家的ESP8266例程都可以轻松获取,小白纠结的是,如何在程序上组一个HTTP数据包,最后通过数据包透传到服务器。


以下测试在小熊派开发板上运行,源码请查看文末回复字段,关键部分代码实现如下,只需要WIFI进入透传模式后,循环调用OneNet_SendData这个函数就可以源源不断的在后台接收到数据了,其中要注意的是,ONENET_DEVICE_ID以及ONENET_API_KEY这两个宏,请根据你在平台上注册的实际信息填写。


ESP8266实战贴:使用HTTP POST请求上传数据到公有云OneNet

ESP8266实战贴:使用HTTP POST请求上传数据到公有云OneNet

OneNet平台收到数据后的数据展示:

ESP8266实战贴:使用HTTP POST请求上传数据到公有云OneNet

4、案例下载

ESP8266实战贴:使用HTTP POST请求上传数据到公有云OneNet

温馨提示:如果您手上有小熊派开发板,请修改以上红框字段,其余部分程序不需要修改,平台的话,按文章中在平台上做相应的设置即可,最后直接下载到开发板上,打开串口终端以及OneNet平台查看实验结果。


ESP8266实战贴:使用HTTP POST请求上传数据到公有云OneNet

明天是我人生中的第一个父亲节,先祝自己父亲节快乐,好好奋斗,让小小杨过得幸福美满!

往期精彩





觉得本次分享的文章对您有帮助,随手点[在看]并转发分享,也是对我的支持。

以上是关于ESP8266实战贴:使用HTTP POST请求上传数据到公有云OneNet的主要内容,如果未能解决你的问题,请参考以下文章

MicroPython 和 ESP8266 http 服务器请求不完整

WiFi-ESP8266入门http(3-1)网页认证上网-post请求(原教程)

WiFi-ESP8266入门http(3-4)网页一键配网(1若为普通wifi直连 2若为西电网页认证自动网页post请求连接)+网页按钮灯控+MQTT通信

ESP8266通过http Get方法获取网络数据

ESP8266 HTTP通讯-客户端向服务器请求数据信息

ESP8266 / NodeMCU RESTful HTTP发布