前言
之前使用Rabbitmq部署了一个简单的MQTT服务器,暂未做用户隔离,也部署了InfluxDB时序数据库,但是并不能直接通过配置将MQTT服务器的数据转存至时序数据库中,于是我决定自己写脚本实现下.
准备
打开shell使用
pip install influxdb
安装InluxDB所需模块
pip install paho-mqtt
安装Rabbmq所需模块
源码
# coding=utf-8
import json
import random
import threading
import os
import paho.mqtt.client as mqtt
import time
from influxdb import InfluxDBClient
from my_lib.code_handle.code_handle import auto_code
class Mqtt_handle:
topic_sub='$dp'
topic_pub='$info'
counts = 0
clientID = ''
for i in range(0, 2):
clientID = clientID.join(str(random.uniform(0, 1)))
mqtt_client = mqtt.Client(clientID)
DB_client = InfluxDBClient(self._host, 8086, '', '', 'mydb') # 初始化
def __init__(self, host, port):
self._host = host
self._port = port
self.mqtt_client.on_connect = self._on_connect # 设置连接上服务器回调函数
self.mqtt_client.on_message = self._