Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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:
Leggere la sezione "cosa considerare quando si sceglie una lavagna" per identificare le esigenze e i vincoli.
Usare l'oggetto visivo Selezione applicazione per identificare le possibili opzioni per lo scenario IoT.
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.
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: