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头+HTTP数据包。
这样一个简单的数据上传模板就完成了,接下来我们用ESP8266来实测一下:
关于ESP8266联网的一些基础之前的文章已经有写过了,这里就不再重复写了,请看下文,当然之前也写了一篇ESP8266透传HTTP服务器的文章,这个是用SoapUI搭建的HTTP服务器。
基于小熊派WIFI-ESP8266实践(中)-多功能处理显示等大杂烩
以上串口终端已经收到后台给我们回复的200OK的字段,数据已经成功上传到OneNet服务器,接下来我们登录OneNet云平台,可以看到数据已经透传成功:
以下是我随机模拟的一组数据,平台能够成功收到并通过折线图进行展示。
那么在MCU软件上如何来实现呢?很简单,我们把在串口终端收发的过程用代码实现就可以了,其实大部分小白不是纠结怎么通过ESP8266去连接热点,连接服务器,这些随便找野火、正点原子等厂家的ESP8266例程都可以轻松获取,小白纠结的是,如何在程序上组一个HTTP数据包,最后通过数据包透传到服务器。
以下测试在小熊派开发板上运行,源码请查看文末回复字段,关键部分代码实现如下,只需要WIFI进入透传模式后,循环调用OneNet_SendData
这个函数就可以源源不断的在后台接收到数据了,其中要注意的是,ONENET_DEVICE_ID
以及ONENET_API_KEY
这两个宏,请根据你在平台上注册的实际信息填写。
OneNet平台收到数据后的数据展示:
4、案例下载
公众号后台回复:OneNet 即可获取本节程序案例的下载链接。
温馨提示:如果您手上有小熊派开发板,请修改以上红框字段,其余部分程序不需要修改,平台的话,按文章中在平台上做相应的设置即可,最后直接下载到开发板上,打开串口终端以及OneNet平台查看实验结果。
往期精彩
实战贴:开源GUI STemWin在小熊派上的移植(显示很漂亮、很细腻,棒!)