Перейти к содержанию
    

Клиент mqtt-sn на небольшой avr mega

Нужна сеть из нескольких контроллеров по радиоканалу с выходом на сервер MQTT.

В интернете есть варианты mqtt-sn клиентов. Я не великий кодер, смотрю на все эти монстрообразные библиотеки и не знаю с какой стороны их применить или выдрать кусок какой из этих монстров.

 

Даже не знаю, какой помощи просить.

Готовую библиотеку, которую в проект iar добавить можно или минимально работающую реализацию клиента без наворотов типа подписи по маскам, регистрации сообщений и т.д.

 

Поделитесь, пжлст, опытом использования.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нужна сеть из нескольких контроллеров по радиоканалу с выходом на сервер MQTT.

. . .

Поделитесь, пжлст, опытом использования.

Не очень понятно, по какой части вопрос - по радиоканальной сети или выходу на MQTT.

Практического опыта еще почти нет, "раскуриваю" тему.

 

Если по MQTT, то этот протокол достаточно простой (если рассматривать на уровне пакетов и протокола обмена с сервером).

Есть док на русском, на их сервере, где подробно все расписано - структуры пакетов, сессии соединиения - обмена.

 

Насчет монстрообразности.

1. Это следствие получить "все сразу" ничего не далая, и не напрягая моск.

Прямой путь на ардуинную территорию - там есть в библиотеках MQTT.

 

2. Вам не нужно реализовывать полнофункционально весь протокол на стороне клиента. Достаточно

обеспечить connect-disconnect и публикацию данных. Это десятая-сотая часть кода полной библиотеки протокола.

На Githab есть сотни проектов с использованием MQTT. На Paho есть версии реализации библиотек для embedded.

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос по коду клиента mqqt-sn. Радио, пока, вынес за скобки.

Док на русском не нашел ни по mqtt ни по mqtt-sn. Поделитесь ссылкой, пжлст.

 

Про монстрообразность я говорил готовых библиотек на github, а не своих желаний )

 

Тот же paho куча кода далеко не для МК, который фиг знает как использовать.

 

Я вникал в протокол. Вижу, что много чего можно не реализовывать. Но много осталось непонятным или размытым и с нуля код писать не готов.

Например, как происходят транзакции (обмен пакетами pub-puback и т.п.). Их может быть несколько сразу или по одной. И т.п.

Если разрыв связи, то как и через какое время нужно сбрасывать транзакцию. Что делать при непринятии пакета подтверждения.

Как это всё вообще впихнуть в рабочий цикл (автомат обработки всего этого).

Нет понимания протокола и есть огромные простыни кода. Потому и прошу, может кто имеет опыт внятного простого внедрения этой штуки в мк.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По док на русском MQTT, извиняюсь, нет. Спутал с другой док-ей.

 

Именно по MQTT-SN я не разбирался (пока. Код для него должен быть более компактный).

 

Возможно Вам пригодится.

Main: Main_MQTT_Links

Eclipse/Paho

Libs

MQTT_Atmel

 

ps

Потому и прошу, может кто имеет опыт внятного простого внедрения этой штуки в мк.

1. Для начала реализуйте в той или иной мере сервер. Я использовал "все готовое", mosquitto (локально, Windows 10).

2. Опятьже, для старта реализуйте на другом PC клиента-публикатора (MQTT, не SN). Это проще всего сделать на MS MisualStudio и библиотеках Paho.

3. На базе п.2 реализуйте клиента-подписчика (на томже PC или любом другом в LAN. )

Это прототипная платформа. Сервер Вам будет нужен в любом случае.

Если правильно реализовать п.2 на C(++) то его код должен легко перенестись на контроллер.

Библиотеки Paho удобны тем, что они в исходниках и имеют минимальные зависимости (это о монстроидальности).

По MQTT-SN делаете аналогично.

Сугубо IMHO.

 

psps

Тот же paho куча кода далеко не для МК, который фиг знает как использовать.

просмотрите все ссылки, есть "embedded" - возможно Вам подойдет.

paho.mqtt.embedded-c

www.eclipse.org/paho/clients/c/embedded/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...