Conecta de forma segura tu Arduino MKR NB 1500 a Azure IoT Hub
Componentes y suministros
![]() |
Arduino MKR NB 1500 | × | 1 |
![]() |
Cable Micro-USB a USB (Genérico) | × | 1 |
| Batería LiPo 3.7V | × | 1 | |
| Tarjeta Micro SIM | × | 1 |
Aplicaciones y servicios en línea
![]() |
Arduino IDE |
![]() |
Microsoft Azure |
Sobre este proyecto
Nota: Este tutorial podría estar desactualizado. Consulte aquí para una versión más actual.
Introducción
Azure IoT Hub permite "conectar, monitorizar y gestionar de forma segura miles de millones de dispositivos para desarrollar aplicaciones de Internet de las cosas (IoT)".
Los dispositivos pueden conectarse a Azure IoT Hub utilizando los siguientes protocolos: HTTPS, AMQP y MQTT. Azure también proporciona SDKs para muchos lenguajes de programación que abstraen estos protocolos. Además, puedes conectarte a IoT Hub a través de un cliente MQTT. Esta página tiene más información sobre el soporte MQTT de IoT Hub.
Este tutorial te guiará para conectar de forma segura una placa Arduino MKR NB 1500 a Azure IoT Hub usando un cliente MQTT. MQTT (Message Queuing Telemetry Transport) es un protocolo de conectividad M2M (máquina a máquina) que proporciona un transporte de mensajería por suscripción y publicación.
Los dispositivos pueden usar tokens SAS o certificados X.509 para la autenticación con Azure IoT Hub. En este tutorial, utilizaremos un certificado X.509 para autenticar la placa.
Cada placa Arduino MKR con conectividad integrada, incluido el MKR NB 1500, está equipada con un elemento criptográfico Microchip ATECC508A o ATECC608A. Este elemento puede usarse para generar y almacenar de forma segura una clave ECC (Criptografía de Curva Elíptica) de 256 bits.
Configuración de software y hardware
Si no tienes instalado el Arduino IDE, descárgalo e instálalo.
Una vez instalado, asegúrate de tener el paquete "Arduino SAMD Boards" más reciente. Verifícalo abriendo el Arduino IDE y yendo a Herramientas → Placa: "..." → Gestor de tarjetas..., y busca "Arduino SAMD". Al momento de escribir esto, la versión 1.6.20 era la más reciente.

Luego, instala las librerías necesarias usando el gestor de librerías del Arduino IDE. Abre Programa → Incluir librería → Gestionar librerías... e instala individualmente:
- MKRNB
- ArduinoBearSSL
- ArduinoECCX08
- ArduinoMqttClient
- Arduino Cloud Provider Examples
Inserta la tarjeta micro SIM en la ranura inferior del MKR NB 1500 y conecta la batería LiPo de 3.7V al conector JST. Conecta el MKR NB 1500 con el cable micro USB a tu computadora, selecciona el puerto serie en Herramientas → Puerto "..." y selecciona Arduino MKR NB 1500 en Herramientas → Placa "...".

Configuración y adición de la placa a Azure IoT Hub
Como se mencionó, Azure IoT Hub permite dispositivos que se conectan usando MQTT con autenticación X.509. Generaremos un certificado X.509 autofirmado en la placa y agregaremos su huella SHA1 al portal de Azure IoT Hub.
El certificado autofirmado se genera con un sketch de ejemplo de la librería ArduinoECCX08. Ábrelo en Archivo → Ejemplos → ArduinoECCX08 → Herramientas → ECCX08SelfSignedCert. Sube el sketch y abre el Monitor Serial (configura finales de línea a "Both NL & CR").
El sketch te pedirá configurar permanentemente el elemento criptográfico ATECC508A/ATECC608A si no está configurado y bloqueado. NOTA: Este proceso de bloqueo es permanente e irreversible, pero necesario para usar el elemento criptográfico. La configuración permite usar 5 ranuras de clave privada (0-4) con cualquier proveedor de nube, y las claves pueden regenerarse en cualquier momento. De fábrica, el elemento viene sin configurar y desbloqueado.
Luego se te pedirá información para el certificado: año, mes, día y hora de emisión, y período de validez en años. Usaremos la ranura 0 para la clave privada (las ranuras 1-4 para claves adicionales) y la ranura 8 para almacenar fechas y firma. Nota: La clave privada se genera dentro del elemento criptográfico y nunca sale del dispositivo.

