Слушатель событий Watson-IoT в python

1

Я пытаюсь создать прослушиватель в python, который автоматически извлекает события из устройств в Watson-IoT по мере их возникновения. Когда происходит событие, я хочу вызвать определенную функцию.

Я прочитал документацию и спецификации API, но ничего не нашел.

Есть ли способ сделать это?

  • 0
    У меня та же проблема, я пробовал год назад и не мог найти решение, но мне это действительно нужно.
Теги:
ibm-cloud
iot
listener
watson-iot

1 ответ

2
Лучший ответ

См. Клиентскую библиотеку Python: https://github.com/ibm-watson-iot/iot-python

Этот конкретный образец должен оказаться очень полезным, вы можете запустить его без изменений и увидеть функцию, вызываемую в ответ на события и команды: https://github.com/ibm-watson-iot/iot-python/tree/master/samples/simpleApp

Наиболее подходящими частями к образцу являются:

  1. Создание обработчика обратного вызова - когда событие будет получено, эта функция будет вызываться, позволяя вам принять меры для этого события:

    def myEventCallback(event):
        print("%-33s%-30s%s" % (event.timestamp.isoformat(), event.device, event.event + ": " + json.dumps(event.data)))
    
  2. Регистрация обработчика обратного вызова в клиенте, который побуждает клиента вызывать ваш метод для всех входящих событий:

    client.deviceEventCallback = myEventCallback
    
  3. При подписке на события вы можете охватить подписку, чтобы избежать обработки ненужных событий, или использовать настройки по умолчанию для подписки на все события со всех устройств:

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню