После нескольких экспериментов с ардуиной решил сделать простенький и не очень дорогой GPS-tracker с отправкой координат по GPRS на сервер.
Используется Arduino Mega 2560 (Arduino Uno), SIM900 — GSM/GPRS модуль (для отправки информации на сервер), GPS приёмник SKM53 GPS.
Всё закуплено на ebay.com, в сумме около 1500 р (примерно 500р ардуина, немного меньше — GSM модуль, немного больше — GPS).
Для начала нужно разобраться с работой с GPS. Выбранный модуль — один из самых дешевых и простых. Тем не менее, производитель обещает наличие батарейки для сохранения данных о спутниках. По даташиту, холодный старт должен занимать 36 секунд, однако, в моих условиях (10 этаж с подоконника, вплотную зданий нет) это заняло аж 20 минут. Следующий старт, однако, уже 2 минуты.
Важный параметр устройств, подключаемых к ардуине — энергопотребление. Если перегрузить преобразователь ардуины, она может сгореть. Для используемого приемника максимальное энергопотребление — 45mA @ 3.3v. Зачем в спецификации указывать силу тока на напряжении, отличном от требуемого (5V), для меня загадка. Тем не менее, 45 mA преобразователь ардуины выдержит.
GPS не управляемый, хотя и имеет RX пин. Для чего — неизвестно. Основное, что можно делать с этим приемником — читать данные по протоколу NMEA с TX пина. Уровни — 5V, как раз для ардуины, скорость — 9600 бод. Подключаю VIN в VCC ардуины, GND в GND, TX в RX соответствующего serial. Читаю данные сначала вручную, затем с использованием библиотеки TinyGPS. На удивление, всё читается. После перехода на Uno пришлось использовать SoftwareSerial, и тут начались проблемы — теряется часть символов сообщения. Это не очень критично, так как TinyGPS отсекает невалидные сообщения, но довольно неприятно: о частоте в 1Гц можно забыть.
Небольшое замечание относительно SoftwareSerial: на Uno нет хардверных портов (кроме соединённого с USB Serial), поэтому приходится использовать программный. Так вот, он может принимать данные только на пине, на котором плата поддерживает прерывания. В случае Uno это 2 и 3. Мало того, данные одновременно может получать только один такой порт.
Вот так выглядит «тестовый стенд».
Теперь начинается более интересная часть. GSM модуль — SIM900. Он поддерживает GSM и GPRS. Ни EDGE, ни уж тем более 3G, не поддерживаются. Для передачи данных о координатах это, вероятно, хорошо — не будет задержек и проблем при переключении между режимами, плюс GPRS сейчас есть почти везде. Однако, для каких-то более сложных приложений этого уже может не хватить.
Модуль управляется также по последовательному порту, с тем же уровнем — 5V. И здесь нам уже понадобятся и RX, и TX. Модуль — shield, то есть, он устанавливается на ардуину. Причем совместим как с mega, так и с uno. Скорость по умолчанию — 115200.
Собираем на Mega, и тут нас ждет первый неприятный сюрприз: TX пин модуля попадает на 7й пин меги.
На 7м пину меги недоступны прерывания, а значит, придется соединить 7й пин, скажем, с 6м, на котором прерывания возможны. Таким образом, потратим один пин ардуины впустую. Ну, для меги это не очень страшно — всё-таки пинов хватает. А вот для Uno это уже сложнее (напоминаю, там всего 2 пина, поддерживающих прерывания — 2 и 3). В качестве решения этой проблемы можно предложить не устанавливать модуль на ардуину, а соединить его проводами. Тогда можно использовать Serial1.После подключения пытаемся «поговорить» с модулем (не забываем его включить). Выбираем скорость порта — 115200, при этом хорошо, если все встроенные последовательные порты (4 на меге, 1 на uno) и все программные работают на одной скорости. Так можно добиться более устойчивой передачи данных. Почему — не знаю, хотя и догадываюсь.
Итак, пишем примитивный код для проброса данных между последовательными портами, отправляем atz, в ответ тишина. Что такое? А, case sensitive. ATZ, получаем OK. Ура, модуль нас слышит. А не позвонить ли нам ради интереса? ATD +7499… Звонит городской телефон, из ардуины идет дымок, ноутбук вырубается. Сгорел преобразователь Arduino. Было плохой идеей кормить его 19 вольтами, хотя и написано, что он может работать от 6 до 20V, рекомендуют 7-12V. В даташите на GSM модуль нигде не сказано о потребляемой мощности под нагрузкой. Ну что ж, Mega отправляется в склад запчастей. С замиранием сердца включаю ноутбук, получивший +19V по +5V линии от USB. Работает, и даже USB не выгорели. Спасибо Lenovo за защиту.
После выгорания преобразователя я поискал потребляемый ток. Так вот, пиковый — 2А, типичный — 0.5А. Такое явно не под силу преобразователю ардуины. Нужно отдельное питание.
Для получения страницы по определенному URL нужно послать следующие команды:
AT+SAPBR=1,1 //Открыть несущую (Carrier) AT+SAPBR=3,1,"CONTYPE","GPRS" //тип подключения - GPRS AT+SAPBR=3,1,"APN","internet" //APN, для Мегафона - internet AT+HTTPINIT //Инициализировать HTTP AT+HTTPPARA="CID",1 //Carrier ID для использования. AT+HTTPPARA="URL","http://www.example.com/GpsTracking/record.php?Lat=%ld&Lng=%ld" //Собственно URL, после sprintf с координатами AT+HTTPACTION=0 //Запросить данные методом GET //дождаться ответа AT+HTTPTERM //остановить HTTP
В результате, при наличии соединения, получим ответ от сервера. То есть, фактически, мы уже умеем отправлять данные о координатах, если сервер принимает их по GET.
Поскольку питать GSM модуль от преобразователя Arduino, как я выяснил, плохая идея, было решено купить преобразователь 12v->5v, 3A, на том же ebay. Однако, модулю не нравится питание в 5V. Идем на хак: подключаем 5V в пин, с которого приходит 5V от ардуины. Тогда встроенный преобразователь модуля (существенно мощнее преобразователя ардуины, MIC 29302WU) сделает из 5V то, что нужно модулю.
Сервер написал примитивный — хранение координат и рисование на Яндекс.картах. В дальнейшем возможно добавление разных фич, включая поддержку многих пользователей, статус «на охране/не на охране», состояние систем автомобиля (зажигание, фары и пр.), возможно даже управление системами автомобиля. Конечно, с соответствующей поддержкой трекера, плавно превращающегося в полновесную сигнализацию.
Вот так выглядит собранный девайс, без корпуса:
После установки преобразователя питания и укладывания в корпус от дохлого DSL модема система выглядит так:
Припаивал провода, вынул несколько контактов из колодок ардуины. Выглядят так:
Подключил 12V в машине, проехался по Москве, получил трек:
Точки трека достаточно далеко друг от друга. Причина в том, что отправка данных по GPRS занимает относительно много времени, и в это время координаты не считываются. Это явная ошибка программирования. Лечится во-первых, отправкой сразу пачки координат со временем, во-вторых, асинхронной работой с GPRS модулем.
Время поиска спутников на пассажирском сидении автомобиля — пара минут.
Создание GPS трекера на ардуино своими руками возможно, хотя и не является тривиальной задачей. Главный вопрос сейчас — как спрятать устройство в машине так, чтобы оно не подвергалось воздействиям вредных факторов (вода, температура), не было закрыто металлом (GPS и GPRS будут экранироваться) и не было особенно заметно. Пока просто лежит в салоне и подключается к гнезду прикуривателя.
Ну и ещё нужно поправить код для более плавного трека, хотя основную задачу трекер и так выполняет.
Публикующийся код может быть использован в любых разрешенных законом целях любыми лицами. Качество кода ужасно, поскольку это, всё же, тестовый вариант. Когда допишу до чего-то более красивого, обновлю.
Для компиляции кода для ардуино нужно импортировать библиотеку tinygps.
UPD Код: GDrive
Скетч
Несколько лет назад у меня возникла идея, разработать устройство для отслеживания местоположения объекта посредством GPS и GSM систем, я начал приобретать необходимые модули, но до реализации проекта дело так и не дошло. И вот несколько месяцев назад я снова вспомнил про эту идею и принялся за дело. В уме прорисовывались следующие идеи: устройство должно быть автономным и максимально экономичным; управление и передача данных осуществляется сетями мобильной связи GSM; определение координат с помощью системы глобального позиционирования GPS.
Для работы в сетях мобильной связи используются GSM модули, которые потребляют достаточно много энергии, если модуль будет постоянно включен, заряда батарей или аккумуляторов не хватит на продолжительную работу устройства. Поэтому я решил использовать режим работы по расписанию, в устройстве установлены часы реального времени, по заданному времени устройство просыпается и включается GSM модуль для ожидания звонка или SMS сообщения. После выполнения всех задач устройство “засыпает”. Таким образом, происходит существенная экономия энергии.
На следующей картинке приведена схема GPS-GSM трекера на микроконтроллере PIC16F690:
В устройстве используется GSM/GPRS модем Neoway M590. Микросхема DD1 (PCF8583) представляет собой часы реального времени RTC, с функцией будильника. Пробуждение микроконтроллера DD2 из спящего режима в заданное время происходит по прерыванию, которое генерируется на линии INT микросхемы DD1. Меняя емкость конденсатора C2* можно подстраивать ход часов.
Для определения координат используется GPS модуль NEO-6M. Плата модуля была доработана, чтобы иметь возможность включать и выключать модуль по сигналу от микроконтроллера. Изначально модуль включался сразу после подачи питания, что не подходило для меня. На плате модуля установлен стабилизатор напряжения 3,3В в корпусе SOT-23, у которого имеется вывод управляющий стабилизатором, но он подключен напрямую к линии питания. Я разрезал дорожки и освободил вывод управления для микроконтроллера. На одном экземпляре мне не удалось сохранить стабилизатор напряжения (обломался вывод), поэтому поставил другой стабилизатор, на напряжение 3В, в таком же корпусе (DA1’ – LP2981-30DBVR). В Китае можно приобрести два вида модуля: с синей платой и большой антенной, а также с красной платой и маленькой антенной.
Микроконтроллер “общается” с обоими модулями по протоколу UART, причем для GSM модуля используется аппаратный UART встроенный в микроконтроллер, для GPS модуля реализован программный UART, скорость передачи данных составляет 9600 бит/сек, модули предварительно должны быть настроены на данную скорость.
Светодиоды HL1, HL2 индикационные, когда микроконтроллер находится в рабочем режиме, светодиод HL1 светится, при переходе микроконтроллера в “спящий” режим, светодиод гаснет. Светодиод HL2 загорается в случае появления ошибок во время работы устройства. Светодиод HL3 отображает состояние GSM модуля.
Имеется два основных режима работы: режим ожидания и режим маяка. В режиме ожидания устройство просыпается по заданному расписанию и ожидает входящего вызова, при обнаружении звонка устройство выполняет сброс вызова на второй по счету “гудок” и продолжает сбрасывать еще в течение 20 секунд, далее определяет координаты и высылает их в виде SMS сообщения абоненту, от которого поступил звонок. Время ожидания входящего вызова можно настраивать. В режиме маяка устройство периодически просыпается через заданный интервал времени, определяет координаты и высылает их абоненту.
После первого включения по умолчанию активен режим ожидания, для включения режима маяка, на устройство необходимо отправить SMS сообщение с текстом GPS-STARThhmm, где hh-часы, mm-минуты которые задают период отсылки координат. Например, если требуется получать координаты каждые полтора часа, то сообщение будет иметь вид: GPS-START0130. Координаты в этом режиме отправляются абоненту, от которого поступило сообщение. Для выключения маяка и переключения в режим ожидания необходимо отправить сообщение с текстом GPS-STOP, устройство продолжит работу по расписанию.
Устройство читает SMS сообщения на сим-карте во время каждого сеанса пробуждения, чтение выполняется после определения и отправки координат абоненту, либо после истечения времени ожидания входящего вызова в режиме ожидания (если звонок не поступил).
При отправке сообщений нужно учитывать некоторые нюансы, дело в том, что если отправить сообщение, когда устройство “спит” (GSM модуль выключен), то при последующем включении сообщение может не сразу поступить на модуль, задержка может составлять от нескольких минут до нескольких часов, в зависимости от особенностей мобильного оператора. Для этого в устройстве реализована пауза для ожидания SMS сообщений, отсчет паузы начинается после определения и отправки координат абоненту (длительность паузы можно настраивать). Таким образом, сообщения желательно отправлять на устройство во время паузы ожидания SMS или во время ожидания входящего звонка.
Есть два варианта включения режима маяка: во время очередного пробуждения устройства выполнить вызов, после получения сообщения с координатами (во время паузы ожидания SMS), отправить SMS сообщение GPS-STARThhmm. Далее устройство перейдет в режим маяка и в следующий раз проснется через промежуток времени указанный в сообщении. Второй вариант, не выполняя вызова отправить SMS сообщение GPS-STARThhmm (во время ожидания входящего звонка), прочитав сообщение, устройство определит координаты и отошлет их абоненту, после чего перейдет в режим маяка и заснет, пауза ожидания SMS сообщений в этом случае выполняться не будет.
В процессе определения координат выполняется обновление значения часов реального времени, для компенсации ухода часов из-за неточности хода. Точное значение времени извлекается из данных поступивших с GPS модуля. Кроме этого выполняется измерение напряжения питания устройства, значение которого передается в SMS сообщении с координатами. Текст сообщения с координатами выглядит следующим образом: “5511.21316,N,06117.54100,E 4,07V”. Если координаты не были получены за определенный промежуток времени, абоненту отправляется сообщение вида: “NO KOORD 4,10V”. Время ожидания координат от GPS модуля можно настраивать.
Время пробуждения устройства (расписание) и другие параметры можно задать двумя способами: предварительно записать в EEPROM память микроконтроллера при программировании, или с помощью отправки SMS сообщения на устройство.
Рассмотрим первый способ задания параметров, ниже в таблице приведены основные настройки GPS-GSM трекера и соответствующие адреса в EEPROM памяти:
Адрес EEPROM памяти | Параметр | Описание | Значение по умолчанию |
0x00 | Часы | Значение времени, которое записывается в часы реального времени при первом включении устройства (tek_time) | 00 ч. |
0x01 | Минуты | 00 мин. | |
0x02 | Tgsm | Время ожидания входящего звонка, 2 мин ≤ Tgsm ≤ 30мин | 10 минут |
0x03 | Tgps | Время ожидания координат от GPS модуля, 2 мин ≤ Tgps ≤ 20мин
| 7 минут |
0x04 | Tsms | Время ожидания SMS сообщения, 2 мин ≤ Tsms ≤ 20мин
| 5 минут |
0x05 | UTC | Часовой пояс 00ч ≤ UTC ≤ 23ч | 00ч |
0x06 | Часы | Время пробуждения устройства, (Будильник 1) | 00 ч. 10 мин. |
0x07 | Минуты | ||
– | – | – | |
0x7E | Часы | Время пробуждения устройства, (Будильник 61) | |
0x7F | Минуты | ||
0x80 | Код | Информация об ошибке, (Ошибка 1) | – |
0x81 | Месяц | ||
0x82 | День | ||
0x83 | Часы | ||
0x84 | Минуты | ||
0xF3-0xF7 | – | Информация об ошибке, (Ошибка 24) | – |
0xF8-0xFC | – | Информация об ошибке, (Ошибка 25) | – |
Время для будильников нужно задавать последовательно по возрастанию начиная с 00:00 ч (точка отсчета), значение первого будильника не обязательно должно быть равным 00:00ч, время последнего будильника в EEPROM памяти, не должно превышать 23:59 ч. Остальные неиспользуемые ячейки EEPROM памяти должны иметь значение больше 23, (24 и более), при программировании микроконтроллера значение ячеек обычно устанавливается равным 0xFF (255).
Период времени указанный в SMS сообщении для режима маяка не должен превышать значения 23:59 (1439 минут), и не должен быть меньше 00:05 (5 минут). В противном случае период по умолчанию составит 1 час.
GPS модуль получает время по Гринвичу, поэтому необходимо задать часовой пояс, в соответствии регионом.
Всего в EEPROM памяти можно задать 61 значений времени для будильника в интервале 00:00-23:59 часов. Если параметры заданы некорректно, или вовсе не заданы, а также в случае выхода за пределы указанные в таблице, то будут использоваться значения по умолчанию.
Рассмотрим второй способ задания параметров с помощью SMS сообщения. При первом включении устройство в течение 5-ти минут читает SMS сообщения на сим-карте, в этот период необходимо отправить нижеприведенное сообщение или предварительно записать его на сим-карту перед включением:
NAST[tek_time]–[Tgsm] –[Tgps] –[Tsms] –[UTC] –[Будильник 1] –[ Будильник 2]–…–[ Будильник 11]
Пример: NAST0850–10–07–05–05–0900–1200–1500–1800–2100–2300
В таком варианте можно задать максимум 11 будильников, последовательность которых должна начинаться с точки отсчета (00:00 ч), как было сказано выше. После считывания сообщения все параметры переписываются в EEPROM память микроконтроллера, если операция прошла успешно светодиоды HL1, HL2 мигают три раза, после чего устройство засыпает. В дальнейшем настройки трекера можно оперативно менять, отправив SMS сообщение с новыми параметрами при пробуждении устройства (во время паузы ожидания SMS или во время ожидания входящего звонка), параметр [tek_time] учитываться не будет (используется только при первом включении трекера), но пропускать его нельзя.
Первоначальный запуск трекера я выполняю следующим образом: для примера возьмем расписание (12.00–15.00–18.00–21.00), параметр [tek_time] я устанавливаю равным 11.50, таким образом, после успешного принятия параметров, трекер проснется через 10 минут. После этого я звоню на него и получаю координаты, время трекера при этом обновляется по данным GPS, далее трекер будет просыпаться по расписанию.
Все SMS сообщения на СИМ карте удаляются, после каждой операции чтения, в целях освобождения места для последующих сообщений.
Если при первом включении микроконтроллер не сможет инициализировать GSM модуль или часы реального времени не будут отвечать на команды, то выполнение программы прекратится (критическая ошибка), при этом будет постоянно мигать светодиод HL2 “Ошибка”.
В дальнейшем при появлении ошибок, программа будет выполнятся дальше пропуская проблемный участок, при этом загорается светодиод HL2 “Ошибка”, который остается включенным после засыпания устройства, и гаснет при последующем пробуждении. Кроме этого микроконтроллер отправляет в реальном времени код ошибки по линии UART. Чтобы отслеживать ошибки с помощью компьютера (а также команды, отправленные на GSM модуль), к устройству можно подключить USB-UART преобразователь в точке TX’ на схеме. Ошибки выдаются в терминал в виде сообщения ERRxx, где xx-код ошибки. В точке RX’ можно отслеживать сообщения, поступающие от модуля к микроконтроллеру.
Кроме индикации, информация об ошибках сохраняется в EEPROM память микроконтроллера. Каждая ошибка занимает в памяти 5 байт (смотрите таблицу выше): первый байт содержит код ошибки (номер), второй и третий байты – дату возникновения ошибки (месяц, день), четвертый и пятый байты – время ошибки (часы и минуты). Под ошибки в EEPROM памяти выделено 128 байт начиная с адреса 0x80 (128), таким образом, микроконтроллер может хранить последние 25 ошибок.
Для уменьшения энергопотребления светодиодную индикацию ошибок можно отключить, для этого левый вывод резистора R4 на схеме, необходимо подключить к общему проводу. Список всех ошибок приведен в текстовом файле, который можно скачать в конце статьи.
Устройство собрано на двухсторонней печатной плате размером 49 x 62 мм, в основном на плате установлены smd элементы. Для питания я использую три пальчиковые батарейки. Все части устройства размещены внутри водонепроницаемого корпуса с размерами 85x58x33 мм (который был приобретен в Китае). В спящем режиме устройство потребляет 90-104 мкА, в режиме ожидания звонка 5,5мА, во время определения координат 60 мА. Один из экземпляров трекера работает у меня около 2 месяцев, при этом по расписанию просыпается 5 раз в сутки, время ожидания входящего звонка составляет 10 минут. Напряжение питания за это время снизилось примерно на 0,3В.
Приведенная в конце статьи прошивка имеет ограничение, координаты можно запросить только 10 раз, после отправки 10-го SMS сообщения с координатами, трекер заснет, и не будет просыпаться. Прошивка со снятыми ограничениями платная, обращайтесь по контактам указанным на странице “Об авторе”, кроме этого могу собрать трекер на заказ.
Главная » Как установить проводной GPS-трекер |
Существует два типа GPS-трекеров: проводные и портативные устройства слежения. Портативные устройства являются беспроводными и питаются от батареи, поэтому их можно легко перемещать, но с проводным подключением. отслеживание транспортных средств устройства питаются от транспортного средства, которое они отслеживают, и должны быть подключены. Читайте дальше, чтобы узнать, как установить проводной GPS-трекер.
Прежде всего, вы должны решить, где будет установлен трекер. Многие бизнес-клиенты предпочитают иметь отслеживание флота системы, установленные там, где устройство скрыто от их драйверов. В таких случаях устройство можно разместить под приборной панелью большинства автомобилей и грузовиков (у некоторых импортных моделей высокого класса под приборной панелью имеется металлическая фольга — в этом случае крепление под приборной панелью не подойдет). Сигнал GPS проникает через стекло, пластик, пенопласт, стекловолокно и дерево, но не через металл (поэтому никогда не кладите его под капот автомобиля или грузовика).
Держите GPS-трекер как можно дальше от любых электронных устройств, таких как радиоприемники. Это устранит любую возможность обратной связи, когда устройство ведет передачу. При установке слишком далеко под приборной панелью качество сигнала GPS-трекера может ухудшиться. Хотя он по-прежнему может работать в районах с сильным покрытием беспроводной передачи данных, в районах с ограниченным покрытием беспроводной связи ваше устройство не сможет обмениваться данными.
Чтобы начать установку, поместите устройство слежения за транспортным средством под приборной панелью у основания лобового стекла (оптимальное размещение устройства). Для достижения наилучших результатов рассмотрите возможность использования стяжки для фиксации трансивера, чтобы предотвратить его падение из-под приборной панели.
Надежно прикрепите жгут проводов к трансиверу и найдите постоянный источник питания 12 В постоянного тока (см. схему подключения для конкретного устройства). Используйте метод «тыкать и оборачивать», чтобы подключить постоянный источник питания 12 В постоянного тока к красному проводу на устройстве слежения. Затем найдите на транспортном средстве провод зажигания/аксессуаров (см. электрическую схему для конкретного устройства) и подключите его к белому проводу на устройстве. Наконец, подключите заземляющий провод (см. схему подключения для конкретного устройства) к заземляющему проводу на устройстве.
Питание для вашего устройства слежения должно быть снято непосредственно с колонки зажигания, где вы найдете постоянную мощность и зажигание. Это самый чистый источник питания для устройства. Не используйте радиостанцию в качестве источника питания для любого из проводов питания. Никогда не соединяйте белый и красный провода вместе и не подключайте их к постоянному источнику питания. Белый провод должен быть присоединен к проводу зажигания/аксессуаров.
Для своих клиентов LiveViewGPS ведет список проверенных профессиональных установщиков GPS-трекеров.
LiveViewGPS, Inc. предоставляет беспроводные GPS-трекер системы для малого и крупного бизнеса, правоохранительных органов и семейной безопасности. Некоторые из их услуг включают отслеживание оборудования в реальном времени и отслеживание автомобиля мониторинг через компьютер или мобильное устройство, такое как мобильная платформа Apple iPhone iOS и Droid OS.
GPS ПРОДУКТЫ |
GPS ОТСЛЕЖИВАНИЕ ТРАНСПОРТНЫХ СРЕДСТВ, АВТОМОБИЛЕЙ И АВТОМОБИЛЕЙ |
ПРОФЕССИОНАЛЬНО И ПЕРСОНАЛЬНОЕ GPS-ОТСЛЕЖИВАНИЕ |
GPS ОТСЛЕЖИВАНИЕ АКТИВОВ |
GPS ОСОБЕННОСТИ И ПРЕИМУЩЕСТВА ОТСЛЕЖИВАНИЯ |
АРХИВЫ |
— Реклама —
Создаем систему слежения за автотранспортом с использованием GPS и GSM на базе микроконтроллера ATMega16.
Содержимое 1) Введение в систему слежения за транспортными средствами на основе GPS 2)Система слежения за транспортными средствами с использованием GPS: области применения и преимущества 3) GPS и GSM 4) Объяснение схемы 5)Программное обеспечение 6) Система слежения за транспортными средствами на основе GPS: строительство и испытанияСистема слежения за транспортными средствами с использованием GPS
Это более дешевое решение, чем система двусторонней связи GPS, в которой связь осуществляется в обоих направлениях со спутниками GPS. В этом проекте используется только одно устройство GPS, а двусторонняя связь достигается с помощью модема GSM. GSM-модем с SIM-картой реализует ту же технологию связи, что и обычный мобильный телефон.
Список компонентов для системы слежения за транспортными средствами на основе GPS— Реклама —
Систему можно установить или установить в автомобиле в скрытом или подходящем отсеке. После этой установки вы можете легко отслеживать свой автомобиль с помощью мобильного телефона, набрав номер мобильного телефона SIM-карты, подключенной к GSM-модему. Вы автоматически получите местоположение автомобиля в виде SMS (короткого сообщения) на свой мобильный телефон.
Эта система позволяет отслеживать ваш автомобиль в любое время и в любом месте. Независимо от того, являетесь ли вы владельцем компании с парком из сотен автомобилей или у вас есть дорогостоящее оборудование, и вы хотите следить за ними, эта система отслеживания может информировать вас о состоянии без вашего фактического присутствия на сайте.
Ниже представлена блок-схема системы слежения за автотранспортом на базе GSM с использованием GPS.
Рис. 1: Блок-схема системы слежения за транспортными средствами на базе GSM и GPS Приложения и преимущества 1. Вы можете легко найти угнанный автомобиль с помощью мобильного телефона без каких-либо дополнительных затрат.
2. Его можно использовать для грузовых автомобилей, перевозящих ценные товары, чтобы в любое время отслеживать статус доставки и местонахождение грузовика.
3. Устройство обеспечивает безопасность транспортных средств и бесперебойное управление автопарком.
4. Вы можете легко установить его на любое транспортное средство, такое как автомобили, лодки и мотоциклы. SMS сообщит вам, находится ли автомобиль на месте или в движении.
5. Вы также можете использовать его, чтобы следить за своим водителем. Это снижает злоупотребление транспортными средствами и в конечном итоге приводит к значительной экономии средств для частных лиц, владельцев автопарков и т.п.
Прежде чем углубляться в детали работы над проектом, давайте обсудим некоторые основы технологий GPS и GSM.
GPS — глобальная система позиционированияGPS — это спутниковая навигационная система космического базирования. Он предоставляет информацию о местоположении и времени при любых погодных условиях, в любом месте на Земле или вблизи нее. Приемники GPS широко используются для навигации, позиционирования, распространения времени и других исследовательских целей.
GPS состоит из спутников, вращающихся вокруг Земли. Эти спутники являются геосинхронными с периодом обращения, равным периоду вращения Земли. Таким образом, они сохраняют точно такое же положение по отношению к земле под ними. Все спутники GPS передают радиосигналы, которые затем перехватываются приемником GPS и используются для расчета их географического положения. Для вычисления четырех измерений X, Y и Z (широта, долгота и высота) и времени может потребоваться как минимум четыре спутника. Приемник GPS преобразует полученные сигналы в положение и оценивает время и другую полезную информацию в зависимости от приложения и требований.
GPS определяет расстояние между спутником GPS и приемником GPS, измеряя количество времени, которое требуется радиосигналу (сигналу GPS) для прохождения от спутника до приемника. Для получения точной информации спутники и приемник используют очень точные часы, которые синхронизируются для генерации одного и того же кода в одно и то же время.
Если точность важна, вам нужен GPS с возможностью глобальной системы дополнений (WAAS). Это спутниковая служба, предоставляющая дополнительную корректирующую информацию приемнику GPS для повышения его точности.
Перед покупкой GPS-приемника полезно знать поддерживаемые им протоколы. Некоторые популярные протоколы для приемников GPS:
Протоколы GPS NMEA 0183Стандартный промышленный протокол является общим для морских приложений, определенных Национальной ассоциацией морской электроники (NMEA), США. NMEA обеспечивает прямую совместимость с другими устройствами с поддержкой NMEA, такими как картплоттеры и радары.
TSIP (стандартный протокол интерфейса Trimble)Протокол двоичных пакетов, который позволяет разработчику настраивать и контролировать GPS-приемник для достижения оптимальной производительности в любом количестве приложений.
TAIP (протокол интерфейса Trimble ASCII)Разработан специально для приложений отслеживания транспортных средств. Это двунаправленный протокол, использующий простые команды ASCII с соответствующими ответами ASCII.
Модем GSMGSM — это набор стандартов, разработанный Европейским институтом телекоммуникационных стандартов (ETSI) для описания технологий цифровых сотовых сетей второго поколения (2G).
GSM-модем — это особый тип модема, который принимает SIM-карту и работает по подписке мобильного оператора, как мобильный телефон.
GSM-модемы являются экономичным решением для приема SMS-сообщений, поскольку отправитель платит за доставку сообщения. Для выполнения этих задач модем GSM должен поддерживать расширенный набор AT-команд для отправки и получения SMS-сообщений, как определено в спецификациях ETSI GSM 07.05 и 3GPP TS 27.005.
Следует также отметить, что не все телефоны поддерживают этот интерфейс модема для отправки и получения SMS-сообщений, особенно большинство смартфонов, таких как мобильные устройства Blackberry, iPhone и Windows.
Рекомендуется: Полная информация о GPS и GSM
Система слежения за транспортными средствами с использованием GPS – принципиальная схемаНа рис. 2 показана схема системы слежения за транспортными средствами на основе GSM и GPS. Он состоит из микроконтроллера, модуля GPS, модема GSM и источника питания постоянного тока 9 В. Модуль GPS получает информацию о местоположении со спутников в виде широты и долготы. Микроконтроллер обрабатывает эту информацию и отправляет ее модему GSM. Затем GSM-модем отправляет информацию на мобильный телефон владельца.
Рис.2 Принципиальная схема системы слежения за транспортными средствами с использованием GPS Микроконтроллер ATmega16Микроконтроллер ATmega16 (IC2) является сердцем проекта и используется для взаимодействия с различными периферийными устройствами. Это 8-разрядный микроконтроллер CMOS с низким энергопотреблением, основанный на архитектуре RISC, улучшенной AVR.
Рис. 3: GPS-модуль iWaveРис. 4: GSM-модем SIM300. МикроконтроллерATmega16 соединен последовательно с модулем GPS и GSM-модемом. Модуль GPS выводит много данных, но в этом проекте микроконтроллер считывает и обрабатывает только данные NMEA. Обработанные данные отправляются на мобильный телефон пользователя через модем GSM.
Эта система слежения за транспортными средствами на основе GPS реализует протокол RS-232 для последовательной связи между микроконтроллером, GPS и GSM-модемом. Последовательный драйвер IC MAX232 (IC3) используется для преобразования уровней напряжения RS-232 в уровни напряжения TTL.
Номер мобильного телефона пользователя должен быть включен в исходный код, написанный для микроконтроллера. Таким образом, номер мобильного телефона пользователя находится во внутренней памяти MCU.
GPS-модуль iWaveВ этом проекте мы использовали GPS-модуль iWave (см. рис. 3). GPS всегда передает данные на микроконтроллер. Передающий контакт TXD GPS подключен к микроконтроллеру через MAX232. NMEA определил стандарт связи RS-232 для устройств, в состав которых входят приемники GPS. GPS-модуль iWave поддерживает стандарт NMEA-0183, который является частью протокола NMEA. Он работает на частоте L1 (1575,42 МГц) и выдает информацию с точностью до 10 метров на открытом небе. Антенна должна быть размещена на открытом пространстве, а видимость из космоса должна быть не менее 50 процентов.
GSM-модемВ этой системе слежения за транспортными средствами с использованием GPS используется GSM-модем SIM300 (см. рис. 4). Модем GSM передает и принимает данные. Модем SIM300 представляет собой трехдиапазонный модуль GSM/GPRS, работающий на частотах EGSM 900 МГц, DCS 1800 МГц и PCS 1900 МГц.
Передающий контакт TXD и приемный контакт RXD модема GSM подключены к микроконтроллеру (IC2) через MAX232 (IC3). Вывод PD0 (RXD) порта микроконтроллера и вывод PD1 (TXD) порта микроконтроллера подключены к контактам 12 и 10 MAX232 соответственно.
Источник питанияСхема питается от батареи 9В. Регулятор 7805 (IC1) используется для преобразования 9В в 5В. Микроконтроллер и MAX232 питаются от 5В. LED1 указывает на наличие питания.
Схема устройства слежения за транспортными средствами на основе GPS — конструкция печатной платыНиже вы можете увидеть схему печатной платы и компоновку компонентов в проекте.
Рис. 5: Односторонняя печатная плата реального размера для схемы слежения за транспортными средствами на основе GSM и GPSРис. 6: Компоновка компонентов для печатной платыПрограмма для микроконтроллера написана на языке «C» и скомпилирована с помощью AVR Studio. Номер мобильного телефона пользователя должен быть включен в исходный код, чтобы принимать вызов с SIM-карты, используемой в GSM-модеме. Шестнадцатеричный код программы записывается в микроконтроллер с помощью программного обеспечения PonyProg2000. Для этого можно использовать любой другой подходящий инструмент.
Модуль GPS со скоростью 9600 бод используется для приема данных со спутников, что определено в программном обеспечении. Программное обеспечение разработано для декодирования протокола NMEA. Этот протокол включает в себя набор сообщений, которые используют набор символов ASCII и имеют определенный формат, который постоянно отправляется модулем GPS на интерфейсное устройство.
Модуль или приемник GPS предоставляет данные в виде строк сообщений ASCII, разделенных запятыми. Каждое сообщение начинается со знака доллара «$» (шестнадцатеричный 0x24) и заканчивается (шестнадцатеричный 0x0D 0x0A).
Выходное сообщение программного обеспечения включает в себя фиксированные данные глобальной системы позиционирования (GGA) и географическое положение широта/долгота (GLL). В этом проекте мы будем использовать только GGA.
Обратите внимание, что информация о широте и долготе представлена в формате «градусы, минуты и десятичные минуты» как ддмм. мммм. Однако для большинства картографических приложений требуется, чтобы долгота и широта были выражены в десятичных дробях, градусах, в формате «дд.дддддд» с соответствующим знаком (отрицательным для южной широты и западной долготы). Поэтому в программном обеспечении требуется какое-то преобразование, если вам нужен определенный формат.
Стандарт NMEA объясняет, как формируется каждая строка сообщения со знаком доллара ($), который предшествует каждому новому сообщению GPS.
Например, $GPGGA,002153.000, 3342.6618, N, 11751.3858, W где $GPGGA — заголовок протокола GGA, 002153.000 — время UTC в формате ччммсс.сс, 3342.6618 — широта фиксированных данных о местоположении GPS в формате ддмм.мммм 11751.3858 — это долгота фиксированных данных о местоположении GPS в формате ддмм.мммм, где «N» означает север, а «W» — запад.
С помощью этих данных вы можете узнать точное местоположение с помощью карты или использовать бесплатное программное обеспечение для проверки местоположения.
Конструкция и испытанияСхема односторонней печатной платы GPS и схемы слежения за транспортными средствами на основе GPS в реальном размере показана на рис. 5, а схема ее компонентов показана на рис. 6.
Соберите компоненты на печатной плате с базами микросхем для ATmega16 и MAX232. Запишите код в микроконтроллер и смонтируйте его на печатной плате. Вставьте SIM-карту с достаточным балансом в модуль GSM. Подключите цепь, как показано на рис. 2.
ПроверкаЕсли вы ищете разницу между микропроцессором и микроконтроллером, вы можете прочитать ее здесь.
Эта статья является частью 15+ лучших проектов микроконтроллеров. Если вы хотите прочитать больше проектов на базе микроконтроллеров, вы можете пройти эту статью.
Лалит Пракаш Ватсал – третий год обучения с двойным дипломом (электроника и техника связи) ИИТ, Рурки, принц Гупта – второй год бакалавра технических наук (электротехника) ИИТ, Раджастхан, а Сани Тео работает в EFY Lab в качестве руководителя команды.