Оглавление:

Полная автомобильная противоугонная система GPS + GPRS на базе Arduino: 5 шагов (с изображениями)
Полная автомобильная противоугонная система GPS + GPRS на базе Arduino: 5 шагов (с изображениями)

Видео: Полная автомобильная противоугонная система GPS + GPRS на базе Arduino: 5 шагов (с изображениями)

Видео: Полная автомобильная противоугонная система GPS + GPRS на базе Arduino: 5 шагов (с изображениями)
Видео: Противоугонная защита автомобиля с помощью GSM и GPS с проверкой отпечатков пальцев с использованием Raspberry Pi Pico 2024, Ноябрь
Anonim
Image
Image
Аппаратное обеспечение
Аппаратное обеспечение

Всем привет!

Я хотел создать комплексное решение для автомобильного противоугонного устройства GPS, которое будет:

как можно дешевле

как можно более полный

поскольку это-просто-работает-больше нечего делать, насколько это возможно

В итоге я создал решение на базе Arduino, которое обошлось мне в 25 долларов, более или менее.

Как видно из видео, это просто работает! Вы заводите машину, получаете уведомление на свой мобильный телефон о том, что машина движется, затем вы открываете мобильное приложение и видите, как машина движется в реальном времени (с задержкой обновления 10 секунд).

Это руководство проведет вас через все шаги, помня, что в решении есть несколько компонентов:

1) аппаратное обеспечение (на базе Arduino)

2) программное обеспечение (программа Arduino)

3) дополнительное программное обеспечение (получение местоположения GPS на стороне сервера)

4) еще больше программного обеспечения (мобильное приложение)

Давайте начнем..

Шаг 1. Аппаратное обеспечение

Аппаратное обеспечение
Аппаратное обеспечение

Список покупок:

1) Arduino Uno R3 или клон. Я использовал клон «DCcEle DCcduino uno», который, похоже, больше не доступен. Вот аналог: на Алиэкспресс - 3,75 $

2) Модуль GPS для Arduino (новый модуль GPS GY-NEO6MV2 с EEPROM управления полетом MWC APM2.5, большая антенна NEO6MV2). Я использовал это: на Алиэкспресс - 6.66 $

3) Блок GPRS / GSM для Arduino (SIM800L V2.0 5V Wireless GSM GPRS MODULE Quad-Band W / Antenna Cable Cap). Я использовал это: на Алиэкспресс - 6,71 $

4) Запасные кабели dupont такие: на Алиэкспресс - 0.89 $

5) Сим-карта данных IoT (или любая другая сим-карта с подключением к данным). Я использовал это: от Hologram.io. У меня есть бесплатный разработчик, только платная доставка - 7,50 $

Итого: 25,51 $, но кабели у меня уже были, так что это меньше 25 $!

На двух фотографиях показаны компоненты перед сборкой и конечный продукт. Вам необходимо установить следующие соединения:

Ардуино - SIM800L

10 - СБРОС

GND - GND (2 из них)

5–5 в

7 - SIM_TXD

8 - SIM_RXD

Ардуино - GY-NEO6MV2

GND - GND

5 В - VCC

3 - RX

4 - TX

Подключите все кабели и антенны и убедитесь, что вы включаете Arduino от источника, способного выдавать пики в 2 А. Компьютерный usb почти не работает (я использую MacBook Pro), «случайного» зарядного устройства для телефона будет недостаточно. Большинство автомобильных розеток USB также имеют ток менее 1 А. Если это ваш случай, вам также понадобится автомобильный блок питания на 12 В и 5 В с током не менее 2 А.

Вставьте сим-карту. Если вы используете сим-карту Hologram.io, убедитесь, что вы зарегистрировались на их панели управления и активировали сим-карту (это займет несколько минут / часов).

Шаг 2: Программное обеспечение (программа Arduino)

Программное обеспечение (программа Arduino)
Программное обеспечение (программа Arduino)

Я предполагаю, что вы знакомы с программированием Arduino. В противном случае начните с этого руководства: на Instructables.

Вам нужна только одна внешняя библиотека, мне пришлось установить ее вручную. Перейдите сюда: TinyGPS, экспортируйте библиотеку и установите ее в локальную папку Arduino.

