mirror of
https://github.com/CopterExpress/clover.git
synced 2026-05-26 21:19:35 +00:00
Merge branch 'master' of github.com:CopterExpress/clever
This commit is contained in:
@@ -12,6 +12,47 @@ hbmqtt_pub --url mqtt://192.168.0.1:1883 -t /copters/copter1 -m 'сообщен
|
||||
|
||||
Где `192.168.0.1` – IP-адрес MQTT-брокера, `сообщение` – сообщение для публикации, `/copters/copter1` – необходимый топик для публикации.
|
||||
|
||||
### Работа с MQTT
|
||||
|
||||
В образе Клевера предустановлена библиотека `paho-mqtt` для Python. Пример работы с этой библиотекой описан ниже:
|
||||
|
||||
```python
|
||||
import paho.mqtt.client as mqtt # Импортирование библиотеки mqtt
|
||||
|
||||
# Callback, вызываемый при получении от сервера подтверждения о подключении
|
||||
def on_connect(client, userdata, flags, rc):
|
||||
print ("Connected with result code "+str(rc))
|
||||
|
||||
# Если подписываться на топик в on_connect, то при обрыве соединения
|
||||
# и повторном подключении произойдёт автоматическое переподписание
|
||||
client.subscribe("/copters/copter1")
|
||||
|
||||
# Callback, вызываемый при появлении сообщения в одном из топиков, на который
|
||||
# подписан клиент
|
||||
def on_message(client, userdata, msg):
|
||||
# В объекте msg хранится топик, в который пришло сообщение (в поле topic)
|
||||
# и само сообщение (в поле payload)
|
||||
print (msg.topic+" "+str(msg.payload))
|
||||
|
||||
# Инициализация клиента MQTT
|
||||
client = mqtt.Client()
|
||||
# Здесь указываются callback'и, вызываемые при подключении и получении сообщения
|
||||
client.on_connect = on_connect
|
||||
client.on_message = on_message
|
||||
|
||||
# Подключение к MQTT-брокеру. Первый параметр - имя или адрес брокера, второй - порт
|
||||
# (по умолчанию 1883), третий - максимальное время между сообщениями в секундах
|
||||
# (по умолчанию 60).
|
||||
client.connect("192.168.11.162", 1883, 60)
|
||||
|
||||
# Метод loop_start создаёт поток, в котором будет производиться опрос сервера и
|
||||
# вызов callback'ов.
|
||||
client.loop_start()
|
||||
# Далее продолжается ваша программа
|
||||
```
|
||||
|
||||
Более подробная документация доступна на [странице библиотеки в PyPI](https://pypi.org/project/paho-mqtt/).
|
||||
|
||||
## Работа с Клевером
|
||||
|
||||
Для выполнения команд на Клевере:
|
||||
|
||||
Reference in New Issue
Block a user