- EdgeX系列之一 – EdgeX Foundry介绍
- EdgeX系列之二 – 准备工作
- EdgeX系列之三 – 连接MQTT设备
- EdgeX系列之四 – 数据库访问
- EdgeX系列之五 – 设置定时任务
- EdgeX系列之六 – 连接云端服务
- EdgeX系列之七 – 入门资料介绍
1. 简介
在实际应用场景中,经常需要定时从设备中获取数据,在EdgeX Foundry中supporting services支持设置定时任务,定时从设备中采集数据。
定时任务对应的微服务名称叫做edgex-support-scheduler,支持设置interval和interval action,interval设置任务的时间间隔,interval action设置要执行的操作,同一个interval可以对应多个interval action。
Postman是一款强大的网页调试工具客户端,为用户提供强大的Web API & HTTP请求调试功能,支持Windows,Mac和Linux多种平台。
2. 设置interval
通过POST方法设置interval,地址为http://127.0.0.1:48085/api/v1/interval
上传数据如下,未设置的字段为默认值
{
"name": "for5s",
“start": null,
"end": null,
"frequency": "PT5S"
}
字段 | 说明 |
---|---|
name | 随便写 |
start | null |
end | null |
frequency | PT5S标识时间间隔为5s |
在POST方法成功执行之后会返回一个id,作为这个Interval的唯一标识。
3. 设置Interval Action
同样采用POST方法设置interval action,地址为http://127.0.0.1:48085/api/v1/intervalaction
上传数据如下,未设置的字段为默认值
{
“name”: “scheduleevent-device-mqtt-01”,
“interval”: “for5s”,
“target”: “edgex-device-mqtt”,
“protocol”: “http”,
“httpMethod”: “GET”,
“address”: “192.168.0.92”,
“port”: 49982,
“path”: “/api/v1/device/7e583f73-4a06-44fd-b24d-0727e262b764/testping”,
“parameters”: null
}
字段 | 说明 |
---|---|
name | 随便填 |
interval | 填写刚才设置的interval名字, for5s |
target | 设备服务名字,edgex-device-mqtt |
protocol | http |
httpMethod | GET |
address | 访问edgex-device-mqtt服务的ip地址 |
port | 访问edgex-device-mqtt服务的端口号 |
path | 通过GET方法访问http://127.0.0.1:48082/api/v1/device网址获取,格式为/api/v1/device/{deviceId}/testping,deviceId也是同样方式获得 |
parameters | null |
POST方法执行成功后返回id,作为该IntervalAction的唯一标识。
4. 查看数据库
使用系列之三中提到的数据库可视化工具查看CoreData数据库,查询其中的event可以看到数据以5s为时间间隔进行更新。