Прослушивание Python (Flask) и MQTT

python flask mqtt

1467 просмотра

2 ответа

616 Репутация автора

В настоящее время я пытаюсь заставить мой веб-сервер Python (Flask) отображать, что делает мой MQTT-скрипт. Скрипт MQTT, по сути, он подписан на тему, и мне бы очень хотелось классифицировать полученную информацию и отображать / обновлять ее в реальном времени. Что-то вроде простого списка, отображающего различные настройки, который регулярно обновляется.

Setting1 = 9
Setting2 = 2
Setting3 = 5

Для начала у меня есть страница для подключения, чтобы вы могли указать IP-адрес, к которому должен подключиться Python (Flask):

@app.route("/")
def my_form():
        return render_template("connect.html")

@app.route("/", methods=["POST"])
def my_form_post():
        text = request.form["text"]
        processed_text = text.upper()

На что выглядит connect.html:

<!DOCTYPE html>
<html lang="en">
<body>
    <h2>Fill in the IP in below:</h2>
    <form action="." method="POST">
        <input type="text" name="text">
        <input type="submit" name="my-form" value="Connect">
    </form>
</body>
</html>

Соединение с частью MQTT - вот, где появляется сложная часть, и мне потребуется некоторая помощь. Я думал о том, чтобы просто добавить соединение внизу, но это просто не работает правильно, оно просто вернется с внутренней ошибкой сервера.

Любая помощь будет принята с благодарностью!

Спасибо!

Автор: user5740843 Источник Размещён: 18.07.2016 12:12

Ответы (2)


2 плюса

7889 Репутация автора

Решение

Я бы сделал отдельный сервис для обработки сообщений MQTT. Этот сервис может обрабатывать полученные сообщения и сохранять их (база данных, redis, простая память программы) для доступа.

При попадании на страницу в вашем приложении фляги вы подключаетесь к службе (или ее хранилищу) и обрабатываете / отображаете информацию с момента последнего запроса.

Это можно сделать и в обратном направлении, когда вы отправляете MQTT-сообщения своей почтовой информации из приложения фляги в бэкэнд-сервис.

Автор: g19fanatic Размещён: 18.07.2016 12:40

0 плюса

1 Репутация автора

попробуйте это: http://flask-mqtt.readthedocs.io/en/latest/#,a расширение Flask, предназначенное для облегчения интеграции клиента MQTT в ваше веб-приложение.

Автор: zuoyi Размещён: 07.12.2017 03:14
Вопросы из категории :
32x32