ESP8266学习笔记8:ESP8266接入机智云

来源:互联网 发布:人工智能与经济学 编辑:程序博客网 时间:2024/06/04 18:03

我整理了从2015年至今关于ESP8266的学习笔记,梳理出来了开发环境、基础功能、进阶学习三大部分,方便自己和他人。可点此查看,欢迎交流。

本文写于2015年,2016年开始机智云已经开放了Gagent在ESP8266的源码,因此大家不用在费心移植了。所以此文仅当纪念,目前参考价值不大咯。

1 前言

利益相关声明:我只是一个硬件公司的工程师,跟机智云没有任何的利益相关。

机智云,是目前比较开放的第三方云平台。我是在今年光亚展上看到他们的,当时记了几家国内的云平台公司,机智云是其中之一。主要的了解还都是在网上,公司发展也不错,在商务对接时支持也比较给力。他们开源了很多APP和SDK,相信有不少人都从中受益。这阵子经常看到他们有很多大动作,更让我佩服这家公司,比如今天刚融了2亿的B轮,比如前两周受邀参加蓝牙亚洲大会,比如上个月和乐视合作。

好了,软文完毕,开始正文。

本文作者twowinter,转载请注明作者:http://blog.csdn.net/iotisan/

2 成果炫耀

最近使用ESP8266对接机智云,已经初步完成雏形,APP端和设备端已能双向通信。

APP端截图:

平台端截图:

3 机智云的通讯模型

下图为机智云的整个通讯模型。

可以看到,设备与云端的通讯分为了GService和M2M:GService采用http协议,负责设备注册、注销、Provision等;M2M采用MQTT协议,负责进行实时性较强的数据操作。

这种双中心的划分非常棒,充分发挥了两种协议的优势,http的特点是简单,MQTT的订阅通知特性又有非常棒的实时性。普通的云平台,就单独使用http完成了注册登录、还做数据上报,下行控制等功能,显然是很有局限性的。

我一直以为yeelink就单单使用http,后来看到也有mqtt的API,后面有时间再来试一试。

4 ESP8266的移植

机智云在github上开源了GAgent代码,ESP8266的移植主要参考了这份代码。几个功能模块划分非常好,值得借鉴。我移植下来,觉得不足的地方就是其中的很多数据类型还很混乱,有符号和无符号数据交错变换,有些用到int的地方,其实定义uint16就够了。我不是原作者,怕自己没能理解透原作者的意思,由于也是github新手,就只修改了一个明显的小错误,向官方发了一个Pull Request。这是我的github,欢迎关注。如果你也受益于开源的GAgent,不妨也来社区做下贡献。

5 接入记录

由于机智云的对接签署了商业协议,我不能把具体协议及接入心得发上来。这一段就隐藏掉。


0 0