使用Python编写脚本将MQTT数据转存至InfluxDB

本文介绍了如何使用Python编写脚本来实现MQTT消息从RabbitMQ服务器转存到InfluxDB时序数据库。首先,文章阐述了背景需求,即在没有现成配置的情况下,需要自定义解决方案。接着,提到了准备工作,包括安装必要的Python模块。最后,作者提供了简单的Shell脚本示例用于执行数据迁移任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

之前使用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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值