由于底层的CNC机床必须使用MQTT通信,所以采用MQTT作为底层的通讯协议,再上传到kafka集群。
现在有两种实现方案:一种是使用mqtt-kafka connector,相当于直接使用两者之间的接口通信;另一种是设置一个gateway。
由于暂未找到合适的python接口,所以自己简单实现了一个,代码如下。
mqtt发布端:
import sys import datetime import socket, sys import paho.mqtt.publish as publish import time def transmitMQTT(strMsg): # strMqttBroker = "led_power.mqtt.iot.gz.baidubce.com" # strMqttBroker = "127.0.0.1" strMqttBroker = "192.168.3.10" strMqttChannel = "confluent-kafka-topic" print(len(str(strMsg))) publish.single(strMqttChannel, strMsg, hostname=strMqttBroker) if __name__ == '__main__': while True: transmitMQTT(