Índice:
- Etapa 1: Peças e ferramentas
- Etapa 2: Encontre a API do Google
- Etapa 3: configurar o NodeMCu no Arduino IDE
- Etapa 4: Baixe a biblioteca ArduinoJson
- Etapa 5: Programa
Vídeo: GEOLOACAÇÃO: 5 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
É o meu projeto de estágio de verão. Eu realmente fico surpreso quando ouço que podemos rastrear a localização de qualquer dispositivo sem usar o módulo GPS usando apenas NodeMCU. Com isso, podemos rastrear qualquer dispositivo. Você também surpreende como podemos rastrear um dispositivo usando apenas WiFi. Aqui está a descrição do tipo para entendê-lo.
- · É a varredura de quase todo o seu WiFi.
- · Envie a localização deste dispositivo para o Google usando a API do Google
- · De acordo com isto, localize a localização do seu dispositivo
- · Você tem uma conexão de rede forte para este projeto.
Etapa 1: Peças e ferramentas
Peças
- NodeMCU (ESP8266 1.0 12E)
- Cabo USB
Ferramentas
Arduino IDE com placa NodeMcu 1.0 12E
API do Google
Etapa 2: Encontre a API do Google
- Abra seu navegador e digite: console.developer.google.com
- Crie um novo projeto
- Depois de criar um novo projeto, clique na credencial
- Clique na chave API
- Sua chave de API foi gerada
Para fácil compreensão, veja a imagem a seguir |>
Etapa 3: configurar o NodeMCu no Arduino IDE
- Baixe o IDE do Arduino no link a seguir: - https:// www. Principal / Software arduino.cc/en/
- Adicionar placa Node MCu no Arduino IDE
-
Para fazer o upload do código no NodeMCU, você deve adicionar a placa NodeMCu no ARDUINO IDE.
- Vá para arquivo e preferência no IDE do Arduino
- E na seção Gerentes adicionais da placa, copie o seguinte link
- arduino.esp8266.com/stable/package_esp8266c…
- e clique em Ok
- O tabuleiro foi baixado
- Vá para as ferramentas e placa e selecione NodeMCU 1.0 12E
- Veja a imagem da avobe para facilitar a compreensão
Etapa 4: Baixe a biblioteca ArduinoJson
- Vou ao
Sketch Incluir Biblioteca Gerenciar Biblioteca
Digite Arduino Json na caixa de pesquisa
Baixe a versão mais recente da biblioteca ArduinoJson
depois de baixar a biblioteca clique em fechar
Adicionar biblioteca de
SketchincludeLibraryArduinoJson
Etapa 5: Programa
Carregue o seguinte programa na placa NodeMCU. e veja a localização do seu dispositivo (placa NodeMCU 1.0 12E) no monitor serial.
#incluir
#incluir
#incluir
char myssid = "Seu SSID"; // seu SSID de rede (nome)
char mypass = "Sua senha"; // sua senha de rede
// Credentials for Google GeoLocation API…
const char * Host = "www.googleapis.com";
String thisPage = "/ geolocalização / v1 / geolocalização? Key =";
// --- Obtenha uma chave ap do google maps aqui:
developers.google.com/maps/documentation/geolocation/intro
String key = "Sua chave de API do Google"; // Encontre na etapa 2
Instrução
status interno = WL_IDLE_STATUS;
String jsonString = "{ n";
latitude dupla = 0,0;
longitude dupla = 0,0;
precisão dupla = 0,0;
int more_text = 1; // definido como 1 para mais saída de depuração
void setup () {
Serial.begin (9600);
Serial.println ("Iniciar");
// Defina o WiFi para o modo de estação e
desconecte de um AP se ele foi conectado anteriormente
WiFi.mode (WIFI_STA);
WiFi.disconnect ();
atraso (100);
Serial.println ( Configuração
feito );
// Começamos nos conectando a um
Rede wi-fi
Serial.print ( Conectando-se 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;
Serial.println ("início da digitalização");
// WiFi.scanNetworks retornará
o número de redes encontradas
int n = WiFi.scanNetworks ();
Serial.println ("scandone");
if (n == 0)
Serial.println ("nenhuma rede encontrada");
outro
{
Serial.print (n);
Serial.println ("networksfound…");
if (more_text) {
// Imprima o json formatado…
Serial.println ("{");
Serial.println ("\" homeMobileCountryCode / ": 234,"); // este é um verdadeiro MCC do Reino Unido
Serial.println ("\" homeMobileNetworkCode / ": 27,"); // e um verdadeiro MNC do Reino Unido
Serial.println ("\" radioType / ": \" gsm / ","); // para gsm
Serial.println ("\" operadora / ": \" Vodafone / ","); // associado à Vodafone
Serial.println ("\" cellTowers / ": ["); // Não estou relatando nenhuma torre de celular
Serial.println ("],");
Serial.println ("\" wifiAccessPoints / ": [");
para (int i = 0; i <n; ++ i)
{
Serial.println ("{");
Serial.print ("\" macAddress / ": \" ");
Serial.print (WiFi. BSSIDstr (i));
Serial.println ("\", ");
Serial.print ("\" signalStrength / ":");
Serial.println (WiFi. RSSI (i));
if (i <n - 1)
{
Serial.println ("},");
}
outro
{
Serial.println ("}");
}
}
Serial.println ("]");
Serial.println ("}");
}
Serial.println ("");
}
// agora construa o jsonString…
jsonString = "{ n";
jsonString + = "\" homeMobileCountryCode / ": 234, / n"; // este é um verdadeiro MCC do Reino Unido
jsonString + = "\" homeMobileNetworkCode / ": 27, / n"; // e um verdadeiro MNC do Reino Unido
jsonString + = "\" radioType / ": \" gsm / ", / n"; // para gsm
jsonString + = "\" operadora / ": \" Vodafone / ", / n"; // associado à Vodafone
jsonString + = "\" wifiAccessPoints / ": [n";
para (int j = 0; j <n; ++ j)
{
jsonString + = "{ n";
jsonString + = "\" macAddress / ": \" ";
jsonString + = (WiFi. BSSIDstr (j));
jsonString + = "\", / n ";
jsonString + = "\" signalStrength / ":";
jsonString + = WiFi. RSSI (j);
jsonString + = "\ n";
if (j <n - 1)
{
jsonString + = "}, / n";
}
outro
{
jsonString + = "} n";
}
}
jsonString + = ("] n");
jsonString + = ("} n");
//--------------------------------------------------------------------
Serial.println ("");
Cliente WiFiClientSecure;
// Conecte-se ao cliente e faça a chamada API
Serial.print ("Solicitando URL:");
// ---- Obtenha a chave de API do Google Maps aqui, Link:
Serial.println ("https://" + (String) Host + thisPage + "COLOQUE SEU GOOGLE-MAPS-API-CHAVE-AQUI");
Serial.println ("");
if (client.connect (Host, 443)) {
Serial.println ("Conectado");
client.println ("POST" + thisPage + chave + "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 de
a resposta do servidor
while (client.available ()) {
String line = client.readStringUntil ('\ r');
if (more_text) {
Serial.print (linha);
}
JsonObject & root = jsonBuffer.parseObject (linha);
if (root.success ()) {
latitude = raiz ["localização"] ["lat"];
longitude = root ["local"] ["lng"];
precisão = raiz ["precisão"];
}
}
Serial.println ("fechando conexão");
Serial.println ();
client.stop ();
Serial.print ("Latitude =");
Serial.println (latitude, 6);
Serial.print ("Longitude =");
Serial.println (longitude, 6);
Serial.print ("Precisão =");
Serial.println (precisão);
atraso (10000);
Serial.println ();
Serial.println ("Reiniciando…");
Serial.println ();
atraso (2000);
}
Recomendado:
Como fazer uma antena dupla BiQuade 4G LTE Etapas fáceis: 3 etapas
Como Fazer Antena Dupla BiQuade 4G LTE Etapas fáceis: Na maioria das vezes que enfrentei, não tenho uma boa intensidade de sinal para meus trabalhos do dia-a-dia. Então. Procuro e tento diferentes tipos de antena, mas não funciona. Depois de perder tempo, encontrei uma antena que espero fazer e testar, porque não é um princípio de construção
Design de jogo no Flick em 5 etapas: 5 etapas
Design de jogos no Flick em 5 etapas: o Flick é uma maneira realmente simples de fazer um jogo, especialmente algo como um quebra-cabeça, romance visual ou jogo de aventura
Detecção de rosto no Raspberry Pi 4B em 3 etapas: 3 etapas
Detecção de rosto no Raspberry Pi 4B em 3 etapas: Neste Instructable, vamos realizar a detecção de rosto no Raspberry Pi 4 com Shunya O / S usando a Biblioteca Shunyaface. Shunyaface é uma biblioteca de reconhecimento / detecção de rosto. O projeto visa alcançar a detecção mais rápida e velocidade de reconhecimento com
Espelho de cortesia DIY em etapas fáceis (usando luzes de tira LED): 4 etapas
Espelho de toucador DIY em etapas fáceis (usando tiras de LED): Neste post, fiz um espelho de toucador DIY com a ajuda de tiras de LED. É muito legal e você deve experimentá-los também
Arduino Halloween Edition - Tela pop-out de zumbis (etapas com imagens): 6 etapas
Arduino Halloween Edition - Tela pop-out de zumbis (etapas com imagens): Quer assustar seus amigos e fazer barulho no Halloween? Ou apenas quer fazer uma boa pegadinha? Esta tela pop-out de zumbis pode fazer isso! Neste Instructable, vou ensiná-lo a criar facilmente zumbis usando o Arduino. O HC-SR0