边缘计算框架EdgeX Foundry使用详解9(手动提交一个数据事件event)
在之前的文章中我们都是启动一个虚拟设备,然后 EdgeX Foundry 这边接收虚拟设备上报的数据,再推送到云端。我们也可以直接通过 core-data 微服务的 API 接口手动提交数据事件,EdgeX Foundry 同样会将其推送到云端。
九、手动提交一个数据事件event
1,注册客户端
如果不清楚如何注册客户端,可以参考我之前写的这篇文章:
假设我们要把数据推送到一个 MQTT 服务器上,注册信息如下:
{ "name":"QuickStartExport", "addressable":{ "name":"EMQBroker", "protocol":"tcp", "address":"192.168.60.128", "port":1883, "publisher":"EdgeXExportPublisher", "topic":"hangge" }, "format":"JSON", "filter":{}, "enable":true, "destination":"MQTT_TOPIC" }
2,手动提交 event
(1)调用如下接口发送数据事件:
- API接口:http://EdgeX-IP:48080/api/v1/event
- 提交方式:POST
(2)我们提交内容如下,这是一条温湿度传感器数据,里面包含温度、湿度值,以及时间戳 origin(时间戳不是必须的)
注意:设备和数据描述目前在库里都没注册,也没关系
{ "device": "sensor1", "origin":1471806386919, "readings": [{ "name": "temperature", "value": "72", "origin":1471806386919 }, { "name": "humidity", "value": "58", "origin":1471806386919 }] }
3,观察结果
前面提交 event 之后,我们如果使用 MQTT 客户端订阅,可以看到数据已经成功推送了: