Índice:

Projeto Arduino: Testar o módulo LoRa RF1276 para solução de rastreamento GPS: 9 etapas (com imagens)
Projeto Arduino: Testar o módulo LoRa RF1276 para solução de rastreamento GPS: 9 etapas (com imagens)

Vídeo: Projeto Arduino: Testar o módulo LoRa RF1276 para solução de rastreamento GPS: 9 etapas (com imagens)

Vídeo: Projeto Arduino: Testar o módulo LoRa RF1276 para solução de rastreamento GPS: 9 etapas (com imagens)
Vídeo: Internet De Las Cosas Usando NiceRf LoRa1276 2024, Julho
Anonim
Projeto Arduino: Testar o módulo LoRa RF1276 para solução de rastreamento GPS
Projeto Arduino: Testar o módulo LoRa RF1276 para solução de rastreamento GPS

Conexão: USB - Serial

Necessário: navegador Chrome

Necessidade: 1 X Arduino Mega

Necessário: 1 X GPS

Necessário: 1 cartão SD

Necessidade: 2 X LoRa Modem RF1276

Função: Arduino Enviar valor GPS para a base principal - Dados de armazenamento da base principal no Dataino Server Módulo Lora: RF1276 de alcance ultralongo da APPCONWIRELESS LoRa é uma nova técnica de modulação privada e de espalhamento espectral que permite o envio de dados em taxas de dados extremamente baixas a extremamente longos intervalos. A baixa taxa de dados (até poucos bytes por segundo) e a modulação LoRa levam a uma sensibilidade do receptor muito baixa, o que significa neste teste mais de 10km.

Etapa 1: construção da estação base

Construindo Estação Base
Construindo Estação Base
Construindo Estação Base
Construindo Estação Base

Conexão de internet com largura de computador e um modem LoRa conectado à porta USB.

Arduino Car Kit ·

A caixa métrica

Anduino Mega conectado a serial 2 para receptor GPS e Serial 1 para modem LoRa. Um cartão SD é usado para armazenar dados.

Etapa 2: o primeiro teste

O Primeiro Teste
O Primeiro Teste

· 10,6 Km de percurso por centros urbanos, galerias e ao longo da costa feito com voltas

A relação de recepção / transmissão foi de 321 / 500TX ponto

Ponto RX

Etapa 3: Crie a interface

Crie a interface
Crie a interface
Crie a interface
Crie a interface

1 - Crie um novo projeto LoRa

Pressione o ícone de engrenagem para abrir a configuração do projeto

Etapa 4: adicionar medidor

Adicionar medidor
Adicionar medidor

2) Abra o controle deslizante do medidor.

· 3) Vá até o GPS.

· 4) Adicione um à mesa.

Etapa 5: arraste o GPS do medidor e adicione o OpenStreetMap

Arraste Gauge GPS e adicione OpenStreetMap
Arraste Gauge GPS e adicione OpenStreetMap
Arraste Gauge GPS e adicione OpenStreetMap
Arraste Gauge GPS e adicione OpenStreetMap

· 5) Adicionar mapa do OpenStreetMap à mesa

Arrastando o componente GPS no mapa de ícones, o mapa OpenStreet é gerado.

Crie a interface

· 6) Alterar atualização do mapa

Altere o tempo de atualização do mapa de 5.000 para 10.000

Etapa 6: Arraste o medidor GPS e adicione o registro da tabela

Arraste o medidor GPS e adicione o registro da tabela
Arraste o medidor GPS e adicione o registro da tabela

· 7) Adicionar um medidor de registro de tabela.

Ao arrastar o medidor acima da tabela de ícones de GPS, é criado o registro da tabela de medidores

· 8) Alterar atualização do log da tabela. Altere o tempo de atualização do mapa de 5.000 para 10.000

Ajuste a posição dos medidores

· 9) Medidores de arrasto ajustar a posição dos medidores arrastando-os pela tela.

· 10) Salvar projeto

Etapa 7: obter o código

Obter código
Obter código

10) Ative o contêiner de código

Botão no botão superior direito, selecione tudo e copie o código base.

Etapa 8: IDE Arduino

IDE Arduino
IDE Arduino

· 11) Cole o código no IDE do Arduino

· 12) Editar código Adicionar esta linha na definição

Etapa 9: Detalhes de codificação

Adicione esta linha na definição

//*************************************************************************

//** BIBLIOTECA ** //***************************************** ********************************

#include // ++ biblioteca GPS

#include // ++ biblioteca SPI #include

// ++ biblioteca SD //

*************************************************************************

//** SD ** //***************************************** ********************************

// * Cartão SD conectado ao barramento SPI da seguinte forma:

// ** UNO: MOSI - pino 11, MISO - pino 12, CLK - pino 13, CS - pino 4

// (o pino CS pode ser alterado) e o pino # 10 (SS) deve ser uma saída

// ** Mega: MOSI - pino 51, MISO - pino 50, CLK - pino 52, CS - pino 53

// (o pino CS pode ser alterado) e o pino # 52 (SS) deve ser uma saída

// ** Leonardo: Conecte-se ao SPI de hardware por meio do cabeçalho ICSP

// Pino 4 usado aqui para consistência com outros exemplos do Arduino const int chipSelect = 53;

// ++ seletor de pinos SD

//*************************************************************************

//** GPS ** //***************************************** ********************************

TinyGPS gps; // ++ GPS em Serial2

void gpsdump (TinyGPS & gps); // ++

bool newdataGPS = false; // ++

Adicione esta linha na configuração ()

//***********************************************************************

// ** Configuração serial do GPS ** // ************************************** ********************************

Serial2.begin (9600); // ++

atraso (1000); // ++

//***********************************************************************

// ** Inicializando SD ** // **************************************** *******************************

// certifique-se de que o pino de seleção de chip padrão está definido como // ++

// saída, mesmo que você não use: // ++

pinMode (SS, OUTPUT); // ++

Serial.println (F ("Inicializando o cartão SD …")); // ++

// veja se o cartão está presente e pode ser inicializado: // ++

if (! SD.begin (chipSelect)) {// ++

Serial.println (F ("O cartão falhou ou não está presente")); // ++

// não faça mais nada: // ++

Retorna; // ++

} else {// ++

Serial.println (F ("Cartão SD OK")); // ++

} // ++

Adicione estas linhas em loop () void

serialEvent2 (); // ++ chamar evento serial de GPS

Adicionar código SeriaEvent2

//*************************************************************************

// ** GPS serialEvent ** // *************************************** *********************************

void serialEvent2 () {// ++

while (Serial2.available ()) {// ++

char c = Serial2.read (); // ++

//Serial.print(c); // descomente para ver dados GPS brutos // ++

if (gps.encode (c)) {// ++

newdataGPS = true; // ++

pausa; // descomente para imprimir novos dados imediatamente! // ++

} // ++

} // ++

} // ++

Adicionar GPS despejo voud

//*************************************************************************

// ** despejo gps ** // **************************************** *********************************

// ** O intervalo válido de latitude em graus é -90 e +90. **

// ** A longitude está no intervalo -180 e +180 **

// ** especificando a posição leste-oeste **

//** "123456789 1234567890" **

//** "000.00000;0000.00000" ** //*************************************************************************

void gpsdump (TinyGPS e gps) // ++

{ // ++

ano int; // ++

byte mês, dia, hora, minuto, segundo, centésimos; // ++

longa idade sem sinal; // ++

gps.f_get_position (& LATGP00, & LONGP00, & age); // ++

gps.crack_datetime (& ano, & mês, & dia, & hora, // ++

& minuto, & segundo, & centésimos, & idade); // ++

lat longo, lon; // ++

gps.get_position (& lat, & lon, & age); // ++

// *********************************************************************

// ** faça uma string para reunir os dados para registrar: **

// *********************************************************************

String dataString = ""; // ++

dataString + = (lat / 100000); // ++

dataString + = "."; // ++

dataString + = lat - (lat / 100000) * 100000; // ++

dataString + = ";"; // ++

dataString + = (lon / 100000); // ++

dataString + = "."; // ++

dataString + = lon - (lon / 100000) * 100000; // ++

dataString + = ";"; // ++

dataString + = String (static_cast (dia)); // ++

dataString + = "/"; // ++

dataString + = String (static_cast (mês)); // ++

dataString + = "/"; // ++

dataString + = String (ano); // ++

dataString + = ";"; // ++

dataString + = String (static_cast (hora)); // ++

dataString + = ":"; // ++

dataString + = String (static_cast (minuto)); // ++

dataString + = ":"; // ++

dataString + = String (static_cast (segundo)); // ++ // ******************************************** *****************************

// ** SALVAR EM SD ** // *************************************** **********************************

// abre o arquivo. observe que apenas um arquivo pode ser aberto por vez, **

// então você tem que fechar este antes de abrir outro. ** // ********************************************** ***************************

Arquivo dataFile = SD.open ("gps00.txt", FILE_WRITE); // ++

// ***********************************************************************

// ** se o arquivo estiver disponível, escreva nele: **

// ***********************************************************************

if (dataFile) {// ++

dataFile.println (dataString); // ++

dataFile.close (); // ++

} else {// ++

Serial.println (F ("ERROR SD Write")); // ++

} // ++

}

Se você deseja baixar o código, visite esta página.

Recomendado: