代码之家  ›  专栏  ›  技术社区  ›  Felipe

是否可以使用虚拟I2C的ThingsBoard?

  •  0
  • Felipe  · 技术社区  · 7 年前

    我看到Thingsboard可以发送rpc请求( https://thingsboard.io/docs/user-guide/rule-engine-2-0/action-nodes/#rpc-call-request-node )。此示例显示如何将值发送到GPIO。

    我想知道我是否可以将值发送到连接到覆盆子pi的i2c物理设备。

    如果我使用I2C存根来创建虚拟I2C设备,我如何将它们连接到Thingsboard? 到目前为止,我在rpi上使用i2cset和i2cset来读写虚拟传感器。

    谢谢, 费利佩

    1 回复  |  直到 7 年前
        1
  •  1
  •   Vitaliy Paromskiy    7 年前

    您可以使用本指南: https://thingsboard.io/docs/samples/raspberry/gpio/

    核心要点:

    def on_message(client, userdata, msg):
    ...
    if data['method'] == 'getGpioStatus':
        client.publish(msg.topic.replace('request', 'response'), get_gpio_status(), 1)
    elif data['method'] == 'setGpioStatus':
        set_gpio_status(data['params']['pin'], data['params']['enabled'])
        client.publish(msg.topic.replace('request', 'response'), get_gpio_status(), 1)
        client.publish('v1/devices/me/attributes', get_gpio_status(), 1)
    

    您可以为i2c定义自己的函数和rpc方法名(而不是使用 获取GPIO状态 设置GPIO状态 )

    推荐文章