Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Клиент mqtt-sn на небольшой avr mega
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
AndryG
Нужна сеть из нескольких контроллеров по радиоканалу с выходом на сервер MQTT.
В интернете есть варианты mqtt-sn клиентов. Я не великий кодер, смотрю на все эти монстрообразные библиотеки и не знаю с какой стороны их применить или выдрать кусок какой из этих монстров.

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

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

k155la3
Цитата(AndryG @ Mar 9 2018, 13:37) *
Нужна сеть из нескольких контроллеров по радиоканалу с выходом на сервер MQTT.
. . .
Поделитесь, пжлст, опытом использования.

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

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

Насчет монстрообразности.
1. Это следствие получить "все сразу" ничего не далая, и не напрягая моск.
Прямой путь на ардуинную территорию - там есть в библиотеках MQTT.

2. Вам не нужно реализовывать полнофункционально весь протокол на стороне клиента. Достаточно
обеспечить connect-disconnect и публикацию данных. Это десятая-сотая часть кода полной библиотеки протокола.
На Githab есть сотни проектов с использованием MQTT. На Paho есть версии реализации библиотек для embedded.



AndryG
Вопрос по коду клиента mqqt-sn. Радио, пока, вынес за скобки.
Док на русском не нашел ни по mqtt ни по mqtt-sn. Поделитесь ссылкой, пжлст.

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

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

Я вникал в протокол. Вижу, что много чего можно не реализовывать. Но много осталось непонятным или размытым и с нуля код писать не готов.
Например, как происходят транзакции (обмен пакетами pub-puback и т.п.). Их может быть несколько сразу или по одной. И т.п.
Если разрыв связи, то как и через какое время нужно сбрасывать транзакцию. Что делать при непринятии пакета подтверждения.
Как это всё вообще впихнуть в рабочий цикл (автомат обработки всего этого).
Нет понимания протокола и есть огромные простыни кода. Потому и прошу, может кто имеет опыт внятного простого внедрения этой штуки в мк.
k155la3
По док на русском 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/
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.