Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
mqtt [2019/09/22 23:40]
nektomk
mqtt [2019/09/23 00:14] (текущий)
nektomk
Строка 15: Строка 15:
 В деталях:​ В деталях:​
 ====== Технология ====== ====== Технология ======
 +Понадобилось мне тут свести во едино управление счетами и роботами с разных VDS, да так чтобы и интегрировать со свяким было просто,​ и чтобы работало быстро и надёжно. И конечно доступ из любой точки. Подумал-подумал и решил использовать сервера доставки сообщений,​ а самые быстрые и простые из них это MQTT. Message Queue Telemetry Transport. ​
 +
 +Плюсы выбора:​
 +  * протокол стандартизован. ​
 +  * не накладывает ограничений на передаваемые данные. ​
 +  * активно используется в IoT, поэтому софта и тулзов к нему море
 +  * очень простой и очень быстрый
 +  * сервера могут образовывать сети и распростаннять сообщения по ним
 +
 +Более детально про протокол читайте на http://​mqtt.org и вообще в гугло-яндексе :-) 
 +
 +Я пока расскажу в трёх словах как всё организуется:​
 +  * на VDS-ках ставится локальный сервер (он кстати брокером называется)
 +  * абонируется "​центральный"​ сервер. Можно за деньги,​ можно бесплатно - на вкус, цвет и возможности. В сети многие предоставляют сервис MQTT
 +  * исключительно админскими методами сервера связываются. То есть надо указать какие данные и куда распространняются
 +  * роботы цепляются к локальным серверам,​ пишут данные и получают сообщения-команды.
 +  * собственно всё :-)
 +
 +Основа основ - ставим нужный софт, пишем робота и проверяем работу
 +
 ====== Брокер Mosquitto ====== ====== Брокер Mosquitto ======
-Очень ​простойлёгкий и быстрый брокер MQTT.+ 
 +В первую ​очередь установим брокер MQTT на рабочую машину. 
 + 
 +Возьмём самый лёгкий и простой - mosquitto.
 Поддерживается правда протокол 3.1, но нам больше пока и не надо. ​ Поддерживается правда протокол 3.1, но нам больше пока и не надо. ​
  
Строка 38: Строка 61:
  
 ====== Клиент mqtt-explorer ====== ====== Клиент mqtt-explorer ======
 +
 +Чтобы не всё делать из командной строки,​ да и вообще для удобства,​ установим графический клиент MQTT
  
 Скачаем современный графический клиент для mqtt : http://​mqtt-explorer.com/​ Скачаем современный графический клиент для mqtt : http://​mqtt-explorer.com/​
Строка 46: Строка 71:
  
 ====== Пишем код БлджатЪ ====== ====== Пишем код БлджатЪ ======
 +
 +А дальше пишем код, который будет использоваться в роботах,​ чтобы они взаимодействовали с MQTT
  
 Все основные нюансы,​ которых правда немного,​ реализованы на "​С"​ в DLL, чтобы на уровне MQL получился максимально удобный для использования интерфейс:​ Все основные нюансы,​ которых правда немного,​ реализованы на "​С"​ в DLL, чтобы на уровне MQL получился максимально удобный для использования интерфейс:​