Оттуда мы собираемся «украсть» некоторый код из их базового примера и модифицировать его для наших целей.

Затем мы собираемся «украсть» это руководство и снова изменить код для наших целей.

Результат - прикрепленная программа.ino.

Есть несколько вещей, которые вы можете и НЕОБХОДИМО настроить:

"СЕКУНДЫ" определяют, а "СЕРВЕР" определяют.

Я установил SECONDS равным 10, и вот почему: программа для разработчиков Hologram.io предоставляет 1 МБ бесплатных данных в месяц. Это означает, что мы хотим минимизировать количество отправляемых байтов, но нам также нужно так часто обновлять нашу позицию. Мы собираемся использовать стандартные команды AT-модема для отправки UDP-пакетов на наш сервер, получающий сообщения, с широтой и долготой, каждый из которых использует 4 байта, а скорость - 1 байтом. Таким образом, общее обновление GPS составляет 20 байтов (заголовок IP) плюс 8 байтов (заголовок UDP) плюс 9 байтов (полезная нагрузка). Это 37 байт. Предполагая, что моя машина активна не более 2 часов в день, я могу позволить себе обновление каждые 10 секунд и потреблять всего 806 КБ в месяц (31 день). Это дает мне 218кб на время вождения по сравнению со своим, то есть угонщиком. Это дает мне 16,76 часов мониторинга GPS вне времени вождения, с одним обновлением каждые 10 секунд.

Теперь эти UDP-пакеты должны куда-то идти. Я использую сервер Ubuntu, размещенный в облаке CloudAtCost, который я купил за 8 долларов со скидкой 80% и который служит мне для других целей, поэтому не входит в расчет стоимости. Если вы не хотите платить за сервер, вы можете получить бесплатный экземпляр Amazon AWS на 12 месяцев и установить на него Ubuntu. После настройки сервера (см. Следующий шаг) получите его статический IP-адрес и поместите его рядом с определением СЕРВЕРА.

Шаг 3: Дополнительное программное обеспечение (получение местоположения GPS на стороне сервера)

И CloudAtCost, и Amazon поставляются с предварительно настроенным образом Ubuntu (CloudAtCost находится в Ubuntu 14.04). Поэтому я не буду описывать шаги по установке Ubuntu, потому что вам не придется. Если вы используете CloudAtCost, вы можете перейти на Ubuntu 16.04, это делается с помощью

sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

Затем вам нужно установить LAMP (см. Это руководство: здесь), хотя мы не собираемся использовать PHP.

Установите Python с

sudo apt-get install python-minimal pip

Затем добавьте пару модулей:

pip install --user urllib3 requests

Нам нужно установить / var / www для записи вами, так что давайте сделаем:

sudo adduser ВАШ_ПОЛЬЗОВАТЕЛЬ www-datasudo chown -R www-data: www-data / var / www

sudo chmod -R g + rwX / var / www

Теперь нам нужен «сервер» для i) приема пакетов UDP, ii) создания трека, iii) отправки уведомления на наш мобильный телефон и «сервера» для обслуживания созданного трека GPS (это будет apache).

Для первого сервера скопируйте прикрепленный код Python. Вам необходимо настроить следующее:

iftttuser = "ВАШ ПОЛЬЗОВАТЕЛЬ IFTTT"

iftttpass = "ВАШ ПАРОЛЬ IFTTT"

iftttappletid = "ВАШЕ ПРИЛОЖЕНИЕ ДЛЯ УВЕДОМЛЕНИЯ IFTTT"

iftttkey = "ВАШ КЛЮЧ IFTTT"

iftttevent = "ВАШЕ СОБЫТИЕ IFTTT"

Как вы уже догадались, мы используем IFTTT для отправки уведомлений в режиме реального времени на наши мобильные телефоны. Следуйте этому руководству: здесь, но вместо того, чтобы выбирать «отправить мне sms», выберите «отправить уведомление приложения». Получите идентификатор своего апплета (прокрутите его внизу конфигурации апплета, чтобы увидеть его) и используйте его выше. Используйте также созданный таким образом ключ в настройках выше. Событие IFTTT - это имя, которое вы дали своему апплету, я дал ему "carmoving".

