关于MQTT,可以查看官网或者参考网上资料:MQTT协议,终于有人讲清楚了 - 知乎 (zhihu.com)
这里主要讲一些代码实战,需要用到的技术有python-phao,configparser,logging,以及flask,多线程相关。
由于工作保密性质,这里没有贴开发代码,自己空闲之余写的demo可以看看。
import time
import datetime
import os
import threading
import pickle
from gevent import monkey
from gevent.pywsgi import WSGIServer
from geventwebsocket.handler import WebSocketHandler
monkey.patch_all()
import configparser
import json
import logging
from logging import handlers
from paho.mqtt import client as mqtt_client
from influxdb_client import WritePrecision, InfluxDBClient, Point
from influxdb_client.client.write_api import SYNCHRONOUS
from flask import Flask
app = Flask(__name__)
logger = logging.getLogger('parseadapter')
logger.setLevel(level=logging.INFO)
# 设置log格式
formatter = logging.Formatter('%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')
# 控制台打印
stream_handler = logging.StreamHandler()
stream_handler.setLevel(logging.INFO)
stream_handler.setFormatter(formatter)
logger.addHandler(stream_