Índice:

Rastreador de localização com NodeMCU ESP8266: 10 etapas
Rastreador de localização com NodeMCU ESP8266: 10 etapas

Vídeo: Rastreador de localização com NodeMCU ESP8266: 10 etapas

Vídeo: Rastreador de localização com NodeMCU ESP8266: 10 etapas
Vídeo: Rastreamento veicular com ESP32 GPS SIM808 – Sem mensalidade 2024, Novembro
Anonim
Rastreador de localização com NodeMCU ESP8266
Rastreador de localização com NodeMCU ESP8266

Você está curioso para saber como seu NodeMCU pode rastrear sua localização? É possível, mesmo sem um módulo GPS e sem display. A saída será as coordenadas de onde você está localizado e você as verá em seu monitor serial.

A configuração a seguir foi usada para NodeMCU 1.0 (Módulo ESP-12E) com Arduino IDE.

  • Windows 10
  • Arduino IDE v. 1.8.4

Etapa 1: O que você precisa

O que você precisa para seguir este tutorial são os seguintes componentes:

  • Cabo micro usb
  • NodeMCU ESP8266

Além disso, você precisará de:

  • LocationAPI (de Unwired Labs)
  • Acesso a wi-fi ou ponto de acesso

Etapa 2: vá para o Unwired Labs

Vá para o Unwired Labs
Vá para o Unwired Labs

A geolocalização é muito útil porque, quando o GPS está desligado, você ainda pode usar a geolocalização para rastrear sua localização. Nosso host que fornece geolocalização será https://www.unwiredlabs.com/. Acesse esse site e inscreva-se (o botão laranja no canto superior direito).

Etapa 3: inscreva-se para obter o token de API

Inscreva-se para obter o token da API
Inscreva-se para obter o token da API

Na página de inscrição, você deve preencher seu nome, e-mail (seu token de API será enviado para seu e-mail) e caso de uso (por exemplo, uso pessoal). Selecione o seu tipo de conta. A versão gratuita funciona bem, mas lembre-se de que você é limitado e não pode rastrear sua localização 24 horas por dia, 7 dias por semana. Vamos começar!

Etapa 4: Verifique seu e-mail

Vá para seu e-mail e você verá seu token de API. Copie o token da API, porque você precisa disso para o código que usaremos. É assim que o e-mail se parece:

Olá!

Obrigado por se inscrever no Unwired Labs LocationAPI! Seu token de API é 'seu código de API está aqui' (sem aspas). Isso dará 100 solicitações / dia de graça - para sempre.

Se você gostaria de acompanhar 5 dispositivos gratuitamente, responda com os seguintes detalhes e faremos upgrade de sua conta em 12 horas:

1. Tipo de implantação (Hardware / Aplicativo / Outro):

2. Sobre o seu projeto:

3. Site:

Você pode acessar seu painel aqui: https://unwiredlabs.com/dashboard. Se você tiver problemas ou tiver dúvidas, responda a este e-mail e eu ajudarei você!

Boa localização!

Sagar

Laboratórios sem fio

Etapa 5: Bibliotecas de que você precisará

Bibliotecas de que você vai precisar
Bibliotecas de que você vai precisar

A próxima etapa é abrir o Arduino e ir para gerenciar as bibliotecas. Você precisa instalar a biblioteca ArduinoJson. As outras bibliotecas já estão integradas. Quando estiver pronto, você pode começar a escrever o código.

Etapa 6: adicionar código no Arduino para conectar com LocationAPI

Faça um novo esboço e adicione o seguinte código no Arduino. Escreva seu próprio nome de wi-fi / ponto de acesso e sua senha. Cole o token de API que você recebeu no e-mail. Faça upload do seu código para o NodeMCU.

#incluir

#incluir

#include "ESP8266WiFi.h"

// seu SSID de rede (nome) e senha de rede

char myssid = "Seu nome de wi-fi / ponto de acesso"; char mypass = "Sua senha";

// Uniredlabs Hostname & Geolocation Endpoint url

const char * Host = "www.unwiredlabs.com"; String endpoint = "/v2/process.php";

// UnwiredLabs API_Token. Inscreva-se aqui para obter um token grátis

Token de string = "d99cccda52ec0b";

String jsonString = "{ n";

// Variáveis para armazenar a resposta do Uniredlabs

latitude dupla = 0,0; longitude dupla = 0,0; precisão dupla = 0,0;

