Condividi tramite


Elenco di selezione dei dispositivi IoT

Questo elenco di selezione dei dispositivi IoT mira a offrire ai partner un punto di partenza con l'hardware IoT per creare prototipi e modelli di verifica in modo rapido e semplice. [^1]

Tutte le bacheche elencate supportano gli utenti di tutti i livelli di esperienza.

Nota

Questa tabella non è destinata a essere un elenco completo o per portare soluzioni nell'ambiente di produzione. [^2] [^3]

Avviso di sicurezza: ad eccezione di Azure Sphere, è consigliabile mantenere questi dispositivi dietro un router e/o un firewall.

[^1]: se non si ha familiarità con la programmazione hardware, per il lavoro di sviluppo MCU è consigliabile usare l'estensione Arduino di VS Code o l'estensione IO della piattaforma VS Code. Per il lavoro di sviluppo SBC, programmare il dispositivo come si farebbe con un portatile, ovvero nel dispositivo stesso. Raspberry Pi supporta lo sviluppo di VISUAL Studio Code.

[^2]: dispositivi nella disponibilità di risorse di supporto, schede comuni usate per la creazione di prototipi e PC e schede che supportano ID per principianti come l'IDE Arduino e le estensioni vs Code, ad esempio l'estensione Arduino e l'estensione I/O della piattaforma. Per semplicità, abbiamo cercato di mantenere l'elenco <totale dei dispositivi 6. Altri team e singoli utenti possono aver scelto di presentare diverse bacheche in base alla loro interpretazione dei criteri.

[^3]: per portare i dispositivi in produzione, è probabile che si voglia testare un poC con un chipset specifico, STM32 o la serie di schede di breakout Pic-IoT di Microprocessor, progettare una scheda personalizzata che può essere prodotta per un costo inferiore rispetto alle MCU e ai SBC elencati qui, o anche esplorare i kit di sviluppo basati su FPGA. È anche possibile usare un ambiente di sviluppo per ingegneria elettrica professionale come STM32CubeMX o programmatore basato su browser ARM mBed.

Contenuto

Sezione Descrizione
Iniziare da qui Guida all'uso di questo elenco di selezione. Include i criteri di selezione suggeriti.
Diagramma di selezione Oggetto visivo che riepiloga i criteri di selezione comuni con le possibili scelte hardware.
Terminologia e requisiti di Machine Learning Terminologia e definizioni di acronimi e requisiti dei dispositivi per Machine Learning edge.
Elenco di dispositivi MCU Elenco delle MCU consigliate, ad esempio ESP32, con specifiche tecniche e alternative.
Elenco di dispositivi SBC Elenco di SBC consigliati, ad esempio Raspberry Pi, con specifiche tecniche e alternative.

Iniziare da qui

Come usare questo documento

Usare questo documento per comprendere meglio la terminologia IoT, le considerazioni sulla selezione dei dispositivi e scegliere un dispositivo IoT per la creazione di prototipi o la creazione di un modello di verifica. È consigliabile seguire questa procedura:

  1. Leggere la sezione "cosa considerare quando si sceglie una lavagna" per identificare le esigenze e i vincoli.

  2. Usare l'oggetto visivo Selezione applicazione per identificare le possibili opzioni per lo scenario IoT.

  3. Usando l'elenco di dispositivi MCU o SBC, controllare le specifiche del dispositivo e confrontarle con le esigenze/vincoli.

Cosa considerare quando si sceglie una bacheca

Per scegliere un dispositivo per il prototipo IoT, vedere i criteri seguenti:

  • Unità microcontroller (MCU) o computer a scheda singola (SBC)

    • Un MCU è preferibile per singole attività, ad esempio la raccolta e il caricamento dei dati dei sensori o l'apprendimento automatico nei dispositivi perimetrali. Le MCU tendono anche a essere costi inferiori.
    • Un SBC è preferibile quando sono necessarie più attività diverse, ad esempio la raccolta dei dati dei sensori e il controllo di un altro dispositivo. Può anche essere preferibile nelle prime fasi quando sono disponibili molte opzioni per le possibili soluzioni: un SBC consente di provare molti approcci diversi.
  • Potenza di elaborazione

    • Memoria: valutare la quantità di spazio di archiviazione della memoria (in byte), l'archiviazione file e la memoria per eseguire i programmi necessari per il progetto.

    • Velocità dell'orologio: considerare la velocità con cui i programmi devono essere eseguiti o quanto velocemente è necessario che il dispositivo comunichi con il server IoT.

    • Fine della vita: valutare se è necessario un dispositivo con le funzionalità e la documentazione più aggiornate o se è possibile usare un dispositivo non più disponibile come prototipo.

  • Consumo energetico

    • Potenza: valutare la tensione e l'corrente consumata dalla scheda. Determinare se l'alimentazione a parete è prontamente disponibile o se è necessaria una batteria per l'applicazione.

    • Connessione: prendere in considerazione la connessione fisica all'alimentazione. Se hai bisogno di alimentazione della batteria, controlla se c'è una porta di connessione della batteria disponibile sulla scheda. Se non c'è un connettore a batteria, cercare un'altra scheda paragonabile o prendere in considerazione altri modi per aggiungere l'alimentazione della batteria al dispositivo.

  • Inputs and outputs

    • Porte e pin: valutare il numero e i tipi di porte e pin di I/O necessari per il progetto. * Altre considerazioni includono se il dispositivo comunicherà con altri sensori o dispositivi. In tal caso, identificare il numero di porte necessarie per tali segnali.

    • Protocolli: se si usano altri sensori o dispositivi, considerare quali protocolli di comunicazione hardware sono necessari. * Ad esempio, potrebbe essere necessario CAN, UART, SPI, I2C o altri protocolli di comunicazione.

    • Potenza: valutare se il dispositivo sta alimentando altri componenti come sensori. Se il dispositivo sta alimentando altri componenti, identificare la tensione e l'output corrente dei pin di alimentazione disponibili del dispositivo e determinare quale tensione/corrente hanno bisogno di altri componenti.

    • Tipi: determinare se è necessario comunicare con componenti analogici. Se sono necessari componenti analogici, identificare il numero di pin di I/O analogici necessari per il progetto.

    • Periferiche: valutare se si preferisce un dispositivo con sensori di onboarding o altre funzionalità, ad esempio uno schermo, un microfono e così via.

  • Sviluppo

    • Linguaggio di programmazione: valutare se il progetto richiede linguaggi di livello superiore oltre C/C++. In tal caso, identificare i linguaggi di programmazione comuni per l'applicazione necessaria, ad esempio Machine Learning viene spesso eseguito in Python. Considerare quali SDK, API e/o librerie sono utili o necessari per il progetto. Identificare i linguaggi di programmazione in cui sono supportati.

    • IDE: prendere in considerazione gli ambienti di sviluppo supportati dal dispositivo e, se soddisfa le esigenze, il set di competenze e/o le preferenze degli sviluppatori.

    • Community: valutare la quantità di assistenza desiderata/necessaria per la creazione di una soluzione. Si consideri, ad esempio, se si preferisce iniziare con il codice di esempio, se si desidera ricevere consigli o assistenza per la risoluzione dei problemi o se si può trarre vantaggio da una community attiva che genera nuovi esempi e documentazione degli aggiornamenti.

    • Documentazione: esaminare la documentazione del dispositivo. Identificare se è completo e facile da seguire. Valutare se sono necessari schemi, esempi, fogli dati o altri tipi di documentazione. In tal caso, eseguire una ricerca per verificare se tali elementi sono disponibili per il progetto. Prendere in considerazione gli SDK software/API/librerie scritti per la scheda e se questi elementi renderebbero più semplice il processo di creazione di prototipi. Identificare se la documentazione viene mantenuta e chi sono i gestori.

  • Sicurezza

    • Rete: valutare se il dispositivo è connesso a una rete esterna o se può essere mantenuto dietro un router e/o un firewall. Se il prototipo deve essere connesso a una rete con connessione esterna, è consigliabile usare Azure Sphere perché è l'unico dispositivo sicuro in modo affidabile.

    • Periferiche: si consideri se una delle periferiche che il dispositivo si connette per avere protocolli wireless (ad esempio WiFi, BLE).

    • Posizione fisica: valutare se il dispositivo o una delle periferiche a cui è connesso sarà accessibile al pubblico. In tal caso, è consigliabile rendere il dispositivo fisicamente inaccessibile. Ad esempio, in una casella chiusa bloccata.

Oggetto visivo di selezione dell'applicazione

Nota

Questo elenco è solo a scopo didattico, non è destinato a approvare alcun prodotto.

Tabella che mostra i criteri di selezione comuni con le possibili scelte hardware.

Terminologia e requisiti di Machine Learning

Questa sezione fornisce definizioni per terminologia incorporata, acronimi e specifiche hardware per applicazioni di Machine Learning visive, uditive e sensori.

Terminologia

Terminologia e acronimi sono elencati in ordine alfabetico.

Termine Definizione
ADC Convertitore analogico-digitale; converte i segnali analogici da componenti connessi come sensori a segnali digitali leggibili dal dispositivo
Pin analogici Usato per collegare componenti analogici con segnali continui come fotoresistor (sensori di luce) e microfoni
Velocità di clock Quanto rapidamente la CPU può recuperare e interpretare le istruzioni
Pin digitali Usato per la connessione di componenti digitali con segnali binari come LED e commutatori
Flash (o ROM) Memoria disponibile per l'archiviazione dei programmi
IDE Ambiente di sviluppo integrato; un programma per la scrittura di codice software
IMU Unità di misura inerziale
Pin di I/O (o I/O) Pin di input/output usati per comunicare con altri dispositivi, ad esempio sensori e altri controller
MCU Unità microcontroller; un piccolo computer su un singolo chip che include una CPU, RAM e I/O
MPU Unità microprocessore; un processore di computer che incorpora le funzioni dell'unità di elaborazione centrale (CPU) di un computer in un singolo circuito integrato (IC) o al massimo in alcuni circuiti integrati.
ML Apprendimento automatico; programmi per computer speciali che eseguono il riconoscimento di modelli complessi
PWM Modulatore della larghezza degli impulsi; un modo per modificare i segnali digitali per ottenere effetti simili a analogici come la modifica della luminosità, del volume e della velocità
RAM Memoria ad accesso casuale; quantità di memoria disponibile per l'esecuzione dei programmi
SBC Computer a scheda singola
TF TensorFlow; un pacchetto software di Machine Learning progettato per i dispositivi perimetrali
TF Lite TensorFlow Lite; una versione più piccola di TF per dispositivi perimetrali di piccole dimensioni

Requisiti hardware di Machine Learning

Ml visione artificiale

  • Velocità: 200 MHz
  • Flash: 300 kB
  • RAM: 100 kB

Speech ML

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

Ml sensore (ad esempio, movimento, distanza)

  • Velocità: 20 MHz
  • Flash: 20 kB
  • RAM: 2 kB

[^4]: il requisito di velocità è in gran parte dovuto alla necessità di processori per poter campione un minimo di 6 kHz per i microfoni per poter elaborare frequenze vocali umane.

Elenco di dispositivi MCU

Di seguito è riportata una tabella di confronto di MCU in ordine alfabetico. L'elenco non deve essere esaustivo.

Nota

Questo elenco è solo a scopo didattico, non è destinato a approvare alcun prodotto. I prezzi visualizzati rappresentano la media tra più distributori e sono solo a scopo illustrativo.

Nome scheda Intervallo di prezzi (USD) Scopo Software Velocità Processore Memoria Eseguire l'onboarding di sensori e altre funzionalità Pin di I/O Video Pulsante di opzione Connettore batteria? Tensione operativa Ottenere guide dichiarate Alternative
Azure Sphere MT3620 Dev Kit ~$40 - $100 Applicazioni altamente sicure C/C++, VS Code, VS 500 MHz & 200 MHz MT3620 (tri-core--1 x Cortex A7, 2 x Cortex M4) 4 MB di RAM + 2 x 64 KB di RAM Certificazioni: CE/FCC/MIC/RoHS 4 x IO digitale, 1 x I2S, 4 x ADC, 1 x RTC - Doppia banda 802.11 b/g/n con diversità antenna - 5 V 1. Raccolta di esempi di Azure Sphere, 2. Stazione meteo di Azure Sphere N/D
Adafruit HUZZAH32 – ESP32 Feather Board ~$20 - $25 Monitoraggio; IoT principiante; Automazione home IDE Arduino, VS Code 240 MHz ESP32 a 32 bit (Tensilica LX6 dual core) 4 MB SPI Flash, 520 KB SRAM Sensore hall, pin I/O con capacità 10x, 50+ schede aggiuntive 3 X UARTs, 3 x SPI, 2 x I2C, 12 x input ADC, 2 x I2S Audio, 2 x DAC - Transceiver Wi-Fi 802.11b/g/n HT40, banda base, stack e LWIP, Bluetooth e BLE 3.3 V 1. Monitor del freezer scientifico, 2. Esempi di Arduino per Azure IoT SDK Arduino Uno WiFi Rev 2 (~$50 - $60)
Arduino Nano RP2040 Connect ~$20 - $25 Telecomando; Monitoraggio IDE Arduino, VS Code, C/C++, MicroPython 133 MHz RP2040 a 32 bit (Dual-Core Cortex M0+) 16 MB flash, 264 kB RAM Microfono, IMU a sei assi con funzionalità di intelligenza artificiale 22 x IO digitale, 20 x PWM, 8 x ADC - Wi-Fi, Bluetooth - 3.3 V - Adafruit Feather RP2040 (NOTA: anche bisogno di FeatherWing per WiFi)
ESP32-S2 Saola-1 ~$10 - $15 Automazione domestica; IoT principiante; ML; Monitoraggio; Rete mesh IDE Arduino, Circuit Python, ESP IDF 240 MHz ESP32-S2 a 32 bit (Xtensa LX7 a 32 bit) 128 kB Flash, 320 kB SRAM, 16 kB SRAM (RTC) 14 x pin di I/O di capacità, sensore temp 43 x Pin digitali, 8 x PWM, 20 x ADC, 2 x DAC LCD seriale, PCD parallelo Wi-Fi 802.11 b/g/n (802,11n fino a 150 Mbps) - 3.3 V 1. Proteggere il rilevamento dei volti con Azure ML, 2. Monitoraggio costi di Azure ESP32-DevKitC (~$10 - $15)
Terminale Wio (Seeed Studio) ~$40 - $50 Monitoraggio; Home Automation; ML IDE Arduino, VS Code, MicroPython, ArduPy 120 MHz ATSAMD51 a 32 bit (Cortex-M4F a core singolo) Flash SPI DA 4 MB, 192 kB RAM Schermata su scheda, Microfono, IMU, buzzer, slot microSD, sensore di luce, emettitore ir, montaggio Raspberry Pi GPIO (come dispositivo figlio) 26 x Pin digitali, 5 x PWM, 9 x ADC LCD a colori 2,4" 320x420 dual-band da 2,4 Ghz/5Ghz (Realtek RTL8720DN) - 3.3 V Monitorare le piante con Azure IoT Adafruit FunHouse (~$30 - $40)

Elenco di dispositivi SBC

Di seguito è riportata una tabella di confronto di SBC in ordine alfabetico. Questo elenco non è destinato a essere esaustivo.

Nota

Questo elenco è solo a scopo didattico, non è destinato a approvare alcun prodotto. I prezzi visualizzati rappresentano la media tra più distributori e sono solo a scopo illustrativo.

Nome scheda Intervallo di prezzi (USD) Scopo Software Velocità Processore Memoria Eseguire l'onboarding di sensori e altre funzionalità Pin di I/O Video Pulsante di opzione Connettore batteria? Tensione operativa Guide introduttive Alternative
Raspberry Pi 4, Modello B ~$30 - $80 Automazione domestica; Robotica; Veicoli autonomi; Sistemi di controllo; Scienza sul campo Raspberry Pi OS, Raspbian, Ubuntu 20.04/21.04, RISC OS, Windows 10 IoT, altro CPU da 1,5 GHz, GPU a 500 MHz Broadcom a 64 bit BCM2711 (quad-core Cortex-A72), GPU VideoCore VI 2 GB/4 GB/8 GB di RAM LPDDR4, scheda SD (non inclusa) 2 x porte USB 3, 1 x porta di visualizzazione MIPI DSI, 1 x porta della fotocamera CSI MIPI, audio stereo a 4 pole e porta video composita, Power over Ethernet (richiede HAT) 26 x digitale, 4 x PWM 2 micro-HDMI composito, MPI DSI Wi-Fi, Bluetooth 5 V 1. Inviare dati a hub IoT, 2. Monitorare le piante con Azure IoT BeagleBone Black Wireless (~$50 - $60)
NVIDIA Jetson 2 GB Nano Dev Kit ~$50 - $100 intelligenza artificiale/MACHINE; Veicoli autonomi JetPack basato su Ubuntu CPU da 1,43 GHz, GPU a 921 MHz CPU NVIDIA a 64 bit (quad-core Cortex-A57), coprocessore GPU Maxwell core 128-CUDA 2 GB/4 GB di RAM LPDDR4 472 GFLOPS per AI Perf, 1 x connettore MIPI CSI-2 28 x digitale, 2 x PWM HDMI, DP (solo 4 GB) Gigabit Ethernet, 802.11ac Wi-Fi 5 V Integrazione deepstream con Azure IoT Central BeagleBone AI (~$110 - $120)
Raspberry Pi Zero W2 ~$15 - $20 Automazione domestica; ML; Modifiche dei veicoli; Field Science Raspberry Pi OS, Raspbian, Ubuntu 20.04/21.04, RISC OS, Windows 10 IoT, altro CPU a 1 GHz, GPU a 400 MHz Broadcom a 64 bit BCM2837 (quad-core Cortez-A53), GPU VideoCore IV 512 MB di RAM LPDDR2, scheda SD (non inclusa) 1 x connettore fotocamera CSI-2 26 x digitale, 4 x PWM Mini-HDMI Wi-Fi, Bluetooth - 5 V Inviare e visualizzare dati a hub IoT di Azure Cipolla Omega2+ (~$10 - $15)
DFRobot LattePanda ~$100 - $160 Automazione domestica; Connettività cloud Hyperscale; Intelligenza artificiale/Machine Learning Windows 10, Ubuntu 16.04, OpenSuSE 15 1,92 GHz Coprocessore Intel Z8350 a 64 bit (quad-core x86-64), Atmega32u4 2 GB di RAM DDR3L, 32 GB eMMC/4 GB DI RAM DDR3L, 64 GB eMMC - 6 x digitale (20 x tramite Atmega32u4), 6 x PWM, 12 x ADC HDMI, MIPI DSI Wi-Fi, Bluetooth 5 V 1. Introduzione a Microsoft Azure, 2. Sistema di monitoraggio home con Azure Seeed Odyssey X86J4125800 (~$210 - $230)

Domande? Richieste?

Inviare un problema.

Vedi anche

Altre risorse utili includono: