本次教程為連載教程,教程將介紹如何從零去實現(xiàn)機(jī)智云各類產(chǎn)品的開發(fā)。首先在正式進(jìn)入教程之前,我們對機(jī)智云物聯(lián)網(wǎng)平臺的構(gòu)架進(jìn)行介紹,從下圖我們可以看出,站在一個開發(fā)者的角度上來看,一般開發(fā)者只需要掌握設(shè)備接入,手機(jī)應(yīng)用,企業(yè)應(yīng)用三大部分即可,如果需要更多的服務(wù),可以對數(shù)據(jù)進(jìn)行云分析以及處理,如D3 Engine,RTBD大數(shù)據(jù),ECE霧計算等,同時可以通過產(chǎn)品互聯(lián)已對接Amazon Echo、Google home、天貓精靈、IFTTT、百度音箱、小愛音箱等第三方平臺,輕松配置。

關(guān)于開發(fā)者如何根據(jù)自己的需求去選擇合適的單片機(jī)以及通訊模組,如果產(chǎn)品是在室外,周圍沒有wifi網(wǎng)絡(luò)的,可以選擇 移動網(wǎng)絡(luò)和NB方案,如果產(chǎn)品在室內(nèi)使用,可以選擇wifi方案,如果產(chǎn)品是在室內(nèi)使用,但是又不希望家里面wifi模塊過多,可以采用網(wǎng)關(guān)wifi方案,同樣的室外可以選擇移動網(wǎng)絡(luò)網(wǎng)關(guān)方案。本次教程我們將對這些方案一一進(jìn)行產(chǎn)品的開發(fā)介紹。
接下來我們將介紹獨立MCU方案和SOC方案。
1.獨立MCU方案:采用單片機(jī)加通訊模組構(gòu)成,其中需要通訊模組支持GAgent固件,機(jī)智云物聯(lián)網(wǎng)平臺目前開放固件的模組可以在機(jī)智云下載中心,硬件開發(fā)資源,GAgent里面查

2.SOC方案:將樂鑫的esp8266作為單片機(jī)加通訊模組使用,可應(yīng)用在一些對尺寸比較嚴(yán)格的環(huán)境當(dāng)中,例如插座,球燈之內(nèi)的產(chǎn)品中,但是由于其GPIO不是特別豐富,對于驅(qū)動彩屏之內(nèi)的引腳就不夠用了,如果只是單純的開關(guān)輸出,也可以采用74HC595之類的擴(kuò)展引腳,使其達(dá)到少引腳控制多輸出的效果。SOC方案集成了GAgent協(xié)議代碼,同時機(jī)智云支持8Mbit,16Mbit,32Mbit的flash的ESP8266模組。
其余的介紹我們將通過實際開發(fā)介紹去進(jìn)行詳細(xì)講解。
首先,我們先來講一下如何在開發(fā)者中心創(chuàng)建一個合適自己的新產(chǎn)品,進(jìn)入開發(fā)者中心,點擊右上角創(chuàng)建新產(chǎn)品
按鈕,將會進(jìn)入產(chǎn)品創(chuàng)建頁面

產(chǎn)品分類,選擇最貼近自己產(chǎn)品的,選錯了也不會影響你的產(chǎn)品開發(fā),此處以開發(fā)一個插排為例。

產(chǎn)品名稱將會決定你的產(chǎn)品默認(rèn)的名稱,包括APP綁定設(shè)備之后默認(rèn)的顯示名稱?梢栽偻ㄟ^綁定之后修改設(shè)備別名進(jìn)行修改。

技術(shù)方案,此處的選擇將會決定產(chǎn)品的通訊方式,以及數(shù)據(jù)傳輸方式和功耗等。
首先我們來介紹一下wifi/移動網(wǎng)絡(luò)方案,此方案為我們最常用的方案,

選擇通訊方式:在這個地方我們將會選擇我們的通訊模組,比如我們需要創(chuàng)建一個室內(nèi)使用的wifi插座或者其他的wifi產(chǎn)品,那我們就選擇wifi方案,數(shù)據(jù)傳輸方式:(“定長”指在功能數(shù)據(jù)點上報下發(fā)時一并傳輸,“變長”指在功能數(shù)據(jù)點上報下發(fā)時指傳輸改變的功能數(shù)據(jù)點。比如一個燈有開關(guān)、亮度兩個功能數(shù)據(jù)點,觸發(fā)改變亮度這個功能時,定長是兩個功能數(shù)據(jù)點的狀態(tài)數(shù)據(jù)傳輸,變長則只會傳輸亮度這個功能數(shù)據(jù)點。兩者各有優(yōu)勢,定長對于開發(fā)更方便,變長則更節(jié)省傳輸資源。)此處我的推介就是如果數(shù)據(jù)點過多就選擇變長,數(shù)據(jù)點不多就選擇定長。選擇功耗類型:此處如果不是特殊場合和產(chǎn)品盡量選擇正常。

移動網(wǎng)絡(luò):移動網(wǎng)絡(luò)和wif的區(qū)別在于一個使用移動網(wǎng)絡(luò)模塊上網(wǎng)作為數(shù)據(jù)傳輸(可選2G或者4G模塊,適合室外產(chǎn)品),一個用wifi模塊連接路由器進(jìn)行聯(lián)網(wǎng)通訊。

Nb-iot:此處需要注意,通訊網(wǎng)絡(luò)請選擇電信或者聯(lián)通,選擇移動網(wǎng)絡(luò)會導(dǎo)致設(shè)備無法刪除。命令下發(fā)模式:PSM(power saving mode):終端非業(yè)務(wù)期間深度休眠,不接收下行數(shù)據(jù),只有 終端主動發(fā)送上行數(shù)據(jù)(MO Data)時可接收IoT平臺緩存的下行數(shù)據(jù) ,適合對下行數(shù)據(jù)無時延要求的業(yè)務(wù)。DRX(Discontinuous Reception)<br>可以認(rèn)為下行業(yè)務(wù)隨時可達(dá)終端設(shè)備,在每個DRX周期( 1.28s,2.56s,5.12s 或者10.24s ),終端都會檢測一次是否有下行業(yè)務(wù)到達(dá),適用于對時延有高要求的業(yè)務(wù)。eDRX(extended Discontinuous Reception)<br>終端設(shè)備兼顧低功耗和對時延有一定要求的業(yè)務(wù),在每個eDRX周期內(nèi),只有在設(shè)置的尋呼時間窗口內(nèi),終端可接收下行數(shù)據(jù),其余時間終端處于休眠狀態(tài),不接收下行數(shù)據(jù),該模式可在下行業(yè)務(wù)時延和功耗之間取得平衡。

選擇合適自己的參數(shù)之后點擊保存,即可完成產(chǎn)品的創(chuàng)建。
接下來我們對開發(fā)頁面進(jìn)行一一介紹,后續(xù)產(chǎn)品開發(fā)我將不在進(jìn)行功能介紹,只作應(yīng)用的介紹,所以對此部分需要進(jìn)行了解,以及各個名詞的作用。
基本信息:產(chǎn)品名稱,產(chǎn)品類型,技術(shù)方案,通訊方式前面已經(jīng)做了詳細(xì)介紹,此處不在累說明,Product Key:通常我們稱為PK,產(chǎn)品標(biāo)識碼,一個32位字符串作為產(chǎn)品唯一識別號,這個標(biāo)識碼是唯一的,作為產(chǎn)品區(qū)分用的,同時也會集成在協(xié)議里面。Product Secret:通常我們稱為PS,機(jī)智云物聯(lián)網(wǎng)平臺的產(chǎn)品授權(quán)的證明,用以確認(rèn)用戶的身份和使用權(quán)限。請注意癡迷要不要隨意泄露。設(shè)備分享功能:開啟后,App才能使用設(shè)備分享的功能。需要注意的是,一旦開啟就不能關(guān)閉(默認(rèn)關(guān)閉,如果需要打開,點擊基本信息頁面底部的修改進(jìn)行修改)。

數(shù)據(jù)點:數(shù)據(jù)點是一套機(jī)智云設(shè)備通信協(xié)議,用于描述設(shè)備功能及其參數(shù)。點擊右上角創(chuàng)建數(shù)據(jù)點可以創(chuàng)建新的數(shù)據(jù)點

標(biāo)識名:數(shù)據(jù)點及其參數(shù)傳輸時的變量名,支持英文字母,數(shù)值和下劃線,以英文字母開頭。
讀寫類型:只讀類型:用于設(shè)備狀態(tài)信息的查詢或主動上報,APP不能控制,可以用于APP不需要操作的數(shù)據(jù)點,比如設(shè)備溫度采集,濕度采集等;可寫類型:接受設(shè)備寫操作以改變,控制設(shè)備狀態(tài),比如控制一個LED的開關(guān),控制電機(jī)速度等;報警類型:當(dāng)設(shè)備發(fā)生指定的狀態(tài)改變或者達(dá)到指定值時,上報報警信號,選擇此選項數(shù)據(jù)類型將只能選擇布爾值,注意此類型可用只讀布爾值代替;故障類型:當(dāng)設(shè)備發(fā)生指定的狀態(tài)改變或者達(dá)到指定值時,上報故障信息,選擇此選項數(shù)據(jù)類型將只能選擇布爾值,注意此類型可用只讀布爾值代替。
數(shù)據(jù)類型:布爾值:值為正確或者錯誤,也就是0和1,可用于開關(guān)變量或者報警故障信號,比如一個繼電器開關(guān),LED開關(guān)等;枚舉值:自定義的有限集合值,此數(shù)據(jù)點可用于設(shè)備狀態(tài)的顯示,比如要表示一個電機(jī)的5種狀態(tài):高速運行,中速運行,低速運行,停止,故障,可以創(chuàng)建一個只讀枚舉類型,枚舉范圍為(高速運行,中速運行,低速運行,停止,故障)狀態(tài)之間用英文逗號分開,可寫類型舉例,比如要設(shè)置一個LED的顏色:紅,黃,綠,藍(lán),紫,就可以創(chuàng)建一個可寫的枚舉類型,枚舉范圍(紅,黃,綠,藍(lán),紫);擴(kuò)展類型:二進(jìn)制字符,可用于自定義數(shù)據(jù)類型或接入擴(kuò)展元器件,可用于有數(shù)據(jù)點透傳非特殊情況不推介使用;數(shù)值型:比如采集一個溫度或者濕度就可以采用只讀數(shù)值類型,比如控制電機(jī)速度或者LED亮度,就可以使用可寫數(shù)值類型。數(shù)據(jù)范圍也就是數(shù)值的范圍,按需設(shè)置即可,分別率,將會決定小數(shù)的位數(shù),如果設(shè)置0.01就是小數(shù)點后2位,0.1就是小數(shù)點后1位。1就是沒有小數(shù)點。有小數(shù)的時候位float類型,單片機(jī)內(nèi)存比較小的慎用此類型。

