> 文档中心 > EdgeX Foundry试运行

EdgeX Foundry试运行

创建值描述信息
值描述信息会告诉EdgeX转发的数据格式以及数据的标签。本例中,值描述信息分别给出了温度和湿度的值。

首先创建与湿度有关的值描述,可以看到最后返回了一个id

curl -X POST http://127.0.0.1:48080/api/v1/valuedescriptor -d '{

“name”: “humidity”,
“description”: “Ambient humidity in percent”,
“min”: “0”,
“max”: “100”,
“type”: “Int64”,
“uomLabel”: “humidity”,
“defaultValue”: “0”,
“formatting”: “%s”,
“labels”: [
“environment”,
“humidity”
]
}’
83d8ba2c-d12e-4531-99e6-213c3c84a895
创建与温度有关的值描述:

curl -X POST http://127.0.0.1:48080/api/v1/valuedescriptor -d '{

“name”: “temperature”,
“description”: “Ambient temperature in Celsius”,
“min”: “-50”,
“max”: “100”,
“type”: “Int64”,
“uomLabel”: “temperature”,
“defaultValue”: “0”,
“formatting”: “%s”,
“labels”: [
“environment”,
“temperature”
]
}’
0a8f5637-db7d-4108-8f48-03a116ad8726
可以使用curl http://127.0.0.1:48080/api/v1/valuedescriptor|jq查看已创建的值描述。

上传设备配置文件
下载设备配置文件并上传,可以看到也返回了一个Id’

curl --location --request POST ‘http://127.0.0.1:48081/api/v1/deviceprofile/uploadfile’ --form ‘file=@"/home/sensorClusterDeviceProfile.yaml"’

01373409-433d-4775-b7e1-4ede47daab80
可以使用curl http://127.0.0.1:48081/api/v1/deviceprofile|jq查看上传的设备配置文件:

创建设备
在创建设备之前需要注意以下两点:

设备(REST设备)依赖名为"edgex-device-rest"的设备服务
创建设备时使用的profile.name字段必须与上传的设备配置文件中的name字段"SensorCluster"相同
执行如下命令创建设备:

curl -X POST http://127.0.0.1:48081/api/v1/device -d '{

“name”: “Temp_and_Humidity_sensor_cluster_01”,
“description”: “Raspberry Pi sensor cluster”,
“adminState”: “unlocked”,
“operatingState”: “enabled”,
“protocols”: {
“example”: {
“host”: “dummy”,
“port”: “1234”,
“unitID”: “1”
}
},
“labels”: [
“Humidity sensor”,
“Temperature sensor”,
“DHT11”
],
“location”: “Tokyo”,
“service”: {
“name”: “edgex-device-rest”
},
“profile”: {
“name”: “SensorCluster”
}
}’
a687ea40-13ca-4ed3-bb00-140ae84344a1
向EdgeX Foundry发送数据
向EdgeX Foundry发送温度和湿度数据:

curl --request POST ‘http://127.0.0.1:49986/api/v1/resource/Temp_and_Humidity_sensor_cluster_01/temperature’ --header ‘Content-Type: text/plain’ --data-raw ‘23’

curl --request POST ‘http://127.0.0.1:49986/api/v1/resource/Temp_and_Humidity_sensor_cluster_01/humidity’ --header ‘Content-Type: text/plain’ --data-raw ‘33’

使用curl http://127.0.0.1:48080/api/v1/event/count/Temp_and_Humidity_sensor_cluster_01查看该设备上的事件数:

image

读取传入的数据

curl -X GET http://localhost:48080/api/v1/reading/device/Temp_and_Humidity_sensor_cluster_01/100|jq

[
{
“id”: “b72e2fde-fe8c-41ed-baa4-dab0155bc53d”,
“created”: 1622629900723,
“origin”: 1622629900721518000,
“device”: “Temp_and_Humidity_sensor_cluster_01”,
“name”: “humidity”,
“value”: “33”,
“valueType”: “Int64”
},
{
“id”: “07b596c3-248a-4800-b0f6-6d5cb58964b6”,
“created”: 1622629813141,
“origin”: 1622629813139238100,
“device”: “Temp_and_Humidity_sensor_cluster_01”,
“name”: “temperature”,
“value”: “23”,
“valueType”: “Int64”
},

]
到此为止,数据已经传入到EdgeX Foundry,短时间内会保存在Redis DB中。由于数据不会在边缘设备中保存太久,因此需要配置如何导出数据。

导出数据
EdgeX 为多种云服务和应用提供了exporters,为了简化,下面使用社区提供的配置将EdgeX的数据发送到公开的MQTT broker(基于Hive MQ)。

下载docker-compose.yml并运行,按照前面的方式添加设备(可能需要清除docker volume)。操作步骤可以见exporting-data。这样在公开的MQTT broker上就可以看到自己发送的数据。

image
可以在consul的Key/Value中设置

image
执行docker logs -f edgex-app-service-configurable-rules就可以查看数据发送日志:

level=DEBUG ts=2021-06-02T14:54:39.641349729Z app=AppService-rules-engine source=runtime.go:59 msg=“Processing message: 1 Transforms”
level=DEBUG ts=2021-06-02T14:54:39.642895079Z app=AppService-rules-engine source=outputdata.go:38 msg=“Setting output data”
level=DEBUG ts=2021-06-02T14:54:42.359115397Z app=AppService-rules-engine source=runtime.go:59 msg=“Processing message: 1 Transforms”
level=DEBUG ts=2021-06-02T14:54:42.359264279Z app=AppService-rules-engine source=outputdata.go:38 msg=“Setting output data”
level=DEBUG ts=2021-06-02T14:55:36.565067194Z app=AppService-rules-engine source=runtime.go:59 msg=“Processing message: 1 Transforms”
level=DEBUG ts=2021-06-02T14:55:36.565268032Z app=AppService-rules-engine source=outputdata.go:38 msg=“Setting output data”
总结
EdgeX后续的Roadmap如下,其中下个版本Ireland将会把API从v1升级为v2:

‘Barcelona’: October 2017
‘California’: July 2018
‘Delhi’: November 2018
‘Edinburgh’: July 2019
‘Fuji’: November 2019
‘Geneva’: ~ April 2020
‘Hanoi’: ~ October 2020
‘Ireland’: ~ June 2021
‘Jakarta’: ~ November 2021
‘Kamakura’: ~ April 2022
USB Microphone https://www.soft-voice.com/
Wooden Speakers https://www.zeshuiplatform.com/
亚马逊测评 www.yisuping.cn
深圳网站建设www.sz886.com