手记

户手册:接入设备之连接MQTT设备

获取模版

请在examples/mqttDeviceShifu查看模板文件。

修改配置

examples/mqttDeviceShifu/mqtt_deploy/mqtt_edgedevice.yaml中:

...
spec:
  sku: "testMQTT" # 修改此值
  connection: Ethernet
  address: 192.168.62.231:1883 # 修改此值
  protocol: MQTT
  protocolSettings:
    MQTTSetting:

examples/mqttDeviceShifu/mqtt_deploy/mqtt_deviceshifu_configmap.yaml中:

...
data:
  driverProperties: |
    driverSku: testMQTT
    driverImage: 
  instructions: | 
    instructions: # 一条命令可以订阅一个topic,如需订阅多个topic,增加命令即可
      get_topicmsg1: # 修改此值
        protocolPropertyList:
          MQTTTopic: "/test/test1" # 修改此值
      get_topicmsg2: 
        protocolPropertyList:
          MQTTTopic: "/test/test2"
      ... # 根据自己的需要可继续配置命令及对应的Topic,只需按照此格式继续添加即可

部署deviceShifu

运行下面的命令:

kubectl apply -f examples/mqttDeviceShifu/mqtt_deploy

获取设备最新的MQTT消息

在您的集群中运行下面的命令:

curl deviceshifu-mqtt/get_topicmsg1

这里get_topicmsg1是需要查询的字段。

MQTTdeviceShifu返回的内容如下:

{"mqtt_message":"test2333","mqtt_receive_timestamp":"2022-04-29 08:57:49.9492744 +0000 UTC m=+75.407609501"}

其中mqtt_message是设备接受到的最新字符串。mqtt_receive_timestamp是接收到该消息的时间戳。

通过deviceShifu发布MQTT消息

在您的集群中运行下面的命令:

curl -X POST -d 'test_publish' deviceshifu-mqtt/get_topicmsg1

这里get_topicmsg1是需要查询或发布的字段。

发布之后,再次查询MQTTdeviceShifu返回的内容如下:

{"mqtt_message":"test_publish","mqtt_receive_timestamp":"2022-04-29 08:57:59.7397692 +0000 UTC m=+75.407609501"}

本文由边无际授权发布

0人推荐
随时随地看视频
慕课网APP