虛擬設(shè)備:通過虛擬設(shè)備模擬真實設(shè)備上報數(shù)據(jù)的行為,可以快速驗證接口功能的開發(fā)。在手上沒有設(shè)備的時候可以模擬設(shè)備和APP,openapi進(jìn)行通訊,方便APP和其他控制頁面的開發(fā)。

設(shè)備日志:查看設(shè)備在線狀態(tài)以及是通訊數(shù)據(jù)



開發(fā)向?qū)В篗CU 開發(fā)資源:里面包含了soc文檔以及MCU開發(fā)協(xié)議文檔,可以自行下載查看,此文檔是根據(jù)當(dāng)前產(chǎn)品生成的。不可跨產(chǎn)品使用。

APP開發(fā)資源和微信開發(fā)資源可自行查看。

應(yīng)用配置:創(chuàng)建應(yīng)用時,系統(tǒng)會自動分配App ID與App Secret,在開發(fā)app或微信應(yīng)用時,把App ID和AppSecret寫進(jìn)去你的App和Web應(yīng)用中,授權(quán)App控制設(shè)備。注意在開發(fā)web的時候需要用填寫安卓的APP ID。要使用apicloud開發(fā)需要創(chuàng)建安卓和蘋果應(yīng)用,微信開發(fā)需要創(chuàng)建微信應(yīng)用。點擊右上角添加新應(yīng)用,填寫相關(guān)參數(shù)之后即可完成創(chuàng)建。

綁定其他產(chǎn)品:綁定其它產(chǎn)品的應(yīng)用是為了實現(xiàn)一個App可以控制多款產(chǎn)品的需求而必須進(jìn)行的操作。例如公司Q有多個產(chǎn)品,分別是A、B、C,但他不想每個產(chǎn)品都單獨一個App,而是希望三個產(chǎn)品都用同一個app,F(xiàn)在提供了「綁定其它產(chǎn)品的應(yīng)用」功能,選擇其中一個為中心,如產(chǎn)品A為中心,產(chǎn)品B與產(chǎn)品C綁定產(chǎn)品A,開發(fā)App時使用產(chǎn)品A的App ID就行。
應(yīng)用開發(fā):此處可以生成APP的源代碼,安卓(Ashe ES項目),蘋果,apicloud,需要提前在應(yīng)用配置里面創(chuàng)建應(yīng)用,其中apicloud需要同時創(chuàng)建安卓應(yīng)用和蘋果應(yīng)用。選擇應(yīng)用之后輸入PS(前面有介紹是啥玩意)即可生成代源代碼,可以直接編譯或者二次開發(fā)修改UI之后再編譯。

生成代碼之后下載解壓即可。

MCU開發(fā):通過選擇您的硬件使用的方案指定類型,可以自動生成MCU開發(fā)過程中必須的代碼,從而實現(xiàn)不用學(xué)習(xí)通訊協(xié)議,快速開發(fā)硬件程序。
獨立MCU方案:也就是單片機(jī)加通訊模組方案,所以需要生成單片機(jī)代碼,比如我手上有一塊MSP430單片機(jī),那么就可以生成MSP430代碼。

比如我手上有一塊STM32F103RBT6,就可以生成STM32F103C8x代碼,然后進(jìn)行簡單修改或者不修改也可以直接使用,
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image045.jpg 
假如我手上有一塊聯(lián)發(fā)科的單片機(jī),在代碼里面不能直接生成,那么我們可以直接生成其他平臺代碼,按照通用代碼根目錄下面移植教程進(jìn)行移植。

加入我們是ESP8266單片機(jī),就可以生成SOC方案,ESP8266代碼,內(nèi)存請參考FLASH大小選擇設(shè)置。

ESP8266常見的模組flash大小如下

輸入PS生成代碼包即可生成源代碼

固件升級:可以遠(yuǎn)程對單片機(jī)(需要單片機(jī)支持,STM32F103參)通訊模組的固件(ESP8266參)進(jìn)行升級。

添加服務(wù):根據(jù)自己的需求添加需要的功能,豐富產(chǎn)品的研發(fā)、管理和運營能力,部分收費。

統(tǒng)計相關(guān)的模塊請在頁面看介紹,常用的前面已經(jīng)介紹完畢。
|