From be7624b3092d4a71a903868eb2b73e763e800e61 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Mon, 8 Apr 2019 16:11:09 +0300 Subject: [PATCH] docs: edit nti article --- docs/ru/nti2019.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/docs/ru/nti2019.md b/docs/ru/nti2019.md index e5034a80..3a7f4a7e 100644 --- a/docs/ru/nti2019.md +++ b/docs/ru/nti2019.md @@ -2,9 +2,11 @@ ## Работа с MQTT -### Работа с MQTT +[MQTT](https://ru.wikipedia.org/wiki/MQTT) – протокол для обмена сообщениями между различными устройствами. Этот протокол используется для отправки команд дрону на Олимпиаде НТИ 2019. Для отправки сообщения оно публикуется в определенный топик; все подписчики этого топика получают это сообщение. -В образе Клевера предустановлена библиотека `paho-mqtt` для Python. Пример работы с этой библиотекой описан ниже: +### Подписка на топики + +В образе Клевера для Олимпиады НТИ 2019 предустановлена библиотека `paho-mqtt` для Python. Пример работы с этой библиотекой описан ниже: ```python import paho.mqtt.client as mqtt # Импортирование библиотеки mqtt @@ -22,7 +24,7 @@ def on_connect(client, userdata, flags, rc): def on_message(client, userdata, msg): # В объекте msg хранится топик, в который пришло сообщение (в поле topic) # и само сообщение (в поле payload) - print (msg.topic+" "+str(msg.payload)) + print(msg.topic, str(msg.payload)) # Инициализация клиента MQTT client = mqtt.Client() @@ -33,7 +35,7 @@ client.on_message = on_message # Подключение к MQTT-брокеру. Первый параметр - имя или адрес брокера, второй - порт # (по умолчанию 1883), третий - максимальное время между сообщениями в секундах # (по умолчанию 60). -client.connect("192.168.11.162", 1883, 60) +client.connect('192.168.11.162', 1883, 60) # Метод loop_start создаёт поток, в котором будет производиться опрос сервера и # вызов callback'ов. @@ -45,7 +47,7 @@ client.loop_start() ### Проверка -Публикация сообщений в топик для проверки может быть осуществлена с помощью команды `hbmqtt_pub`: +Для проверки вы можете опубликовать любое сообщение в топик с помощью команды `hbmqtt_pub`: ```bash hbmqtt_pub --url mqtt://192.168.0.1:1883 -t /copters/copter1 -m 'сообщение' @@ -79,8 +81,8 @@ get_telemetry = rospy.ServiceProxy('get_telemetry', srv.GetTelemetry) navigate = rospy.ServiceProxy('navigate', srv.Navigate) land = rospy.ServiceProxy('land', Trigger) -# Взлет на 1 метр со скоростью 0.5 метров в секунду -navigate(x=0, y=0, z=1, speed=0.5, frame_id='body', auto_arm=True) +# Взлет на 1 метр со скоростью 1 метр в секунду +navigate(x=0, y=0, z=1, speed=1, frame_id='body', auto_arm=True) # Ждем 5 секунд rospy.sleep(5)