Python中的Watson-IoT事件侦听器

时间:2018-07-30 13:12:34

标签: python ibm-cloud listener iot watson-iot

我正在尝试在python中创建一个侦听器,以在发生事件时自动从Watson-IoT中的设备检索事件。当事件发生时,我想调用特定的函数。

我已经阅读了文档和API规范,但找不到任何内容。

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:2)

请参阅Python客户端库:https://github.com/ibm-watson-iot/iot-python

该特定示例应该证明非常有帮助,您可以直接运行它,而无需进行修改,并看到响应事件和命令而调用的函数:https://github.com/ibm-watson-iot/iot-python/tree/master/samples/simpleApp

与样本最相关的部分是:

  1. creation of the callback handler-收到事件后,将调用此函数,使您可以对该事件采取行动:

    def myEventCallback(event):
        print("%-33s%-30s%s" % (event.timestamp.isoformat(), event.device, event.event + ": " + json.dumps(event.data)))
    
  2. 客户端中的registration of the callback handler,它指示客户端为所有传入事件调用您的方法:

    client.deviceEventCallback = myEventCallback
    
  3. subscription to events,您可以确定订阅的范围以避免处理不必要的事件,或者使用默认值订阅来自所有设备的所有事件:

    eventsMid = client.subscribeToDeviceEvents(deviceType, deviceId, event)