Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Localiza tu tablero con un SMS

Componentes y suministros

Arduino MKR GSM 1400
× 1

Acerca de este proyecto

Nota:este tutorial podría estar desactualizado, vaya aquí para una versión más actual.

El propósito de este proyecto es mostrar cómo usar la localización celular del Arduino MKR GSM 1400. Para ello, implementamos una aplicación simple que le permite volver a probar la latitud y longitud del MKR GSM cuando un SMS con un control de seguridad se recibe la carta. El número de remitente se recupera del SMS recibido y se crea una respuesta con el enlace adecuado de Google Maps completado por las coordenadas dadas por los servicios de ubicación proporcionados por el módulo u-blox.

Qué necesitas

El proyecto se basa en un Arduino MKR GSM 1400, una antena, una batería LiPo, un teléfono inteligente y una tarjeta SIM de datos.

  • El Arduino MKR GSM 1400 ejecuta el boceto y soporta la conectividad GSM que permite las funciones de localización requeridas por nuestro proyecto;
  • La antena y el paquete de baterías se utilizan respectivamente para permitir la conexión a la red de datos móviles con una buena señal y para alimentar el dispositivo cuando no hay otras fuentes de alimentación disponibles;
  • Se necesita el teléfono inteligente para enviar el SMS al MKR GSM 1400 y solicitar la localización GPRS;
  • Se requiere la tarjeta SIM para acceder a la red de datos y permitir el funcionamiento de la red;
  • Se requieren PIN, APN y credenciales de acceso para conectarse a la red de datos.

Configuración de hardware

Este proyecto no requiere nada especial. Conecte a la placa la antena, inserte la tarjeta SIM y conecte la batería LiPo al conector JST.

La batería LiPo es opcional, pero permite hacer frente a los picos de corriente que el módulo GSM podría requerir en condiciones particulares de poca cobertura.

Cómo funciona

Este proyecto utiliza la biblioteca MKRGSM para administrar los mensajes SMS y la georreferenciación basada en células.

Cuando se recibe un SMS, se comprueba el contenido para saber si contiene la letra "L". Solo si este es el caso, el boceto continúa con la localización y la transmisión de SMS. Con esta solución, cualquier número puede solicitar la ubicación del sistema, pero solo quien conozca la contraseña (la "letra secreta") obtendrá una respuesta. Esta es la línea que hace la verificación if (c! =76) y 76 es el código ASCII de "L". Puede cambiar el valor para cambiar la letra reconocida.

El módulo GSM no tiene receptor GPS, pero el fabricante tiene una base de datos de la ubicación de cada celda de la red GSM y por lo tanto proporciona coordenadas para cada ID de celda suministrada. Este sistema es bastante preciso en áreas urbanas, donde cada celda cubre áreas pequeñas. En las zonas rurales, la cobertura de cada celda es mucho mayor y la ubicación proporcionada es de aproximación más burda.

Para crear el enlace para Google Maps usamos una URL estándar donde simplemente concatenamos los valores adecuados de Long y Lat al final. Esta URL se parece a "https://www.google.com/maps/place/ , ". La posición que se muestra en el mapa será aquella en la que la celda esté basada físicamente; nuestro tablero está dentro del radio cubierto por la celda.

El boceto

Siguiendo una descripción detallada del Sketch; la primera sección de código se usa para incluir las bibliotecas requeridas por la aplicación.

MKRGSM incluir todas las funcionalidades de conexión GSM, localización y gestión de SMS, estas están disponibles a través del objeto GSMClient, GPRS, GSM y GSMLocation, las API de gestión de SMS están disponibles a través del objeto GSM_SMS , el encabezado ArduinoLowPower importar las API que permiten la administración de bajo consumo de energía del módulo de la placa.

Si descarga el código desde el Editor web, encontrará un arduino_secrets.h archivo que incluye datos sensibles como PIN, APN, usuario y contraseña. En el editor web, debe completar los datos sensibles en la pestaña Secretos.

  // incluir la biblioteca GSM # incluir  #include "ArduinoLowPower.h" char PINNUMBER [] =SECRET_PINNUMBER; char GPRS_APN [] =SECRET_GPRS_APN; char GPRS_LOGIN [] =SECRET_GASSWORD_LOGIN [] =SECRET_GASSWORD_LOGIN ] =SECRET_GPRS_PASSWORD; // inicializar las instancias de la biblioteca GPRS gprs; GSM gsmAccess; GSM_SMS sms; GSMLocation location;  

