慶科云
概述
FogCloud是慶科云提供的一個物聯(lián)網(wǎng)智能云平臺。FogCloud提供功能強大的云端服務。這些服務包括 產(chǎn)品/APP管理 ,消息通道,數(shù)據(jù)存儲,設備狀態(tài) 數(shù)據(jù)遠程同步 到手機設備,以及第三方 微信平臺開發(fā),代碼托管,在線調試等功能。主要特點為:數(shù)據(jù)統(tǒng)計,智能觸發(fā),OTA。FogCloud宣稱平臺提供完完全全的開發(fā),徹徹底底的接地氣,真真正正的安全。
功能
1、產(chǎn)品(設備)與APP(用戶)管理
開發(fā)者可以在FogCloud網(wǎng)站創(chuàng)建自己的智能產(chǎn)品和對應的App,并自定義產(chǎn)品屬性與數(shù)據(jù)模型,為每個App提供獨立的用戶管理系統(tǒng)。
2、消息通道
FogCloud使用開源的MQTT通信協(xié)議建立穩(wěn)定高速的消息通道,為設備和App提供高并發(fā),高可用,低延遲,低功耗的通信服務,并提供簡單方便的API以及在線調試工具。
使用FogCloud的消息管理接口,開發(fā)者還可以實現(xiàn)數(shù)據(jù)遠程同步,定時發(fā)送消息,以及計劃任務等擴展功能。
3、數(shù)據(jù)模型與數(shù)據(jù)存儲
數(shù)據(jù)模型
開發(fā)者可以在FogCloud控制臺針對不同硬件產(chǎn)品類型靈活地自定義數(shù)據(jù)模型,打造自己專屬的智能硬件產(chǎn)品。
FogCloud提供豐富的數(shù)據(jù)模型模板,極大地方便了開發(fā)者為不同的智能硬件類型迅速建立完善的數(shù)據(jù)模型。
數(shù)據(jù)存儲
基于FogCloud的數(shù)據(jù)模型,我們?yōu)殚_發(fā)者們提供了一套完整的數(shù)據(jù)存儲系統(tǒng)。讓開發(fā)者能夠快速、方便的將設備和App接入,而不必關心數(shù)據(jù)倉庫的建立和維護成本。
除了常規(guī)的數(shù)據(jù)儲存服務,F(xiàn)ogCloud還提供 按時間序列存儲 功能,以及簡單的 數(shù)據(jù)處理 和 數(shù)據(jù)按條件導出 功能,會保存數(shù)據(jù)更新的歷史記錄,進行簡單的數(shù)據(jù)處理并自定義導出,方便開發(fā)者利用FogCloud的數(shù)據(jù)進行數(shù)據(jù)分析。
4、云端轉碼
針對硬件發(fā)送的數(shù)據(jù)和app端數(shù)據(jù)格式不一樣的場景,F(xiàn)ogCloud還提供云端轉碼功能,您可以將轉碼代碼使用git倉庫托管并部署在FogCloud上,幫你自動轉碼。
5、OTA
FogCloud為硬件開發(fā)者提供查詢ROM最新版本信息的接口,開發(fā)者可以方便的為自己的智能硬件產(chǎn)品實現(xiàn)OTA功能,也可以讓阿里云等第三方托管在Fogcloud上的實現(xiàn)OTA。對于OTA更詳細的介紹您可以前往OTA頁面
6、計劃任務
FogCloud還提供計劃任務功能,通過此功能,我們可以為智能設備設定很多計劃任務。比如:為您的智能窗簾設定一個“每天晚上9:00放下窗簾;每天早上9:00拉起窗簾”的任務。如果您想更深入了解請前往計劃任務
交互
簡介
FogCloud是一個通用的開放平臺,為設備和App提供靈活的接入方式。要使用FogCloud將設備接入網(wǎng)絡,首先需要了解設備/App與FogCloud的交互流程。
設備/App使用FogCloud服務的流程分為三個步驟:
1,注冊: 設備/用戶注冊FogCloud,獲得在云平臺的唯一身份id。
2,綁定: 通過該流程完成某一用戶和某一設備的綁定關系。
3,通信: 使用FogCloud的消息服務傳輸數(shù)據(jù)及發(fā)送指令。
其中,注冊和綁定兩個過程使用FogCloud的Open API,而通信則使用FogCloud的MQTT服務器。
1,注冊
注冊包括產(chǎn)品下的設備注冊和App下的用戶注冊。如圖:

App開發(fā)者調用用戶管理接口為自己的App注冊用戶,完成App下的用戶注冊。
而設備注冊有兩種方式可以選擇:
a,用戶購買設備后由使用者注冊,注冊流程可以參考 Device注冊。
注意: 設備在注冊之前先要連上wifi并接入Internet,為設備配網(wǎng)的過程請參考 Device配網(wǎng)。
b,在設備出廠前由設備廠商注冊,廠商可以在控制臺產(chǎn)品頁面點擊 +創(chuàng)建 按鈕,在創(chuàng)建設備頁面批量填寫設備的MAC地址完成設備注冊,也可以自行調用設備注冊接口將設備的MAC地址批量發(fā)送給FogCloud完成設備注冊。
至此,設備和用戶都接入了FogCloud,在云端有了獨立的身份。
2,綁定
設備和用戶雖然都完成了FogCloud的注冊,但他們各自獨立,并沒有從屬關系或綁定關系。只有完成了綁定流程之后,設備和用戶才能進行通信。綁定流程如圖

2.1,在局域網(wǎng)內,由App將user_id發(fā)給設備。user_id是App用戶在登錄時,云端返回的。
2.2,設備調用綁定接口 /v2/devices/bind,返回的結果為成功,則說明綁定成功。
2.3,App調用獲取設備列表接口 /v2/devices/get 來獲取這臺設備。
注意: 對于某臺設備,第一個對他進行綁定操作的用戶將成為設備的owner,后來再綁定的用戶會成為share用戶。
3,通信
設備和APP通過Open API完成了用戶/設備的注冊和綁定,然后連接MQTT服務器進行控制命令和數(shù)據(jù)的傳輸。如圖:

