![]() |
![]() |
|||||||||||||||
Простой и надёжный GPS маяк «SateLink»
Автор: vitalyadm Приветствую вас, дорогие друзья! В первую очередь, прежде чем мы перейдём к статье, от всего сердца, поздравляю КОТА и всех ВАС с знаменательной датой 12 лет со дня рождения сайта. Не хочу говорить пустых слов, совершенно честно признаюсь, проект radiokot сыграл в моей жизни не одну роль и именно благодаря ему, получалось решать некоторые не простые задачи и добиваться вполне конкретных результатов. Поэтому! Уважаемый КОТ, искренне поздравляю тебя с ДР и желаю только одного- развивай дальше когда- то начатое, всё очень даже хорошо складывается, а мы в свою очередь, будем помогать ;) И так. Подняли, чокнулись, выдохнули, поехали…. О чём пойдёт речь? Речь пойдёт о устройстве, которое относится к весьма известному семейству систем точного определения географического местоположения объекта, а именно «GPS-GSM маяк», что это такое, разумеется, не знают разве что котята, но всё же будем терпеливы и попробуем разобраться не только в конкретном устройстве, а в принципах, сути, «подводных камнях» и вообще разжуём всю эту тему целиком и полностью. Вдруг кому- то будет полезно. Вот здесь их можно смело делить на два типа, разного рода «экзотику» и гибридные варианты мы рассматривать не будем т.к. это случаи весьма частные и нас они не интересуют, так вот, по большому счёту они делятся на «GPS-SMS» и «GPS-IP». Задачи у обоих этих типов практически одинаковые, разница только в канале передачи и реализации, при этом что тот что этот тип имеет, как и плюсы, так и конечно же минусы. «GPS-SMS маяк»- определяет свои координаты и передаёт их по запросу или в автоматическом режиме владельцу, в текстовом виде по средствам SMS сообщений. «GPS-IP маяк»- также определяет свои координаты, но передаёт их уже владельцу не напрямую, а сначала на свой «домашний» WEB сервер, от куда владелец, используя мобильное приложение или банальный браузер «забирает» ранее полученные данные от «маяка». Это теория общая, ещё раз повторюсь, писал общими и простыми словами, не углубляясь в подробности и тонкости, а то так статью в формат «Войны и Мир» растянуть можно. Аппаратная часть. Начнём мы, пожалуй, с основного элемента, это непосредственно сам GPS-GSM-BLUETOOTH модуль SIM808, bluetooth нас сейчас не интересует, а остальное очень даже. Что представляет из себя SIM808- это такой замечательный агрегат, который совмещает в себе сразу как GPS приёмник, так и полноценный GSM модуль. И главное цена, очень привлекательная для такого «зверька», в готовом исполнении, а именно в таком исполнении мы его и будем использовать, стоит он всего лишь порядка ~700 рублей или ~12 буржуйских долларов. Почему нет смысла покупать отдельно SIM808 в не запаянном виде? Дело в том, что SIM808 в виде шилда уже имеет все развязки, совместим по питанию с 5 вольтами, тут тебе и кардхолдер и фильтры, стабилизатор, короче говоря, цена вопроса на его обвязку выйдет больше чем взять его уже в готовом виде. Покупается он у «Алика». При чём интересует именно такой, вот как на картинках. Разумеется, для того, чтобы модуль работал и находил спутники, нам ещё нужна GPS антенна, вот такая отрабатывает на все 100%, но можно и внешнюю поставить (выносную), тут дело хозяйское, главное её наличие. Далее, GSM сеть. Как без неё, для GSM имеет смысл взять вот такую антенну, удобно, можно сразу в корпусе разместить, работает хорошо, проверено. Остальное: MK (ATmega8), резисторы, транзисторы и прочая мелочёвка весьма стандартна и понятна, потому переходим к схемам. Я сделал несколько вариантов схем, одна двусторонняя, компоненты SMD, размер чуть больше самого модуля, второй вариант для простого повторения, вообще взглянув на схему, станет совершенно понятно, что устройство на столько просто, что сделать свой вариант ПП и подогнать его под нужные вам требования и характеристики- не составляет никакого труда. И так, вариант SMD. Эта схема более продумана, имеет дополнительные элементы для повышения стабильности работы, управление питанием осуществляется через полевой транзистор. Тип корпуса SMD компонентов 0805 (резисторы, конденсаторы, светодиоды). Зачем именно нужен ключ питания SIM808 скажу чуть позже, т.к. это больше касается программной, нежели аппаратной части. Верхняя сторона ПП варианта SMD Нижняя сторона ПП варианта SMD Итоговый размер: 46 х 40мм.
Вариант DIP, очень прост в повторении, плата изготавливается просто и без каких- либо трудностей. Сразу, зачем 2 стабилизатора, по этой схеме я выполнял отладочные работы и разного рода эксперименты, поэтому схему чертил именно такую, какую использовал при отладке и дальнейших тестах, можно обойтись и одним стабилизатором. Нижняя сторона ПП варианта DIP Итоговый размер 80 х 61мм. ПП изготавливалась под конкретный корпус GAINTA G521-B, поэтому такие размеры и вышли. Фюзы при прошивке МК: Собственно, пояснять ещё что- то по этим двум схемам вообще нечего, всё просто до неприличия. Потому переходим к разделу программному и будем знакомиться с функциями и работой самого устройства в сборе. Программная часть. Первое что нужно сказать, наш «маяк» целиком и полностью «русскоговорящий», никаких нелепых фраз. Общение с устройством происходит как голосовыми вызовами, так и SMS командами. Помимо прочего имеются светодиоды индикации работы, с них и начнём т.к. в какой- то мере они и закроют «аппаратный» раздел, а уже потом будем говорить о командах и функциях. Светодиод GSM, варианты индикации: Светодиод GPS, варианты индикации: Светодиод SYSTEM, варианты индикации: Комбинированные варианты индикаций: Индикация SYSTEM при нажатии на кнопку RESTORE: Функции и алгоритм работы И так. Для начала поясню- зачем же всё-таки нужен ключ питания? Подразумевается, что наш «маяк» будет передвигаться по просторам нашей (а может и не только) Родины, например, встроенным в какой- то авто. Не суть и не важно, куда он там будет встроен, ключевое передвигаться. Так вот, многие из вас наблюдали такую ситуацию, что при пересечении той или иной области страны, ваш телефон теряет регистрацию в сети и пока его не перезагрузить- толку от него ноль. Здесь- то как раз и нужен ключ питания, работает это так- МК постоянно, с периодичностью 30 секунд проверяет регистрацию в сети GSM и если таковой не окажется, МК начнёт паниковать, запрашивая регистрацию уже через каждые 4 секунды и если SIM так и не перерегистрируется сам в течении половины минуты, то МК его просто перезагрузит, при чём жестко и по питанию. Вот кто- то уже хочет возразить, мол на это команда есть, что его по питанию дёргать…. Ан нет и тут всё не так просто, хоть этот модуль хорош во всех отношениях и смыслах, грешки за ним имеются. Может он, увы, повиснуть, замолкает и не реагирует на UART и PWRKEY вообще, это бывает крайне ооооочень редко, но ведь может. И тут тоже спасает ключ питания, если от модуля в течении 30 секунд не будет ни ответа не привета, то МК снова запаникует и просто его перезагрузит. Разобрались с питанием. GPS, тут попроще будет. Состояние, как вы догадались, может быть или «спутники найдены» или «спутники не найдены». Видны они или нет- можно понять по индикатору (см. выше). А дальше всё просто, МК запрашивает GPS координаты каждые 10 секунд и запоминает их, если извлечь координаты не вышло- значит нет спутников, ничего страшного попробуем позже, через 10 секунд. Таким образом, модуль постоянно опрашивается (зачем см. выше), а в памяти всегда текущие и актуальные координаты. Теперь как происходит диалог между «маяком» и его владельцем. Варианта 2, голосовой вызов и SMS команда. До SMS чуть позже, пока начнём с голосового вызова. Сразу о доступах. Для того, чтобы не городить огород, выдумывая и запоминая всякого рода пароли, шифры и т.д., МК имеет таблицу разграничения прав доступа, идентификация «от кого поступило SMS или голосовой вызов» происходит по номеру, который содержится в сообщении или строке вызова. Проще говоря, доступ к устройству определяется по номеру абонента, а не по паролю или «мамой клянусь - это я». Что собственно целиком и полностью упрощает жизнь владельца. Если номер не найден в памяти- голосовой вызов игнорируется, а SMS сразу удаляется без прочтения. Всего номеров в памяти «маяка» может быть 5, 1- это «мастер номер», имеющий все права и 4- это «доп. номера», которые позволяют получать информацию, но не дают права на внесение изменений в память. Так что же у нас насчёт «приручить», и так. Прошили Вы МК (или сбросили память), для того что бы «привязать» свой номер к «маяку» и задать его как «мастер- номер», достаточно просто позвонить на «маяк». Проще, номер первого входящего голосового вызова будет запомнен как «мастер», теперь он успешно будет сохранён в EEPROM, от куда будет извлекаться в ОЗУ только при старте или же изменении содержимого EEPROM. Последующие голосовые вызовы (после установки «мастер номера) являются для «маяка» командой на запрос текущего местоположения. Соответственно, если вы позвонили с номера, который известен «маяку»- то при первом же гудке модуль завершит вызов, а в ответ вы получите SMS с текущим местоположением, результат будет такой же, как и при команде «?» (см. таблицу команд). Добавлю к таблице команд. «Аварийный режим» т.е. «?!» отменяется или голосовым вызовом или командой «?». Более предметно, покажу результаты выполнения некоторых команд в виде скриншотов с телефона. Данные абсолютно реальны, делал запрос, получал ответ, сохранял скриншот. Запрос баланса:
Добавление дополнительного номера:
Запрос текущего местоположения:
Как видно, телефон распознаёт ссылку в SMS сообщении, поэтому для того чтобы перейти на карту с указателем- достаточно просто кликнуть на этот URL. После чего у вас сразу откроется вот такая карта: В основном, погрешность не более двух метров. На последок пару фотографий «маяка» в том виде, в котором он существует сейчас. Каюсь, до последнего ждал платы из Китая, хотел собрать девайс в том виде, в котором он и должен быть т.е. в SMD варианте, но увы, платы так и не приехали, а приём конкурсных работ уже подходил к концу, ждать дальше уже не имело смысла. Поэтому простите, но сейчас только в DIP’е, GSM антенна отключена в виду того, что приклеена на верхнюю крышку корпуса, мешалась: В сборе, корпус GAINTA G-521B
P.S. Приоткрою маленький секрет. Если моя работа будет интересна, то следующим этапом есть мысль о реализации уже полноценного «GPS-IP трекера», с прорисовкой маршрута и прочими плюшками, тем более что платформа имеется. Или же также «GPS-SMS» вариант, только модернизированный. Посмотрим. А вот «идеи и хотелки» с вас, дорогие друзья! Сейчас, уже на уме следующие функции для реализации: Всего наилучшего! До новых встреч и добро пожаловать на форум! Ждите новых статей ;) В архиве:
Файлы: Все вопросы в Форум.
Эти статьи вам тоже могут пригодиться: |
|
|||||||||||||||
![]() |
![]() |


![]() |
![]() |
|||
|
||||
![]() |
![]() |