Comments 26
Предлагается использовать два ноутбука, к каждому из которых подключена своя отладочная плата Arduino UNO.
Зачем к ноутбуку отладочную плату Arduino UNO?
Поставьте адаптер USB-UART.
![](https://habrastorage.org/getpro/habr/upload_files/8d5/287/740/8d528774088a98bbce710e38757c0a47.png)
И нет надобности ни ESP32, ни в Arduino ни в каком-нибудь еще микроконтроллере.
Протокол AX.25 реализуется на ноутбуке. В прошлом веке для этого применяли "Радио-86РК".
Вместо ноутбука можно задействовать смартфон или планшет.
Arduino UNO (или любая другая) предназначается для конфигурации Ebyte E22 и для буферизации данных из последовательного порта.
Безусловно, можно соединить ноутбуки просто с помощью usb-to-com, а потом поставить в разрыв радиомодули. Перед этим необходимо будет настроить радиомодули на работу в режиме "всё что пришло по UART - передай по радиоканалу" и сохранить настройки в их собственную EEPROM (иначе сконфигурировать без микроконтроллера их не получится. Ну и не у всех радиомодулей есть возможность сохранить конфигурацию в EEPROM).
Может быть связь между компьютерами будет. Я говорю "может быть", потому что как-то пробрасывал через Ebyte E22 протокол MAVLINK. Так вот при таком подходе там каждый байт отправлялся в радиоканал отдельно. Радиоканал забивался и ничего не работало. Пока я не стал собирать отдельные байты в строки и уже эти строки передавать в радиоканал. Тогда худо-бедно всё заработало.
Надо пробовать.
Если хочется использовать микроконтроллер, то вот решение, которое размером с адаптер, потребляет раз в 20 меньше, чем ESP-32, стоит дешевле и может все сохранить и настроить а при желании можно соединять его с компом не по USB, а по BLE. У него есть USB, UART,BLE,SPI,I2C,ADC. Это SOC на основе чипов TLSR, например этот:
![](https://habrastorage.org/getpro/habr/upload_files/730/196/4cf/7301964cf0d6ce1db5544dc10aa10f3f.png)
У меня такого не оказалось под рукой, но я могу купить его и попробовать реализовать всё на нём.
Как его программировать? Нет смысла ради этого модуля ставить ещё один компилятор, изучать и разбираться с нуля.
Да, эти модули на CC2541 четкие. Там внутри прокаченное 51-е ядро и все переферии такие скромные как раньше в 8 битных микроконтроллерах были. Но все работает очень хорошо и TI предоставляет SDK который сразу заточен на низкое энерго потребление.
Не, Вы ошибаетесь. Я показал для примера модуль на TLSR8266 ( использую в своих устройствах). Есть такие модули на CC2541. TLSR8266 это фактически клон NRF. Есть модули новее и они проще программируются , но к ним надо поставить адаптер USB-UART. Например, этот модуль:
![](https://habrastorage.org/getpro/habr/upload_files/636/fc1/f22/636fc1f2214bc2112bdb4fd6e2e23a1b.png)
В крайнем случае можно взять и ESP, но не ESP32 ,а ESP12
![](https://habrastorage.org/getpro/habr/upload_files/d2f/178/54a/d2f17854a681429b1808cadef0434948.png)
или ESP8285.
![](https://habrastorage.org/getpro/habr/upload_files/3f8/cae/959/3f8cae9590804afa3b46eeabf09b9056.png)
Да, вы правы, мои модули на CC2541 называются JDY-08
Простите за тупой вопрос - а этими модулями можно заменить атмегу? В плане - сделать из них MCU для работы по i2c с NFC/OLED, и пару GPIO вывести для кнопок? Не хочу держать и MCU и радиомодуль внутри устройства.
Можно.
в целом на модулях бывают как и микросхемы где совмещен и радиоканал и вычислительная часть, бывают где по факту 2 микросхемы mcu и RF, а бывают где только rf и ее надо подключать к внешнему mcu.
в случае модулей ebyte обычно это готовая связка из mcu + rf, есть как с готовой прошивкой так и свободно прошиваемые модели, еще один mcu - жирновато.
в любом случае этот mcu можно программировать, только вот для atmega и esp есть и arduino и готовые библиотеки на все случаи жизни, в случае продукции ti все несколько посложнее (советую посмотреть на сайте ti.com), а вот TLSR8xxx требуют некоторых сакральных знаний, умений, особого отладчика.
Но тут уже произошел другой скачек: изначально речь шла про относительно дальнобойную lora, в предлагаемых же будет BLE на десятки метров
Да, я понимаю про дальность. У меня на данном этапе стоит задача собрать автономный терминал с экраном и nfc, и связью в пределах 50м максимум. По этому изучаю вопрос о простом модуле чтоб не городить из конструктора дуиновского, а уже перейти на шаг выше и сделать и плату свою, и найти что-то что может делать простую обработку/сохранение и все это в минималке.
Есть какая-нибудь готовая платка c этим модулем, чтоб из неё 3.3в уарт торчал?
И все же ардуина (и иже...) в цепочке лишние. Конфигурацию можно посылать с компьютера перед запуском kissattach.
радиомодули с апаратным UART flowcontol предпочтительней (на худой конец програмный с XON/XOFF). А то гарантированно будет потеря данных еще до передачи в радиоэфир. В E22 судя по документации отсутствуют оба варианта.
Я думаю что в вашем варианте ax25 можно смело заменить на pppd для связи двух точек. (в варианте с pppd настройку радио модуля можно вкрутить место chat, + автоматом управлять питанием или ресетом радиомодуля)
Чтобы обеспечить прямую видимость на 110 км, даже с поправкой за атмосферную рефракцию, нужна сумма высот антенн 712 метров. Если я правильно помню формулу. Это была связь "/AM"?
Вторая антенна была на легкомоторном самолёте:) Связь была LoRa через модули Ebyte E22-400T30D (те же самые из статьи только мощностью 1 Вт)
Если это БПЛА или аэростат , то проблем нет. Например, для метео зонда достигнута дальность 400 км (высота 10 км).
Кроме того, надо учитывать, что высоту антенн считают над уровнем моря. Например, самая низкая точка земной поверхности в Москве 115 м. Для дальности 100 км надо не 712 м , а лишь 300 м для самой низкой точке в Москве и опять же над уровнем моря.
Если взять два БПЛА, то для дальности 100 км надо, чтобы они поднялись всего на 200 м над уровнем моря.
Было интересно)
какое то изобретение велосипедов все таки. пусть lora, байты бегают, для бортовой телеметрии давно разработан softRF и 10500 разных протоколов типа flarm на основе lora и не только.
зачем то ax25 оставили.. если нужно именно ip то для этого сделали lorawan. просто файл передать - достаточно каконить xmodem
"устойчивая связь была на расстоянии 110 км!"
А как это измерялось, если прямая видимость до горизонта без естесственных препятствий с высоты 2 метра составляет 5 км. А с высоты в 100м - всего 35 км? Приемник в стратосферу запускали или пользовались отражением радиоволн в атмосфере?
Еще один способ передачи данных по радиоканалу