物模型是產(chǎn)品數(shù)字化的描述,定義了產(chǎn)品的功能,物模型將不同品牌不同品類的產(chǎn)品功能抽象歸納,形成“標(biāo)準(zhǔn)物模型”,便于各方用統(tǒng)一的語言描述、控制、理解產(chǎn)品功能。 物模型由若干條“參數(shù)”組成,參數(shù)按描述的功能類型不同,又分為屬性、功能和事件。
物模型是物理空間中的實(shí)體(如傳感器設(shè)備、消防裝置、園區(qū)、工廠等)在云端的數(shù)字化表示,屬性、功能、事件三個(gè)維度,分別描述了該實(shí)體是什么、能做什么、可以對外提供哪些信息、可以自定義補(bǔ)充哪些信息。定義了物模型的這三個(gè)維度,即完成了產(chǎn)品功能的定義。
類型 | 說明 |
---|
屬性 | 用于描述設(shè)備運(yùn)行時(shí)具體信息和狀態(tài)。例如,環(huán)境監(jiān)測設(shè)備所讀取的當(dāng)前環(huán)境溫度、智能燈開關(guān)狀態(tài)、電風(fēng)扇風(fēng)力等級等。屬性可分為讀、寫和上報(bào)三種類型,即支持讀取、設(shè)置屬性、設(shè)備上報(bào)屬性。 當(dāng)屬性數(shù)據(jù)來源為“規(guī)則”時(shí),則稱該屬性為規(guī)則屬性。 |
功能 | 指設(shè)備可供外部調(diào)用的指令或方法。服務(wù)調(diào)用中可設(shè)置輸入和輸出參數(shù)。輸入?yún)?shù)是服務(wù)執(zhí)行時(shí)的參數(shù),輸出參數(shù)是服務(wù)執(zhí)行后的結(jié)果。相比于屬性,服務(wù)可通過一條指令實(shí)現(xiàn)更復(fù)雜的業(yè)務(wù)邏輯,例如執(zhí)行某項(xiàng)特定的任務(wù)。 |
事件 | 設(shè)備運(yùn)行時(shí),主動(dòng)上報(bào)給云端的信息,一般包含需要被外部感知和處理的信息、告警和故障。事件中可包含多個(gè)輸出參數(shù)。例如,某項(xiàng)任務(wù)完成后的通知信息;設(shè)備發(fā)生故障時(shí)的溫度、時(shí)間信息;設(shè)備告警時(shí)的運(yùn)行狀態(tài)等。事件可以被訂閱和推送。 |
參數(shù) | 說明 | 示例 |
---|
int | 整型 | 100 |
double | 小數(shù)型 | 100.45 |
boolean | 布爾型。采用0(false)或1(true)來定義布爾值 | 1表示是、0表示否 |
enum | 枚舉型。定義枚舉項(xiàng)的參數(shù)值和參數(shù)描述。 | [{key:1,value:1}] |
string | 字符串 | 你好!fastbee平臺 |
array | 數(shù)組。需聲明數(shù)組內(nèi)的元素類型、數(shù)組元素個(gè)數(shù)和元素標(biāo)識。需確保同一個(gè)數(shù)組元素類型相同。 | [1, 2, 3, 4, 5, 6] |
Object | 對象型 | [{id:"Object",name:"對象",datatype:{type:"object",params:[{key1:value1}]}}] |
1.登陸fastbee物聯(lián)網(wǎng)平臺。
2.左側(cè)導(dǎo)航欄,選擇設(shè)備管理>產(chǎn)品管理,進(jìn)入產(chǎn)品詳情頁>產(chǎn)品模型
3.點(diǎn)擊 "新增" 或 "導(dǎo)入通用物模型" 按鈕,根據(jù)設(shè)備實(shí)際情況,合理設(shè)計(jì)物模型
在接入一個(gè)設(shè)備時(shí),首先根據(jù)設(shè)備以及設(shè)備接入文檔(報(bào)文說明), 將設(shè)備物模型的屬性、功能以及事件設(shè)計(jì)好。
屬性用于定義一些指標(biāo)數(shù)據(jù),如:電壓,溫度等。 屬性都應(yīng)該是簡單的數(shù)據(jù)類型
功能用于定義設(shè)備具有的一些可執(zhí)行動(dòng)作
事件用于定義設(shè)備在特定條件時(shí),發(fā)生的動(dòng)作

配置項(xiàng) | 說明 |
---|
模型名稱 | 必填,物模型名稱 |
模型標(biāo)識 | 必填,后端識別的標(biāo)識符 |
模型排序 | 必填,物模型展示順序 |
模型類別 | 必選,屬性、功能、事件 |
模型特性 | 勾選,屬性:圖表展示,實(shí)時(shí)監(jiān)測,是否只讀數(shù)據(jù),歷史存儲(chǔ),分享權(quán)限(注意:圖表展示、實(shí)時(shí)監(jiān)測僅支持整數(shù)和小數(shù))。 功能:是否只讀數(shù)據(jù),是否進(jìn)行歷史存儲(chǔ),分享權(quán)限。 事件:默認(rèn)只讀,是否進(jìn)行歷史存儲(chǔ),分享權(quán)限 |
數(shù)據(jù)類型 | 單選下拉框,整數(shù)、小數(shù)、布爾、枚舉、字符串、數(shù)組、對象 |
取值范圍 | 僅整數(shù)和小數(shù)顯示,取值區(qū)間,最小值和最大值 |
單位 | 僅整數(shù)和小數(shù)顯示,如:元,℃ |
步長 | 僅整數(shù)和小數(shù)顯示,取值間隔,步長是指設(shè)備上報(bào)或下發(fā)數(shù)值時(shí),遞增或遞減的間隔。 |
計(jì)算公式 | 僅整數(shù)和小數(shù)顯示,加減乘除計(jì)算 |
布爾值 | 布爾類型顯示,0、1對應(yīng)文本(打開或關(guān)閉) |
展示方式 | 僅枚舉類型顯示,單選下拉框 |
枚舉項(xiàng) | [{key:1,value:1}] |
最大長度 | 僅字符串類型顯示,字符串的最大長度 |
數(shù)組類型 | 僅數(shù)組類型顯示,單選,整數(shù)、小數(shù)、字符串、對象 |
元素個(gè)數(shù) | 僅數(shù)組類型顯示,數(shù)組元素個(gè)數(shù) |
元素標(biāo)識 | 僅數(shù)組類型顯示,每個(gè)元素的序號標(biāo)識,可根據(jù)具體情況配置,比如:子設(shè)備 1、3、5 |
對象參數(shù) | 僅 數(shù)組--對象 類型顯示,在數(shù)組中添加具體的對象參數(shù) |
配置設(shè)備模型分為: 屬性properties,功能functions,事件events。
設(shè)備模型使用場景:
1. 前端通過模型定義動(dòng)態(tài)展示設(shè)備運(yùn)行狀態(tài)或者設(shè)備操作界面
2. 服務(wù)端可通過統(tǒng)一的API獲取設(shè)備模型并進(jìn)行相關(guān)操作,如:在發(fā)送設(shè)備消息時(shí)進(jìn)行參數(shù)校驗(yàn), 在收到設(shè)備消息進(jìn)行類型轉(zhuǎn)換處理。
數(shù)據(jù)結(jié)構(gòu):
{
"properties":[...屬性],
"functions":[...功能],
"events":[...事件],
"tags":[...標(biāo)簽]
}
用于定義設(shè)備屬性,描述設(shè)備運(yùn)行時(shí)的具體信息和狀態(tài)。
例如: 設(shè)備溫度,co2等。 平臺可主動(dòng)下發(fā)指令獲取設(shè)備屬性,設(shè)備也可以通過消息上報(bào)屬性。
{
"properties": [
{
"id": "co2",
"name": "二氧化碳",
"isChart": 1,
"isMonitor": 1,
"isHistory": 1,
"isSharePerm": 0,
"isReadonly": 1,
"datatype": {
"max": 6000,
"min": 100,
"step": 1,
"type": "integer",
"unit": "ppm"
}
},
{
"id": "temperature",
"name": "空氣溫度",
"isChart": 1,
"isMonitor": 1,
"isHistory": 1,
"isSharePerm": 0,
"isReadonly": 1,
"datatype": {
"max": 120,
"min": -20,
"step": 0.1,
"type": "decimal",
"unit": "℃"
}
}
]
}
根據(jù)設(shè)備可供外部調(diào)用的指令或方法,定義設(shè)備功能。平臺可主動(dòng)調(diào)用設(shè)備功能。例如:設(shè)備運(yùn)行檔位、開關(guān)操作等。
數(shù)據(jù)結(jié)構(gòu):
{
"functions": [
{
"id": "status",
"name": "上報(bào)狀態(tài)",
"isHistory": 0,
"isSharePerm": 0,
"isReadonly": 0,
"datatype": {
"type": "enum",
"showWay": "button",
"enumList": [
{
"text": "更新狀態(tài)",
"value": "update_status"
}
]
}
},
{
"id": "irc",
"name": "射頻遙控",
"isHistory": 1,
"isSharePerm": 0,
"isReadonly": 0,
"datatype": {
"type": "enum",
"showWay": "button",
"enumList": [
{
"text": "遙控學(xué)習(xí)",
"value": "FFXX01"
},
{
"text": "遙控清碼",
"value": "FFXX02"
},
{
"text": "打開開關(guān)",
"value": "FFXX03"
},
{
"text": "關(guān)閉開關(guān)",
"value": "FFXX04"
},
{
"text": "暫停",
"value": "FFXX05"
},
{
"text": "鎖定",
"value": "FFXX06"
}
]
}
},
{
"id": "report_monitor",
"name": "上報(bào)數(shù)據(jù)",
"isHistory": 0,
"isSharePerm": 0,
"isReadonly": 0,
"datatype": {
"max": 10,
"min": 1,
"step": 1,
"type": "integer",
"unit": "次數(shù)"
}
},
{
"id": "switch",
"name": "設(shè)備開關(guān)",
"isHistory": 1,
"isSharePerm": 0,
"isReadonly": 0,
"datatype": {
"type": "bool",
"trueText": "打開",
"falseText": "關(guān)閉"
}
},
{
"id": "gear",
"name": "運(yùn)行檔位",
"isHistory": 1,
"isSharePerm": 0,
"isReadonly": 0,
"datatype": {
"type": "enum",
"showWay": "select",
"enumList": [
{
"text": "低速檔位",
"value": "0"
},
{
"text": "中速檔位",
"value": "1"
},
{
"text": "中高速檔位",
"value": "2"
},
{
"text": "高速檔位",
"value": "3"
}
]
}
},
{
"id": "message",
"name": "屏顯消息",
"isHistory": 1,
"isSharePerm": 0,
"isReadonly": 0,
"datatype": {
"type": "string",
"maxLength": 1024
}
},
{
"id": "reset",
"name": "設(shè)備重啟",
"isHistory": 1,
"isSharePerm": 0,
"isReadonly": 0,
"datatype": {
"type": "enum",
"showWay": "button",
"enumList": [
{
"text": "重啟",
"value": "restart"
}
]
}
},
{
"id": "array_01_light_color",
"name": "燈光色值1",
"isHistory": 1,
"isSharePerm": 0,
"isReadonly": 0,
"datatype": {
"max": 100,
"min": 0,
"step": 1,
"type": "integer",
}
}
]
}
用于設(shè)備的額外屬性,添加拓展字段。例如:環(huán)境溫度過高、設(shè)備發(fā)生異常等。
數(shù)據(jù)結(jié)構(gòu):
{
"functions": [],
"events": [
{
"id": "height_temperature",
"name": "環(huán)境溫度過高",
"isHistory": 1,
"isSharePerm": 0,
"isReadonly": 0,
"datatype": {
"max": 100,
"min": 0,
"step": 0.1,
"type": "decimal",
"unit": "℃"
}
},
{
"id": "exception",
"name": "設(shè)備發(fā)生異常",
"isHistory": 1,
"isSharePerm": 0,
"isReadonly": 0,
"datatype": {
"type": "string",
"maxLength": 1024
}
}
]
}
產(chǎn)品有物模型配置。一個(gè)產(chǎn)品可以添加多個(gè)設(shè)備。設(shè)備會(huì)繼承產(chǎn)品下所有的物模型配置。