FogCloud的消息通道使用MQTT協(xié)議,MQTT協(xié)議的消息傳輸基于 Topic(頻道) 和 publish/subscribe(發(fā)布訂閱)。
Device 通過消息頻道 device_id/in 接收消息,將執(zhí)行結果和上傳數(shù)據(jù)發(fā)送到 device_id/out。
APP 發(fā)送控制命令到 device_id/in,監(jiān)聽 device_id/out 獲得設備最新狀態(tài)。
注意: 使用MQTT通信服務,開發(fā)者可能需要了解IBM官方網(wǎng)站的 MQTT協(xié)議規(guī)范
使用方法
使用慶科云主要有四個步驟:注冊登錄-創(chuàng)建產(chǎn)品及APP-設備與APP通訊-APP/Device連接mqtt服務器
創(chuàng)建完產(chǎn)品及APP后就可以對其進行管理了。
產(chǎn)品管理
慶科云的產(chǎn)品管理頁面提供產(chǎn)品信息頁面、設備列表頁面、數(shù)據(jù)模型頁面、觸發(fā)器頁面、ROM發(fā)布頁面、云端轉碼頁面、開發(fā)者管理頁面。
APP管理
慶科云的APP管理頁面提供App信息頁面、用戶列表頁面、開發(fā)者管理頁面。若是微信APP,還提供git部署 , 微信菜單。
設備與APP的通訊
配置了產(chǎn)品與APP之后,就可以進行代碼配置和調試了。
FogCloud的接口使用 HTTP 協(xié)議,請求響應都使用 JSON 格式。
具體的調試方法請見設備和App與云交互概要
總結來說,設備與APP通訊主要有四個步驟:APP用戶注冊并登錄-Device配網(wǎng)-Device注冊-APP與Device綁定。
注:慶科云的APP與設備綁定必須在同一WiFi環(huán)境下
慶科云的APP與設備綁定使用的是FogCloud的HTTP OpenAPI。
App/Device的即時通信不需要再調用FogCloud的HTTP OpenAPI,而是使用FogCloud的MQTT服務器。
用戶與APP管理功能詳解
用戶管理
點擊 產(chǎn)品圖標,可以進入該產(chǎn)品詳情頁,其中包含七個頁面,頁面依次是:產(chǎn)品信息、設備列表、數(shù)據(jù)模型、觸發(fā)器、ROM發(fā)布、云端轉碼、開發(fā)者管理,當中包含了設備詳情頁面:設備信息、MQTT測試、數(shù)據(jù)點統(tǒng)計、在線統(tǒng)計。
1、產(chǎn)品信息
產(chǎn)品信息: 列出了產(chǎn)品的基本信息。點擊 紅色筆 按鈕,可以對產(chǎn)品的基本信息進行修改。點擊 刪除此產(chǎn)品 可以將該產(chǎn)品刪除,包括該產(chǎn)品下的所有設備都會被刪除。下面的地圖顯示該產(chǎn)品下的設備的地址。
2、設備列表
設備列表: 展示該產(chǎn)品下已經(jīng)注冊的設備。如果該產(chǎn)品下的設備比較多,你可以根據(jù)mac地址來對該設備進行 搜索 。導出 按鈕可以導出csv格式的設備列表信息。同步到微信 按鈕可以選擇你的產(chǎn)品及對應的微信app,點擊 同步 后,可獲取對應微信號下的設備二維碼。點擊 紅色+ 按鈕,創(chuàng)建注冊一臺或者多臺新設備,注冊多臺新設備時,MAC地址換行支持批量創(chuàng)建。
點擊 設備圖標 進入該設備的詳情頁面。在設備詳情頁面中包含4個頁面,依次為:設備信息、MQTT測試、數(shù)據(jù)點統(tǒng)計、在線統(tǒng)計。
2.1、設備信息
設備信息: 顯示設備的基本信息??梢渣c擊 刪除該設備 按鈕將該設備從產(chǎn)品中完全刪除,刪除后設備信息會被注銷,且該設備與其他用戶的綁定關系會全部丟失。
2.2、MQTT測試
MQTT測試: 針對當前設備的MQTT頻道進行調試,頁面自動為你訂閱了device_id/in和device_id/out頻道,這兩個頻道內有消息時會自動顯示在請求日志下面。
2.3、數(shù)據(jù)點統(tǒng)計
數(shù)據(jù)點統(tǒng)計: 如果你的數(shù)據(jù)模型設置為按時間序列存儲,并且使用MQTT服務器的device _id/out頻道發(fā)布了該數(shù)據(jù)模型的信息,數(shù)據(jù)點統(tǒng)計頁面就會顯示數(shù)據(jù)模型的時間序列信息統(tǒng)計圖。提供的統(tǒng)計方式是一天、一周、30天。
2.4、在線統(tǒng)計
在線統(tǒng)計: 顯示設備的在線狀態(tài)統(tǒng)計信息,有藍色顯示的時間范圍為設備在線,設備離線時段圖標顯示為空白。
3、數(shù)據(jù)模型
數(shù)據(jù)模型: 這是FogCloud的核心功能。我們建議開發(fā)者為產(chǎn)品的所有數(shù)據(jù)點創(chuàng)建數(shù)據(jù)模型,如果設置該數(shù)據(jù)點的時間序列屬性為true,則可以使用datapoints接口查詢到該數(shù)據(jù)點的歷史數(shù)據(jù)(時間序列的數(shù)據(jù)點建議不超過5個)。點擊 紅色+ 按鈕,添加新的數(shù)據(jù)點。
其包括以下幾個屬性:
a. 數(shù)據(jù)模型參數(shù):必填項,屬性變量名。
b. 屬性名:屬性實際代表的描述名稱,例如:“溫度、舉例、重量等”。
c. 時間序列:選擇是,表示屬性存儲將會以時間為順序,全部記錄下來。例如:空氣凈化器的PM值,都將按照時間戳先后順序,存儲在云端。選擇否,則表示,之后的數(shù)據(jù)存儲將以覆蓋形式存儲,適用于一些只有最終狀態(tài)有意義的屬性,例如:設備當前在線狀態(tài),等等。
d. 參數(shù)類型:int、bool等類型
e. 描述:關于數(shù)據(jù)模型的說明。
4、觸發(fā)器
觸發(fā)器:此功能基于產(chǎn)品的數(shù)據(jù)模型功能,可以選擇一個數(shù)據(jù)點并設置數(shù)據(jù)點的數(shù)值監(jiān)聽條件,如果條件觸發(fā)則訪問指定的url實現(xiàn)自定義的功能。點擊 紅色+ 按鈕,創(chuàng)建新的觸發(fā)器。
您可以根據(jù)自己產(chǎn)品的需求,對之前創(chuàng)建的某些數(shù)據(jù)模型進行監(jiān)控,達到您設置的臨界點時,事件觸發(fā)。包括以下幾個屬性:
a.名字:你的事件觸發(fā)的名字
b.數(shù)據(jù)模型:選擇你在上一步中創(chuàng)建的數(shù)據(jù)模型
c.時間間隔:如果事件發(fā)生,希望去執(zhí)行的時間,若為0就是立即執(zhí)行
d.比較:5種條件選擇,自己根據(jù)需求挑選
e.閾值:事件觸發(fā)達到的極限值,自己定義
f.調用URL(POST):調用觸發(fā)器的地址
5、ROM發(fā)布
ROM發(fā)布:設備固件的開發(fā)者在這將新版rom發(fā)送到云端,實現(xiàn)設備的遠程自動升級。點擊紅色+按鈕上傳固件。
需要填寫以下幾個參數(shù):
a. version(必須):您發(fā)布ROM的版本號
b. 版本類別:分為alpha、beta、release和eol??梢愿鶕?jù)您目前ROM的情況自由選擇
c. corename:發(fā)布代號(別名)
d. 上傳文件(必須):請選擇要上傳的ROM固件的文件
最后點擊上傳,即可完成ROM在線托管。并附有下載地址。
6、云端轉碼
云端轉碼:該功能就是針對設備端和App端消息不一致的場景,F(xiàn)ogCloud會使用開發(fā)者上傳的轉碼腳本將消息轉換格式后發(fā)送。添加git倉庫地址來部署自定義的轉碼腳本。
需要填寫以下幾個參數(shù):
a. Repo(必須):如果您的項目在git上是公開的,請?zhí)顚戫椖縣ttp地址;如果是加密的,請?zhí)顚慡SH地址
b. Deploy Key(參考):只有在項目是加密的情況下,需要在git的deploy_keys中將FogCloud的SSH Key加入您的項目,這樣FogCloud就能自動讀取您的代碼。
c. Web Hook Url:請將此項加入您Git項目的Web Hooks中,以便在您更新您的代碼時,F(xiàn)ogCloud能自動獲取發(fā)布。否則您需要手動到FogCloud發(fā)布。
最后點擊發(fā)布即可完成云轉碼托管。
7、開發(fā)者管理
開發(fā)者管理: 點擊 紅色+ 按鈕,輸入其他開發(fā)者的用戶名,點擊添加,即為您的產(chǎn)品添加了協(xié)同開發(fā)者,我們建議固件開發(fā)者和App開發(fā)者互相添加,更有利于協(xié)作開發(fā)。
APP管理
點擊 App圖標 進入該App的詳情頁,其包含三個頁面:App信息、用戶列表、開發(fā)者管理。
1、App信息
App信息:展示App基本屬性信息。你可以點擊 紅色筆 編輯按鈕編輯App的基本信息。SMS Server為可配置項,如果你的App支持手機號碼注冊,可以在這里配置短信服務器,F(xiàn)ogCloud現(xiàn)在支持yuntongxun.com的短信服務,你需要在云通訊網(wǎng)站注冊并配置app與短信模板,并在這里配置對應的信息。 點擊 刪除此App 按鈕,可以將該App刪除,同時該產(chǎn)品下所有用戶也會被刪除。
2、用戶列表
用戶列表: 展示該App下已經(jīng)注冊的用戶。
點擊編輯按鈕可以進入用戶管理頁面。
2.1、用戶信息
用戶信息:展示用戶基本信息,App的客服可以點擊 紅色筆 為用戶修改密碼。
2.2、用戶設備
用戶設備:展示該用戶綁定的設備列表。App的客服可以在這里為用戶解綁設備。點擊設備可以進入設備管理頁面。
3、開發(fā)者管理
開發(fā)者管理:點擊 紅色+ 按鈕,輸入其他開發(fā)者的用戶名,點擊添加,即可以為你的產(chǎn)品添加協(xié)同開發(fā)者,建議固件開發(fā)者和App開發(fā)者互相添加,更有利于協(xié)作開發(fā)。