ESP8266學習筆記8:ESP8266接入機智雲

我整理了從2015年至今關於ESP8266的學習筆記,梳理出來了開發環境、基礎功能、進階學習三大部分,方便自己和他人。可點此查看,歡迎交流。

1 前言

本文偏軟,先做個聲明。

利益相關聲明:我是一個硬件公司的工程師,跟機智雲沒有任何的利益相關。

機智雲,是目前比較開放的第三方雲平臺。我是在今年光亞展上看到他們的,當時記了幾家國內的雲平臺公司,機智雲是其中之一。主要的瞭解還都是在網上,公司發展也不錯,在商務對接時支持也比較給力。他們開源了很多APP和SDK,相信有不少人都從中受益。這陣子經常看到他們有很多大動作,更讓我佩服這家公司,比如今天剛融了2億的B輪,比如前兩週受邀參加藍牙亞洲大會,比如上個月和樂視合作。

好了,軟文完畢,開始正文。
轉載請註明:http://blog.csdn.net/sadshen

2 成果炫耀

最近使用ESP8266對接機智雲,已經初步完成雛形,APP端和設備端已能雙向通信。

APP端截圖:

平臺端截圖:

3 機智雲的通訊模型

下圖爲機智雲的整個通訊模型。

可以看到,設備與雲端的通訊分爲了GService和M2M:GService採用http協議,負責設備註冊、註銷等;M2M採用MQTT協議,負責進行實時性較強的數據操作。

這種雙中心的劃分非常棒,充分發揮了兩種協議的優勢,http的特點是簡單,MQTT的訂閱通知特性又有非常棒的實時性。普通的雲平臺,就單獨使用http完成了註冊登錄、還做數據上報,下行控制等功能,顯然是很有侷限性的。

我一直以爲yeelink就單單使用http,後來看到也有mqtt的API,後面有時間再來試一試。

4 ESP8266的移植

機智雲在github上開源了GAgent代碼,ESP8266的移植主要參考了這份代碼。幾個功能模塊劃分非常好,值得借鑑。我移植下來,覺得不足的地方就是其中的很多數據類型還很混亂,有符號和無符號數據交錯變換,有些用到int的地方,其實定義uint16就夠了。我不是原作者,怕自己沒能理解透原作者的意思,由於也是github新手,就只修改了一個明顯的小錯誤,向官方發了一個Pull Request。這是我的github,歡迎關注。如果你也受益於開源的GAgent,不妨也來社區做下貢獻。

5 接入記錄

由於機智雲的對接簽署了商業協議,我不能把具體協議及接入心得發上來。這一段就不發了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章