Сейчас нет бесплатных платформ для уведомлений в реальном времени, AFAIK. Если вы знаете об одном, дайте мне знать. IFTTT имеет задержку. Эту задержку можно уменьшить до нескольких секунд, если использовать триггер электронной почты. К сожалению, это ненадежно. Только что созданный веб-перехватчик имеет задержку 15 минут. Но мы же не хотим ждать 15 минут, чтобы узнать, что нашу машину угоняют, верно? Это пароль для того, чтобы просить вас установить все вышеперечисленные настройки. Если вы прокрутите код Python, вы увидите, что есть несколько строк, а именно 45-53, для автоматизации функции «Проверить сейчас» IFTTT, которая вызывает внезапную проверку триггеров и запускает уведомление менее чем за 1 секунду! Пожалуйста:)

После того, как вы где-нибудь настроили свой код Python, просто запустите его. Если вы профессиональный пользователь, запустите его при загрузке сервера. Обратитесь к множеству бесплатных руководств в Интернете, чтобы узнать, как это сделать, например, к этому.

Шаг 4. Еще больше программного обеспечения (мобильное приложение)

Еще больше программного обеспечения (мобильное приложение)
Еще больше программного обеспечения (мобильное приложение)
Еще больше программного обеспечения (мобильное приложение)
Еще больше программного обеспечения (мобильное приложение)
Еще больше программного обеспечения (мобильное приложение)
Еще больше программного обеспечения (мобильное приложение)
Еще больше программного обеспечения (мобильное приложение)
Еще больше программного обеспечения (мобильное приложение)

Нам нужен быстрый и простой способ просто визуализировать GPS-трек, который сервер на предыдущем шаге обновляет. Возможно, он должен работать на всевозможных смартфонах.

Затем давайте воспользуемся кроссплатформенным набором мобильных приложений, например Ionic / Cordova. Я использую Ionic v1, не путайте его с Ionic Native или Ionic v2, это другое дело.

Выполните следующие очень простые шаги, чтобы начать свой первый проект на Ionic: здесь.

Затем вам нужно начать новый проект на основе SDK карт Google, например:

ионный старт карты myapp

Зайдите в папку «resources» и скопируйте сюда большое изображение автомобиля как «icon.png». Вместо этого загрузите маленькие значки как «car2.png» и «start.png» где-нибудь на вашем сервере, например https://yourserver/car2.png. Они понадобятся вам в качестве маркеров в вашем приложении.

Используйте прикрепленные файлы index.html (переименуйте index.html.txt в index.html), directives.js и controllers.js и поместите их в файлы www (index.html), www / js (все js).

добавьте свою платформу следующим образом:

ионный добавить платформу android

построить так:

ионная сборка android

Тогда ionic сообщит вам, где он создал ваш.apk, который вы можете установить на свой мобильный телефон.

Для сборки для iOS вам понадобится Mac и Xcode. Затем ionic может сохранить проект Xcode, который вы можете открыть в Xcode и собрать для своего телефона. Если у вас нет учетной записи разработчика iOS, вам придется подключить свой телефон к Xcode и настроить телефон для разработки, чтобы иметь возможность установить там приложение. Это выходит за рамки данного руководства.

В различных файлах js вам нужно будет найти строки, соответствующие «car2.png» и «start.png», и изменить их, указав путь к вашим изображениям. То же самое для "plan.json".

Вот и все!!

Шаг 5: Дальнейшая работа

1) Я положил все в картонную коробку, которую можно спрятать где угодно рядом с розеткой usb. Лучше всего установить под капот автомобиля лучший корпус с преобразователем 12В-> 5В.

2) С датчиком bluetooth вы действительно можете «почувствовать», находитесь ли вы в машине, поэтому система GPS не включается.

3) Просто заплатите за тарифный план sim-данных и установите SECONDS на 1, чтобы наслаждаться отслеживанием в супер-реальном времени:)

Надеюсь, вам понравился мой первый урок!

Рекомендуемые: