Оглавление:

Отслеживание местоположения с NodeMCU ESP8266: 10 шагов
Отслеживание местоположения с NodeMCU ESP8266: 10 шагов

Видео: Отслеживание местоположения с NodeMCU ESP8266: 10 шагов

Видео: Отслеживание местоположения с NodeMCU ESP8266: 10 шагов
Видео: Введение в плату разработки NodeMCU ESP8266 WiFi с примером HTTP-клиента 2024, Ноябрь
Anonim
Отслеживание местоположения с NodeMCU ESP8266
Отслеживание местоположения с NodeMCU ESP8266

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

Следующая настройка использовалась для NodeMCU 1.0 (модуль ESP-12E) с Arduino IDE.

  • Windows 10
  • Arduino IDE версии 1.8.4

Шаг 1. Что вам нужно

Для того, чтобы следовать этому руководству, вам понадобятся следующие компоненты:

  • Кабель Micro USB
  • NodeMCU ESP8266

Кроме того, вам понадобятся:

  • LocationAPI (от Unwired Labs)
  • Доступ к Wi-Fi или точке доступа

Шаг 2. Перейдите в Unwired Labs

Перейти в Unwired Labs
Перейти в Unwired Labs

Геолокация очень удобна, потому что, когда ваш GPS не работает, вы все равно можете использовать геолокацию для отслеживания своего местоположения. Нашим хостом, обеспечивающим геолокацию, будет https://www.unwiredlabs.com/. Перейдите на этот сайт и зарегистрируйтесь (оранжевая кнопка в правом верхнем углу).

Шаг 3. Зарегистрируйтесь, чтобы получить токен API

Зарегистрируйтесь, чтобы получить токен API
Зарегистрируйтесь, чтобы получить токен API

На странице регистрации вы должны указать свое имя, адрес электронной почты (ваш токен API будет отправлен на ваш адрес электронной почты) и вариант использования (например, для личного использования). Выберите тип вашей учетной записи. Бесплатная версия подойдет, но имейте в виду, что вы ограничены и не можете отслеживать свое местоположение 24/7. Давайте начнем!

Шаг 4. Проверьте свою электронную почту

Перейдите на свою электронную почту, и вы увидите свой токен API. Скопируйте токен API, потому что он вам понадобится для кода, который мы будем использовать. Вот как выглядит письмо:

Привет!

Благодарим за регистрацию в Unwired Labs LocationAPI! Ваш токен API - это «ваш код API здесь» (без кавычек). Это даст 100 запросов в день бесплатно - навсегда.

Если вы хотите отслеживать 5 устройств бесплатно, ответьте со следующей информацией, и мы обновим вашу учетную запись в течение 12 часов:

1. Тип развертывания (оборудование / приложение / другое):

2. О вашем проекте:

3. Веб-сайт:

Вы можете войти в свою панель управления здесь: https://unwiredlabs.com/dashboard. Если у вас возникнут проблемы или возникнут вопросы, ответьте на это письмо, и я вам помогу!

Удачного обнаружения!

Сагар

Unwired Labs

Шаг 5: библиотеки, которые вам понадобятся

Библиотеки, которые вам понадобятся
Библиотеки, которые вам понадобятся

Следующим шагом будет открытие Arduino и переход к управлению библиотеками. Вам необходимо установить библиотеку ArduinoJson. Остальные библиотеки уже встроены. Когда вы будете готовы, можете приступить к написанию кода.

Шаг 6. Добавьте код в Arduino для подключения к LocationAPI

Создайте новый эскиз и добавьте следующий код в Arduino. Напишите собственное имя Wi-Fi / точки доступа и пароль. Вставьте токен API, который вы получили в электронном письме. Загрузите свой код в свой NodeMCU.

#включают

#включают

#include "ESP8266WiFi.h"

// ваш сетевой SSID (имя) и сетевой пароль

char myssid = "Имя вашего Wi-Fi / точки доступа"; char mypass = "Ваш пароль";

// unwiredlabs имя хоста и URL-адрес конечной точки геолокации

const char * Host = "www.unwiredlabs.com"; Конечная точка строки = "/v2/process.php";

// UnwiredLabs API_Token. Зарегистрируйтесь здесь, чтобы получить бесплатный токен

Строковый токен = "d99cccda52ec0b";

Строка jsonString = "{ n";

// Переменные для хранения ответа непроверенных лабораторий

двойная широта = 0,0; двойная долгота = 0,0; двойная точность = 0,0;