void setup () {

Serial.begin (115200);

// Defina o WiFi para o modo de estação e desconecte-se de um AP se ele estiver conectado anteriormente

WiFi.mode (WIFI_STA); WiFi.disconnect (); Serial.println ("Configuração concluída");

// Começamos nos conectando a uma rede WiFi

Serial.print ("Conectando a"); Serial.println (myssid); WiFi.begin (myssid, mypass);

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

atraso (500); Serial.print ("."); } Serial.println ("."); }

void loop () {

char bssid [6]; DynamicJsonBuffer jsonBuffer;

// WiFi.scanNetworks retornará o número de redes encontradas

int n = WiFi.scanNetworks (); Serial.println ("digitalização concluída");

if (n == 0) {

Serial.println ("Nenhuma rede disponível"); } else {Serial.print (n); Serial.println ("redes encontradas"); }

// agora construa o jsonString…

jsonString = "{ n"; jsonString + = "\" token / ": \" "; jsonString + = token; jsonString + =" / ", / n"; jsonString + = "\" id / ": \" saikirandevice01 / ", / n"; jsonString + = "\" wifi / ": [n"; para (int j = 0; j <n; ++ j) {jsonString + = "{ n"; jsonString + = "\" bssid / ": \" "; jsonString + = (WiFi. BSSIDstr (j)); jsonString + =" / ", / n"; jsonString + = "\" sinal / ":"; jsonString + = WiFi. RSSI (j); jsonString + = "\ n"; if (j <n - 1) {jsonString + = "}, / n"; } else {jsonString + = "} n"; }} jsonString + = ("] n"); jsonString + = ("} n"); Serial.println (jsonString);

Cliente WiFiClientSecure;

// Conecte-se ao cliente e faça a chamada API

Serial.println ("Solicitando URL: https://" + (String) Host + endpoint); if (client.connect (Host, 443)) {Serial.println ("Conectado"); client.println ("POST" + endpoint + "HTTP / 1.1"); client.println ("Host:" + (String) Host); client.println ("Conexão: fechar"); client.println ("Content-Type: application / json"); client.println ("User-Agent: Arduino / 1.0"); client.print ("Content-Length:"); client.println (jsonString.length ()); client.println (); client.print (jsonString); atraso (500); }

// Leia e analise todas as linhas da resposta do servidor

while (client.available ()) {String line = client.readStringUntil ('\ r'); JsonObject & root = jsonBuffer.parseObject (linha); if (root.success ()) {latitude = root ["lat"]; longitude = raiz ["lon"]; precisão = raiz ["precisão"];

Serial.println ();

Serial.print ("Latitude ="); Serial.println (latitude, 6); Serial.print ("Longitude ="); Serial.println (longitude, 6); Serial.print ("Precisão ="); Serial.println (precisão); }}

Serial.println ("fechando conexão");

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

atraso (5000);

}

Etapa 7: abra o monitor serial para ver se você está conectado

Vá para ferramentas no Arduino e abra o monitor serial. Para ver se você está conectado à Internet, você deve ver o seguinte no monitor serial:

Configuração feita

Conectando-se a (seu nome wi-fi) … verificação concluída

Etapa 8: Obtenha as coordenadas

Se funcionou com sucesso, você deve ver sob a varredura feita uma lista completa de dados. A única coisa de que precisamos é o código no URL solicitante, portanto, precisaremos da latitude e da longitude. Estas são as coordenadas.

Solicitando URL:

Conectado

Latitude = 52.385259

Longitude = 5,196099

Precisão = 41,00

fechando a conexão

Após 5 segundos, o código será atualizado constantemente e você provavelmente verá a alteração da latitude, longitude e precisão. Isso porque a API está tentando rastrear o local da forma mais precisa possível.

Etapa 9: Vá para o Google Maps

Vá para o Google Maps
Vá para o Google Maps

Vá para https://www.google.com/maps/ e digite suas coordenadas na barra de pesquisa. As coordenadas precisam ser escritas da seguinte maneira: 52.385259, 5.196099. O Google Maps deve mostrar onde você está localizado no mapa.

Etapa 10: envie a localização para o seu celular

Envie a localização para o seu celular
Envie a localização para o seu celular

E … Você está pronto! Portanto, se você deseja enviar a localização para o seu celular, é possível. O Google Maps enviará um e-mail com suas coordenadas, se desejar.

Boa localização!

Recomendado: