
回复
apiVersion: devices.kubeedge.io/v1alpha2
kind: DeviceModel
metadata:
name: sensor-tag-model
namespace: default
spec:
properties:
- name: temperature
description: temperature in degree celsius
type:
int:
accessMode: ReadWrite
maximum: 100
unit: degree celsius
- name: temperature-enable
description: enable data collection of temperature sensor
type:
string:
accessMode: ReadWrite
defaultValue: 'OFF'
一个 Device Instance 大概是:
apiVersion: devices.kubeedge.io/v1alpha2
kind: Device
metadata:
name: sensor-tag-instance-01
labels:
description: TISimplelinkSensorTag
manufacturer: TexasInstruments
model: CC2650
spec:
deviceModelRef:
name: sensor-tag-model
protocol:
modbus:
slaveID: 1
common:
com:
serialPort: '1'
baudRate: 115200
dataBits: 8
parity: even
stopBits: 1
nodeSelector:
nodeSelectorTerms:
- matchExpressions:
- key: ''
operator: In
values:
- node1
propertyVisitors:
- propertyName: temperature
modbus:
register: CoilRegister
offset: 2
limit: 1
scale: 1
isSwap: true
isRegisterSwap: true
- propertyName: temperature-enable
modbus:
register: DiscreteInputRegister
offset: 3
limit: 1
scale: 1.0
isSwap: true
isRegisterSwap: true
status:
twins:
- propertyName: temperature
reported:
metadata:
timestamp: '1550049403598'
type: int
value: '10'
desired:
metadata:
timestamp: '1550049403598'
type: int
apiVersion: devices.kubeedge.io/v1alpha1
kind: Device
metadata:
...
spec:
deviceModelRef:
...
protocol:
...
nodeSelector:
...
propertyVisitors:
...
data:
dataTopic: "$ke/events/device/+/data/update"
dataProperties:
- propertyName: pressure
metadata:
type: int
- propertyName: temperature
metadata:
type: int
topic | 发布者(publish) | 订阅者(subscribe) | 用途简介 | mapper是否必须实现 |
---|---|---|---|---|
$hw/events/node/+/membership/updated | edgecore | mapper | 订阅设备列表的变化 | 建议实现 |
$hw/events/node/+/membership/get | mapper | edgecore | 查询设备列表 | 建议实现 |
$hw/events/node/+/membership/get/result | edgecore | mapper | 获取查询设备列表的结果 | 建议实现 |
$hw/events/device/+/updated | edgecore | mapper | 订阅设备属性描述的变化 | 否 |
$hw/events/device/+/twin/update/result | edgecore | mapper | 获取设备属性更新是否成功 | 建议实现 |
$hw/events/device/+/twin/update/delta | edgecore | mapper | 获取设备属性更新的值 | 是 |
$hw/events/device/+/twin/update/document | edgecore | mapper | 获取设备属性更新的操作记录 | 否 |
$hw/events/device/+/twin/get/result | edgecore | mapper、apps | 返回获取设备属性的值 | 否 |
$hw/events/device/+/twin/update | mapper | edgecore | 通知设备属性的值更新 | 是 |
$hw/events/device/+/twin/get | mapper,apps | edgecore | 获取设备属性的值 | 否 |
$hw/events/device/+/state/update | mapper | edgecore | 通知设备状态更新 | 建议实现 |
$hw/events/device/+/state/update/result | edgecore | mapper | 获取设备状态更新结果 | 否 |
$ke/events/device/+/data/update | mapper | apps | 获取设备属性的时序数据 | 是 |
$hw/events/upload/# | x | edgecore | 转发云端 | 否 |
SYS/dis/upload_records | x | edgecore | 转发云端 | 否 |