Índice:
- Etapa 1: Adquirindo Materiais
- Etapa 2: Configurando os Dispositivos
- Etapa 3: codificando o Arduino para extrair dados
- Etapa 4: Utilizando Processamento para Ouvir
- Etapa 5: Exibir dados no Tableau Public
- Etapa 6: Refinando a Viz
Vídeo: O Mapeador de Caminho: 6 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
Neste projeto de IoT, conectamos um NEO-6M (módulo GPS) para entregar dados de localização por meio do Arduino a uma planilha Excel que será salva no computador. Depois, com o Tableau Public, criamos uma visualização de dados desses dados para mapear o caminho que tomamos. Embora essa seja uma forma de coletar e apresentar dados em tempo real em uma visualização de dados altamente correlacionada, esse processo também pode ser aplicado a outros projetos orientados a dados.
Etapa 1: Adquirindo Materiais
Para este projeto, você precisará do seguinte:
- Módulo NEO-6M GPS
- Arduino Uno
- Fios de jumper macho / macho (você precisará de 4 fios)
- Cabo USB 2.0 Tipo A a B
- Computador com estes programas: Tableau Public, Arduino IDE (com TinyGPS ++) e Processing
Etapa 2: Configurando os Dispositivos
Primeiro, precisamos configurar o módulo GPS com o Arduino UNO para que o Arduino nos forneça uma interface para mostrar os dados. Cada um dos quatro fios conectados ao NEO-6M corresponde a portas específicas. Se o NEO-6M não vier com os fios, você terá que conectá-lo diretamente com os fios de jumper. No diagrama acima, o vermelho corresponde à alimentação (VCC), o preto ao aterramento (GND), o amarelo à transmissão de dados (TxD) e o branco à recepção de dados (RxD). Conectamos esses fios a fios de jumper macho / macho para que possamos conectá-los ao Arduino. Seguindo o diagrama acima, conectamos o fio terra ao pino digital GND no Arduino, o fio TxD a 4, o fio RxD a ~ 3 e o fio VCC a 5V para tensão. Em uma etapa futura, precisaremos definir TxD e RxD com os números corretos no SoftwareSerial.
Assim que os dois dispositivos estiverem conectados um ao outro, precisamos fornecer uma fonte de alimentação. Conecte o cabo USB 2.0 ao seu laptop e a luz do NEO-6M deve acender.
Etapa 3: codificando o Arduino para extrair dados
Agora que temos os dispositivos configurados para coletar dados de GPS dos satélites, escreveremos o código para analisar os dados de GPS que desejamos. Supondo que você captou um sinal (meu módulo GPS piscaria em azul), o NEO-6M por padrão imprime dados brutos no monitor serial na forma de mensagens NMEA, que se parecem com $ GP seguido por mais letras e uma série de números. A imagem acima dá uma ideia geral do que deve ser mostrado em seu monitor serial depois que o código básico do Arduino for inserido.
Para explicar o código que anexei (ou se você gostaria de tentar codificá-lo você mesmo), você precisa primeiro incluir as bibliotecas SoftwareSerial e TinyGPS ++ (para a última, Sketch> Incluir> Adicionar biblioteca. ZIP). SoftwareSerial nos permite ter uma conexão serial; O TinyGPS ++ nos dá uma ferramenta fácil para imprimir as informações desejadas de uma forma legível. Certifique-se de inicializar o objeto SoftwareSerial com os pinos correspondentes no Arduino. Na função de configuração, usamos 9600 como a taxa de transmissão.
Para os fins deste instrutível, imprimiremos apenas sete tipos de dados na função de loop: latitude (graus), longitude (graus), velocidade (km), curso (graus), altitude (km), número de satélites em usar e hdop. Você pode pesquisar a sintaxe para imprimir essas informações na biblioteca Arduiniana. A forma geral é Serial.print (). Por exemplo, para imprimir a longitude, digitaríamos Serial.print (gps.location.lng (), 6). O 6 representa quantos dígitos queremos à direita da vírgula decimal.
Meu código tem caracteres extras impressos para uma regex facilmente formatada na próxima etapa. Se quiser parar nesta etapa, no entanto, sinta-se à vontade para formatar os dados de maneira diferente para facilitar a visualização no monitor serial.
Etapa 4: Utilizando Processamento para Ouvir
Embora tenhamos o código para o IDE do Arduino configurado, temos o problema de salvar esses dados. A partir de agora, só podemos visualizar os dados no monitor serial enquanto os coletamos. Há muitas maneiras de registrar esses dados, mas escolhi o Processing principalmente porque sua interface imita o IDE do Arduino e usa Java, uma linguagem com a qual estou familiarizado (observe que você também pode controlar a placa do Arduino com o Processing se baixar o Firmata). O processamento escuta na porta conectada ao Arduino e tem a capacidade de manipular os dados que são lidos no monitor serial. Para encontrar o nome desta porta, consulte seu arquivo Arduino IDE e verifique em Ferramentas> Porta.
Eu forneci o código de processamento, mas aqui está uma visão geral rápida de como o código funciona.
Antes da função de configuração, certifique-se de ter variáveis para a porta, a tabela resultante, a linha com a qual trabalharemos e o nome do arquivo. Em seguida, na função de configuração, existem parâmetros para definir o tamanho da janela Executar, mas esses números não afetam nossa funcionalidade (por exemplo, defina-os para (500, 500)). Ao inicializar a porta, use o nome da porta no formato String e uma taxa de transmissão de 9600. Por último, crie as nove colunas (para as sete categorias de GPS, hora e data) para inicializar a tabela.
Na função de desenho, usamos as funções internas de data e hora para acompanhar quando cada conjunto de dados GPS é extraído. Agora, para ler o fluxo de dados do Arduino e colocá-los nos cabeçalhos apropriados com a hora e data corretas, utilizamos expressões regulares.
Eu uso regex para analisar os dados exatos com a função matchAll que procura qualquer expressão entre o sinal de igual e o ponto-e-vírgula (os delimitadores que coloquei em meu código do Arduino). Isso subsequentemente coloca todas as tags correspondentes, os dados numéricos, em uma matriz bidimensional. Podemos então recorrer a esses índices de matriz para colocá-los sob os cabeçalhos da planilha do Excel.
Para salvar o novo arquivo.csv, usamos um pressionamento de tecla para fechar a janela Executar. Quanto mais você esperar para pressionar uma tecla, mais dados coletará. Seguindo a maneira de outro guia, também decidi salvar o arquivo na pasta de dados com a data e a hora como nome do arquivo.
Etapa 5: Exibir dados no Tableau Public
A etapa final envolve alguma visualização de dados. Existem muitos programas para criar e exibir visualizações de dados, ou seja, Plotly, mas para este projeto usaremos o Tableau. Abra o Tableau Public e abra o arquivo do Excel salvo como um arquivo de texto. Para criar uma planilha, clique na Planilha 1 no canto inferior esquerdo.
Como estamos trabalhando com dados GPS, usaremos um mapa para representar nossas informações. Na coluna da esquerda onde está escrito Medidas, arrastaremos a Longitude para as Colunas e a Latitude para as Linhas no topo. O Tableau padroniza ambas as medidas para AVG, então clique no menu suspenso ao lado dos termos e altere ambos para Dimensão. Agora o mapa deve ter um caminho exibido usando os valores de latitude e longitude coletados.
Para eliminar erros em seus dados (o que também pode ser feito antes de abrir o Tableau), você pode optar por excluir alguns círculos de local clicando neles e selecionando a opção. Meu módulo GPS não é 100% preciso, pois algumas partes do meu caminho não foram localizadas, mas o caminho geral foi registrado.
Etapa 6: Refinando a Viz
A última parte é tornar esses dados mais legíveis. Se você quiser o contexto da rua, pode ir para Mapa> Camada do mapa> Ruas e rodovias. Sinta-se à vontade para experimentar outras marcas. Arrastei Velocidade sobre Cor para mostrar como a intensidade da cor aumenta quando a velocidade aumenta. Também usei Detalhe em vez de Rótulo para o curso porque o Rótulo exibiria os números no mapa, enquanto eu só queria que as informações aparecessem quando você passa o mouse sobre os pontos de localização.
Agora que você já experimentou todo o processo de coleta de dados e exibição do que tem em uma visualização de dados, pode aplicar isso a outros projetos!
por Pingdi Huang, verão de 2018
Recomendado:
Falha de energia CA, luz de caminho de LED com bateria: 8 etapas
Falha de energia CA, luz de caminho de LED com bateria: Durante uma recente queda de energia, nas profundezas mais escuras do meu porão … uma luz teria sido muito útil. Infelizmente, minha lanterna estava a alguns cômodos escuros de distância. Eu me atrapalhei um pouco, encontrei a luz e fiz meu caminho para a sala de estar. Meu wi
Skate todo o caminho !: 4 etapas
Skate All the Way !: Introdução: Como a maioria de vocês ama patinar e nós sabemos que patinar é muito difícil. Você precisa se equilibrar para andar na prancha e também precisa de muita força para empurrar o skate usando o pé direito ou esquerdo. Nesta geração
IoT de banda estreita: iluminação e medição inteligentes abrem caminho para um ecossistema melhor e mais saudável: 3 etapas
IoT de banda estreita: iluminação e medição inteligentes abrem caminho para um ecossistema melhor e mais saudável: a automação encontrou seu caminho em quase todos os setores. Desde a fabricação até a área de saúde, transporte e cadeia de suprimentos, a automação viu a luz do dia. Bem, todos esses são sem dúvida atraentes, mas há um que parece
Mapeador de poluição do ar da CEL (modificado): 7 etapas
Mapeador da Poluição do Ar da CEL (Modificado): A poluição do ar é um problema global na sociedade atual, é causa de inúmeras doenças e causa desconforto. É por isso que tentamos construir um sistema que pudesse rastrear sua localização GPS e a poluição do ar naquele local exato, para então ser
Encontrando seu caminho com GPS: 9 etapas
Encontrando o seu caminho com GPS: um rápido exercício de compreensão e aplicação de dados GPS Tempo necessário: 2 horasCusto: $ 75– $ 150Para fabricantes, tornou-se bastante barato incorporar dados geoespaciais de alta qualidade em projetos eletrônicos. E nos últimos anos, GPS (Global Positionin