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

Engineer-Bruce_Yang 2020-11-12 22:31:08
ESP8266 http 实战 使用 esp


最近一段时间无论是正副业挺忙,人生的第一个父亲节,将在天津度过,这也是我生平第一次走出广东,活已经完成99%了,相对来说还是挺有成就感的,学习了不少东西,今天下午休息,开始继续更新公众号推文:

ESP8266可玩性真的很高,公众号之前也发了不少ESP8266的应用,比如最近,我就把之前做的小车改良了,因为那个小车由于自己装配工艺不好,四个轮子经常跑偏,于是我就又花了上百大洋,重新打造了一个坦克,还没来得及发文呢,给大家展示下效果:

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

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

操作指引文档地址:

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

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

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

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

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

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

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

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

HTTP 核心总结 PDF 也出来了!!!

炸裂!万字长文拿下HTTP 我在字节跳动等你!

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

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

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

基于小熊派WIFI-ESP8266实践(上)

ESP8266透传:发送数据到HTTP服务器

基于小熊派WIFI-ESP8266实践(中)-多功能处理显示等大杂烩

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

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

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

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

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

4、案例下载

公众号后台回复:OneNet 即可获取本节程序案例的下载链接。

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

最后,应公众号读者要求,来一张杨工近照,4年嵌入式职场老油条,这也是我第一次在公众号露面啦

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

往期精彩

一些不可不知的计算机网络基础

实战贴:开源GUI LittlevGL在MCU上的移植

MCU SPI屏也能跑这么炫酷的特效?来,移植起来秀一秀

实战贴:开源GUI STemWin在小熊派上的移植(显示很漂亮、很细腻,棒!)

移植一个实时OS很难?那就手把手教你如何快速移植一个RT-Thread Nano吧!

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

版权声明
本文为[Engineer-Bruce_Yang]所创,转载请带上原文链接,感谢
https://yangyuanxin.blog.csdn.net/article/details/106880576

  1. [front end -- JavaScript] knowledge point (IV) -- memory leakage in the project (I)
  2. This mechanism in JS
  3. Vue 3.0 source code learning 1 --- rendering process of components
  4. Learning the realization of canvas and simple drawing
  5. gin里获取http请求过来的参数
  6. vue3的新特性
  7. Get the parameters from HTTP request in gin
  8. New features of vue3
  9. vue-cli 引入腾讯地图(最新 api,rocketmq原理面试
  10. Vue 学习笔记(3,免费Java高级工程师学习资源
  11. Vue 学习笔记(2,Java编程视频教程
  12. Vue cli introduces Tencent maps (the latest API, rocketmq)
  13. Vue learning notes (3, free Java senior engineer learning resources)
  14. Vue learning notes (2, Java programming video tutorial)
  15. 【Vue】—props属性
  16. 【Vue】—创建组件
  17. [Vue] - props attribute
  18. [Vue] - create component
  19. 浅谈vue响应式原理及发布订阅模式和观察者模式
  20. On Vue responsive principle, publish subscribe mode and observer mode
  21. 浅谈vue响应式原理及发布订阅模式和观察者模式
  22. On Vue responsive principle, publish subscribe mode and observer mode
  23. Xiaobai can understand it. It only takes 4 steps to solve the problem of Vue keep alive cache component
  24. Publish, subscribe and observer of design patterns
  25. Summary of common content added in ES6 + (II)
  26. No.8 Vue element admin learning (III) vuex learning and login method analysis
  27. Write a mini webpack project construction tool
  28. Shopping cart (front-end static page preparation)
  29. Introduction to the fluent platform
  30. Webpack5 cache
  31. The difference between drop-down box select option and datalist
  32. CSS review (III)
  33. Node.js学习笔记【七】
  34. Node.js learning notes [VII]
  35. Vue Router根据后台数据加载不同的组件(思考->实现->不止于实现)
  36. Vue router loads different components according to background data (thinking - & gt; Implementation - & gt; (more than implementation)
  37. 【JQuery框架,Java编程教程视频下载
  38. [jQuery framework, Java programming tutorial video download
  39. Vue Router根据后台数据加载不同的组件(思考->实现->不止于实现)
  40. Vue router loads different components according to background data (thinking - & gt; Implementation - & gt; (more than implementation)
  41. 【Vue,阿里P8大佬亲自教你
  42. 【Vue基础知识总结 5,字节跳动算法工程师面试经验
  43. [Vue, Ali P8 teaches you personally
  44. [Vue basic knowledge summary 5. Interview experience of byte beating Algorithm Engineer
  45. 【问题记录】- 谷歌浏览器 Html生成PDF
  46. [problem record] - PDF generated by Google browser HTML
  47. 【问题记录】- 谷歌浏览器 Html生成PDF
  48. [problem record] - PDF generated by Google browser HTML
  49. 【JavaScript】查漏补缺 —数组中reduce()方法
  50. [JavaScript] leak checking and defect filling - reduce() method in array
  51. 【重识 HTML (3),350道Java面试真题分享
  52. 【重识 HTML (2),Java并发编程必会的多线程你竟然还不会
  53. 【重识 HTML (1),二本Java小菜鸟4面字节跳动被秒成渣渣
  54. [re recognize HTML (3) and share 350 real Java interview questions
  55. [re recognize HTML (2). Multithreading is a must for Java Concurrent Programming. How dare you not
  56. [re recognize HTML (1), two Java rookies' 4-sided bytes beat and become slag in seconds
  57. 【重识 HTML ,nginx面试题阿里
  58. 【重识 HTML (4),ELK原来这么简单
  59. [re recognize HTML, nginx interview questions]
  60. [re recognize HTML (4). Elk is so simple