Как у нас с трихограммой?
Андрей-пилот:
Добрый день.
Какие нужны комплектующие для Вашей программы?
Perelesnik:
Цитата: Андрей-пилот от 16.07.2019, 08:08:11 am
Добрый день.
Какие нужны комплектующие для Вашей программы?
Добрый.
Программа работает с любым из моих устройств - трихограммницы, автоматика для УМО, кроме устройств для беспилотников (для беспилотников это физически невозможно ввиду ограниченного радиуса действия Блютуз-связи).
Устанавливается на планшеты или смартфоны с версией Андроид желательно 4.4.0 и выше (главное, чтобы Андроид мог работать с современным вариантом Гугл-карт, так как Гугл постепенно снимает поддержку старых устройств).
На некоторых новых смартфонах с слишком уж жесткой защитой системы приходится дополнительно вручную подтверждать разрешения по работе с файловой системой (программа блокируется при попытке сохранить свои текущие файлы конфигурации) и разрешения на определение местоположения.
На самолетных трихограммницах выпуска старше этой весны (на тех, которые не с тумблерами, а с перемычками на главном контроллере) программа работает с некоторым запаздыванием определения координат. На новых устройствах это исправлено. Там было дело в самих GPS приемниках (вернее, в некоторых не очень явных их заводских настройках), теперь при включении трихограммница жестко переписывает все настройки приемников и принудительно "разгоняет" эти же GPS на максимум их производительности.
Андрей-пилот:
Спасибо за инфу.
Perelesnik:
Для понимания Почему программа именно такая:
- Вообще-то программ для параллельной обработки полей существует более, чем достаточно. В подавляющем большинстве это программы для наземной техники (тракторы, комбайны), но почти все они адекватно работают и в воздухе.
Как бы это ни было смешно, но единственная значимая причина для создания своей программы была в том, что все вот эти существующие программы не работают с "кнопкой" на штурвале: то есть, нужно тыкать пальцем в экран смартфона каждый раз при заходе на гон и при выходе из гона. Для трактора это не принципиально - можно и потыкать, там работа неспешная, но пилоту такое дело будет совершенно не с руки, у пилота на выходе из гона и на заходе на гон и так есть чем руки (и мозгъ) занять.
В общем, нужно было, чтобы состояние "кнопки" передавалось в программу как-то без участия пилота.
Да и вообще, в процессе работы у пилота не должно возникать необходимости что-то делать вручную в программе, что-то тыкать по экрану, включать-переключать.
- Могу сделать возможность работы программы вообще без моих дозаторов (которые денег стоят и являются реальными физическими объектами), на основе внутреннего GPS смартфона, но толку от такой программы будет столько же, сколько и от всех вышеперечисленных "тракторных" программ.
Хотя функцию работы с внутренним GPS смартфона буду делать в следующих версиях программы - чтобы можно было вносить в память новые поля, передвигаясь по местности на автомобиле или на чем там удобно... без самолетной аппаратуры, а просто со смартфоном в руке.
- Еще одна причина, почему не делаю пока "автономную" версию программы, а "завязываю" ее на свои физические устройства - сервисы Гугла с недавнего времени стали платными. То есть, до некоторого количества обращения к картам за год Гугл денег не берет, а при превышении количества обращений - очень даже берет. И если для какой-то фирмы в США или Великобритании, занимающейся разработкой программного обеспечения, это вполне адекватная плата, то для меня - не очень. Самому Гуглу разницы нет, с кого брать плату, с большой фирмы, или с маленького одинокого программиста: он считает только количество обращений.
То есть, я вот так как-то ограничиваю накручивание "счетчика" обращений к сервису Гугл: для реальной работы - пожалуйста, для "посмотреть-поиграться" - нежелательно.
Каких-то защит на саму программу, паролей, кодов доступа не ставлю. И не хочу ставить.
Perelesnik:
Вообще, история с этой программой забавная:
Я только начал делать трихограммницы, один сезон отлетали люди на них, вошли во второй сезон, и тут один пользователь начал меня настойчиво уговаривать "помочь скоммуниздить" навигационную программу небезызвестного нам Герониме. Ну, типа: "ты ж программист, то взломай защиту, а то мне оно дорого покупать за реальную цену".
Я с ходу отказался, без размышлений. Даже не стал смотреть, что за программа. Достаточно было того, что программный продукт отечественный (к буржуйским программам у меня отношение несколько другое, здесь признаюсь, грешен, "ковыряю" такое без особых душевных колебаний).
Но уговоры на этом не прекратились.
Тогда я сказал, что мне проще самому "с нуля" написать навигационную программу, чем начинать ковыряться в чужой разработке. Оно и реально так. Это если какой-то супер-крутой и объемный проект, интересный для тысяч пользователей, тогда имеет смысл заморачиваться...
Вообще, "расковырять" чужую программу - это дело для энтузиастов, у которых имеется сильный спортивный интерес показать собственную "высшую квалификацию", и, по правде, взламывается Всё при большом желании, любая защита.
Я к таким энтузиастам не отношусь, и подобный спортивный интерес у меня не проявляется. А вот интерес написать что-то сугубо своё - это у меня есть такое.
И "своё" можно всегда переписать, переделать, развивать в дальнейшем, там все программные "дебри" родные и знакомые.
Еще мне интересно решить задачу каким-нибудь нестандартным способом, а не копировать общепринятые пути решений. Так сложнее, но перспективы шире получаются... и никто не скажет, что у кого-то "хитро позаимствовал".
В общем, "нестандартность" решил сделать на самом базовом уровне: отказался от "святого святых" навигационных программ - от создания базы данных координат (или файла с последовательностью таких координат).
То есть, в распоряжении программы имеется только одна координата - та, которая получена в данный момент. И она нигде не запоминается, нигде не записываться для дальнейших операций. Приходит новая координата - и предыдущая перестает существовать.
Что это дает?
Это дает во-первых то, что программе всё равно, как долго и сколько мы летали: хоть только установили программу и зашли на первый гон поля, хоть уже отлетали два сезона и прорисовали треки на +100500 Гектар. Никаких подтормаживаний или вылетов, практически одинаковая работа на "медленных" и "быстрых" процессорах разных мобильных устройств, нет разницы от имеющегося объема оперативной памяти: если памяти хватает, чтобы прорисовать один гон, значит, ее хватит и чтобы прорисовать тысячу гонов.
Далее, при наложении результатов работы на общую Гугл-карту, это не наложение тысяч индивидуальных точек маршрута, а наложение максимум десяти объектов - десяти квадратов с уже прорисованными на них треками.
Это быстрое сохранение результатов работы и быстрая загрузка уже "прорисованного" квадрата для дальнейшей работы (не нужно прогружать огромное количество отдельных точек и заново их прорисовывать после загрузки). То есть, загрузка поля, переход с одного квадрата на другой и обратно происходит практически мгновенно независимо от того, сколько треков там уже нарисовано.
Есть и "минус": что реально налетали - навносили по полям, то и будет в результате, "подправить" прорисованные треки после полета уже не получится. Если где-то "накосячили" при обработке поля, это и останется строго задокументированным в "отчетном" файле. Стереть и дорисовать потом вручную, после полета, не выйдет.
Конечно, есть мысль и это как-то решить, строго для отчета агроному :)
Посмотрим... Программа постоянно эволюционирует, добавляются функции, что-то улучшается, что-то переделывается. Не меняю я только основной протокол передачи данных с внешних дозирующих устройств, чтобы пользователи, имеющие в работе трихограммницы или аппаратуру для УМО любого года выпуска, сохраняли полную возможность использовать такую навигационную программу в любой ее обновленной версии. Ну, чтобы не нужно было менять или перепрошивать уже работающие физические устройства.
В процессе создания и "доводок" программы налетано и наезжено Очень большие километражи. Выражаю искреннюю благодарность пилотам-энтузиастам, благодаря которым программа получила возможность как появиться на свет, так и качественно "отлетаться" в реальном небе на реальных полях.
Навигация