Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Localize seu quadro com um SMS

Componentes e suprimentos

Arduino MKR GSM 1400
× 1

Sobre este projeto


Observação:este tutorial pode estar desatualizado, vá aqui para uma versão mais atual.



O objetivo deste projeto é mostrar como usar a localização celular do Arduino MKR GSM 1400. Para isso, implementamos um aplicativo simples que permite tentar novamente a latitude e longitude do MKR GSM quando um SMS com verificação de segurança carta é recebida. O número do remetente é recuperado do SMS recebido e uma resposta é criada com o link apropriado do Google Maps preenchido pelas coordenadas fornecidas pelos serviços de localização fornecidos pelo módulo u-blox.





O que você precisa


O projeto é baseado em um Arduino MKR GSM 1400, uma antena, uma bateria LiPo, um smartphone e um cartão SIM de dados.
  • O Arduino MKR GSM 1400 executa o esboço e suporta a conectividade GSM que permite as funções de localização exigidas por nosso projeto;
  • Antena e bateria são usadas respectivamente para permitir a conexão à rede de dados do celular com um bom sinal e para alimentar o dispositivo quando outras fontes de alimentação não estiverem disponíveis;
  • O smartphone é necessário para enviar o SMS para o MKR GSM 1400 e solicitar a localização GPRS;
  • O cartão SIM é necessário para acessar a rede de dados e permitir a operação da rede;
  • PIN, APN e credenciais de acesso são necessários para se conectar à rede de dados.





Configuração de hardware


Este projeto não requer nada especial. Conecte à placa a antena, insira o cartão SIM e conecte a bateria LiPo ao conector JST.

A bateria LiPo é opcional, mas permite fazer frente aos picos de corrente que o módulo GSM pode exigir em condições particulares de cobertura insuficiente.





Como funciona


Este projeto utiliza a biblioteca MKRGSM para gerenciar as mensagens SMS e a georreferenciação baseada em células.

Quando um SMS é recebido, o conteúdo é verificado para descobrir se contém a letra "L". Somente se for o caso, o esboço prossegue com a localização e transmissão do SMS. Com esta solução, qualquer número pode solicitar a localização do sistema, mas só quem conhece a palavra-passe (a “carta secreta”) obterá resposta. Esta é a linha que faz a verificação if (c! =76) e 76 é o código ASCII de "L". Você pode alterar o valor para alterar a letra reconhecida.

O módulo GSM não possui receptor GPS, mas o fabricante possui um banco de dados com a localização de cada célula da rede GSM e, portanto, fornece as coordenadas para cada ID de célula fornecida. Este sistema é bastante preciso em áreas urbanas, onde cada célula cobre pequenas áreas. Nas áreas rurais a cobertura de cada célula é muito maior e a localização fornecida é com aproximação mais grosseira.

Para criar o link para o Google Maps, usamos um URL padrão onde apenas concatenamos os valores Long e Lat adequados no final. Este URL se parece com "https://www.google.com/maps/place/ , ". A posição mostrada no mapa será aquela onde a célula está fisicamente baseada; nosso conselho está dentro do raio coberto pela célula.





O esboço


Seguindo uma descrição detalhada do Sketch; a primeira seção de código é usada para incluir as bibliotecas exigidas pelo aplicativo.

MKRGSM incluem todas as funcionalidades de conexão GSM, localização e gerenciamento de SMS, disponíveis através do objeto GSMClient, GPRS, GSM e GSMLocation, as APIs de gerenciamento de SMS estão disponíveis por meio do objeto GSM_SMS , o cabeçalho ArduinoLowPower importar as APIs que permitem o gerenciamento de baixo consumo de energia do módulo da placa.

Se você baixar o código do Editor da Web, encontrará um arduino_secrets.h arquivo que inclui os dados importantes, como PIN, APN, usuário e senha. No editor da web, você deve preencher os dados importantes na guia Segredos.
  // inclui a biblioteca GSM #include  #include "ArduinoLowPower.h" char PINNUMBER [] =SECRET_PINNUMBER; char GPRS_APN [] =SECRET_GPRS_APN; char GPRS_LOGIN [] =SECRET_GPRS_LOGIN [] =SECRET_GPRS_LOGIN [char GPRS_LOGIN; ] =SECRET_GPRS_PASSWORD; // inicializar as instâncias da bibliotecaGPRS gprs; GSM gsmAccess; GSM_SMS sms; GSMLocation location;  

O measureLocation () consulta o módulo para tentar novamente as coordenadas pela rede celular, se novas coordenadas estiverem disponíveis, ele as atribui à variável global, caso contrário, peça novamente por 45 segundos, se não houver medidas disponíveis que respeitem as restrições de precisão, ele retorna as últimas boas
  // variável global usada para gerenciamento de localizaçãoString GSMlatitude ="0,000000"; String GSMlongitude ="0,000000"; // Esta função usa as APIs de localização para obter as coordenadas do dispositivo e atualizar a variável globa se todos os requisitos forem satisfeita com a medidaLocation () {unsigned long timeout =millis (); while (millis () - timeout <45000) {if (location.available () &&location.accuracy () <300 &&location.accuracy ()! =0) { GSMlatitude =String (location.latitude (), 6); GSMlongitude =String (location.longitude (), 6); break;}}}  

O connectNetwork () função usar a API smAccess.begin e gprs.attachGPRS para conectar a placa à rede de dados; são usados ​​os dados de credenciais pin , apn , usuário e passar atribuído pelas declarações em arduino_secrets.h.
  // A função connectNetwork () é usada para os dados da placa connectionvoid connectNetwork () {bool status =false; // definir o tempo limite do comando AT global para permitir a recuperação da comunicação uart // congelar entre o módulo samd e ublox module.gprs.setTimeout (100000); gsmAccess.setTimeout (100000); // Iniciar conexão GSM ao mesmo tempo (status ==false) {if ((gsmAccess.begin (PINNUMBER) ==GSM_READY) &(gprs.attachGPRS (GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD) ==GPRS_READY)) {status =true;} else {delay (1000);}}} A seção de configuração permite inicializar todos os objetos usados ​​pelo esboço, é chamada de função connectionNetwork () para estabelecer os dados conexão e a estrutura de localização começando.// seção de código usada para inicializar a conexão de dados e localização objectvoid setup () {connectNetwork (); location.begin ();}  

A última seção do código é a função de loop onde são implementados o gerenciamento de SMS e a medida de localização, cada vez que um novo SMS é disponibilizado a placa responde ao rsender com um SMS com as coordenadas da placa, para reduzir o consumo a placa desligou o módulo e entra em sono profundo por 60 segundos.
  void loop () {int c; Resposta da string; String messager =""; measureLocation (); tempo limite longo sem sinal =milis (); while (millis () - tempo limite <5000) {if (sms.available ()) {// verificar se há disponibilidade de SMS senderNumber [20] ={"0"}; sms.remoteNumber (senderNumber, 20); // Obter numberint remoto c =sms.read (); if (c! =76) {sms.flush (); break;} // concatenar a mensagem de string a ser enviada para o numberString remoto txtMsg ="https:// www.google.com/maps/place/ "+ GSMlatitude +", "+ GSMlongitude; // envie as mensagensms.beginSMS (senderNumber); sms.print (txtMsg); sms.endSMS (); break;}} // Desligue o módulo GSM para obter o menor consumo de energia da placa enquanto estiver hibernando gsmAccess.shutdown (); LowPower.sleep (60000); // habilita a baixa potência por 60 segundos e depois tenta novamente a placa connectNetwork (); // ligue o módulo e reconecte-se à rede de dados}  





Como usar


Configure o hardware conforme explicado acima, personalize o sketch com suas credenciais de acesso, carregue o sketch no quadro e aguarde o estabelecimento da conexão com a rede GSM. Isso pode levar 30 segundos.

Após o estabelecimento da conexão, basta enviar um SMS para o número SIM do MKRGSM com um "L" como texto:isso iniciará o processo de localização e a diretoria responderá com um SMS contendo o link do Google Maps com a posição solicitada.

Código

Arduino

Processo de manufatura

  1. Ganhe grande ou vá para casa com seu novo design de produto
  2. Junte-se ao IOT com sua estação meteorológica - CWOP
  3. Usando o PSoC 6 Pioneer Board com o Pioneer IoT Add-on Shield
  4. Usando códigos QR com seu CMMS:Passo a passo
  5. Atualize sua bagagem com conjuntos de bagagem de fibra de carbono
  6. Seja inteligente com seu dólar IoT
  7. Webinar:automatize seu processo com o Techman Robot
  8. 7 maneiras de reduzir o custo do seu PCB
  9. Aumente suas operações com manutenção de fazenda
  10. O que fazer com seu equipamento usado