Raspberry Pi 4 的 Azure IoT Central 设备模板
Azure IoT Central Device Template for Raspberry Pi 4
我刚刚关注了 this document,我看到 Raspberry Pi4 没有设备模板,但是对于像 MXChip 这样的设备,它有,这是有意的吗?或者有什么方法可以获取 Raspberry Pi 4 的设备模板?
这是故意的。设备模板描述了设备的功能。例如,MXChip 将发送温度、湿度和运动事件(以及其他事件),这在设备模板中进行了描述。
您还在屏幕截图中发布的 ReButton 将具有按钮按下等功能(支持 single/double/triple/long 单击)。
这让我们想到了 Raspberry Pi 没有模板的原因,这个设备本身没有开箱即用的功能来将它连接到 IoT Central。我可能会决定为其添加一个温度传感器,因此我将构建一个描述该功能的模板。但是您可能决定向其添加一个按钮和一个 LED,因此您将构建一个描述这些功能的模板。
正如你在评论中所说,如果你想要一个起点,你将从最基本的、几乎是空的能力模型开始,但你不能没有任何接口的能力模型,所以你可以添加Microsoft 提供的 DeviceInformation 接口。您将需要编写您的 Raspberry 将 运行 实际填写这些字段的代码!
{
"@id": "urn:matthijsvdveer:RaspberryPi4_41:1",
"@type": "CapabilityModel",
"implements": [
{
"@id": "urn:matthijsvdveer:RaspberryPi4_41:2x_rlqmb2:1",
"@type": "InterfaceInstance",
"name": "DeviceInformation_z1",
"schema": {
"@id": "urn:azureiot:DeviceManagement:DeviceInformation:1",
"@type": "Interface",
"displayName": {
"en": "Device information"
},
"contents": [
{
"@id": "urn:azureiot:DeviceManagement:DeviceInformation:manufacturer:1",
"@type": "Property",
"comment": "Company name of the device manufacturer. This could be the same as the name of the original equipment manufacturer (OEM). Ex. Contoso.",
"displayName": {
"en": "Manufacturer"
},
"name": "manufacturer",
"schema": "string"
},
{
"@id": "urn:azureiot:DeviceManagement:DeviceInformation:model:1",
"@type": "Property",
"comment": "Device model name or ID. Ex. Surface Book 2.",
"displayName": {
"en": "Device model"
},
"name": "model",
"schema": "string"
},
{
"@id": "urn:azureiot:DeviceManagement:DeviceInformation:swVersion:1",
"@type": "Property",
"comment": "Version of the software on your device. This could be the version of your firmware. Ex. 1.3.45",
"displayName": {
"en": "Software version"
},
"name": "swVersion",
"schema": "string"
},
{
"@id": "urn:azureiot:DeviceManagement:DeviceInformation:osName:1",
"@type": "Property",
"comment": "Name of the operating system on the device. Ex. Windows 10 IoT Core.",
"displayName": {
"en": "Operating system name"
},
"name": "osName",
"schema": "string"
},
{
"@id": "urn:azureiot:DeviceManagement:DeviceInformation:processorArchitecture:1",
"@type": "Property",
"comment": "Architecture of the processor on the device. Ex. x64 or ARM.",
"displayName": {
"en": "Processor architecture"
},
"name": "processorArchitecture",
"schema": "string"
},
{
"@id": "urn:azureiot:DeviceManagement:DeviceInformation:processorManufacturer:1",
"@type": "Property",
"comment": "Name of the manufacturer of the processor on the device. Ex. Intel.",
"displayName": {
"en": "Processor manufacturer"
},
"name": "processorManufacturer",
"schema": "string"
},
{
"@id": "urn:azureiot:DeviceManagement:DeviceInformation:totalStorage:1",
"@type": "Property",
"comment": "Total available storage on the device in kilobytes. Ex. 2048000 kilobytes.",
"displayName": {
"en": "Total storage"
},
"name": "totalStorage",
"displayUnit": {
"en": "kilobytes"
},
"schema": "long"
},
{
"@id": "urn:azureiot:DeviceManagement:DeviceInformation:totalMemory:1",
"@type": "Property",
"comment": "Total available memory on the device in kilobytes. Ex. 256000 kilobytes.",
"displayName": {
"en": "Total memory"
},
"name": "totalMemory",
"displayUnit": {
"en": "kilobytes"
},
"schema": "long"
}
]
}
}
],
"displayName": {
"en": "Raspberry Pi 4"
},
"@context": [
"http://azureiot.com/v1/contexts/IoTModel.json"
]
}
我的建议是 create your own in IoT Central,虽然以上是一个不错的 starting-off 点,但只需一分钟即可在 IoT Central 中创建您自己的接口,然后您可以添加自己的接口。
希望这能解释一下!如果您需要任何说明,请告诉我。
我刚刚关注了 this document,我看到 Raspberry Pi4 没有设备模板,但是对于像 MXChip 这样的设备,它有,这是有意的吗?或者有什么方法可以获取 Raspberry Pi 4 的设备模板?
这是故意的。设备模板描述了设备的功能。例如,MXChip 将发送温度、湿度和运动事件(以及其他事件),这在设备模板中进行了描述。 您还在屏幕截图中发布的 ReButton 将具有按钮按下等功能(支持 single/double/triple/long 单击)。
这让我们想到了 Raspberry Pi 没有模板的原因,这个设备本身没有开箱即用的功能来将它连接到 IoT Central。我可能会决定为其添加一个温度传感器,因此我将构建一个描述该功能的模板。但是您可能决定向其添加一个按钮和一个 LED,因此您将构建一个描述这些功能的模板。
正如你在评论中所说,如果你想要一个起点,你将从最基本的、几乎是空的能力模型开始,但你不能没有任何接口的能力模型,所以你可以添加Microsoft 提供的 DeviceInformation 接口。您将需要编写您的 Raspberry 将 运行 实际填写这些字段的代码!
{
"@id": "urn:matthijsvdveer:RaspberryPi4_41:1",
"@type": "CapabilityModel",
"implements": [
{
"@id": "urn:matthijsvdveer:RaspberryPi4_41:2x_rlqmb2:1",
"@type": "InterfaceInstance",
"name": "DeviceInformation_z1",
"schema": {
"@id": "urn:azureiot:DeviceManagement:DeviceInformation:1",
"@type": "Interface",
"displayName": {
"en": "Device information"
},
"contents": [
{
"@id": "urn:azureiot:DeviceManagement:DeviceInformation:manufacturer:1",
"@type": "Property",
"comment": "Company name of the device manufacturer. This could be the same as the name of the original equipment manufacturer (OEM). Ex. Contoso.",
"displayName": {
"en": "Manufacturer"
},
"name": "manufacturer",
"schema": "string"
},
{
"@id": "urn:azureiot:DeviceManagement:DeviceInformation:model:1",
"@type": "Property",
"comment": "Device model name or ID. Ex. Surface Book 2.",
"displayName": {
"en": "Device model"
},
"name": "model",
"schema": "string"
},
{
"@id": "urn:azureiot:DeviceManagement:DeviceInformation:swVersion:1",
"@type": "Property",
"comment": "Version of the software on your device. This could be the version of your firmware. Ex. 1.3.45",
"displayName": {
"en": "Software version"
},
"name": "swVersion",
"schema": "string"
},
{
"@id": "urn:azureiot:DeviceManagement:DeviceInformation:osName:1",
"@type": "Property",
"comment": "Name of the operating system on the device. Ex. Windows 10 IoT Core.",
"displayName": {
"en": "Operating system name"
},
"name": "osName",
"schema": "string"
},
{
"@id": "urn:azureiot:DeviceManagement:DeviceInformation:processorArchitecture:1",
"@type": "Property",
"comment": "Architecture of the processor on the device. Ex. x64 or ARM.",
"displayName": {
"en": "Processor architecture"
},
"name": "processorArchitecture",
"schema": "string"
},
{
"@id": "urn:azureiot:DeviceManagement:DeviceInformation:processorManufacturer:1",
"@type": "Property",
"comment": "Name of the manufacturer of the processor on the device. Ex. Intel.",
"displayName": {
"en": "Processor manufacturer"
},
"name": "processorManufacturer",
"schema": "string"
},
{
"@id": "urn:azureiot:DeviceManagement:DeviceInformation:totalStorage:1",
"@type": "Property",
"comment": "Total available storage on the device in kilobytes. Ex. 2048000 kilobytes.",
"displayName": {
"en": "Total storage"
},
"name": "totalStorage",
"displayUnit": {
"en": "kilobytes"
},
"schema": "long"
},
{
"@id": "urn:azureiot:DeviceManagement:DeviceInformation:totalMemory:1",
"@type": "Property",
"comment": "Total available memory on the device in kilobytes. Ex. 256000 kilobytes.",
"displayName": {
"en": "Total memory"
},
"name": "totalMemory",
"displayUnit": {
"en": "kilobytes"
},
"schema": "long"
}
]
}
}
],
"displayName": {
"en": "Raspberry Pi 4"
},
"@context": [
"http://azureiot.com/v1/contexts/IoTModel.json"
]
}
我的建议是 create your own in IoT Central,虽然以上是一个不错的 starting-off 点,但只需一分钟即可在 IoT Central 中创建您自己的接口,然后您可以添加自己的接口。
希望这能解释一下!如果您需要任何说明,请告诉我。