Copia el valor SHA1 generado (ej: 99d6d96fa55bdf08b4040a142a8d0d934bc9d12b). Lo usaremos como huella digital para el dispositivo en Azure IoT Hub.
Ahora, accede al portal de Azure IoT Hub y crea un nuevo dispositivo:
- Ve a portal.azure.com.
- Si no tienes cuenta, haz clic en "¡Crear una!". Si la tienes, inicia sesión.
- En el panel izquierdo, clic en "Crear un recurso".
- Selecciona "Internet de las cosas" y luego "IoT Hub".
- Completa: Suscripción, Grupo de recursos, Región y Nombre del IoT Hub. Ejemplo: "Prueba gratuita", "MKR", "Este de EE. UU.", "ArduinoProjectHubTutorial". Clic en "Revisar + crear".
- Clic en "Crear".
- Espera unos minutos a que se implemente.
- Clic en "Ir al recurso" cuando termine.
- En el menú "Explorar", clic en "Dispositivos IoT".
- Clic en "Agregar" para nuevo dispositivo.
- Ingresa nombre (ej: "MyMKRNB1500"), ve a la pestaña "X.509 Autofirmado". Pega el SHA1 del Monitor Serial en "Huella digital principal" y "Huella digital secundaria". Clic en "Guardar".
- Verás el nuevo dispositivo en la lista.










Conectar la placa a Azure IoT Hub
- Abre el sketch de Azure IoT Hub NB: Archivo → Ejemplos → Arduino Cloud Provider Examples → AzureIoTHub → Azure_IoT_Hub_NB.
- En la pestaña
arduino_secrets.h, completa el PIN de la SIM si es necesario:// Configuración NB #define SECRET_PINNUMBER "" - Actualiza el broker con el endpoint de tu IoT Hub:
// Hostname de tu Azure IoT Hub broker #define SECRET_BROKER ".azure-devices.net" - Actualiza el ID del dispositivo con el nombre que creaste en el portal:
// ID del dispositivo #define SECRET_DEVICE_ID "" - Sube el sketch y abre el Monitor Serial. La placa intentará conectarse a la red celular y luego a Azure IoT Hub vía MQTT.

Interactuar con la placa en Azure IoT Hub
El sketch envía mensajes al tema devices/{deviceId}/messages/events/ cada 5 segundos y escucha en devices/{deviceId}/messages/devicebound/#.
En el portal, clic en el ID de tu dispositivo en la tabla "Dispositivos IoT". Luego clic en "Mensaje al dispositivo" en la barra de herramientas.

Ingresa el mensaje (ej: "¡Hola!") y clic en "Enviar mensaje".

El Monitor Serial del Arduino IDE mostrará el mensaje recibido.

Para ver los mensajes que envía la placa:
- Accede a shell.azure.com (selecciona "Bash" si es la primera vez).
- Instala la extensión IoT Hub:
az extension add --name azure-cli-iot-ext - Ejecuta (reemplaza
<hub name>):az iot hub monitor-events --hub-name - Verás los mensajes en la consola.

Conclusión
En este tutorial cubrimos cómo usar de forma segura un Arduino MKR NB 1500 con Azure IoT Hub. Se usó un certificado X.509 autofirmado para autenticación MQTT, con la clave privada almacenada de forma segura en el ATECC508A/ATECC608A. Se enviaron y recibieron mensajes MQTT.
Esto es solo el principio: puedes integrar Azure IoT Hub con muchos otros servicios de Azure.
Código
Repositorio en GitHub: https://github.com/arduino/ArduinoCloudProviderExamples
Proceso de manufactura
- Conectar Raspberry Pi 3 a sensor DHT11 y subir datos a cloud ThingsIo.ai
- Registrador GPS con Análisis Espacial en Azure IoT Hub
- Monitor de Frecuencia Cardíaca IoT en Tiempo Real con Arduino y MAX30100
- Control Remoto IoT de Brazo Robótico Personalizado con Arduino MKR1000 y ThingSpeak
- Seguidor Solar IoT: Gestión Inteligente de Energía con Arduino
- Crear un medidor IoT web con Arduino, Yaler e IFTTT
- Sistema de Control de Piscina con Azure IoT: Sensores Inteligentes y Monitorización Remota
- Arduino lanza Portenta H7: Board IoT industrial‑grade debuta en CES
- Azure RTOS se expande en plataformas embebidas principales con nuevos kits de desarrollo
- Cómo IoT y 5G Están Transformando los Entornos Laborales Modernos
- Azure vs AWS: ¿Qué Plataforma Cloud Gana para IoT?