MeasureLocation () consulta al módulo para reintentar las coordenadas por red celular, si hay nueva coordenada disponible la asigna a la variable global en caso contrario pregunte nuevamente por 45 segundos, si no hay medidas disponibles que respeten las restricciones de precisión devuelve las últimas buenas

  // variable global utilizada para la gestión de la ubicaciónString GSMlatitude ="0.000000"; String GSMlongitude ="0.000000"; // Esta función utiliza las API de la ubicación para obtener las coordenadas del dispositivo y actualizar la variable global si todos los requisitos son satisfechovoid MeasureLocation () {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;}}}  

connectNetwork () función utiliza la API smAccess.begin y gprs.attachGPRS para conectar la placa a la red de datos; se utilizan los datos de las credenciales pin , apn , usuario y pasar asignado por las declaraciones en arduino_secrets.h.

  // La función connectNetwork () se utiliza para la conexión de datos de la placa. ublox module.gprs.setTimeout (100000); gsmAccess.setTimeout (100000); // Iniciar la conexión GSM mientras (estado ==false) {if ((gsmAccess.begin (PINNUMBER) ==GSM_READY) &(gprs.attachGPRS (GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD) ==GPRS_READY)) {status =true;} else {delay (1000);}}} La sección de configuración permite inicializar todo el objeto utilizado por el boceto, se llama función connectionNetwork () para establecer los datos conexión y el comienzo de la estructura de localización. // sección de código utilizada para inicializar la conexión de datos y el objeto de localización void setup () {connectNetwork (); location.begin ();}  

La última sección de código es la función de bucle donde se implementan la gestión de SMS y la medida de Ubicación, cada vez que se dispone de un nuevo SMS la placa responde al rsender con un SMS con las coordenadas de la placa, para reducir el consumo la placa apaga el módulo y entra en sueño profundo durante 60 segundos.

  bucle vacío () {int c; Respuesta de cadena; String messager =""; MeasureLocation (); tiempo de espera largo sin firmar =millis (); while (millis () - timeout <5000) {if (sms.available ()) {// comprobar si hay SMS availablechar senderNumber [20] ={"0"}; sms.remoteNumber (senderNumber, 20); // Obtener el número remotoint c =sms.read (); if (c! =76) {sms.flush (); break;} // concatenar el mensaje de cadena que se enviará al número remoto. Cadena txtMsg ="https:// www.google.com/maps/place/ "+ GSMlatitude +", "+ GSMlongitude; // envía los mensajesms.beginSMS (senderNumber); sms.print (txtMsg); sms.endSMS (); break;}} // Apague el módulo GSM para obtener el menor consumo de energía de la placa mientras duerme gsmAccess.shutdown (); LowPower.sleep (60000); // habilita la baja potencia durante 60 segundos y luego vuelve a intentar la placa connectNetwork (); // enciende el módulo y vuelve a conectarte a la red de datos}  

Cómo usarlo

Configure el hardware como se explicó anteriormente, personalice el boceto con sus credenciales de acceso, cargue el boceto en la placa y espere a que se establezca la conexión con la red GSM. Esto puede tardar 30 segundos.

Después de que se establezca la conexión, simplemente envíe un SMS al número de SIM MKRGSM con una "L" como texto:esto iniciará el proceso de localización y la placa responderá con un SMS que contiene el enlace de Google Maps con la posición solicitada.

Código

Arduino

Proceso de manufactura

  1. Vaya a lo grande o vaya a casa con su nuevo diseño de producto
  2. Únase al IOT con su estación meteorológica - CWOP
  3. Uso de la placa Pioneer de PSoC 6 con el escudo complementario de Pioneer IoT
  4. Uso de códigos QR con su CMMS:paso a paso
  5. Actualice su equipaje con juegos de equipaje de fibra de carbono
  6. Etiquetado de sus piezas con relleno de grabador
  7. Sea inteligente con su dólar de IoT
  8. Seminario web:Automatice su proceso con Techman Robot
  9. 7 formas de reducir el costo de su PCB
  10. Haga crecer sus operaciones con el mantenimiento agrícola
  11. Qué hacer con su equipo usado