關於開發者如何根據自己的需求去選擇合適的微控制器以及通訊模組,如果產品是在室外,周圍沒有wifi網路的,可以選擇 行動網路和NB方案,如果產品在室內使用,可以選擇wifi方案,如果產品是在室內使用,但是又不希望家裡面wifi模組過多,可以採用閘道器wifi方案,同樣的室外可以選擇行動網路閘道器方案。本次教程我們將對這些方案一一進行產品的開發介紹。
接下來我們將介紹獨立MCU方案和SOC方案。
其餘的介紹我們將通過實際開發介紹去進行詳細講解。
首先,我們先來講一下如何在開發者中心建立一個合適自己的新產品,進入開發者中心
產品分類,選擇最貼近自己產品的,選錯了也不會影響你的產品開發,此處以開發一個插排為例。
產品名稱將會決定你的產品預設的名稱,包括APP繫結裝置之後預設的顯示名稱。可以再通過繫結之後修改裝置別名進行修改。
技術方案,此處的選擇將會決定產品的通訊方式,以及資料傳輸方式和功耗等。
首先我們來介紹一下wifi/行動網路方案,此方案為我們最常用的方案,
選擇通訊方式:在這個地方我們將會選擇我們的通訊模組,比如我們需要建立一個室內使用的wifi插座或者其他的wifi產品,那我們就選擇wifi方案,資料傳輸方式:(“定長”指在功能資料點上報下發時一併傳輸,“變長”指在功能資料點上報下發時指傳輸改變的功能資料點。比如一個燈有開關、亮度兩個功能資料點,觸發改變亮度這個功能時,定長是兩個功能資料點的狀態資料傳輸,變長則只會傳輸亮度這個功能資料點。兩者各有優勢,定長對於開發更方便,變長則更節省傳輸資源。)此處我的推介就是如果資料點過多就選擇變長,資料點不多就選擇定長。選擇功耗型別:此處如果不是特殊場合和產品儘量選擇正常。
行動網路:行動網路和wif的區別在於一個使用行動網路模組上網作為資料傳輸(可選2G或者4G模組,適合室外產品),一個用wifi模組連線路由器進行聯網通訊。
Nb-iot:此處需要注意,通訊網路請選擇電信或者聯通,選擇行動網路會導致裝置無法刪除。命令下發模式:PSM(power saving mode):終端非業務期間深度休眠,不接收下行資料,只有 終端主動傳送上行資料(MO Data)時可接收IoT平臺快取的下行資料 ,適合對下行資料無時延要求的業務。DRX(Discontinuous Reception)<br>可以認為下行業務隨時可達終端裝置,在每個DRX週期( 1.28s,2.56s,5.12s 或者10.24s ),終端都會檢測一次是否有下行業務到達,適用於對時延有高要求的業務。eDRX(extended Discontinuous Reception)<br>終端裝置兼顧低功耗和對時延有一定要求的業務,在每個eDRX週期內,只有在設定的尋呼時間視窗內,終端可接收下行資料,其餘時間終端處於休眠狀態,不接收下行資料,該模式可在下行業務時延和功耗之間取得平衡。
接下來我們對開發頁面進行一一介紹,後續產品開發我將不在進行功能介紹,只作應用的介紹,所以對此部分需要進行了解,以及各個名詞的作用。
標識名:資料點及其引數傳輸時的變數名,支援英文字母,數值和下劃線,以英文字母開頭。
讀寫型別:只讀型別:用於裝置狀態資訊的查詢或主動上報,APP不能控制,可以用於APP不需要操作的資料點,比如裝置溫度採集,溼度採集等;可寫型別:接受裝置寫操作以改變,控制裝置狀態,比如控制一個LED的開關,控制電機速度等;報警型別:當裝置發生指定的狀態改變或者達到指定值時,上報報警訊號,選擇此選項資料型別將只能選擇布林值,注意此型別可用只讀布林值代替;故障型別:當裝置發生指定的狀態改變或者達到指定值時,上報故障資訊,選擇此選項資料型別將只能選擇布林值,注意此型別可用只讀布林值代替。
資料型別:布林值:值為正確或者錯誤,也就是0和1,可用於開關變數或者報警故障訊號,比如一個繼電器開關,LED開關等;列舉值:自定義的有限集合值,此資料點可用於裝置狀態的顯示,比如要表示一個電機的5種狀態:高速執行,中速執行,低速執行,停止,故障,可以建立一個只讀列舉型別,列舉範圍為(高速執行,中速執行,低速執行,停止,故障)狀態之間用英文逗號分開,可寫型別舉例,比如要設定一個LED的顏色:紅,黃,綠,藍,紫,就可以建立一個可寫的列舉型別,列舉範圍(紅,黃,綠,藍,紫);擴充套件型別:二進位制字元,可用於自定義資料型別或接入擴充套件元器件,可用於有資料點透傳非特殊情況不推介使用;數值型:比如採集一個溫度或者溼度就可以採用只讀數值型別,比如控制電機速度或者LED亮度,就可以使用可寫數值型別。資料範圍也就是數值的範圍,按需設定即可,分別率,將會決定小數的位數,如果設定0.01就是小數點後2位,0.1就是小數點後1位。1就是沒有小數點。有小數的時候位float型別,微控制器記憶體比較小的慎用此型別。
虛擬裝置:通過虛擬裝置模擬真實裝置上報資料的行為,可以快速驗證介面功能的開發。在手上沒有裝置的時候可以模擬裝置和APP,openapi進行通訊,方便APP和其他控制頁面的開發。
裝置日誌:檢視裝置線上狀態以及是通訊資料
開發嚮導:MCU 開發資源:裡面包含了soc文件以及MCU開發協議文件,可以自行下載檢視,此文件是根據當前產品生成的。不可跨產品使用。
應用配置:建立應用時,系統會自動分配App ID與App Secret,在開發app或微信應用時,把App ID和AppSecret寫進去你的App和Web應用中,授權App控制裝置。注意在開發web的時候需要用填寫安卓的APP ID。要使用apicloud開發需要建立安卓和蘋果應用,微信開發需要建立微信應用。點選右上角新增新應用,填寫相關引數之後即可完成建立。
繫結其他產品:繫結其它產品的應用是為了實現一個App可以控制多款產品的需求而必須進行的操作。例如公司Q有多個產品,分別是A、B、C,但他不想每個產品都單獨一個App,而是希望三個產品都用同一個app。現在提供了「繫結其它產品的應用」功能,選擇其中一個為中心,如產品A為中心,產品B與產品C繫結產品A,開發App時使用產品A的App ID就行。
應用開發:此處可以生成APP的原始碼,安卓(Ashe ES專案),蘋果,apicloud,需要提前在應用配置裡面建立應用,其中apicloud需要同時建立安卓應用和蘋果應用。選擇應用之後輸入PS(前面有介紹是啥玩意)即可生成代原始碼,可以直接編譯或者二次開發修改UI之後再編譯。
生成程式碼之後下載解壓即可。
MCU開發:通過選擇您的硬體使用的方案指定型別,可以自動生成MCU開發過程中必須的程式碼,從而實現不用學習通訊協議,快速開發硬體程式。
獨立MCU方案:也就是微控制器加通訊模組方案,所以需要生成微控制器程式碼,比如我手上有一塊MSP430微控制器,那麼就可以生成MSP430程式碼。
比如我手上有一塊STM32F103RBT6,就可以生成STM32F103C8x程式碼,然後進行簡單修改或者不修改也可以直接使用,
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image045.jpg
假如我手上有一塊聯發科的微控制器,在程式碼裡面不能直接生成,那麼我們可以直接生成其他平臺程式碼,按照通用程式碼根目錄下面移植教程進行移植。
加入我們是ESP8266微控制器,就可以生成SOC方案,ESP8266程式碼,記憶體請參考FLASH大小選擇設定。
ESP8266常見的模組flash大小如下
輸入PS生成程式碼包即可生成原始碼
韌體升級:可以遠端對微控制器(需要微控制器支援,STM32F103參考http://docs.gizwits.com/zh-cn/UserManual/MCUOTA3.0.html)通訊模組的韌體(ESP8266參考http://docs.gizwits.com/zh-cn/UserManual/OTA.html)進行升級。
新增服務:根據自己的需求新增需要的功能,豐富產品的研發、管理和運營能力,部分收費。
統計相關的模組請在頁面看介紹,常用的前面已經介紹完畢。