Índice:

LTE Arduino GPS Tracker + IoT Dashboard (Parte 2): 6 etapas (com imagens)
LTE Arduino GPS Tracker + IoT Dashboard (Parte 2): 6 etapas (com imagens)

Vídeo: LTE Arduino GPS Tracker + IoT Dashboard (Parte 2): 6 etapas (com imagens)

Vídeo: LTE Arduino GPS Tracker + IoT Dashboard (Parte 2): 6 etapas (com imagens)
Vídeo: GPS Tracking 2024, Julho
Anonim
Image
Image
Configuração do ThingsBoard
Configuração do ThingsBoard

Introdução e recapitulação da parte 1

Sim, é hora de mais um Instructable no rastreador GPS SIM7000 com Arduino e LTE! Se ainda não o fez, leia o tutorial de introdução para o escudo Botletics SIM7000 CAT-M / NB-IoT e, em seguida, leia a Parte 1 do tutorial de rastreamento GPS. Como tal, vou assumir que você tem todo o hardware configurado e pronto para postar dados na nuvem. Tudo o que realmente precisamos fazer neste tutorial é nos familiarizar com o ThingsBoard e fazer outro teste de estrada para ver os dados incríveis que shows!

Na Parte 1, conseguimos nosso rastreador GPS bacana para enviar dados para dweet.io e buscamos os dados em freeboard.io para visualizar os dados. No entanto, logo percebi que a funcionalidade do mapa era muito ruim no quadro livre, já que não permite que você mova o cursor ou mesmo redimensione a janela do widget. Isso me levou a uma solução melhor: ThingsBoard.io que é um painel de IoT superimpressionante (e gratuito!) Que permite armazenar, visualizar e personalizar totalmente seus dados! Você pode arrastar para reorganizar os widgets (e funciona no Chrome, ao contrário do quadro livre), e a qualidade geral é a nata da cultura. Mais importante, o widget de mapa do Google permite que você se mova livremente, amplie e reduza e selecione diferentes estilos (satélite, vista da estrada, etc.) e ainda permite que você arraste e solte o carinha amarelo na estrada para ver as ruas !

Etapa 1: Configuração do ThingsBoard

Configuração do ThingsBoard
Configuração do ThingsBoard
Configuração do ThingsBoard
Configuração do ThingsBoard

Conta do ThingsBoard e configuração do dispositivo

A primeira coisa que você deve fazer é ir para a página inicial do ThingsBoard e criar uma conta clicando no botão superior direito do menu e selecionando "Demonstração ao vivo". Crie uma conta, verifique sua conta no e-mail que eles lhe enviarem e, em seguida, faça login novamente na tela inicial do Live Demo. Isso deve levar você a uma tela onde você pode gerenciar todos os seus dispositivos, editar painéis, etc.

Em seguida, selecione a guia "Dispositivos" no lado esquerdo. Isso deve trazer vários dispositivos de demonstração como ESP8266, DHT22, Arduino e demos Pi, etc. Crie um novo dispositivo clicando no botão vermelho "+" no canto inferior direito, digite um nome e escolha "padrão" para o tipo de dispositivo. Depois de clicar em "ADICIONAR", você verá seu novo dispositivo na guia Dispositivos. Clique em "Gerenciar credenciais" e você verá uma pequena janela que mostra o token de acesso do dispositivo. Este é essencialmente o ID do dispositivo e é análogo ao ID do dispositivo usado para postar dados no dweet.io. Você pode alterar esse ID de dispositivo para o número IMEI de seu escudo, se quiser, mas também pode usar apenas o token gerado automaticamente. Copie este token, pois você precisará dele no esboço do Arduino.

Exemplo de configuração do Arduino

Neste tutorial, usaremos exatamente o mesmo esboço do Arduino de exemplo do primeiro tutorial, mas desta vez atualizei o esboço para incluir o código para enviar dados diretamente para ThingsBoard.io em vez de dweet.io na Parte 1. Como sempre, você pode encontrar o código de exemplo aqui no Github.

A primeira coisa que você precisa fazer é comentar as linhas que fazem a postagem do escudo para dweet.io:

// GET request / * // Você pode ajustar o conteúdo da solicitação se não precisar de certas coisas como velocidade, altitude, etc. sprintf (URL, "https://dweet.io/dweet/for/%s ? lat =% s & long =% s & speed =% s & head =% s & alt=% s & temp =% s & batt =% s ", imei, latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff);

contador interno = 0; // Isso conta o número de tentativas malsucedidas

// Tente um total de três vezes se a postagem não tiver êxito (tente mais 2 vezes) enquanto (counter <3 &&! Fona.postData ("GET", URL, "")) {// Adicione as aspas "" como terceiro entrada porque para a solicitação GET não há "corpo" Serial.println (F ("Falha ao postar dados, tentando novamente …")); contador ++; // Incrementar o atraso do contador (1000); } * /

Em seguida, descomente as linhas postadas em thingsboard.io:

// Vamos tentar uma solicitação POST para as coisasboard.io const char * token = "YOUR_DEVICE_TOKEN"; // Do dispositivo thingsboard.io sprintf (URL, "https://demo.thingsboard.io/api/v1/%s/telemetry", token); sprintf (corpo, "{" latitude / ":% s, \" longitude / ":% s, \" velocidade / ":% s, \" cabeça / ":% s, \" alt / ":% s, / "temp \":% s, / "batt \":% s} ", latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff); // sprintf (body, "{" lat / ":% s, \" long / ":% s}", latBuff, longBuff); // Se tudo o que você quer é latitude / longitude

contador interno = 0;

while (! fona.postData ("POST", URL, corpo)) {Serial.println (F ("Falha ao completar HTTP POST…")); contador ++; atraso (1000); }

Faça upload do código para o seu Arduino, certifique-se de ter o cartão SIM e a antena conectados e verifique se o escudo está enviando o código para a nuvem antes de continuar!

NOTA: O Arduino Uno tem muito pouca memória (RAM) e postar no Thingsboard pode causar o travamento do Arduino. Se você experimentar o reinício do esboço aproximadamente no local da função postData () ou outro comportamento estranho, provavelmente é isso que está acontecendo. A solução fácil para isso é trocar o Uno por um Arduino Mega ou uma placa com mais RAM. Você também pode tentar minimizar o tamanho das matrizes e dividir os dados em várias postagens.

Etapa 2: verificar a recepção de dados

Verifique a recepção de dados
Verifique a recepção de dados

Para realmente verificar se os dados estão sendo enviados para o ThingsBoard corretamente, vá para a mesma página de detalhes do dispositivo (clique no bloco do dispositivo GPS Tracker na página "Dispositivos") e clique na guia "Última Telemetria". Se o seu rastreador GPS estiver enviando valores para o ThingsBoard, você deverá ver os valores mais recentes aqui e eles serão atualizados em tempo real assim que chegarem.

Agora que você verificou que o ThingsBoard está realmente obtendo os dados, é hora de configurar o painel para que possamos visualizar nossos dados quando os coletarmos! (Ou depois do fato)

Etapa 3: Configurando o painel

Configurando o painel
Configurando o painel
Configurando o painel
Configurando o painel
Configurando o painel
Configurando o painel

Agora é hora da parte divertida! Agora clique na guia "Painéis" à esquerda e selecione o seu dispositivo rastreador GPS. Isso deve abrir uma nova página que pede para você adicionar widgets. Clique no botão inferior direito "+" e "criar novo widget" para abrir um menu suspenso de widgets para escolher. Por enquanto, vamos adicionar um "medidor digital". Selecionar isso deve carregar um monte de visualizações para todos os diferentes tipos de medidores digitais que você pode escolher. Ao clicar em um, aparecerá outra tela para você configurar os parâmetros do widget. A primeira coisa que você precisa adicionar é a fonte de dados (seu dispositivo rastreador GPS que envia os dados para o ThingsBoard). Pressione o botão "+ ADICIONAR" e selecione o seu dispositivo "Rastreador GPS" e selecione a variável apropriada que você deseja que o widget exiba. Neste caso, vamos escolher a variável "temp" (temperatura).

Agora, se você quiser adicionar coisas como um título para o widget, vá na guia "Configurações", marque "Exibir título" e insira um título. Há muitas outras coisas que você pode fazer na guia "Avançado", mas vou deixar você mesmo investigar! Divirta-se alterando as faixas de valor, texto do rótulo, cores e muito mais! Depois de adicionar o widget, ele aparecerá no canto inferior esquerdo do seu painel (pode ser necessário rolar para baixo se houver vários widgets preenchendo a tela). Você pode editar o widget a qualquer momento pressionando o botão no widget se já estiver no modo de edição do painel ou entrar no modo de edição pressionando o botão de lápis no canto inferior direito de toda a tela primeiro para permitir a edição os widgets. Bem direto!

Etapa 4: Adicionando um mapa

Adicionando um mapa!
Adicionando um mapa!
Adicionando um mapa!
Adicionando um mapa!
Adicionando um mapa!
Adicionando um mapa!
Adicionando um mapa!
Adicionando um mapa!

Agora, para um rastreador GPS, um mapa é essencial! Vamos adicionar um criando um novo widget (botão inferior direito "+" novamente) e, desta vez, role para baixo e selecione "Mapas". Vá em frente e clique em um e abrirá as opções para ele. Adicione a fonte de dados como de costume, mas desta vez, selecione as variáveis "lat" e "long", pois serão necessárias ambas para obter a localização. Em seguida, vá para a guia "Configurações" e aqui você pode definir a janela de tempo dos dados a serem exibidos no mapa. Por exemplo, você pode querer que apareçam apenas os últimos 2 minutos de dados, ou pode querer todos os dados desde ontem, ou talvez você queira apenas uma janela de tempo fixa (como 14h de ontem até as 10h de hoje).

Se você quiser, pode ir para a guia "Avançado" e selecionar o tipo de mapa (roteiro, satélite, híbrido ou terreno). Talvez a parte mais importante de tudo isso seja verificar os nomes das chaves de latitude e longitude. Certifique-se de que esses nomes correspondam exatamente aos nomes das variáveis que você está realmente enviando para o ThingsBoard. Por exemplo, se o seu esboço do Arduino diz que está enviando variáveis "lat" e "long" (que é por padrão), você precisa alterar os nomes das chaves para "lat" e "long" e usando "latitude" e "longitude" não vai buscar seus dados!

Novamente, após adicionar o mapa, ele aparecerá na parte inferior do painel. Basta arrastá-lo para reposicioná-lo no painel e clicar e arrastar as bordas para redimensioná-lo. Se sua janela de tempo foi configurada corretamente, você deverá ver sua localização atual aparecer no mapa. Super legal hein? Agora estamos prontos para um teste real!

Etapa 5: teste de estrada

Teste de estrada
Teste de estrada
Teste de estrada
Teste de estrada

Testar o rastreador GPS é super simples! Basta conectar o Arduino a um adaptador USB de carro para ligá-lo, certifique-se de que o LED verde acenda e ele deve começar a enviar dados! Para alterar a taxa de amostragem do rastreador GPS, certifique-se de encontrar esta linha de código no esboço de exemplo:

#define samplingRate 10 // O tempo entre postagens, em segundos

e defina como quiser. Descobri que o 10s funciona muito bem para um teste de estrada tranquilo, mas se você for rápido e furioso talvez queira uma taxa de amostragem ainda maior!

Etapa 6: Resultados

Resultados
Resultados
Resultados
Resultados
Resultados
Resultados

Nas fotos acima você pode ver a configuração do meu painel. Eu adicionei gráficos para representar dados históricos de coisas como velocidade, altitude e temperatura, e também incluí medidores em tempo real, caso eu queira vê-los em tempo real em outra viagem (imagine isso em um trailer!).

O mapa era incrível e consegui coletar alguns dados realmente precisos de uma rota que fiz. Além disso, os dados de velocidade eram extremamente precisos porque nunca ultrapassamos cerca de 40 mph (o gráfico está em km / h) nas estradas da cidade. As muitas flutuações de velocidade podem ser explicadas pelos semáforos. No geral, ótimos resultados e imagine para que mais poderíamos usar isso! Você pode instalar isso em um RV, motocicleta, carro, etc. e fazer com que monitore o tempo todo e obtenha os resultados no ThingsBoard!

Para resumir, neste tutorial, programamos nosso rastreador GPS para enviar dados diretamente para ThingsBoard por meio de solicitações HTTP POST e gerenciamos os dados em um painel. Você pode adicionar vários dispositivos e painéis, cada um contendo vários widgets que parecem super legais e têm muitas opções de personalização! O ThingsBoard provou ser uma ferramenta muito poderosa (e gratuita!) Para visualizar dados de IoT e há até mesmo outros recursos que eu nem mesmo arranhei. Sinta-se à vontade para brincar com ele e ver o que você encontrará.

  • Se você gostou deste tutorial, fez o seu próprio, ou tem alguma dúvida, por favor, comente abaixo!
  • Certifique-se de dar um coração a este Instructable e inscreva-se aqui e no meu canal do YouTube para mais tutoriais incríveis relacionados ao Arduino!
  • Se você gostaria de apoiar o que eu faço, considere comprar seu próprio escudo Botletics SIM7000 na Amazon.com!

Com isso, vejo vocês na próxima!

Recomendado: