Приспичило для всяких электронных поделок использовать GPS. Пересмотрел кучу вариантов и в итоге сформулировал пожелания:
— как можно более низкая цена
— пылевлагозащищённость — чтобы можно было вкрутить в автомобиль, например
— никаких нестандартных чипов — только та начинка, на которую есть много документации
— никакого USB — только
хардкор последовательное подключение, чтобы можно было использовать в простых поделках.
И ведь получилось!
Когда вы только начинаете искать подходящую железку для Arduino или какого-то другого микроконтроллера, массово лезет на глаза что-то такое:
— плата долларов за тридцать-сорок-пятьдесят, GPS припаян — и если собираешься прятать поделку, например, под капот машины — будь добр купи ещё GPS-антенну и переходник к ней за дополнительные деньги. На этом месте земноводное отрицательно трясёт головой :(
Другой вариант — GPS-приёмники для компьютера с USB-кабелем, они дешевле. Если вы выбираете этот вариант, то придётся выложить $20 за USB shield и надеяться, что у вас получится найти на конкретное изделие китайпрома расшифровку протокола. Ну или же подключить через USB-shield старый ненужный Android-смартфон, но тогда прощай скорость включения и здравствуй море проблем — с АКБ, включением, тормозами и пр.
И тут я нахожу на DX вот это:
Девайс изготовлен даже не в Китае, а на Тайване специализирующейся на GPS фирмой
US GlobalSat, а данная модель — разработана для применения
на катерах, имеет влагозащиту и даже встроенный магнит для прикрепления на крышу и присоску для установки на стёкла. Внутри — де-факто стандарт — чип SiRF Star III. И ценник у этого чуда — чуть меньше $35!
У агрегата есть 2 вариации — с USB и с последовательным портом (модель
BR-355), убеждаюсь, что беру именно второе и заказываю. Пока Почта России неспешно тащит посылку, углубляюсь в документацию.
У всей «последовательной» («serial») периферии есть 2 реализации — «RS-232» и «TTL». Первая использовалась десять с гаком лет назад для модемов и мышек — там используется ток от минус N вольт до +N. В современных микроконтроллерах, в т.ч. Ардуино, используется вторая — где при передаче данных «единички» обозначаются током +5 вольт (или 3,3 вольта), а «нолики» — отсутствием тока. Начитавшись воплей «ой, а я его воткнул в Arduino, а оно не пашет!» понял, что нужен ещё конвертер TTL/RS-232. Сначала искал обычно использующийся для этих целей чип «MAX3232», а потом на пару центов дороже нашёл его уже распаянным, с коннекторами:
Заодно прикупил
трёхметровый кабель-удлинитель — решил, что лучше потрошить его, а кабель GPS-приёмника пусть остаётся целым.
DX шустро отправляет заказы, дожидаемся доставки, распаковываем симпатичную картонную коробочку, полностью соответствующую фото в магазине, начинаем собирать.
(Надо отметить очень «европейский» дизайн, качество сборки и материалов. Никаких вырвиглазных светодиодов — едва заметная красная точка — и ноль люфтов и заусенцев.)
Технические подробности
Чтобы убедиться, что всё работает, сначала пробуем подключить GPS-приёмник к компу. COM-порта у меня в ноутбуке нету, зато есть переходник USB-TTL. Его и возьмём.
Поскольку кабель GPS-приёмника решили не трогать, берём удлинитель и отрезаем ему
достоинство коннектор-«папу». Обнаруживаем там семь разноцветных проводов, из которых нам потребуются только четыре — TX, RX, «земля» и "+5 вольт". После прозвонки мультиметром убеждаемся, что это красный (№1), жёлтый (№3), зелёный (№6) и чёрный (№2) провода. [Здесь я использую стандартные обозначения номеров контактов кабеля PS/2 (хотя это никакой не PS/2 на самом деле)]
Зачищаю контакты и насаживаю на них дюпоновские иголки. Вооружаюсь справочником и разбираюсь, в какие именно дырки девятиконтактного последовательного разъёма их совать. С TX, RX и GND разбираюсь быстро, а вот с VCC 5v возникает сложность — до того момента, пока я опытным путём не определяю, что пять вольт надо брать со входа переходника. Фиксирую иголки в коннекторе термоклеем.
Соединяю переходник с модулем USB-TTL и по миганию светодиодов понимаю, что байтики побежали.
Конструкция в сборе:
Открываем PuTTY, выбираем COM-порт переходника и скорость 4800 baud и видим, что нам раз в секунду выплёвывают месиво GPS-данных. Поскольку «невооружённым глазом» это не понять, лезем в Гугль за
первой попавшейся freeware GPS-софтиной.
Запускаем, и видим, что агрегат на подоконнике словил 11 спутников и определил координаты с погрешностью в несколько метров:
Как вы можете убедиться, дополнительное питание не потребовалось — хватает силы тока от обычного, 0,5A USB-порта — т.е. и микроконтроллер справится. При этом всё работает через полтора метра кабеля собственно GPS-приёмника и три метра удлинителя. С лихвой хватит, чтобы запихнуть микроконтроллер в салоне машины, а GPS поставить, например, над верхней кромкой лобового стекла.
Скорости полностью соответствуют заявленным в
datasheet — «холодный старт» — менее минуты, «горячий» — секунда.
Итого за примерно сорок баксов у меня появился комплект, превращающий любую Arduino-поделку в более интересную штуку. Лично я буду из неё делать GPS-трекер для машины с GSM, подключением к бортовому компьютеру по OBD-II и прочими мелкими радостями.
Дополнения по просьбам комментирующих:
— русскоязычная инструкция:
www.gps-info.com.ua/wp-content/downloads/manuals/receiver_dataloger/globalsat/globalsat_BR_355_BU_353.pdf Половина страниц описывает подключение к КПК с Windows Mobile, впрочем.
— ссылка крупными буквами —
DATASHEET ТУТ (pdf). Вес — 62 грамма, потребляемый ток — 80мА, протокол — NMEA 0183 или бинарный. Холодный старт — 42 сек., тёплый — 38 сек., горячий — 1 сек. Частота обновления с настройками «из коробки» — 1Гц, правда, в спецификации фигурирует «reacquisition — 0.1 sec».
Обзор интересный, подробный и с примерами, однозначно плюс.
В правой колонке четко сказано «Китайская Республика».
Вот немного истории о том, как остров перешел к китайцам https://www.intaiwan.ru/island/pochemu-taiwan-eto-taiwan.html, взято из ссылок википедии.
Китай в общепринятом понимании — это Континентальный Китай, т.е. Китайская Народная Республика, с правящей Коммунистической Партией Китая. А вот Тайвань это распространенное название Китайской Республики — государства, которое до 1949 года контролировало Континентальный Китай и до 1971 года входило в ООН (и даже в СовБез). Так что это два государства-антагониста, но никак «одно и тоже» :)
Цитата: «После образования Китайской Народной Республики 157 стран мира установили с КНР дипломатические отношения. Все эти страны признают, что в мире существует только один Китай, что правительство КНР является единственным законным правительством Китая, а Тайвань – частью его территории.» Пруф.
Аналог: Чеченская Республика, хоть и имеет собственный флаг, но входит в состав Российской Федерации.
Ностальгия, блин — такой GPS-приемник но только с USB, был моей самой-самой первой покупкой за бугром, и тоже на DX… Уж и не помню в каком году это было…
1. вес
2. время холодного старта
3. возмоность распоьтрашить (с целью уменьшения веса или ремонта)
4. ссылка на протокол или и еще лучше исходника для МК по работе с сие девайсов
спасибо
2. Ctrl-F по слову «холодный старт»
3. А смысл? Если считает граммы, купите отдельный модуль со шлейфом. У меня-то задача состоит в том, чтобы вынести антенну под крышу автомобиля — отсюда метры кабеля. А вам, видимо, сойдёт, что GPS стоит прямо рядом с МК
4. См. datasheet. SiRF Star III = стандартный NMEA. Вы только учтите, что у девайса частота съёма данных — 1Гц, для автомобиля это сойдёт, а вот для квадрокоптера или самолётика — вопрос.
по цене отдельные модули кусаются и чаще всего требую интены, сравнимой с этим модулем
Ценник в России начинается от $13-15, например в том же Компэле. И ждать месяц не нужно.
как следсвие нужно знать все о весе и как его уменьшить
Питание:
Напряжение питания 4.5 ~ 6.5В, постоянный ток
Потребляемый ток 80 мА
Время захвата позиции:
Обновление данных 0.1 сек.
Горячий старт 8 сек., в среднем
Тёплый старт 38 сек., в среднем
Холодный старт 42 сек., в среднем
Горячий старт
8 сек
Ширина
53 мм
Высота
19 мм
Вес
69 г
Вес брутто
0.186 кг
www.gps-info.com.ua/wp-content/downloads/manuals/receiver_dataloger/globalsat/globalsat_BR_355_BU_353.pdf
Устройство очень удобное для ноутбука, при ориентации на местности из машины. Не один навигатор не сможет быстро менять картографические подложки, сохранять большие массивы точек. И точность с антенной на крыше на порядок выше, чем у навигатора в машине.
Что до использования с ноутом, внимание — производитель пишет о несовместимости драйвера usb-версии с windows 8. Там уже надо след. модель брать, с SiRF IV.
Только поправлю автора, что «словил» на подоконнике приемник всего 9 спутников, а из альманаха и эфемерид узнал, что должен видеть 11.
SiRFstar III конечно стандарт, но так 6-10 летней давности. Сегодня все-таки актуален SiRFatlas IV — большинство навигационных устройств делается на нем. Но для самоделок, конечно, прекрасно подходит и он.
ps нарыл блютузную версию, которую брал 6 лет назад. совпало ж блин
Чем не устраивает это устройство с USB разъемом?
К ардуине по USB можно подключить, питание пойдет, протокол, думаю, точно такой же как и с кучей переходников… Только в Вашем случае пришлось брать еще переходники…
P.S.> не понимаю смысла минусовать… Я просто задал вопрос потому что мне интересно. Очевидное для других не всегда очевидно для меня. Если сложно ответить — напишите что сложно ответить буду спрашивать тех, кто в теме и в этой тематике разбирается.
В общем, если вы готовы рискнуть и забивать память микроконтроллера кодом для работы с USB host — воля ваша, но в моей поделке такой роскоши не предвидится
USB-shield Arduini PRO — 20$. И где тут вдесятеро? в чуть меньше чем в 2 раза. Только USB более компактно и красиво все выглядит.
USB-shield — это именно shield, она место занимает. А если мне надо куда-то GSM shield присунуть?
одно дело (rs232-uart), который на уровнях тока меняет
Модуль GPS для ардуины. Цена 20$+3$ доставка. Ни каких переходников не надо.
Холодный старт — 35 сек.
Горячий старт — 1 сек.
Низкое энергопотребление
Встроенная антенна.
Зато вес 10 грамм + Ардуинка мини. Запитали и в машине куда угодно спрятать можно. Магнит и кейс вроде как в наше время не проблема). Зато ничего ни куда тянуть не нужно. Блутус-ку или NRF24L01 поставили и вообще проводов ненадо. Раз в 10 минут будите устройство получайте координату и логируйте)
Поиск на али выдает кучу вариантов, но для модуля нужна еще обвязка (на адафрут обвязка уже есть).
Спасибо за обзор, обожаю электронный хлам! :)
Я именно потому и выбрал SiRF Star, что не хотел потом ещё ломать голову над обвязкой — лучше стандартная, проверенная временем штука.
В этом магазине в описании товара указан параметр «Output voltage level: 0V~2.85V». Значит это устройство изначально работает с TTL, а не с уровнями rs232, и подключать к Arduino его можно напрямую.
Кстати, если кому интересно, SiRF Star IV (тоже RS232) на $10 дороже.