void setup () {

Serial.begin (115200);

// Установите WiFi в режим станции и отключитесь от точки доступа, если она была ранее подключена

WiFi.mode (WIFI_STA); WiFi.disconnect (); Serial.println («Настройка завершена»);

// Начнем с подключения к сети Wi-Fi

Serial.print («Подключение к»); Serial.println (myssid); WiFi.begin (myssid, mypass);

while (WiFi.status ()! = WL_CONNECTED) {

задержка (500); Serial.print ("."); } Serial.println ("."); }

void loop () {

char bssid [6]; DynamicJsonBuffer jsonBuffer;

// WiFi.scanNetworks вернет количество найденных сетей

int n = WiFi.scanNetworks (); Serial.println («сканирование завершено»);

if (n == 0) {

Serial.println («Нет доступных сетей»); } else {Serial.print (n); Serial.println («сети найдены»); }

// теперь создаем jsonString…

jsonString = "{ п"; jsonString + = "\" токен / ": \" "; jsonString + = токен; jsonString + =" / ", / n"; jsonString + = "\" id / ": \" saikirandevice01 / ", / n"; jsonString + = "\" Wi-Fi / ": [n"; для (int j = 0; j <n; ++ j) {jsonString + = "{ n"; jsonString + = "\" bssid / ": \" "; jsonString + = (WiFi. BSSIDstr (j)); jsonString + =" / ", / n"; jsonString + = "\" сигнал / ":"; jsonString + = WiFi. RSSI (j); jsonString + = "\ п"; если (j <n - 1) {jsonString + = "}, / n"; } еще {jsonString + = "} п"; }} jsonString + = ("] n"); jsonString + = ("} п"); Serial.println (jsonString);

Клиент WiFiClientSecure;

// Подключаемся к клиенту и делаем вызов api

Serial.println ("URL-адрес запроса: https://" + (String) Host + endpoint); if (client.connect (Host, 443)) {Serial.println ("Подключено"); client.println («POST» + конечная точка + «HTTP / 1.1»); client.println ("Хост:" + (Строка) Хост); client.println ("Соединение: закрыть"); client.println ("Content-Type: application / json"); client.println («Пользовательский агент: Arduino / 1.0»); client.print ("Длина содержимого:"); client.println (jsonString.length ()); client.println (); client.print (jsonString); задержка (500); }

// Прочитать и проанализировать все строки ответа от сервера

while (client.available ()) {Строка строки = client.readStringUntil ('\ r'); JsonObject & root = jsonBuffer.parseObject (строка); если (root.success ()) {широта = корень ["широта"]; долгота = корень ["долгота"]; точность = корень ["точность"];

Serial.println ();

Serial.print ("Широта ="); Serial.println (широта, 6); Serial.print ("Долгота ="); Serial.println (долгота, 6); Serial.print ("Точность ="); Serial.println (точность); }}

Serial.println («закрывающее соединение»);

Serial.println (); client.stop ();

задержка (5000);

}

Шаг 7. Откройте Serial Monitor, чтобы узнать, подключены ли вы

Перейдите к инструментам в Arduino и откройте последовательный монитор. Чтобы узнать, подключены ли вы к Интернету, на мониторе последовательного порта вы должны увидеть следующее:

Настройка завершена

Подключение к (ваше имя Wi-Fi)… сканирование завершено

Шаг 8: Получите координаты

Если это сработало успешно, вы должны увидеть под выполненным сканированием весь список данных. Единственное, что нам нужно, это код под запрашивающим URL, поэтому нам потребуются широта и долгота. Это координаты.

URL-адрес запроса:

Связаны

Широта = 52,385259

Долгота = 5,196099

Точность = 41.00

закрытие соединения

Через 5 секунд код будет постоянно обновляться, и вы, вероятно, увидите изменение широты, долготы и точности. Это потому, что API пытается отслеживать местоположение как можно точнее.

Шаг 9. Откройте Google Карты

Перейти на Google Карты
Перейти на Google Карты

Перейдите на страницу https://www.google.com/maps/ и введите свои координаты в строку поиска. Координаты нужно записать следующим образом: 52.385259, 5.196099. Карты Google должны показывать ваше местоположение на карте.

Шаг 10. Отправьте местоположение на свой мобильный телефон

Отправить местоположение на свой мобильный
Отправить местоположение на свой мобильный

И вы сделали! Поэтому, если вы хотите отправить местоположение на свой мобильный телефон, это возможно. Затем Google Maps отправит электронное письмо с вашими координатами, если вы захотите.

Удачного поиска!

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