Compartir a través de


Lista de selección de dispositivos IoT

Esta lista de selección de dispositivos IoT tiene como objetivo proporcionar a los asociados un punto de partida con el hardware de IoT para crear prototipos y pruebas de conceptos de forma rápida y sencilla. [^1]

Todos los paneles enumerados admiten a los usuarios de todos los niveles de experiencia.

Nota:

Esta tabla no está pensada para ser una lista exhaustiva ni para llevar soluciones a producción. [^2] [^3]

Aviso de seguridad: A excepción de Azure Sphere, se recomienda mantener estos dispositivos detrás de un enrutador o firewall.

[^1]: Si no está familiarizado con la programación de hardware, para el trabajo de desarrollo de MCU se recomienda usar la extensión arduino de VS Code o la extensión de E/S de la plataforma de VS Code. Para el trabajo de desarrollo de SBC, programa el dispositivo como lo haría con un portátil, es decir, en el propio dispositivo. Raspberry Pi admite el desarrollo de VS Code.

[^2]: Dispositivos en la disponibilidad de recursos de soporte técnico, paneles comunes que se usan para crear prototipos y PoC, y paneles que admiten IDE descriptivos para principiantes, como Arduino IDE y extensiones de VS Code; por ejemplo, extensión de Arduino y extensión de Platform IO. Por motivos de simplicidad, pretendemos mantener la lista total de dispositivos <6. Es posible que otros equipos y personas hayan elegido incluir diferentes paneles en función de su interpretación de los criterios.

[^3]: [^3]: Para llevar los dispositivos a la producción, es probable que desee probar una PoC con un conjunto de chips específico, STM32 de ST o la serie de placas de breakout Pic-IoT de Microchip, diseñar una placa personalizada que se pueda fabricar por un costo menor que los MCU y SBC enumerados aquí, o incluso explorar kits de desarrollo basados en FPGA. También puede usar un entorno de desarrollo para la ingeniería eléctrica profesional, como STM32CubeMX o el programador basado en el explorador Arm Mbed.

Contenido

Sección Descripción
Comience aquí Guía para usar esta lista de selección. Incluye criterios de selección sugeridos.
Diagrama de selección Objeto visual que resume los criterios de selección comunes con posibles opciones de hardware.
Terminología y requisitos de ML Terminología y definiciones de acrónimos y requisitos de dispositivo para el aprendizaje automático perimetral (ML).
Lista de dispositivos MCU Una lista de MCU recomendadas, por ejemplo, ESP32, con especificaciones técnicas y alternativas.
Lista de dispositivos SBC Una lista de SBC recomendados, por ejemplo, Raspberry Pi, con especificaciones técnicas y alternativas.

Comience aquí

Uso del documento

Use este documento para comprender mejor la terminología de IoT, las consideraciones de selección de dispositivos y elegir un dispositivo IoT para crear prototipos o crear una prueba de concepto. Se recomienda el siguiente procedimiento:

  1. Lea la sección "Qué hay que tener en cuenta al elegir un panel" para identificar las necesidades y las restricciones.

  2. Use el objeto visual de selección de aplicaciones para identificar las posibles opciones del escenario de IoT.

  3. Con las listas de dispositivos MCU o SBC, compruebe las especificaciones del dispositivo y compárelos con sus necesidades o restricciones.

Qué tener en cuenta al elegir un panel

Para elegir un dispositivo para el prototipo de IoT, consulte los criterios siguientes:

  • Unidad de microcontrolador (MCU) o equipo de placa única (SBC)

    • Se prefiere una MCU para tareas únicas, como la recopilación y carga de datos del sensor o el aprendizaje automático en el perímetro. Las MPU también tienden a ser de un costo menor.
    • Se recomienda un SBC cuando necesite varias tareas diferentes, como recopilar datos del sensor y controlar otro dispositivo. También puede ser recomendable en las primeras fases cuando hay muchas opciones para posibles soluciones: un SBC le permite probar muchos enfoques diferentes.
  • Potencia de procesamiento

    • Memoria: tenga en cuenta la cantidad de almacenamiento de memoria (en bytes), el almacenamiento de archivos y la memoria para ejecutar programas que el proyecto necesita.

    • Velocidad del reloj: tenga en cuenta la rapidez con la que los programas deben ejecutarse o la rapidez con la que el dispositivo necesita comunicarse con el servidor de IoT.

    • Fin de la vida útil: considere si necesita un dispositivo con las características y documentación más actualizadas o si puede usar un dispositivo discontinuo como prototipo.

  • Consumo de energía

    • Potencia: considere la cantidad de voltaje y corriente que consume la placa. Determine si la electricidad doméstica está disponible fácilmente o si necesitará una batería para la aplicación.

    • Conexión: tenga en cuenta la conexión física con la fuente de alimentación. Si necesita energía de batería, compruebe si hay un puerto de conexión de batería disponible en la placa. Si no hay ningún conector de batería, busque otra placa comparable o considere otras maneras de agregar energía de batería al dispositivo.

  • Inputs and outputs

    • Puertos y patillas: tenga en cuenta cuántos y de qué tipos de puertos y patillas de E/S puede requerir el proyecto. * Entre las consideraciones adicionales, se incluyen si el dispositivo se comunicará con otros sensores o dispositivos. Si es así, identifique cuántos puertos requieren esas señales.

    • Protocolos: si trabaja con otros sensores o dispositivos, tenga en cuenta qué protocolos de comunicación de hardware son necesarios. * Por ejemplo, puede necesitar CAN, UART, SPI, I2C u otros protocolos de comunicación.

    • Alimentación: considere si el dispositivo encenderá otros componentes, como los sensores. Si el dispositivo está alimentando otros componentes, identifique la tensión y la salida de corriente de las patillas alimentación disponibles del dispositivo y determine qué voltaje/corriente necesitan los demás componentes.

    • Tipos: determine si necesita comunicarse con componentes analógicos. Si necesita componentes analógicos, identifique cuántas patillas de E/S analógica necesita el proyecto.

    • Periféricos: considere si prefiere un dispositivo con sensores incorporados u otras características, como una pantalla, un micrófono, etc.

  • Desarrollo

    • Lenguaje de programación: considere si el proyecto requiere lenguajes de nivel superior más allá de C/C++. Si es así, identifique los lenguajes de programación comunes para la aplicación que necesita (por ejemplo, Machine Learning a menudo se realiza en Python). Piense en qué SDK, API o bibliotecas son útiles o necesarias para el proyecto. Identifique en qué lenguajes de programación se admiten.

    • IDE: tenga en cuenta los entornos de desarrollo que admite el dispositivo y si satisface las necesidades, el conjunto de aptitudes o las preferencias de los desarrolladores.

    • Comunidad: considere la cantidad de ayuda que desea o necesita para crear una solución. Por ejemplo, considere si prefiere empezar con código de ejemplo, si desea solucionar problemas de asesoramiento o asistencia, o si se beneficiaría de una comunidad activa que genere nuevas muestras y documentación de actualizaciones.

    • Documentación: eche un vistazo a la documentación del dispositivo. Identifique si es completo y fácil de seguir. Considere si necesita esquemas, ejemplos, hojas de datos u otro tipo de documentación. Si es así, realice alguna búsqueda para ver si esos elementos están disponibles para el proyecto. Tenga en cuenta los SDK de software, las API o las bibliotecas que se escriben para la placa y si estos elementos facilitarían el proceso de creación de prototipos. Identifique si se mantiene esta documentación y quiénes son los encargados de mantenerla.

  • Seguridad

    • Redes: considere si el dispositivo está conectado a una red externa o si se puede mantener detrás de un enrutador o firewall. Si el prototipo debe estar conectado a una red orientada externamente, se recomienda usar Azure Sphere, ya que es el único dispositivo seguro de forma confiable.

    • Periféricos: considere si alguno de los periféricos a los que se conecta el dispositivo tiene protocolos inalámbricos (por ejemplo, WiFi, BLE).

    • Ubicación física: considere si el dispositivo o cualquiera de los periféricos a los que está conectado será accesible para el público. Si es así, se recomienda hacer que el dispositivo sea físicamente inaccesible. Por ejemplo, en una caja cerrada con llave.

Selección de la aplicación

Nota:

Esta lista es solo para fines educativos, no está pensada para respaldar ningún producto.

Tabla que muestra criterios de selección comunes con posibles opciones de hardware.

Terminología y requisitos de ML

En esta sección se proporcionan definiciones de terminología insertada, así como acrónimos y especificaciones de hardware para aplicaciones de aprendizaje automático de sensores, visuales y auditivas.

Terminología

La terminología y los acrónimos se enumeran en orden alfabético.

Término Definición
ADC Analógico al convertidor digital; convierte señales analógicas de componentes conectados, como sensores, a señales digitales legibles por el dispositivo.
Patillas analógicas Se usa para conectar componentes analógicos que tienen señales continuas como fotoresistores (sensores de luz) y micrófonos
Velocidad del reloj Rapidez con la que la CPU puede recuperar e interpretar instrucciones
Patillas digitales Se usa para conectar componentes digitales que tienen señales binarias como LED y conmutadores.
Flash (o ROM) Memoria disponible para almacenar programas
IDE Entorno de desarrollo integrado; un programa para escribir código de software
IMU Unidad de medición inercial (IMU)
Patillas de E/S (o E/S) Patillas de entrada y salida usadas para comunicarse con otros dispositivos, como sensores y otros controladores
MCU Unidad de microcontrolador; un equipo pequeño en un solo chip que incluye una CPU, RAM y E/S
MPU Unidad de microprocesador; un procesador informático que incorpora las funciones de la unidad de procesamiento central (CPU) de un equipo en un único circuito integrado (IC), o como máximo unos pocos circuitos integrados.
ML Aprendizaje automático; programas informáticos especiales que realizan un reconocimiento de patrones complejo
PWM Modulación de ancho de pulso; una manera de modificar las señales digitales para lograr efectos similares a los analógicos, como el cambio de brillo, volumen y velocidad
RAM Memoria de acceso aleatorio; cantidad de memoria disponible para ejecutar programas
SBC Equipo de placa única
TF TensorFlow; un paquete de software de aprendizaje automático diseñado para dispositivos perimetrales
TF Lite TensorFlow Lite; una versión más pequeña de TF para dispositivos perimetrales pequeños

Requisitos de hardware de Machine Learning

Aprendizaje automático de visión

  • Velocidad: 200 MHz
  • Flash: 300 kB
  • RAM: 100 kB

Aprendizaje automático de voz

  • Velocidad: 60 MHz [^4]
  • Flash: 50 kB
  • RAM: 8 kB

Sensor ML (por ejemplo, movimiento, distancia)

  • Velocidad: 20 MHz
  • Flash: 20 kB
  • RAM: 2 kB

[^4]: El requisito de velocidad se debe en gran medida a la necesidad de que los procesadores puedan muestrear un mínimo de 6 kHz para que los micrófonos puedan procesar frecuencias vocales humanas.

Lista de dispositivos MCU

A continuación se muestra una tabla de comparación de MCU en orden alfabético. Esta lista no pretende ser exhaustiva.

Nota:

Esta lista es solo para fines educativos, no está pensada para respaldar ningún producto. Los precios que se muestran representan el promedio entre varios distribuidores y son solo para fines ilustrativos.

Nombre del panel Intervalo de precios (USD) ¿Para qué se usa? Software Velocidad Procesador Memoria Incorporación de sensores y otras características Patillas de E/S Vídeo Radio ¿Conector de batería? Voltaje de funcionamiento Guías indicadas Alternativas
Azure Sphere MT3620 en blanco ~$40 - $100 Aplicaciones muy seguras C/C++, VS Code, VS 500 MHz y 200 MHz MT3620 (tri-core--1 x Cortex A7, 2 x Cortex M4) 4 MB de RAM + 2 x 64 KB de RAM Certificaciones: CE/FCC/MIC/RoHS 4 x E/S digital, 1 x I2S, 4 x ADC, 1 x RTC - Doble banda 802.11 b/g/n con diversidad de antenas - 5 V 1. Galería de ejemplos de Azure Sphere, 2. Estación meteorológica de Azure Sphere N/D
Adafruit HUZZAH32 – ESP32 Feather Board ~$20 - $25 Supervisión; IoT principiante; Automatización del hogar Arduino IDE, VS Code 240 MHz ESP32 de 32 bits (Tensilica LX6 de doble núcleo) 4 MB SPI Flash, 520 KB SRAM Sensor hall, 10 patillas táctiles capacitivas de E/S, más de 50 paneles de complementos 3 x UART, 3 x SPI, 2 x I2C, 12 x entradas de ADC, 2 x I2S Audio, 2 x DAC - 802.11b/g/n HT40 Wi-Fi transceptores, banda base, pila y LWIP, Bluetooth y BLE -V (3.3 | 90 | 100) 1. Monitor de congelador científico, 2. Ejemplos de Arduino del SDK de Azure IoT Arduino Uno WiFi Rev 2 (~$50 - $60)
Arduino Nano RP2040 Connect ~$20 - $25 Control remoto; Monitoreo Arduino IDE, VS Code, C/C++, MicroPython 133 MHz RP2040 de 32 bits (Cortex M0+) de doble núcleo 16 MB Flash, 264-kB RAM Micrófono, IMU de seis ejes con funcionalidades de IA 22 x E/S digital, 20 x PWM, 8 x ADC - WiFi y Bluetooth - -V (3.3 | 90 | 100) - Adafruit Feather RP2040 (NOTA: también necesita un FeatherWing para WiFi)
ESP32-S2 Saola-1 ~$10 - $15 Automatización de la casa; IoT para principiantes; ML; Supervisión; Redes de malla Arduino IDE, Circuit Python, ESP IDF 240 MHz ESP32-S2 de 32 bits (Xtensa LX7 de un solo núcleo) 128 kB Flash, 320 kB SRAM, 16 kB SRAM (RTC) 14 x patillas de E/S táctil capacitiva, sensor temporal 43 x patillas digitales, 8 x PWM, 20 x ADC, 2 x DAC LCD serie, PCD paralelo Wi-Fi 802.11 b/g/n (802,11n hasta 150 Mbps) - -V (3.3 | 90 | 100) 1. Protección de la detección de caras con Azure ML, 2. Azure Cost Monitor ESP32-DevKitC (~$10 - $15)
Wio Terminal (Seeed Studio) ~$40 - $50 Supervisión; Automatización doméstica; Ml Arduino IDE, VS Code, MicroPython, ArduPy 120 MHz ATSAMD51 de 32 bits (Cortex-M4F de núcleo único) 4 MB SPI Flash, 192-kB RAM Pantalla a bordo, Micrófono, IMU, zumbador, ranura microSD, sensor de luz, emisor ir, montaje GPIO raspberry Pi (como dispositivo secundario) 26 x patillas digitales, 5 x PWM, 9 x ADC 2.4" 320x420 Color LCD doble banda de 2,4 Ghz/5 Ghz (Realtek RTL8720DN) - -V (3.3 | 90 | 100) Supervisión de plantas con Azure IoT Adafruit FunHouse (~$30 - $40)

Lista de dispositivos SBC

A continuación se muestra una tabla de comparación de SBC en orden alfabético. Esta lista no pretende ser exhaustiva.

Nota:

Esta lista es solo para fines educativos, no está pensada para respaldar ningún producto. Los precios que se muestran representan el promedio entre varios distribuidores y son solo para fines ilustrativos.

Nombre del panel Intervalo de precios (USD) ¿Para qué se usa? Software Velocidad Procesador Memoria Incorporación de sensores y otras características Patillas de E/S Vídeo Radio ¿Conector de batería? Voltaje de funcionamiento Guías de introducción Alternativas
Raspberry Pi 4 modelo B ~$30 - $80 Automatización de la casa; Robótica; Vehículos autónomos; Sistemas de control; Ciencia de campos Raspberry Pi OS, Raspbian, Ubuntu 20.04/21.04, RISC OS, Windows 10 IoT, más CPU de 1,5 GHz, GPU de 500 MHz Broadcom de 64 bits BCM2711 (cortex-A72 de cuatro núcleos), GPU videocore VI 2 GB/4 GB/8 GB LPDDR4 RAM, tarjeta SD (no incluida) 2 puertos USB 3, 1 puerto de pantalla MIPI DSI, 1 puerto de cámara MIPI CSI, audio estéreo de 4 polos y puerto de vídeo compuesto, Alimentación sobre Ethernet (requiere HAT) 26 x Digital, 4 x PWM 2 micro-HDMI compuesto, MPI DSI WiFi y Bluetooth 5 V 1. Enviar datos IoT Hub, 2. Supervisión de plantas con Azure IoT BeagleBone Black Wireless (~$50 - $60)
NVIDIA Jetson 2 GB Nano Dev Kit ~$50 - $100 AI/ML; Vehículos autónomos JetPack basado en Ubuntu CPU de 1,43 GHz, GPU de 921 MHz CPU NVIDIA de 64 bits (quad-core Cortex-A57), coprocesador GPU de 128-CUDA-core Maxwell 2GB/4GB LPDDR4 RAM 472 GFLOPS para el conector AI Perf, 1 x MIPI CSI-2 28 x Digital, 2 x PWM HDMI, DP (solo 4 GB) Gigabit Ethernet, 802.11ac WiFi 5 V Integración de deepstream con Azure IoT Central BeagleBone AI (~$110 - $120)
Raspberry Pi Zero W2 ~$15 - $20 Automatización de la casa; ML; Modificaciones del vehículo; Ciencia de campos Raspberry Pi OS, Raspbian, Ubuntu 20.04/21.04, RISC OS, Windows 10 IoT, más CPU de 1 GHz, GPU de 400 MHz Broadcom BCM2837 de 64 bits (Cortez-A53 de cuatro núcleos), VideoCore IV GPU 512 MB LPDDR2 RAM, tarjeta SD (no incluida) Conector de cámara CSI-2 x 26 x Digital, 4 x PWM Mini-HDMI WiFi y Bluetooth - 5 V Envío y visualización de datos a Azure IoT Hub Cebolla Omega2+ (~$10 - $15)
DFRobot LattePanda ~$100 - $160 Automatización del hogar; Conectividad en la nube hiperescala; AI/ML Windows 10, Ubuntu 16.04, OpenSuSE 15 1,92 GHz Intel Z8350 de 64 bits (quad-core x86-64), atmega32u4 coprocesador 2 GB DDR3L RAM, 32 GB eMMC/4GB DDR3L RAM, 64-GB eMMC - 6 x Digital (20 x a través de Atmega32u4), 6 x PWM, 12 x ADC HDMI, MIPI DSI WiFi y Bluetooth 5 V 1. Introducción a Microsoft Azure, 2. Sistema de supervisión de inicio con Azure Seeed Remote X86J4125800 (~$210 - $230)

¿Tiene alguna pregunta? ¿Solicitudes?

¡Envíe un problema!

Consulte también

Otros recursos útiles incluyen: