Внимание!
Дробные значения широты и долготы в "сыром" потоке данных NMEA представлены десятичной дробью минут, а не секундами! Если эти значения ввести в строку поиска Google Maps, то местоположение на карте будет на несколько километров отличаться от истинного. Необходимо поделить дробные части широты и долготы на 60, чтобы получить значения секунд. Программы для работы с GPS не нуждаются в такой подготовке данных и отображают координаты правильно.
Протокол U-BLOX (UBX)
Протокол U-BLOX (binary UBX) — это проприетарный бинарный протокол, разработанный и применяемый швейцарской компанией u-blox AG, известным производителем модулей и программного обеспечения для навигационного и коммуникационного оборудования.
Поскольку навигационные приемники на основе модулей U-BLOX NEO 6 и U-BLOX NEO 7 получили широкое, почти монопольное распространение в авиамоделизме, прошивки полетных контроллеров поддерживают как протокол UBX, так и NMEA.
В целом, спецификация приемников U-BLOX предоставляет разработчику очень широкий диапазон возможностей для обмена данными между приемником и потребителем. Например, реализован протокол DDC (Display Data Channel), совместимый со стандартом I2С. Это позволяет подключать приемник к контроллеру по шине I2С в случае нехватки свободных СОМ-портов. Также протокол DDC допускает выборочное чтение регистров приемника и запись в них.
Но если говорить о любительском применении в квадрокойтерах, то дополнительные возможности протокола UBX не используются, поскольку полетный контроллер использует лишь минимальный набор стандартных данных GPS. Подключение по шине I2С может создать проблемы даже достаточно опытному пользователю.
Поэтому, по мнению автора, в данном случае разнообразие протоколов скорее зло, чем благо. Кроме того, модули U-BLOX даже версии 7 не поддерживают одновременную работу с системами GPS и ГЛОНАСС, режимы необходимо переключать программно.
В части II книги мы подробно рассмотрим пример настройки и подключения приемника U-BLOX NEO 6.
Адаптер Bluetooth— это простой и недорогой способ подключить к полетному контроллеру смартфон, планшет или нетбук, чтобы воспользоваться утилитами для настройки и телеметрии. Разумеется, ноутбук или обычный компьютер также можно подключать по беспроводному соединению. Этот вариант даже более предпочтителен, чем соединение проводом по USB. Если забыть отключить от контроллера провод после окончания работы, то можно получить вырванный с дорожками платы контроллера разъем mini-USB и серьезные трудности с последующим подключением.
В любительской практике обычно применяются очень дешевые и широко распространенные адаптеры версий НС-05, НС-06 (рис. 3.7), НС-07. Они представляют собой плату, на которой смонтированы одна или две микросхемы и печатная антенна. В свою очередь, эта плата припаяна на плату расширения, содержащую источник 3,3 В, светодиоды и разъем. Иногда в продаже попадаются "голые" платы модулей, но в этом случае вам придется самостоятельно подключать питание, светодиоды и разъем.
Рис. 3.7. Стандартный адаптер Bluetooth НС-06
К сожалению, обычные адаптеры Bluetooth не поддерживают процесс программирования контроллера, потому что не могут генерировать сигнал сброса контроллера, необходимый для запуска процесса. В продаже можно встретить специальный вариант адаптера, позволяющий прошивать контроллер через беспроводное соединение, но в несколько раз дороже обычного адаптера. Поэтому для записи прошивки все же лучше использовать проводное подключение USB.
При покупке следует обратить внимание на версию адаптера. Наиболее популярными, проверенными и простыми в эксплуатации являются адаптеры НС-06, но можно приобрести и другую версию. Адаптер должен работать в режиме ведомого (Slave), но иногда встречаются адаптеры, на фабрике жестко прошитые в режим ведущего (Master). Эти адаптеры содержат в названии букву "М", например НС-06М. Вы не сможете использовать такой адаптер без перепрошивки, что достаточно сложно для неподготовленного любителя. Существуют адаптеры, у которых режим Master/Slave можно переключить внешней командой конфигурации. Это, например, адаптеры НС-05.