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

Conectar Arduino MKR GSM 1400 a Google Cloud IoT Core de Forma Segura – Guía Paso a Paso

Componentes y materiales

Software y servicios online

Sobre el proyecto

Nota: Este tutorial podría estar desactualizado. Consulte aquí una versión más reciente.

Introducción

Los dispositivos pueden conectar a GCP IoT Core mediante HTTP o MQTT. Esta guía explica cómo conectar un Arduino MKR GSM 1400 de forma segura usando un cliente MQTT. MQTT (Message Queuing Telemetry Transport) es un protocolo de conectividad M2M que proporciona transporte de mensajería tipo publicar/suscribir.

La autenticación requiere JSON Web Tokens (JWT) (RFC 7519). GCP IoT Core soporta algoritmos RSA y Curva Elíptica para verificar firmas JWS (RFC 7515).

Cada placa MKR con conectividad integrada (incluido MKR GSM 1400) lleva un elemento criptográfico Microchip ATECC508A/ATECC608A. Este elemento genera y almacena de forma segura una clave ECC de 256 bits. Usaremos la clave privada dentro del elemento para firmar el JWT.

Configuración software y hardware

  1. Instalar Arduino IDE si no lo tienes.
  2. Instalar paquete «Arduino SAMD Boards» (v1.6.20 o superior) vía Gestor de tarjetas.
  3. Instalar librerías vía Gestor de librerías:
    • MKRGSM
    • Arduino_JSON
    • ArduinoECCX08 (≥ 1.3.0)
    • ArduinoMqttClient (≥ 0.1.3)
    • Arduino Cloud Provider Examples (≥ 1.2.0)
  4. Insertar tarjeta SIM, conectar antena, conectar batería LiPo al conector JST.
  5. Conectar MKR GSM 1400 por USB, seleccionar puerto y tarjeta «Arduino MKR GSM 1400» en el IDE.
Conectar Arduino MKR GSM 1400 a Google Cloud IoT Core de Forma Segura – Guía Paso a Paso
Conectar Arduino MKR GSM 1400 a Google Cloud IoT Core de Forma Segura – Guía Paso a Paso

Configurar y añadir la placa a GCP IoT Core

GCP IoT Core requiere JWT para autenticación MQTT. Generaremos par de claves en la placa y añadiremos la clave pública (PEM) en la consola GCP.

  1. Abrir sketch ejemplo: Archivo → Ejemplos → ArduinoECCX08 → Tools → ECCX08JWSPublicKey.
  2. Subir y abrir Monitor Serie (ajuste «Both NL & CR»).
  3. El sketch pide configurar permanentemente el elemento criptográfico si no está configurado/bloqueado. Este bloqueo es irreversible, pero necesario. La configuración permite 5 ranuras de clave privada (0–4), regenerables en cualquier momento.
  4. Elegir ranura 0 para este tutorial. La clave privada se genera dentro del elemento y nunca sale del dispositivo.
Conectar Arduino MKR GSM 1400 a Google Cloud IoT Core de Forma Segura – Guía Paso a Paso

Copiar la clave pública generada (formato PEM). Ejemplo:

-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEFl4+DXufU84AhDGib7aMwmYwUVAp9coRdC9jOdzR
e2kqGWFEb+QP4V4YUK9Zy7PsmRABi1sWgxiAoEhg1FEQgg==
-----END PUBLIC KEY-----

Añadir dispositivo en consola GCP IoT Core

  1. Ir a cloud.google.com → «Sign In».
  2. «GO TO CONSOLE» → panel principal.
  3. «CREATE» → nuevo proyecto (ej. «MKR GCP Tutorial»).
  4. Menú ☰ → BIG DATA → «IoT Core».
  5. «Enable API».
  6. «Create a device registry»: Registry ID (ej. «MKR_GCP_Tutorial»), región (ej. «us-central1»).
  7. En registro → «Devices» → «+ CREATE A DEVICE».
  8. Nombre dispositivo (ej. «MyMKRGSM1400»), formato clave pública «ES256», pegar clave PEM. «Create».
Conectar Arduino MKR GSM 1400 a Google Cloud IoT Core de Forma Segura – Guía Paso a Paso

Conectar la placa a GCP IoT Core

  1. Abrir sketch: Archivo → Ejemplos → Arduino Cloud Provider Examples → GoogleCloudPlatformIoTCore → GCP_IoT_Core_GSM.
  2. En pestaña arduino_secrets.h rellenar:
    // GSM settings
    #define SECRET_PINNUMBER ""
    #define SECRET_GPRS_APN "TU_APN"
    #define SECRET_GPRS_LOGIN "tu_login"
    #define SECRET_GPRS_PASSWORD "tu_password"
    
    // GCP IoT Core
    #define SECRET_PROJECT_ID "mkr-gcp-tutorial"
    #define SECRET_CLOUD_REGION "us-central1"
    #define SECRET_REGISTRY_ID "MKR_GCP_Tutorial"
    #define SECRET_DEVICE_ID "MyMKRGSM1400"
  3. Subir sketch y abrir Monitor Serie. La placa conecta a red celular y luego a GCP IoT Core vía MQTT.
Conectar Arduino MKR GSM 1400 a Google Cloud IoT Core de Forma Segura – Guía Paso a Paso

Interactuar con la placa en GCP IoT Core

El sketch envía mensaje a /devices/{deviceId}/state cada 5 s y escucha en /devices/{deviceId}/config y /devices/{deviceId}/commands/#.

  1. En página del dispositivo → «SEND COMMAND».
  2. Introducir mensaje (ej. «Hello There!»), «SEND COMMAND».
  3. La placa lo recibe e imprime en Monitor Serie.
Conectar Arduino MKR GSM 1400 a Google Cloud IoT Core de Forma Segura – Guía Paso a Paso
Conectar Arduino MKR GSM 1400 a Google Cloud IoT Core de Forma Segura – Guía Paso a Paso

Para ver mensajes enviados por la placa: pestaña «Configuration & state history». Los mensajes aparecen en Base64; clic en entrada y selecciona «Text» para ver contenido.

Conectar Arduino MKR GSM 1400 a Google Cloud IoT Core de Forma Segura – Guía Paso a Paso

Conclusión

Hemos visto cómo usar de forma segura un Arduino MKR GSM 1400 con GCP IoT Core: JWT firmado con clave privada almacenada en ATECC508A/608A, MQTT para mensajería bidireccional. Es solo el principio; puedes integrar con otros servicios de GCP.

Código

Repositorio GitHub

ArduinoCloudProviderExamples

Proceso de manufactura

  1. Conectar Raspberry Pi 3 a sensor DHT11 y subir datos a cloud ThingsIo.ai
  2. Monitorización Precisa de Temperatura y Humedad con SHT15 en Windows 10 IoT Core
  3. Instalación de Windows 10 IoT Core en Raspberry Pi 3 Model B+: Guía Paso a Paso
  4. Construye un Robot Controlado por Voz con Windows 10 IoT Core en Raspberry Pi 2
  5. Depuración del sistema dual-core Arduino Portenta H7 con Segger J-Link
  6. Arduino Mega: Captura Fotos y Súbelas Automáticamente a Google Drive
  7. Monitor de Frecuencia Cardíaca IoT en Tiempo Real con Arduino y MAX30100
  8. Construye una Torre de Sensores con Arduino Cloud: Temperatura, Movimiento y Gas
  9. Sistema de Control de Piscina con Azure IoT: Sensores Inteligentes y Monitorización Remota
  10. ADLINK y Google Cloud Colaboran para Entregar Soluciones IoT Sin Fisuras
  11. Dominando los gateways IoT: Conecta dispositivos a la nube sin fisuras