GPS-трекер на базі ESP8266


25.07.2017

GPS-трекер на базі ESP8266 з SD-карткою та web-інтерфейсом

 Схема GPS-трекера на базі ESP8266 GPS-трекер на базі ESP8266 Цей приклад демонструє, як можна зробити простий GPS-трекер за допомогою популярних електронних модулів. У цьому прикладі використовується Wi-Fi модуль ESP-12 на базі чіпа ESP8266. Прошивка NodeMCU та LUA-скрипти з відкритим кодом.

Функції GPS-трекера

  • Зберігає GPS-треки у форматі GPX
  • Може зберігати GPS-треки на SD-картку або у внутрішню флеш-пам`ять Wi-Fi модуля
  • Налаштування та перегляд треків через web- інтерфейс
  • Завантаження файлів GPX на комп`ютер через web - інтерфейс
Примітка: GPS-трекер у чистому вигляді може бути не дуже цікавим, оскільки будь-який сучасний смартфон здатний писати GPS-треки. Але цей приклад може стати основою для більш просунутих проектів. Ви можете до цього проекту додати датчики (датчик шуму, газоаналізатор, детектор випромінювання та ін.), та записувати дані вимірювань разом із геоданими, тобто з прив’язкою до місцевості. А потім будувати діаграми вимірювань прямо на географічних картах схожі на таке: GPS-трекер на базі ESP8266. Графік

Необхідні компоненти

  • Плата NodeMCU з модулем ESP-12E або аналогічна
  • GPS-модуль GY-NEO6MV2 або аналогічний
  • Адаптер карти MicroSD (не обов`язково)
  • Powerbank або будь-яка інша система живлення
  • З`єднувальні дроти

Прошивка і скрипти

Спершу у ESP8266 треба завантажити програмне забезпечення і тільки після цього зберати схему. Мається на увазі, що ви знаєте, як завантажити прошивку NodeMCU в ESP8266, і ви знаєте, як завантажувати файли в NodeMCU. Будь ласка, завантажте файли прошивки NodeMCU тут: https://github.com/avislab/NodeMCUExamples/tree/master/GPSTracker/FirmwareNodeMCU А потім завантажте їх до ESP8266. Це можна зробити різними інструментами, не обов`язково тими, що наведені у якості прикладу. Приклад завантаження прошивки за допомогою esptool:
esptool.py --port COM10 write_flash 0x0 nodemcu-dev-21-modules-float.bin 0x3fc000 esp_init_data_default.bin
Result:
esptool.py v1.3
Connecting....
Auto-detected Flash size: 32m
Running Cesanta flasher stub...
Flash params set to 0x0040
Wrote 753664 bytes at 0x0 in 65.3 seconds (92.3 kbit/s)...
Wrote 4096 bytes at 0x3fc000 in 0.4 seconds (87.4 kbit/s)...
Leaving...
Примітка: Якщо ви використовуєте інший модуль ESP, прочитайте тут інформацію про файл esp_init_data_default.bin Потім зкачайте всі файли з папки https://github.com/avislab/NodeMCUExamples/tree/master/GPSTracker і завантажте їх у NodeMCU. Приклад завантаження файлів в NodeMCU за допомогою nodemcu-uploader:
python nodemcu-uploader.py --port COM10 upload *
Result:
opening port COM10 with 115200 baud
Preparing esp for transfer.
Transferring cfg.lua as cfg.lua
Transferring config.lua as config.lua
Transferring distance.lua as distance.lua
Transferring files.png as files.png
Transferring http.lua as http.lua
Transferring init.lua as init.lua
Transferring loadcfg.lua as loadcfg.lua
Transferring makeindex.lua as makeindex.lua
Transferring map.html as map.html
Transferring savecfg.lua as savecfg.lua
Transferring sdcard.lua as sdcard.lua
Transferring settings.html as settings.html
Transferring settings.png as settings.png
Transferring tracker.lua as tracker.lua
Transferring wifi.lua as wifi.lua
All done!

Схема

З’єднайте всі компоненти, як показано на схемі. GPS-трекер на базі ESP8266. Схема Використання адаптера SD-картки не є обов`язковим, але Ви маєте усвідомити що загальний розмір файлів GPS-треків буде обмежений вільним простором у Flash пам`яті Wi-Fi модуля.

Як працює GPS-трекер?

Запис GPS треку

Після включення живлення, зачекайте 3 секунди, світлодіод на платі має двічі блимнути. Тепер пристрій готовий. Якщо SD-карта успішно змонтована, ESP8266 буде використовувати SD-карту для запису треків. Якщо ні - буде використана внутрішня флеш-пам`ять Wi-Fi модуля. Щоб запустити запис GPS-треку, натисніть кнопку "Flash". ESP8266 Reset Примітка: на цій платі кнопка Flash підключена до GPIO0. Подвійний спалах світлодіода вказує на те, що запис почався. Щоб зупинити запис, знову натисніть кнопку "Flash". Однин спалах світлодіода означає, що запис зупинено. Примітка: Формат файлу GPX, який використовується для GPS-треків, виглядає схожим на XML. Ось чому дуже важливо правильно завершити запис. При неправильному завершенні запису, наприклад якщо вимкнути живлення під час запису трека, файл треку буде містити дані, але не матиме фінішних XML-тегів (</trkseg></trk></gpx>). Ви не зможете переглянути такий файл GPS-маршруту, але проблему можна виправити. Просто додайте відсутні теги в кінці файлу. Ви можете використовувати будь-який текстовий редактор для перегляду та редагування файлу GPX. Кожного разу, коли починається запис треку, створюється новий файл з цифровим індексом у своєму імені. Наприклад: GPSTrack1.gpx, GPSTrack2.gpx, GPSTrack3.gpx і так далі. GPS трекер.  GPX файл За замовчуванням GPS - точки записуються кожні 5 сек. Ви можете змінити цей період у налаштуваннях. Один короткий спалах світлодіода вказує на записування GPS-точки у файл треку. Але запис відбувається тільки тоді, коли GPS модуль вже визначив своє місцеположення. Іноді записувати у трек GPS координати кожні 5 секунд немає сенсу. Наприклад, коли ваше місцезнаходження не змінюється. У налаштуваннях Ви можете вказати дистанцію. Наступна GPS-точка треку буде записуватися, коли відстань між останніми записаними координатами та поточним положенням буде більше за вказану дистанцію. Цей метод зменшує розмір трек-файлів.  GPS трекер.  Карта GPS трекер.  Запись GPS - трека Примітка: GPS-трекер не використовує Wi-Fi у режимі запису GPS-треків.

Перегляд GPS-треків та налаштування

Перегляд треків та налаштування доступні у спеціальному режимі "view & settings". Щоб увімкнути цей режим, натисніть кнопку "Reset", а потім натисніть і утримуйте кнопку "Flash" до першого спалаху світлодіода. Після першого спалаху світлодіода відпустіть кнопку. Світлодіод повинен блимнути 4 рази. ESP8266 спробує підключитися до точки доступу Wi-Fi яка зазначена у налаштуваннях. Але ми ще не налаштовували наш пристрій і з`єднання не відбудеться. Ви можете ще раз натиснути кнопку "Flash", щоб увімкнути власну Wi-Fi точку доступу на ESP8266. Після увімкнення власної точки доступу, Ви можете підключитися до GPS-трекера за допомогою свого мобільного або ноутбука використовуючи такі данні: SSID: ESPWIFI Пароль: 1234567890 GPS трекер.  WiFi GPS трекер.  Internet Тепер за допомогою web-браузера зайдіть на сторінку з адресою: http://192.168.4.1/ Цей режим дозволяє завантажувати, видаляти збережені GPS-треки та редагувати налаштування, але для перегляду GPS-треків на Google мапі потрібне підключення до Інтернету. Потрібно вказати домашню мережу Wi-Fi з доступом до Інтернету.  Натисніть кнопку «Налаштування», потім вкажіть SSID, і пароль вашої домашньої Wi-Fi мережі і натисніть «Save options». Зміни налаштувань будуть застосовані після перезавантаження. GPX файл Перезавантажте ESP8266 кнопкою "Reset", а потім натисніть і утримуйте кнопку "Flash", щоб увімкнути режим "view & settings". GPS-трекер буде підключатися до точки доступу Wi-Fi, яка призначить йому IP-адресу. Щоб дізнатись IP, вам треба зайти у панель керування Wi-Fi точки чи маршрутизатора. Зазвичай це робиться через web-інтерфейс. І знайти щось схоже на "DHCP Clients". ESP8266 WiFi У різних виробників роутерів та W-Fi AP цей пункт може відрізнятися. Припустимо, що IP 192.168.201.99. Тепер Ви можете підключитися до вашого GPS-трекера за допомогою web - браузера. Введіть URL: http://192.168.201.99 і переглядайте GPS-треки за допомогою Google Maps. GPS-трекер. Просмотр трека GPS-трекер. Просмотр трека на карте

Відео про GPS-трекер на ESP8266

Бажаю успіхів.

Дивись також:

ESP8266
Коментарі:
пан Володимир говорить:
27.07.2017 13:31
Привіт, Друже,

Мене звати Володимир, місто Київ.
Знайшов ваший цікавий сайт про електроніку та ESP8266, яким я зараз захоплююсь. Сподобалось, що він українською. У вільний час намагаюся створити універсальну систему автоматичного поливу кімнатних рослин. Радий познайомитися.

Володимир.

Valentin говорить:
28.07.2017 08:14
Просто супер!!!

Nick говорить:
31.07.2017 10:34
Можно добавить mpu6050 и попробовать пропустить через фильтр Калмана.

Єгор говорить:
19.09.2017 18:28
Доброго дня. Підкажіть будб-ласка по роботі з SD-картками. Чи є тут якісь обмеження на об`єм карти?
Чи можно повноцінно використовувати карту об`ємом 8-16 Гб?

andre говорить:
19.09.2017 22:07
Доброго дня. Весь об`єм картки я не пробував зайняти. Суммарно до 2 Гб у декількох файлах робило без проблем.

Ivan говорить:
29.10.2017 22:17
Не можу коректно отримати дані з neo6m.
В мене трек пише, все як повинно бути. Але дані невірні,
розташування моє не відповідає реальності. Тобто маршрут
прокладається на карті зовсім в іншому місті ніж там де я є.
Можливо потрібно провести додаткові налаштування.???
В відео автор завантажує 17 файлів а в посиланні
https://github.com/avislab/NodeMCUExamples/tree/master/GPSTracker
доступно 16 файлів немає mackeindex.lua
Можливо я щось пропустив.???

andre говорить:
31.10.2017 08:35
Доброго дня. Файлу mackeindex.lua і не має бути. На відео він потрапив помилково. Проблема у іншому. Можливо, у налаштуваннях GPS модуля або у моєму софті. Ви можите надіслати мені приклад треку, який пишиться і  свої реальні координати? Якщо зможите надіслати фрагмент даних, які видає GPS модуль - це буде чудово. Моя адреса [email protected]

oxykarim говорить:
28.03.2018 20:54
Привет, для GPS-трекера, Не могу найти один файл для загрузки в ESP8255, mackeindex.lua, есть только makeindex.lua. Где его найти или можешь залить его на github?

Derek Belz говорить:
22.06.2018 16:46
Hallo from Germany,
I am very interested in Your GPS tracker, as I prefer to program with LUA. Although I am a beginner with LUA.

Unfortunately I only got as far as connecting to ESPWIFI. My computer connected, but I was not able to to start the page http://192.168.4.1/. It says connection was refused by server.

Have got a hint where to look for the problem?

Regards

Derek Belz

Додати коментар
Code
* - обов'язкові поля

Архіви