Оглавление:
- Шаг 1. Аппаратное обеспечение
- Шаг 2: Программное обеспечение (программа Arduino)
- Шаг 3: Дополнительное программное обеспечение (получение местоположения GPS на стороне сервера)
- Шаг 4. Еще больше программного обеспечения (мобильное приложение)
- Шаг 5: Дальнейшая работа
Видео: Полная автомобильная противоугонная система GPS + GPRS на базе Arduino: 5 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Всем привет!
Я хотел создать комплексное решение для автомобильного противоугонного устройства 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. В противном случае начните с этого руководства: на 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, чтобы наслаждаться отслеживанием в супер-реальном времени:)
Надеюсь, вам понравился мой первый урок!
Рекомендуемые:
Компактный датчик погоды с каналом передачи данных GPRS (SIM-карта): 4 шага
Компактный датчик погоды с каналом передачи данных GPRS (SIM-карта): Краткое описание проекта Это датчик погоды с питанием от батареи, основанный на датчике температуры / давления / влажности BME280 и микроконтроллере ATMega328P. Он работает от двух литий-тиониловых батареек AA на 3,6 В. Он имеет сверхнизкое потребление в режиме сна - 6 мкА. Он отправляет данные
Руководство по модулю A9G GPS и GPRS - Ай-Мыслитель - AT-команды: 7 шагов
Руководство по модулю A9G GPS и GPRS | Ай-Мыслитель | AT-команды: Эй, как дела, ребята! Акарш от CETech. Сегодня мы рассмотрим модуль A9G GPS, GSM и GPRS от AI Thinker. Есть несколько других модулей, таких как A9 и A6 от AI Thinker, которые имеют аналогичные возможности GSM и GPRS, но
Электронная камера Arduino Security 3G / GPRS с обнаружением движения: 4 шага
Электронная камера Arduino Security 3G / GPRS с обнаружением движения: в этом руководстве я хотел бы рассказать об одной из версий построения системы охранного наблюдения с датчиком движения и отправки фотографий в почтовый ящик через экран 3G / GPRS. другие инструкции: инструкция 1 и инструкция
Регистрация температуры и влажности Arduino и SIM900 GSM GPRS 3G, мобильная статистика: 4 шага
Arduino и SIM900 GSM GPRS 3G Регистрация температуры и влажности, мобильная статистика: с Arduino UNO R3, SIM900 Shield И DHT22 вы можете совершенно бесплатно регистрировать данные о температуре и влажности на улице, в комнате, теплице, лаборатории, охлаждающей комнате или в любых других местах. Этот пример мы будем использовать для регистрации температуры и влажности в помещении. Устройство будет
Настройка Sciphone I68 GPRS + MMS для всех стран: 8 шагов
Настройка Sciphone I68 GPRS + MMS для всех стран: Sciphone i68 + - очень хороший клон когда-либо популярного iphone по сниженной цене. Это руководство покажет вам, как легко настроить параметры GPRS и MMS на вашем sciphone i68, чтобы вы могли отправлять и получать графические сообщения и просматривать страницы i