neo 6m gps модуль подключение к ESP8266. Простая автосигнализация.

neo 6m gps модуль подключение к ESP8266. Простая автосигнализация.

Сегодня рассмотрим простой пример подключения GPS модуля к плате ESP8266. Нам вообще надо будет подключить всего 1 провод. Ну а если точнее то 3. Два из которых питание. Кроме подключения мы сегодня рассмотрим простой пример автосигнализации. Мы определим координаты места где будет стоять ваша ласточка, а потом укажем область при выезде из которой сработает сигнализация.
Это продолжение предыдущего видео, где я рассказывал как подключить к Ардуино, какие библиотеки использовать и где их можно скачать. А также о проблемах с которыми можно столкнуться при первом подключении GPS модуля.

Давайте посмотрим схему. Хотя там и смотреть-то нечего.

Схема подключения GPS модуля NEO-6
TX модуля соединяем с RX ESP8266.
Питание подаём на 3,3 вольта или на 5 вольт, в зависимости от вашего модуля. Я питаю от 5 вольт, поэтому подключил на контакт VIN.
Светодиод я подключил через резистор к выводу D1, а другой вывод на землю.

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

Теперь 5 секунд скетча.
Кто смотрел предыдущее видео, тому не надо объяснять где взять библиотеку.
Перейдём сразу к описанию сигнализации.
Сюда записываем координаты где будет стоять машина. Широту и долготу.
А это зона безопасности. Если машина выехала за пределы, то загорится светодиод. Вы же можете вместо светодиода подключить например реле и гудок от машины или ещё что-нибудь.

В коде каждая строчка имеет комментарий, так что нет смысла объяснять что и за что отвечает.

Здесь мы получаем координаты и присваиваем их переменным.
Рассмотрим условия. И если я ничего не напутал, то всё должно работать.
Сравнивать будем с переменной Радиус.
Если текущая долгота больше чем та что в коде. То вычитаем из неё оригинал и если он больше чем радиус, то машина выехала за пределы.
Если текущая долгота меньше чем та что в коде. То вычитаем из оригинал текущую и если она больше чем радиус, то машина выехала за пределы. Для ширины проделываем такие же вычисления.
Ну, а это функции отвечающие за включение и отключения сигнализации. Если условие верно, то включить сигнал, если ложно, то выключить.

Сначала давайте определим область срабатывания сигнализации. Для этого откроем карту. Яндекс или Гугл не важно. Я буду делать на Яндекс карте.

область работы GPS модуля

Установим точку где будет стоять машина. Эти координаты потом вставим в скетч.
В примере я сделал область, где будет менять 4 символ после запятой. Посмотрим, как это будет выглядеть на карте.
Я по очереди буду менять 4 символ на 1 единицу, и линейкой измерю расстояние от точек.
Сначала широта. Основная точка была 70. Я проверю расстояние с координатами 60 и 80.
У меня получилось по 11 метров в каждую сторону.
Теперь поставим в начальную точку и проделаем тоже самое с долготой. Прибавим единицу и отнимем единицу.
Также измерим линейкой, чтобы знать каков размах значений. Здесь расстояние получились почти в два раза меньше. Всего 12, 5 метров, по 6 в каждую сторону. Я не географ, поэтому не знаю почему так. Кто знает напишите в комментариях.
Теперь очертим область за которой сработает сигнализация.
После некоторого времени, я понял, что область должна быть больше, если не хотите постоянно просыпаться и бежать к окну, смотреть там ли ваша прелесть. Так что с настройкой придётся повозиться.

Теперь давайте посмотрим, как это работает.
За то время, что я снимал это видео, я внёс некоторые изменения в скетч.
Во-первых я добавил 5 секундную паузу. Я думаю, что так часто слать данные никчему. Это не delay, а millis, поэтому программу это никак не затормозит.
И ещё добавил паузу в 100 миллисекунд, а то часто было переполнение стека и в монитор порта сыпался мусор.
На качестве работы скетча это никак не отразилось.
Так как запуск GPS модуля был не холодный, а тёплый, то координаты подхватились практически мгновенно, за пару секунд.
Датчик находится в допустимых пределах. Как я говорил ранее, Менять 4 знак- это слишком мало, было слишком много ложных срабатываний. Поэтому я здесь поменял 3 знак после запятой. Вы же должны будете настроить систему под себя.
Давайте теперь посмотрим соответствует ли координаты зоне безопасности.
Если значение TRUE то сигнализация сработает, если FALSE - нет.
Проверим ещё значение на новой выборке.
Значения Широта и долгота являются Ложью, потому что GPS датчик находится в допустимой зоне. Давайте теперь посмотрим, что будет если датчик выйдет из зелёной зоны.
Для срабатывания нам необходимо, чтобы хотя бы одно значение было Истина, что мы сейчас и видим.
Давайте ещё раз проверим на других значениях.

И так. Что мы сегодня изучили.
Мы научились подключать GPS модуль к плате ESP8266, и начали разрабатывать сигнализация на автомобиль с привязкой к географическим координатам. Пока это просто прототип. Но со временем, мы будем усовершенствовать её. Добавим GPS логер, который будет записывать передвижение машины, то есть маршрут, скорость движения и пройденное расстояние.  Сделаем возможность отправлять данные о своём местоположении на телефон или с сохранением в базу данных. И многое другое.

Если вам нравятся мои видео, то вы можете помочь в развитии канала став его спонсором. Все ваши вклады пойдут на закупки новых модулей. Вам же за это будут предоставлены дополнительные бонусы, и они довольно интересные.
Сейчас я собираю ваши взносы на покупку GSM модуля SIM800 и OLED индикатор, и если вы хотите чтобы видео с этими изделиями вышли побыстрее, то можете поучаствовать в их закупке.
Вы видите ссылки на видео, которые, я думаю будут вам интересны. Перейдя на любое из этих видео вы узнаете что-то новое, а ещё поможете мне. Ведь любой ваш просмотр - это знак YOUTUBE, что это кому-то интересно и что его надо показывать чаще.
Спасибо.
А пока на этом всё.

 

Скетчи