使用Rest连接MindSphere IoT Extention

==官网链接==

https://cumulocity.com/guides/device-sdk/rest/#overview

 

==概述==

启动阶段将设备连接到Cumulocity IoT,并更新清单中的设备数据。它还执行操作所需的清理任务。它包括以下步骤:

  • 步骤0:请求设备凭据(如果尚未请求)。
  • 步骤1:检查设备是否已经注册。
  • 步骤2:如果没有,请在清单中创建设备,然后
  • 步骤3:注册设备。
  • 步骤4:如果是,请更新清单中的设备。
  • 步骤5:发现子设备并在清单中创建或更新它们。
  • 步骤6:完成需要重新启动的操作并订阅新操作。

启动阶段

循环阶段如下。它会不断更新清单,写入测量值,警报和事件并根据需要执行操作。可以将其视为设备关闭之前执行的设备“主循环”。该循环包括以下步骤:

循环阶段

数据的参考模型可以在设备管理库参考指南传感器库中找到。

 

==Authorization==

使用BasicAuth,输入用户名和密码。

 

==创建一个新设备==

POST:https://{tenant}.mciotextension.cn1.mindsphere-in.cn/inventory/managedObjects

Content-Type:application/vnd.com.nsn.cumulocity.managedObject+json

Accept:application/vnd.com.nsn.cumulocity.managedObject+json

Request Body:

{
    "c8y_IsDevice" : {},
    "name" : "RestDevice0408"
}

Response Body:

复制代码
{
    "owner": "{username}",
    "additionParents": {
        "self": "https://{tenant}.mciotextension.cn1.mindsphere-in.cn/inventory/managedObjects/21802/additionParents",
        "references": []
    },
    "childDevices": {
        "self": "https://{tenant}.mciotextension.cn1.mindsphere-in.cn/inventory/managedObjects/21802/childDevices",
        "references": []
    },
    "childAssets": {
        "self": "https://{tenant}.mciotextension.cn1.mindsphere-in.cn/inventory/managedObjects/21802/childAssets",
        "references": []
    },
    "creationTime": "2020-04-08T15:15:57.302+08:00",
    "lastUpdated": "2020-04-08T15:15:57.302+08:00",
    "childAdditions": {
        "self": "https://{tenant}.mciotextension.cn1.mindsphere-in.cn/inventory/managedObjects/21802/childAdditions",
        "references": []
    },
    "name": "RestDevice0408",
    "assetParents": {
        "self": "https://{tenant}.mciotextension.cn1.mindsphere-in.cn/inventory/managedObjects/21802/assetParents",
        "references": []
    },
    "deviceParents": {
        "self": "https://{tenant}.mciotextension.cn1.mindsphere-in.cn/inventory/managedObjects/21802/deviceParents",
        "references": []
    },
    "self": "https://{tenant}.mciotextension.cn1.mindsphere-in.cn/inventory/managedObjects/21802",
    "id": "21802",
    "c8y_IsDevice": {}
}
复制代码

 

 

Postman截图

 

 

 

==注册设备==

创建新设备后,现在可以按照步骤1中所述将其与内置标识符相关联。这确保了该设备在下一次启动后就可以在Cumulocity IoT中找到自己。

如果不进行设备注册,后面也无法通过c8y_Serial获取设备。

POST:https://{tenant}.mciotextension.cn1.mindsphere-in.cn/identity/globalIds/21802/externalIds

Content-Type:application/vnd.com.nsn.cumulocity.externalId+json

Accept:application/vnd.com.nsn.cumulocity.externalId+json

Request Body:

{
    "type" : "c8y_Serial",
    "externalId" : "serial202004081525"
}

 

 

==更新设备==

PUT:https://{tenant}.mciotextension.cn1.mindsphere-in.cn/inventory/managedObjects/21802

Content-Type:application/vnd.com.nsn.cumulocity.managedObject+json

Request Body:

{
    "c8y_Software": {
        "pi-driver": "pi-driver-3.4.6.jar",
        "pi4j-gpio-extension": "pi4j-gpio-extension-0.0.5.jar"
    }
}

 

Postman截图:

 

 

 

==发送测量数据==

POST:https://{tenant}.mciotextension.cn1.mindsphere-in.cn/measurement/measurements

Content-Type:application/vnd.com.nsn.cumulocity.measurement+json

Request Body:

复制代码
{
    "source": {
        "id": "21802"
    },
    "time": "2020-04-08T15:52:40.152",
    "type": "mytype",
    "MyMeasurement": {
        "AR_TEST_VAR1": {
            "value": 15,
            "unit": "dBm"
        },
        "AR_TEST_VAR2": {
            "value": 25,
            "unit": "%"
        },
        "AR_TEST_VAR3": {
            "value": 30,
            "unit": ""
        }
    }
}
复制代码

 

 

Postman截图:

 

 

 

--END--

posted @   大墨垂杨  阅读(316)  评论(1编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2016-04-08 Storm入门学习随记
2016-04-08 【坑】执行Consumer的时候发生java.net.UnknownHostException错误
2016-04-08 Kafka入门学习随记(二)
点击右上角即可分享
微信分享提示