慶科云
概述
FogCloud是慶科云提供的一個物聯網智能云平臺。FogCloud提供功能強大的云端服務。這些服務包括 產品/APP管理 ,消息通道,數據存儲,設備狀態 數據遠程同步 到手機設備,以及第三方 微信平臺開發,代碼托管,在線調試等功能。主要特點為:數據統計,智能觸發,OTA。FogCloud宣稱平臺提供完完全全的開發,徹徹底底的接地氣,真真正正的安全。
功能
1、產品(設備)與APP(用戶)管理
開發者可以在FogCloud網站創建自己的智能產品和對應的App,并自定義產品屬性與數據模型,為每個App提供獨立的用戶管理系統。
2、消息通道
FogCloud使用開源的MQTT通信協議建立穩定高速的消息通道,為設備和App提供高并發,高可用,低延遲,低功耗的通信服務,并提供簡單方便的API以及在線調試工具。
使用FogCloud的消息管理接口,開發者還可以實現數據遠程同步,定時發送消息,以及計劃任務等擴展功能。
3、數據模型與數據存儲
數據模型
開發者可以在FogCloud控制臺針對不同硬件產品類型靈活地自定義數據模型,打造自己專屬的智能硬件產品。
FogCloud提供豐富的數據模型模板,極大地方便了開發者為不同的智能硬件類型迅速建立完善的數據模型。
數據存儲
基于FogCloud的數據模型,我們為開發者們提供了一套完整的數據存儲系統。讓開發者能夠快速、方便的將設備和App接入,而不必關心數據倉庫的建立和維護成本。
除了常規的數據儲存服務,FogCloud還提供 按時間序列存儲 功能,以及簡單的 數據處理 和 數據按條件導出 功能,會保存數據更新的歷史記錄,進行簡單的數據處理并自定義導出,方便開發者利用FogCloud的數據進行數據分析。
4、云端轉碼
針對硬件發送的數據和app端數據格式不一樣的場景,FogCloud還提供云端轉碼功能,您可以將轉碼代碼使用git倉庫托管并部署在FogCloud上,幫你自動轉碼。
5、OTA
FogCloud為硬件開發者提供查詢ROM最新版本信息的接口,開發者可以方便的為自己的智能硬件產品實現OTA功能,也可以讓阿里云等第三方托管在Fogcloud上的實現OTA。對于OTA更詳細的介紹您可以前往OTA頁面
6、計劃任務
FogCloud還提供計劃任務功能,通過此功能,我們可以為智能設備設定很多計劃任務。比如:為您的智能窗簾設定一個“每天晚上9:00放下窗簾;每天早上9:00拉起窗簾”的任務。如果您想更深入了解請前往計劃任務
交互
簡介
FogCloud是一個通用的開放平臺,為設備和App提供靈活的接入方式。要使用FogCloud將設備接入網絡,首先需要了解設備/App與FogCloud的交互流程。
設備/App使用FogCloud服務的流程分為三個步驟:
1,注冊: 設備/用戶注冊FogCloud,獲得在云平臺的唯一身份id。
2,綁定: 通過該流程完成某一用戶和某一設備的綁定關系。
3,通信: 使用FogCloud的消息服務傳輸數據及發送指令。
其中,注冊和綁定兩個過程使用FogCloud的Open API,而通信則使用FogCloud的MQTT服務器。
1,注冊
注冊包括產品下的設備注冊和App下的用戶注冊。如圖:
App開發者調用用戶管理接口為自己的App注冊用戶,完成App下的用戶注冊。
而設備注冊有兩種方式可以選擇:
a,用戶購買設備后由使用者注冊,注冊流程可以參考 Device注冊。
注意: 設備在注冊之前先要連上wifi并接入Internet,為設備配網的過程請參考 Device配網。
b,在設備出廠前由設備廠商注冊,廠商可以在控制臺產品頁面點擊 +創建 按鈕,在創建設備頁面批量填寫設備的MAC地址完成設備注冊,也可以自行調用設備注冊接口將設備的MAC地址批量發送給FogCloud完成設備注冊。
至此,設備和用戶都接入了FogCloud,在云端有了獨立的身份。
2,綁定
設備和用戶雖然都完成了FogCloud的注冊,但他們各自獨立,并沒有從屬關系或綁定關系。只有完成了綁定流程之后,設備和用戶才能進行通信。綁定流程如圖
2.1,在局域網內,由App將user_id發給設備。user_id是App用戶在登錄時,云端返回的。
2.2,設備調用綁定接口 /v2/devices/bind,返回的結果為成功,則說明綁定成功。
2.3,App調用獲取設備列表接口 /v2/devices/get 來獲取這臺設備。
注意: 對于某臺設備,第一個對他進行綁定操作的用戶將成為設備的owner,后來再綁定的用戶會成為share用戶。
3,通信
設備和APP通過Open API完成了用戶/設備的注冊和綁定,然后連接MQTT服務器進行控制命令和數據的傳輸。如圖:
FogCloud的消息通道使用MQTT協議,MQTT協議的消息傳輸基于 Topic(頻道) 和 publish/subscribe(發布訂閱)。
Device 通過消息頻道 device_id/in 接收消息,將執行結果和上傳數據發送到 device_id/out。
APP 發送控制命令到 device_id/in,監聽 device_id/out 獲得設備最新狀態。
注意: 使用MQTT通信服務,開發者可能需要了解IBM官方網站的 MQTT協議規范
使用方法
使用慶科云主要有四個步驟:注冊登錄-創建產品及APP-設備與APP通訊-APP/Device連接mqtt服務器
創建完產品及APP后就可以對其進行管理了。
產品管理
慶科云的產品管理頁面提供產品信息頁面、設備列表頁面、數據模型頁面、觸發器頁面、ROM發布頁面、云端轉碼頁面、開發者管理頁面。
APP管理
慶科云的APP管理頁面提供App信息頁面、用戶列表頁面、開發者管理頁面。若是微信APP,還提供git部署 , 微信菜單。
設備與APP的通訊
配置了產品與APP之后,就可以進行代碼配置和調試了。
FogCloud的接口使用 HTTP 協議,請求響應都使用 JSON 格式。
具體的調試方法請見設備和App與云交互概要
總結來說,設備與APP通訊主要有四個步驟:APP用戶注冊并登錄-Device配網-Device注冊-APP與Device綁定。
注:慶科云的APP與設備綁定必須在同一WiFi環境下
慶科云的APP與設備綁定使用的是FogCloud的HTTP OpenAPI。
App/Device的即時通信不需要再調用FogCloud的HTTP OpenAPI,而是使用FogCloud的MQTT服務器。
用戶與APP管理功能詳解
用戶管理
點擊 產品圖標,可以進入該產品詳情頁,其中包含七個頁面,頁面依次是:產品信息、設備列表、數據模型、觸發器、ROM發布、云端轉碼、開發者管理,當中包含了設備詳情頁面:設備信息、MQTT測試、數據點統計、在線統計。
1、產品信息
產品信息: 列出了產品的基本信息。點擊 紅色筆 按鈕,可以對產品的基本信息進行修改。點擊 刪除此產品 可以將該產品刪除,包括該產品下的所有設備都會被刪除。下面的地圖顯示該產品下的設備的地址。
2、設備列表
設備列表: 展示該產品下已經注冊的設備。如果該產品下的設備比較多,你可以根據mac地址來對該設備進行 搜索 。導出 按鈕可以導出csv格式的設備列表信息。同步到微信 按鈕可以選擇你的產品及對應的微信app,點擊 同步 后,可獲取對應微信號下的設備二維碼。點擊 紅色+ 按鈕,創建注冊一臺或者多臺新設備,注冊多臺新設備時,MAC地址換行支持批量創建。
點擊 設備圖標 進入該設備的詳情頁面。在設備詳情頁面中包含4個頁面,依次為:設備信息、MQTT測試、數據點統計、在線統計。
2.1、設備信息
設備信息: 顯示設備的基本信息??梢渣c擊 刪除該設備 按鈕將該設備從產品中完全刪除,刪除后設備信息會被注銷,且該設備與其他用戶的綁定關系會全部丟失。
2.2、MQTT測試
MQTT測試: 針對當前設備的MQTT頻道進行調試,頁面自動為你訂閱了device_id/in和device_id/out頻道,這兩個頻道內有消息時會自動顯示在請求日志下面。
2.3、數據點統計
數據點統計: 如果你的數據模型設置為按時間序列存儲,并且使用MQTT服務器的device _id/out頻道發布了該數據模型的信息,數據點統計頁面就會顯示數據模型的時間序列信息統計圖。提供的統計方式是一天、一周、30天。
2.4、在線統計
在線統計: 顯示設備的在線狀態統計信息,有藍色顯示的時間范圍為設備在線,設備離線時段圖標顯示為空白。
3、數據模型
數據模型: 這是FogCloud的核心功能。我們建議開發者為產品的所有數據點創建數據模型,如果設置該數據點的時間序列屬性為true,則可以使用datapoints接口查詢到該數據點的歷史數據(時間序列的數據點建議不超過5個)。點擊 紅色+ 按鈕,添加新的數據點。
其包括以下幾個屬性:
a. 數據模型參數:必填項,屬性變量名。
b. 屬性名:屬性實際代表的描述名稱,例如:“溫度、舉例、重量等”。
c. 時間序列:選擇是,表示屬性存儲將會以時間為順序,全部記錄下來。例如:空氣凈化器的PM值,都將按照時間戳先后順序,存儲在云端。選擇否,則表示,之后的數據存儲將以覆蓋形式存儲,適用于一些只有最終狀態有意義的屬性,例如:設備當前在線狀態,等等。
d. 參數類型:int、bool等類型
e. 描述:關于數據模型的說明。
4、觸發器
觸發器:此功能基于產品的數據模型功能,可以選擇一個數據點并設置數據點的數值監聽條件,如果條件觸發則訪問指定的url實現自定義的功能。點擊 紅色+ 按鈕,創建新的觸發器。
您可以根據自己產品的需求,對之前創建的某些數據模型進行監控,達到您設置的臨界點時,事件觸發。包括以下幾個屬性:
a.名字:你的事件觸發的名字
b.數據模型:選擇你在上一步中創建的數據模型
c.時間間隔:如果事件發生,希望去執行的時間,若為0就是立即執行
d.比較:5種條件選擇,自己根據需求挑選
e.閾值:事件觸發達到的極限值,自己定義
f.調用URL(POST):調用觸發器的地址
5、ROM發布
ROM發布:設備固件的開發者在這將新版rom發送到云端,實現設備的遠程自動升級。點擊紅色+按鈕上傳固件。
需要填寫以下幾個參數:
a. version(必須):您發布ROM的版本號
b. 版本類別:分為alpha、beta、release和eol。可以根據您目前ROM的情況自由選擇
c. corename:發布代號(別名)
d. 上傳文件(必須):請選擇要上傳的ROM固件的文件
最后點擊上傳,即可完成ROM在線托管。并附有下載地址。
6、云端轉碼
云端轉碼:該功能就是針對設備端和App端消息不一致的場景,FogCloud會使用開發者上傳的轉碼腳本將消息轉換格式后發送。添加git倉庫地址來部署自定義的轉碼腳本。
需要填寫以下幾個參數:
a. Repo(必須):如果您的項目在git上是公開的,請填寫項目http地址;如果是加密的,請填寫SSH地址
b. Deploy Key(參考):只有在項目是加密的情況下,需要在git的deploy_keys中將FogCloud的SSH Key加入您的項目,這樣FogCloud就能自動讀取您的代碼。
c. Web Hook Url:請將此項加入您Git項目的Web Hooks中,以便在您更新您的代碼時,FogCloud能自動獲取發布。否則您需要手動到FogCloud發布。
最后點擊發布即可完成云轉碼托管。
7、開發者管理
開發者管理: 點擊 紅色+ 按鈕,輸入其他開發者的用戶名,點擊添加,即為您的產品添加了協同開發者,我們建議固件開發者和App開發者互相添加,更有利于協作開發。
APP管理
點擊 App圖標 進入該App的詳情頁,其包含三個頁面:App信息、用戶列表、開發者管理。
1、App信息
App信息:展示App基本屬性信息。你可以點擊 紅色筆 編輯按鈕編輯App的基本信息。SMS Server為可配置項,如果你的App支持手機號碼注冊,可以在這里配置短信服務器,FogCloud現在支持yuntongxun.com的短信服務,你需要在云通訊網站注冊并配置app與短信模板,并在這里配置對應的信息。 點擊 刪除此App 按鈕,可以將該App刪除,同時該產品下所有用戶也會被刪除。
2、用戶列表
用戶列表: 展示該App下已經注冊的用戶。
點擊編輯按鈕可以進入用戶管理頁面。
2.1、用戶信息
用戶信息:展示用戶基本信息,App的客服可以點擊 紅色筆 為用戶修改密碼。
2.2、用戶設備
用戶設備:展示該用戶綁定的設備列表。App的客服可以在這里為用戶解綁設備。點擊設備可以進入設備管理頁面。
3、開發者管理
開發者管理:點擊 紅色+ 按鈕,輸入其他開發者的用戶名,點擊添加,即可以為你的產品添加協同開發者,建議固件開發者和App開發者互相添加,更有利于協作開發。