Автор показывает сборку шлюза на ESP8266 с радиомодулем LoRa: устройство принимает данные с датчиков и отправляет их по MQTT на локальный сервер. Разобраны формат пакета с названием топика и данными, работа с аппаратным UART, проверка занятости эфира перед отправкой, а также вопросы питания и корпуса.
- 00:00 Идея шлюза LoRa — MQTT и требования к протоколу
- 01:50 Формат пакета: топик и данные
- 03:18 Сбор данных в цикле и проверка состояния модуля
- 03:48 Разделение сенсоров по топикам, MQTT-брокер на ESP
- 05:51 Отсутствие защиты и проверки на свой/чужой
- 06:19 Компоновка в корпус и вывод разъёма питания
- 06:56 Проблемы с DC-DC преобразователем при малой нагрузке
- 07:49 Антенна и варианты получения данных
- ESP8266
- LoRa
- MQTT
Кому полезно: Инженерам, интересующимся сборкой шлюзов LoRa — MQTT на микроконтроллерах
Описание составлено автоматически по расшифровке речи в ролике.
Расшифровка видео
0:00 Есть тут у меня очень свежая в кавычках идея сделать некий шлюз на ЕСП с Лора радиомодулем, чтобы собирать некие данные с датчиков и отправлять их куда нибудь в интернет на сервис народного мониторинга, например. Только вот, наверное, для начала имеет смысл катать это все на своем локальном, это сервере. Ну как бы просто на только в теории, а когда начинаешь думать над реализацией, оказывается, что нужно продумать кучу неочевидных. Моментов, ну, например, тайминги, опять же? Если брать на Рудмонд за основу, то ему нужно отправлять данные 1 большим пакетом уже собранным. И, видимо, вместе со временем, когда эти данные были получены, еще нужно как. То отвечать принятые Лорой данные, то есть нужен некий протокол, нужно как то различать сенсоры. Опять же, если их жестко запрограммировать, по идее, в самом шлюзе будут проблемы с добавлением с добавлением новых. Датчиков как бы сделать шлюз максимально простым в стиле что принял, то и отправил, наверное, можно только со своим анкеты сервером. Но как бы, но если что, то пойдет не так, на Родмон просто завалят почту уведомлениями. Да или забанят, это уже было надежность его как то под вопросом, хотя над реализацией. Наверное, можно подумать, но не сейчас. Сейчас это вот это то немногое, что сделано на данный момент, ну как бы тут и с классическим. Подключением с кнопкой ресетом и на 1 Джи Пио или на нулевом не суть. И с Лора радиомодулям, которые подключены к Варту через эти вот перемычки. Как бы если нужно настроить Лора модуль, то снимаем привычки, подключаем. У Артек Лора, если нужно программировать и сп соответственно, подключаем кварту и сп, так это все работает. Датчики тоже опять же есть такие вот наработки, есть наработки кода, но ничего конкретного пока что, а?
1:50 Вот уже что то более конкретное, наверное, как многие уже догадались. Это пакет в формате Джейсон, в нем всего 2 атрибута. Это название топика и данные, которые нужно швырнуть в этот топик, ну. Вообще изначально были мысли сделать здоровый пакет для каждого передатчика, в котором там название платы и в этом названии еще несколько атрибутов с названием датчиков данными и типов, да? И типом данных сделать как бы древовидный Джейсон. Ну а потом, когда это все начало разгребать в шлюзе, ну и как то думаю. А зачем вообще это все, можно же сразу передавать название топика и? В нем уже сразу же эти данных и ветки, все все готовое практически и все это в маленьком пакете. Да и она здесь уже как то даже работает. Вот они, эти данные, можно даже на график посмотреть.
2:45 Да все это пока что на макетке, ну, я думаю, принцип будет принцип останется тоже по крайней мере в софте. Ну и, собственно, вот она вот этот код. Я не думаю, что здесь требуются какие то особые пояснения для Джейсон и соответствующая. Библиотека, ну и библиотека для датчика ТШ, 20 хотя здесь для 10, но не совместимы полностью. Лора, модуль подключен к аппаратному Арт морду и на Леонарда и подключен вместе с ногой. А у Икс, но это нога просто подключена к 1 из входов.
3:18 В цикле при помощи библиотечки собираются данные в Джейсон, ну и перед тем как отправить смотрим на состояние на Гете и Лора модуля. То есть когда модули, что то принимает, изменяет состояние у этой ноги и в этот момент? Что то передавать затея не очень и поэтому же имеет смысл проверить и подождать, пока эфир освободится. Потом уже швырять этот пакет в монитор порта в сериал в этот соответственно в Лора модуле и на все остальное.
3:48 Ниже после небольшой задержки все то же самое, но уже для других данных и так по очереди можно швырять сколько угодно параметров. И если у нас как бы несколько сенсоров, можно их разделять сложами в названии топика и забирать только то, что то, что необходимо. Данному устройству, кстати, им КТТ Брокер тоже можно сделать на ЕСП. Не обязательно для этого брать какой нибудь уран шпай. Ну или нечто похожее с Линуксом под москита недавно наткнулся. Если интересно, могу рассказать отдельно, да это, собственно, сам этот шлюз.
4:24 Никаких изменений не было, просто сейчас пытается от батарейки. Код шлюза тут тоже, по сути, пример работы с им. КТТ, из которого выпилили все уведомления в монитор порта. Кстати, чтобы не тыкаться с перемычками? Я сделал такую вот вещицу для векас и попробовал программный сериал на исп. Это надо подключить и показать, как он там что то принимает, то. Ну вот как то оно, конечно, работает, пытается, но не вариант для служебной инфы нужен или дисплей отдельно на ай ту си или просто забитиями. Каким то светодиодом, если нужен какой, то статус как бы Уард только аппаратный без вариантов.
5:08 Ладно, собственно, что у нас здесь подключение к компьютеру серверу из примеров с этап, но в цикле. Цикле скармливаем Джейсону сериал, если он не поругается, то отправляем содержимое в топик, но предварительно конвертируем вклад в чар. Но здесь 1 заминка, как бы, если прилетает целое число, она также будет отправлена с дробной частью, сейчас покажу.
5:40 То есть вот целые числа точка и 00. Кстати, а на кой нам здесь вообще флоат? Можно же так сделать? Простой Бескуденко явно сказывается, чего здесь еще не хватает. Проверки на свой чужой никакой защиты от шутников здесь нет, а Лора может работать на километры. Ну пока на и пока этим, я думаю, можно пренебречь, а это сейчас залить, надо проверить.
6:19 Нет, так это не работает, ну в общем, придется мириться до слова. Там, наверное, здесь единичку нужно будет поставить, чтобы укоротить дробное число. Запихал сейчас эту макетку в корпусах. Модема тут такого, и нужно сейчас еще будет разъем питания вывести как то наружу проводами. Через такой вот разъемчик с гайкой, которые сейчас нужно будет еще проковырять отверстие, да?
6:49 Да вот залезла проводами сюда, подпаяться и будет то, что надо. Кстати, по поводу этого ДЦП преобразователя с ними сп отказалась работать. Ну видите, там конденсатор, напаянный на и вспышки. Пытался, что то совершить казалось, что он очень плохо, он. Он очень плохо работает, когда маломощная нагрузка, поэтому пришлось его выбрасывать и поднес напаивать обычном саде. Нас 17 имейте это в виду. Кто будете его использовать с ЕСП или с Ардуинкой? В общем, где маломощная нагрузка, как бы и что получается, надеюсь, полярность не попутал.
7:40 Вот все это не до конца ватного получается так мы. Так, ну рис, отнимивет нужно. Накрутить антенку для ролл Лоры, хотя сюда будет накручиваться Джей антенна, которая стоит за окном. Так, ну и в таком виде уже можно будет. Его куда нибудь кинуть то, как и чем эти данные. Сам Петр, это забирать вариантов много, это лишь довольно гибкая, можно также, вот и сп. Подписать на топик и получать эти же данные, а потом их вывести на дисплее. Ну либо как то еще использовать для своих целей, но и при этом. Эти данные приходят полора, ну, то есть датчик, может находиться в километре, где наша вай фай сеть просто физически работать не сможет.
8:24 Но на этом, наверное, пока что все про датчики уже будет разговор отдельный.
Расшифровка сделана автоматически (Yandex SpeechKit) и может содержать ошибки в терминах.