Мост UNIBOAT<-868Mhz->FlySKY I6 своими руками

Для создания моста нам потребуется:

  • Бесплатная программа NavitroniX flasher. Скачиваем и устанавливаем. Система навитроникс позволяет создавать из плат на основе ESP32 и различного доп оборудования разнородные нестандартные устройства для радиоуправляемых моделей. Радио-мост одно из них.
  • Любая плата ESP32 WROOM , ESP32-S для упрощения программирования удобнее использовать платы для разработки с USB портом. Можно взять голый модуль, но там уже без паяльника и USB2TTL адаптера не обойтись. Ну и чем больше выводов на плате разработки тем удобнее.
  • Два одинаковых радио модуля E220-900T22D (T30D) фирмы EBYTE. Вот ссылка на али
  1. Вставляем в USB порт ESP32 и проверяем в диспетчере устройств появился ли новый COM порт. Запоминаем его номер. Ставим драйвера для USB виртуальных портов если порт не появился или появился, но в диспетчере виден как неизвестное устройство. Можно установить ардуино пакет. Там эти дрова в составе установщика обычно присутствуют.
  2. На смартфоне включаем точку доступа LAN2 с паролем 12345678 (все как раньше с автопилотом). админка на 192.168.4.1, что мы и вводим в браузере смартфона.
  3. Запускаем NavitroniX-flasher. Выбираем порт в списке. И жмем прошить. Бегут проценты и «затем загрузка завершена успешно»
  4. Записываем номер ИД в окне программы он нам пригодиться потом, а может и нет.
  5. Просто ждем какое то время, около минуты. Поглядывая в сетевое окружение телефона пока там не появится точка доступа UNIDRIVER-XXXXXX.
  6. Подключаемся к точке и видим там голую систему которая нам говорит об ошибке в авто запуске. Ясно что он пустой и его надо заполнить. Именно содержимое авто запуска делает из нашей ESP32 то устройство которое мы хотим. Это может быть и составное устройство с несколькими различными устройствами но работающими на одном контроллере. К примеру модуль автопилота + модуль GPS + модуль компаса + какой нибудь составной драйвер для мотора (даже на основе реле) + несколько бункеров и рулевая серва на основе шагового двигателя или коллекторного мотора с регуктором и потенциометром для обратной связи. Такая система нормальна для NavitroniX, для этого она и создавалась, главное, чтобы хватило контактов. Это могут быть раздвижные ворота для гаража с радиоуправлением, самодельный регулятор оборотов, или мост для FSI6. Я отвлекся, нам нужно последнее поэтому я подготовил текст авто запуска с комментами, который мы копипастим в поле авто запуск и после перезапускаем контроллер, после перезапуска он станет радиоудлиннителем к которому надо затем по схеме подключить другие железки.
# открываем доступ по TCP для отладки и комманд
serialadd tcp 0 1 1
#serialadd serial 1 1 0
# открываем доступ по UDP для отладки и комманд
serialadd udp 0 1 1

#добавляем модуль для канала IBUS-SENS
addmodule SENS i6sens
# какие пины используется
SENS setpins 16 17
# Какой HWSerial отдаем (не менять)
SENS attach 2

#добавляем модуль для канала IBUS-SERVO
addenc SERVO i6servo
# какие пины используется
SERVO serial 1
# какой пин используем
SERVO attach 15

# добавляем модуль радиомодуль E220
addmodule LORA e220
# конфигурация контактов радиомодуля
# сериал №, pin-Tx, pin-Rx, pin-AUX, pin-M0, pin-M1
LORA connect 0 5 14 18 19 23

# Если модуль для автопилота вставили до временно раскоментим
# радиоканал Hадрес адрес1 СкоростьВоздух ФиксРазмерПакета
# менять ничего не надо кроме канала (на обоих модулях одинаковый)
#LORA config 23 3 0 6 1

#конфирурация модуля приемника (это оставить потом)
# радиоканал адрес адрес1 СкоростьВоздух ФиксРазмерПакета
# менять ничего не надо кроме канала (на обоих модулях одинаковый)
LORA config 23 2 0 6 1

#добавляем модуль репитера для UNIBOAT
addmodule I6LORA flyskylora
# указываем репитеру какой радиомодуль исапользовать
I6LORA lora LORA
# указываем репитеру какой IBUS-SENS использовать
I6LORA flyskysens SENS
# указываем репитеру какой IBUS-SERVO использовать
I6LORA flyskyservo SERVO

# отправки с интервалом 150 миллисекунд (можно пробовать ставить меньше)
I6LORA interval 150
# адрес автопилота который вы установили для его модуля 
I6LORA remoteadr 3

# стартуем репитер
I6LORA start

Менять нам тут ничего не надо, без необходимости. Необходимость может возникнуть если вам не удобно подключаться к какому то пину на ESP и вы хотите использовать другой или вовсе на вашей плате такой пин отсутствует. Мост мы можем компоновать как отдельное устройство или как часть пульта. В первом случае нам надо будет брать откуда то питание, во втором можно взять питание от пульта флайская. Выбор за вами, у каждого подхода есть плюсы и минусы.

Все пины прописаны в конфигурации и их можно менять если в этом возникает необходимость. Смотрим как подключать приемник FS-IA6B или 10 и ESP32

Подключаем приемник FlySKY FS-IA6B к ESP32

В конфиге видим «SERVO attach 15» значит GPIO15 на ESP32 подключаем к контакту данных IBUS-SERVO приемника.

Далее смотим «SENS setpins 16 17» значит GPIO16 на ESP32 подключаем к контакту данных IBUS-SENS приемника. Тут есть важная особенность, без которой мы не сможем смотреть телеметрию на пульте надо 16 и 17 порты на вашей ESP32 соединить через диод. Черточка на диоде черная или белая, должна идти к 17 контакту на ESP32. Диод любой подходящий по размеру

Подклчаем LoRA модуль к ESP32

Теперь очередь LORA модуля. Опять смотрим в конфиг. Вообще там где решетка перед строкой то это комментарий.

# сериал №, pin-Tx, pin-Rx, pin-AUX, pin-M0, pin-M1

LORA connect 0 5 14 18 19 23

Получаем такую схему LORA-Rx на GPIO5, LORA-Tx на GPIO14 , LORA-AUX на GPIO18 ,LORA-M0 на GPIO19, LORA-M1 на GPIO23

Подводим питание на лоре VCC на +5 вольт и GND на минус питания. И смотрим на красные ошибки на главной в админке (192.168.4.1). Ошибка означает, что во время применения авто запуска возникли какие то проблемы. Указывается номер строки которая привела к падению при загрузке. Конечно ошибки возникли, ведь мы его включили когда оборудование еще не было подключено к ESP32. Система NavitroniX работает так: если не удалось запуститься то она отключает загрузку конфигурации и ждет пока вы ее исправите. Мы все исправили, все правильно подключили. Чтобы сбросить ошибку и по новой активировать авто запуск просто нажимаем на закладке авто запуска кнопку сохранить.

Подключение радиомодуля LoRa к автопилоту UNIBOAT

Нам осталось подключить радио модуль на стороне автопилота. Там меньше проводов. Всего пять вместе с питанием. Но есть нюанс. Автопилот не может запрограммировать модуль через эти провода, ему надо остальные, а они у нас, как раз есть на нашем мосте, который мы уже сделали. Воспользуемся этим. Берем лора модуль для кораблика и подключаем его временно на место лора модуля пульта. Надеюсь что вы делали это с разъемами а не паяли контакты на модуле.

ВРЕМЕННО! Снимаем коммент # с этой строки

#LORA config 23 3 0 6 1

и закомментируем строку

LORA config 23 2 0 6 1

Включаем питание нашего моста секунд на 20 и отключаем. Все модуль для автопилота запрограммирован. Временная роль нашего устройства как программатора Лора модуля закончена и можно вернуть строчки выше к первоначальному виду. Выключить устройство, снять радио модуль для автопилота и вставить обратно модуль который предназначен для работы на стороне пульта . Теперь можем подключать запрограммированный радио модуль четырьмя проводами к автопилоту кораблика.

Нам нужны только LORA TX,RX,AUX питание +5V и GND рядом на гребенках.

Ножки M0 и M1 радио модуля предназначенного для автопилота в рабочем режиме мы должны замкнуть на землю (GND). Сделать это надо уже после программирования этого модуля в ESP32.

В «админке» кораблика ставит после этого устанавливаем нашу радиосистему в LORA E220 в закладке «Настройки»

PS Лично я отпаял антенны на FlySky примнике

PPS

У нас как видим SERVO от ia6b и TX на лоре используют один контакт автопилота. Можно поставить трех позиционный выключатель с двумя контактными парами. Им можно убирать питание с флайская одной контактной парой и переключать TX/SENS с одного радиоприемника другой. Прошивка автопилота UNIBOAT сделана так, что если вы установили LORA в настройках пилота, но подключили флайскаевский приемник, но автопилот поймет что надо работать через флайскай, он при включении щупает порт на предмет того что на нем. Получается щелчек тумблером и переключились на другой пульт. Все тоже самое работает и с ERLS приёмниками и все контакты те же. Единственно AUX контакт не подключаем так как его на ERLS Приемнике просто нет.