介绍

GS程序可以由设备事件触发启动,通过这个能力我们能订阅设备事件,并在设备事件触发的时候启动执行一段gs程序。

如何开发一个订阅设备事件的GS应用

我们先来设想一个场景:
假设我们给打印机发送了一个打印任务,打印任务放在打印队列里;这是打印机完成打印任务后,会发送一个打印成功事件。
这里我们假设打印机的物模型时printer,打印成功事件为 printer_result_event, 事件内容为

  1. {
  2. "taskId": "taskId-12334455"
  3. }

1. 在项目的prog文件里配置对应的启动事件

  1. name: lemo-test
  2. script: src/lemo.gs
  3. profile: lemo.xml
  4. deviceType: printer
  5. startEvent: printer_result_event

2. 编写GS脚本读取设备事件内容

var payload = arguments[0];

// 接下来是事件进行处理
// 可以调用业务接口,也可以打印日志
sys.print(payload); // 打印事件内容

3. 上传并部署应用

经过以上步骤,当printer发送printer_result_event的时候, 就能触发执行步骤2中的脚本逻辑。