OpenBeacon 0.2

NB: нижеприведенная информация скорее всего устарела в той или иной степени. Поищите посвежее 😃

Добавил функций маяку:

  1. Режим пробуждения и передачи GPS-координат голосом и DTMF теперь не экспериментальный, а основной режим работы.
    Я думаю, что по удобству это намного интереснее просто маяка.
    Нужно только подключить TX от бортового GPS к RX маяка и прописать настройки порта. Никаких установок таймеров и прочей нечистой силы 😃
    Впрочем, я все-таки ставлю таймер на 24 часа на случай, если дела совсем уж плохи.
    Алгоритм поиска такой:
    * После падения ЛА, берем рацию и начинаем пищать в эфире тоном 1750Гц (стандартный Tone burst, который есть почти на любой рации).
    * Если услышали ответ от маяка, записываем координаты и топаем к точке.
    * Если ответа нет, то либо маяк не слышит нас, либо, что более вероятно, мы не слышим его. Придется переместиться ближе к предполагаемому месту падения и повторить попытку.
    * Если ответ есть, но в нем вместо координат, передается “###” DTMF-ом и “000” голосом, или вообще какая-то белиберда, то значит случилась какая-то жуть с GPS. Тут придет на помощь старая добрая “охота на лис”.

  2. Режим подстройки частоты.
    Поскольку теперь корректировка задается родным для RFM способом, через регистр 0x9, то я добавил специальный режим настройки. Обычные функции маяка в нем не работают.
    Режим включается дефайном FREQ_TEST_MODE_ENABLE.
    Залив такую прошивку, нужно подключиться через UART и кнопками “<” и “>” подобрать значение регистра так, чтобы сигнал в рации был максимально чистым. Далее нужно найти границы стабильного срабатывания детектора Tone Burst: нажимаем “L” и выдавая в эфир тон 1750Гц находим крайние значения, при которых сигнал надежно детектируется. Берем среднее и пишем его в параметре BEACON_FREQ_CORRECTION.
    И рисуем на плате фломастером, чтоб не забыть 😃
    Это значение индивидуально для каждой RFMки.

  3. Сделал два вывода под пищалки/фонарики. Пины выбираются дефайнами WAKE_AUX1_PIN и WAKE_AUX2_PIN.
    Продолжительность логической единицы на них определяется значениями WAKE_AUX1_DURATION и WAKE_AUX2_DURATION соответственно.
    Номера пинов для Оранжа можно выбирать, например, из тех, что идут на сервы. Это 3, 5, 6, 7, 8, 9, 10, 11, 12.
    Они все подключены через килоомные резисторы, надо это учитывать 😃

Что-то делал еще, но уже не помню, будем считать, что пофиксил кучу мелких багов 😉

Исходники тут: drive.google.com/file/d/…/edit?usp=sharing
Как прошивать тут: rcopen.com/blogs/127344/18270

  • 5485
Comments
Shuricus

Круто!
Не хватает экстремального режима - смерти/отрыва основного питания.

  1. Подключение и работа от собственного мини акка.
  2. Последние доступные ГПС координаты.
тигромух

Я питаю от отдельного акка. Вот зарядку бы к нему приделать. Но к прошивке это не имеет отношения. 😃
А с координатами все так и сделано. Та фраза про их отсутствие относилась к возможности сноса крыши гпса от удара.
Вообще такого быть не должно 😃

Вахтанг

Так, в чём проблема Константин?
этих микросхем сейчас как грязи, я их давно применяю. Скажите сколько банок липолка и какая ёмкость, могу нарисовать и выслать

STRIMSS

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

тигромух

Проблема найти маленькую лифепо4.
Маяк с липошкой на морозе быстро станет дохлым маяком с липошкой 😃
Поэтому ищу лифепо миллиампер на 300, чтоб на месяц хватило. И зарядка получится элементарная, насколько я понимаю.
А вообще маяк изначально рассчитан на оранжевый приемник без аппаратной модификации. 😃

Вахтанг
STRIMSS;bt120408

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

Да, конечно

Вахтанг
тигромух;bt120409

Проблема найти маленькую лифепо4.
Маяк с липошкой на морозе быстро станет дохлым маяком с липошкой 😃
Поэтому ищу лифепо миллиампер на 300, чтоб на месяц хватило. 😃

Нам бы плоскую, но LiFe я только круглые видел.

Shuricus

А почему просто через диод ее не заряжать через лдо на маяке?

Вахтанг
Shuricus;bt120414

А почему просто через диод ее не заряжать через лдо на маяке?

Дело в том, что большинство АКБ очень боятся перенапряжения при зарядке, LiPo вообще может взорваться!

Только пожаловался по поводу отсутствия LiFe в прямоугольной упаковке, вечером получил информацию
compel.ru/…/7-litiy-zhelezofosfat-novyie-akkumulya…

F_R

Уря, получилось таки у меня прошить и настроить Маяк Тигромуха 😆

Маяк висит в противоположной стороне квартиры, снаружи балкона.

HATUUL

Если не секрет.
Что за прога стоит в телефоне?

STRIMSS

Маяк вообще отличный , вот мое старое видео

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

""Дело в том, что большинство АКБ очень боятся перенапряжения при зарядке, LiPo вообще может взорваться! “” , а что если поставить контроллер который стоит в телефонных акб, тонкая небольшая платка вроде.

тигромух
Вахтанг

Только пожаловался по поводу отсутствия LiFe в прямоугольной упаковке, вечером получил информацию

Тоже здоровенные все 😦

hatuul

Если не секрет.
Что за прога стоит в телефоне?

Это DTMF Tranceiver. Мне больше нравится прога DTMF, но она платная.

Вахтанг
STRIMSS;bt120431

а что если поставить контроллер который стоит в телефонных акб, тонкая небольшая платка вроде.

эта плата защищает АКБ от разряда ниже нормы и содержит температурный датчик. Сам контроллер заряда стоит на плате телефона.
Найдите в инете, например описание MCP73833, очень маленький корпус, минимум обвязки.
TI выпускает целую линейку контроллеров зарядки АКБ всех видов.

Covax

Как я эту запись то просмотрел! Очкруто Константин!

тигромух
Covax;bt120534

Как я эту запись то просмотрел! Очкруто Константин!

Спс 😃

Covax

Может уж совсем на радостях сделаете свою платку, а не переделку приемничка и будет свой продукт, доступный для покупки?)

тигромух
Covax;bt120536

Может уж совсем на радостях сделаете свою платку, а не переделку приемничка и будет свой продукт, доступный для покупки?)

Платки заказал, жду. Но вот насчет продукта - хз. Хлопотно это, а отдача - мизер.

Вахтанг

Совсем не хлопотно, когда этим всё равно занимаешься 18 часов в сутки 😃
Готов взять на себя разработку печатной платы, комплектацию и выпуск.
Константин, написал в личку телефон

Covax

Не не, не хлопотно, надо сделать! )
И чтобы желательно была своя маленькая липолька 1S в качестве автономного питания.

Вахтанг

Сергей, ты не поверишь: буквально за 20 минут до этого решил сделать такое устройство и подбирал липолки для этого на НК 😃
А тут, нате вам, реализация идей, т.е. вернее поддержка.

STRIMSS

Константин, не заметил ничего сказанного про напряжометр, он не работает в эфир?

Вахтанг

Более того, хочу еще поставить контроллер зарядки липольки прямо на плату.

Covax

Липольки надо брать от маленьких вертолетов/коптеров, 180mAh максимум,
контроллер было бы вообще здорово (если на весе не отразится особо), подключил к основному питанию, и если вдруг оно отрубится спасет автономный источник.

тигромух
STRIMSS;bt120541

Константин, не заметил ничего сказанного про напряжометр, он не работает в эфир?

Нет, пока не стал делать. Оранжевый приемник не сможет померить напряжение аккума. Сможет только напряжение на выходе LDO, а там если упало ниже 3.3, значит уже почти конец 😃
На плате тоже не стал пока разводить делитель, решил что мне хватит работы для первого концепта “в железе”.

Вахтанг
Covax;bt120544

Липольки надо брать от маленьких вертолетов/коптеров, 180mAh максимум,

А не мало? думаю маяк хотя бы неделю должен проработать! Константин давал таблицу жизнедеятельности…

Covax;bt120544

контроллер было бы вообще здорово (если на весе не отразится особо),

Ну, если без защити от дурака, и автоматического определения переполюсовки, то целых 3 грамма получится, много? 😁

Covax;bt120544

подключил к основному питанию, и если вдруг оно отрубится спасет автономный источник.

Нет, для этого достаточно просто диода. Контроллер я имел ввиду для зарядки липольки.

Вахтанг
тигромух;bt120546

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

В собственной плате эту проблему легко решить.

тигромух
Вахтанг;bt120582

В собственной плате эту проблему легко решить.

Легко. Но нужно ли? Я так не придумал что делать с этой информацией. Тупо передавать в эфир - баловство.
Ограничивать передачу при разряженной батарейке - тоже не вариант, а вдруг это был последний шанс найти потеряшку?
В общем, возможность есть, пользы нет 😃

Вахтанг

Посмотрим. Если будет надо, померим, если нет, то и не надо.
Константин, Послал запрос на контакт в скайпе. Подтвердите, пожалуйста.

DChernov

Поиграл на выходных с Вашим маячком. Очень впечатлён, поздравляю, удачное изделие.
Возникли мысли:

  1. разумно сделать в виде полностью автономного изделия, а значит - свой GPS, который жрёт. Надо продумать алгоритм его включения - выключения и реакции на фикс-нефикс после пробуждения.
  2. Вот бы сделать оперативную подстройку частоты под вызывной сигнал, всё же от температуры ползает ощутимо.
  3. DTMF распознаётся не очень уверенно, возможно это связано с пунктом 3. Я для проверки гонял дтмф от телефона через звук, две рации (передача и приём), снова звук на Андроид - работает, а вот от маячка не очень.
тигромух
DChernov;bt120781

Поиграл на выходных с Вашим маячком. Очень впечатлён, поздравляю, удачное изделие.

Спасибо 😃

DChernov;bt120781
  1. разумно сделать в виде полностью автономного изделия, а значит - свой GPS, который жрёт. Надо продумать алгоритм его включения - выключения и реакции на фикс-нефикс после пробуждения.

Теоретически, если смотреть на маяк как на альтернативу трекеру, с соответствующими размерами и весом - то да, можно поставить емкий акк и сделать все-в-одном.
Но нужно ли? Почти на всех наших ЛА уже есть халявный (с точки зрения маяка) GPS с халявным питанием. Надо этим пользоваться, я считаю 😃

DChernov;bt120781
  1. Вот бы сделать оперативную подстройку частоты под вызывной сигнал, всё же от температуры ползает ощутимо

.
Думал на этим, но у меня особо не ползает: и дома и зимой на улице работал одинаково адекватно.
Поэкспериментирую еще.

DChernov;bt120781
  1. DTMF распознаётся не очень уверенно, возможно это связано с пунктом 3. Я для проверки гонял дтмф от телефона через звук, две рации (передаяа и приём), снова звук на Андроид - работает, а вот от маячка не очень.

Это странно. У меня DTMF в шумах нормально распознается.
Опишите какая у вас цепочка оборудования?
С другой стороны, как я уже писал, похоже, что DTMF лишнее звено. Голос и удобнее и быстрее. И потенциально более помехоустойчив. В тех условиях, когда я еще приемлемо разбираю голос в сильных шумах, DTMF уже точно не вариант 😦

DChernov

По поводу “халявного GPS”.
У меня Ардупилот, который переключает жпс-приёмник в бинарный протокол, и чтобы из него выудить информацию, нужно писать соответствующий код. То есть свой код для MTK, uBlox, STM… А плюс ещё закрытые протоколы как у Назы. А я GPS приёмник маленький типа www.ebay.com/itm/271079582518 присобачил и получил мебольшое устройство, пригодное к незаметной установке в недра модели. Что приятно: можно жпс размещать вплотную к антенне маяка, помеха весьма кратковременная и не мешает.
По-моему, если Вы сделаете такое устройство со встроенной батареей и зарядником в виде монолитного куска эпоксидки с микросферами, то получится неплохой коммерческий продукт. А если его ещё и админить по радиоканалу…
По поводу ДТМФ.
В качестве приёмника пробовал рацию баофенг, есу 2, приёмник айком20. Декодил той же софтиной, что и Вы, на ГалаксиНоте2, то есть казалось бы, всё должно быть идеально. Но Вы правы, речь неплохо распознаётся на фоне серьёзных шумов, в отличие от ДТМФ.

тигромух
DChernov;bt120794

У меня Ардупилот, который переключает жпс-приёмник в бинарный протокол, и чтобы из него выудить информацию, нужно писать соответствующий код. То есть свой код для MTK, uBlox, STM…

Мысль о бинарных протоколах у меня сидит занозой где-то в голове. Но вот не думал что они разные у всех производителей 😦
Если так, то это очень трудно реализовать. Я просто не согласен покупать все эти модули 😃
Но, как вариант, можно просто разобрать мавлинк.

DChernov;bt120794

А плюс ещё закрытые протоколы как у Назы. А я GPS приёмник маленький типа www.ebay.com/itm/271079582518

Хм… 25мА. Даже батарейки на 1А хватит всего на пару суток.
Нужен механизм отключения, интеллектуального ожидания фикса и т.п.
Мдя. Покручу в голове, может что и родится.

DChernov;bt120794

Декодил той же софтиной, что и Вы, на ГалаксиНоте2

DTMF Tranceiver или DTMF?
Я отлаживался на второй, мне она показалась намного лучше. Но стоит денег, так что не агитирую 😃

DChernov

Хм… 25мА. Даже батарейки на 1А хватит всего на пару суток.
Нужен механизм отключения, интеллектуального ожидания фикса и т.п.
Мдя. Покручу в голове, может что и родится.

Ну там можно вырубать питание модуля. Если при этом оставить подключённым бэкапное питание (с потреблением меньше микроампера), то при пробуждении, как правило, даёт фикс в пределах минуты (если приёмник после включения неподвижен и был выключен недолго, единицы часов). Но в любом случае надо как-то программно обыгрывать фикс-нефикс

hudognik

подскажите , а с протоколом ublox будет работать ? или только с nmea ?

тигромух
hudognik;bt120889

подскажите , а с протоколом ublox будет работать ? или только с nmea ?

Нет, текущая версия работает только с NMEA.
Я посмотрел протокол UBX. В принципе, ничего сложного, но без такого модуля я не возьмусь делать…
Еще вариант - разобрать MAVLink. У вас же АПМ? Это у меня в планах.
Но быстро не обещаю: у меня АПМ на коптере слишком хорошо стоит. Пока с ним че-нить не случится, снимать его не хочу 😃

F_R

Так-так, теперь понятно зачем тебе так нужен мой “трупик” 😁
МБ тогда и норм.осд напишешь по апм? 😃

тигромух
F.R.;bt120914

Так-так, теперь понятно зачем тебе так нужен мой “трупик” 😁
МБ тогда и норм.осд напишешь по апм? 😃

Во, кстати, точно. Можно с твоим трупиком поковыряться.
Но вообще-то у меня на него были другие планы 😉

Нормальное ОСД под мавлинк невозможно, из-за тормознутости самого мавлинка. 😦

DChernov

Нормальное ОСД под мавлинк невозможно, из-за тормознутости самого мавлинка.

Эээ? Как-то не замечал тормознутости ни на МишнПлэнере, ни на МинимОСД. По крайней мере, горизонт реагирует без видимого лага.
Другое дело, что картинка, формируемая с помощью MAX7345 в принципе убога. И если Вы сделаете мавлинковское ОСД с пристойной графикой, всё человечество будет безмерно счастливо.

тигромух
DChernov;bt120931

Эээ? Как-то не замечал тормознутости ни на МишнПлэнере, ни на МинимОСД. По крайней мере, горизонт реагирует без видимого лага.
Другое дело, что картинка, формируемая с помощью MAX7345 в принципе убога. И если Вы сделаете мавлинковское ОСД с пристойной графикой, всё человечество будет безмерно счастливо.

Ну не знаю. Может я его готовить не умею, но у меня лаг не просто видимый, а бросающийся в глаза.
Возможно, надо крутить параметры мавлинка, видел у АПМа настройку частоты отсылки разных сообщений. Но я настраивал всегда в соответствии с рекомендациями minimosd extra и получал адский лаг.

DChernov

Насчет тормозов, единственное, что приходит в голову, если у Вас не сконфигурирован GPS, то данные с него валятся раз в секунду и, соответственно, всё начинает лагать.
Посмотрите в ютубе бортовое видео с АПМ, сравните со своим.

тигромух
DChernov;bt120969

Насчет тормозов, единственное, что приходит в голову, если у Вас не сконфигурирован GPS, то данные с него валятся раз в секунду и, соответственно, всё начинает лагать.
Посмотрите в ютубе бортовое видео с АПМ, сравните со своим.

Первое попавшееся.
Ну лагает же 😃
И GPS тут не при чем, пространственное положение в отдельном типе мавлинк-пакета передается.

DChernov

Ну лагает же

Я бы сказал, что дело не в лаге (временнОй задержке), а в дискретности вывода горизонта на экран. Посмотрите, вроде бы нигде искусственный горизонт от настоящего по времени не отстаёт.
А что касается скорости обновления информации на экране - посмотрите на цифры вертикальной скорости справа.
Ну и оцените задержку в МишнПлэнере, там тот-же мавлинк.
Ещё раз пересмотрел.
Ну да, горизонт обновляется где-то три раза в секунду. Надо бы почаще, посмотрю в документации на выходных, где там засада.

тигромух
DChernov;bt120972

Ну и оцените задержку в МишнПлэнере, там тот-же мавлинк.

Вот именно потому, что все неожиданно плохо не только в минимосд, а еще и в МП и в дроидпланнере и в андропилоте, я и делаю вывод, что во всем виноват мавлинк 😃

тигромух
DChernov;bt120972

Ну да, горизонт обновляется где-то три раза в секунду. Надо бы почаще, посмотрю в документации на выходных, где там засада.

Тоже еще раз пересмотрел. Обратите внимание как шустро прыгают цифры вертикальной скорости и как медленно обновляется все остальное. То есть, я предполагаю, что сам минимосд все успевает, просто источник данных так неторопливо их шлет.