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.
Azure IoT è una raccolta di servizi gestiti e di piattaforma che connettono, monitorano e controllano i dispositivi IoT. Azure IoT offre agli sviluppatori un set completo di opzioni. Le opzioni disponibili includono piattaforme per dispositivi, servizi cloud di supporto, SDK, supporto MQTT e strumenti per la creazione di applicazioni cloud abilitate per i dispositivi.
Questo articolo illustra diverse considerazioni chiave per gli sviluppatori che iniziano a usare Azure IoT.
- Informazioni sui percorsi di sviluppo dei dispositivi
- Scegliere l'hardware
- Scelta di un SDK
- Selezione di un servizio per la connessione del dispositivo
- Strumenti per collegare e gestire i dispositivi
Percorsi di sviluppo dei dispositivi
Questo articolo illustra due percorsi comuni di sviluppo dei dispositivi. Ogni percorso include un set di opzioni e attività di sviluppo correlate.
Sviluppo generale del dispositivo: Si allinea alle moderne procedure di sviluppo, si rivolge a linguaggi di ordine superiore ed esegue su un sistema operativo generico come Windows o Linux.
Annotazioni
Se il dispositivo è in grado di eseguire un sistema operativo generico, è consigliabile seguire il percorso di sviluppo generale del dispositivo . Fornisce un set più ricco di opzioni di sviluppo.
Sviluppo di dispositivi embedded: Descrive i dispositivi con risorse limitate per la destinazione dello sviluppo. Spesso si usa un dispositivo con risorse limitate per ridurre i costi unitari, il consumo energetico o le dimensioni del dispositivo. Questi dispositivi hanno il controllo diretto sulla piattaforma hardware su cui vengono eseguiti.
Sviluppo generale dei dispositivi
Alcuni sviluppatori adattano dispositivi esistenti per uso generico per connettersi al cloud e integrarli nelle loro soluzioni IoT. Questi dispositivi possono supportare linguaggi di ordine superiore, ad esempio C# o Python, e spesso supportano un sistema operativo generico affidabile, ad esempio Windows o Linux. I dispositivi di destinazione comuni includono PC, contenitori, Raspberry Pi e dispositivi mobili.
Piuttosto che sviluppare dispositivi vincolati su larga scala, gli sviluppatori di dispositivi generici si concentrano sull'abilitazione di uno scenario IoT specifico richiesto dalla loro soluzione cloud. Alcuni sviluppatori lavorano anche su dispositivi vincolati per la loro soluzione cloud. Per gli sviluppatori che usano dispositivi con risorse limitate, vedere il percorso di sviluppo di dispositivi incorporati .
Importante
Per informazioni sugli SDK da usare per lo sviluppo generale dei dispositivi, vedere gli SDK dei dispositivi.
Sviluppo di dispositivi incorporati
Lo sviluppo embedded è destinato a dispositivi vincolati con memoria ed elaborazione limitate. I dispositivi vincolati limitano ciò che può essere ottenuto rispetto a una piattaforma di sviluppo tradizionale.
I dispositivi embedded utilizzano in genere un sistema operativo in tempo reale (RTOS) o nessun sistema operativo. I dispositivi embedded hanno il pieno controllo del loro hardware, a causa della mancanza di un sistema operativo generico. Questo fatto rende i dispositivi embedded una buona scelta per i sistemi in tempo reale.
Gli attuali SDK incorporati sono destinati al linguaggio C . Gli SDK incorporati non forniscono alcun sistema operativo o il supporto per Eclipse ThreadX. Sono progettati pensando ai bersagli incorporati. Le considerazioni sulla progettazione includono la necessità di un footprint minimo e una progettazione senza allocazione di memoria.
Importante
Per informazioni sugli SDK da usare con lo sviluppo di dispositivi incorporati, vedere SDK per dispositivi incorporati.
Scegliere l'hardware
I dispositivi Azure IoT sono gli elementi costitutivi di base di una soluzione IoT e sono responsabili dell'osservazione e dell'interazione con il loro ambiente. Esistono molti tipi diversi di dispositivi IoT ed è utile comprendere i tipi di dispositivi esistenti e il modo in cui possono influire sul processo di sviluppo.
Per altre informazioni sulla differenza tra i tipi di dispositivi trattati in questo articolo, vedere Informazioni sui tipi di dispositivi IoT.
Scelta di un SDK
In qualità di sviluppatore di dispositivi Azure IoT, hai a disposizione un set diversificato di SDK, protocolli e strumenti per creare applicazioni cloud abilitate per i dispositivi.
Sono disponibili due opzioni principali per connettere i dispositivi e comunicare con l'hub IoT:
- Usare Azure IoT SDK. Nella maggior parte dei casi, è consigliabile usare Azure IoT SDK anziché usare direttamente MQTT. Gli SDK ottimizzano le attività di sviluppo e semplificano la complessità della connessione e della gestione dei dispositivi. L'hub IoT supporta il protocollo MQTT v3.1.1 e gli SDK IoT semplificano il processo di utilizzo di MQTT per comunicare con l'hub IoT.
- Utilizzare direttamente il protocollo MQTT. La creazione di una soluzione hub IoT per l'uso diretto di MQTT presenta alcuni vantaggi. Ad esempio, una soluzione che utilizza MQTT direttamente senza gli SDK può essere basata sullo standard MQTT aperto. Un approccio basato su standard rende la soluzione più portatile e offre un maggiore controllo sul modo in cui i dispositivi si connettono e comunicano. Tuttavia, l'hub IoT non è un broker MQTT completo e non supporta tutti i comportamenti specificati nello standard MQTT v3.1.1. Il supporto parziale per MQTT v3.1.1 aggiunge costi di sviluppo e complessità. Gli sviluppatori di dispositivi devono valutare i compromessi derivanti dall'utilizzo degli SDK per dispositivi IoT rispetto all'utilizzo diretto di MQTT. Per altre informazioni, vedere Comunicare con un hub IoT usando il protocollo MQTT.
Esistono tre set di SDK IoT per lo sviluppo di dispositivi:
- SDK per dispositivi (per l'uso di linguaggi di ordine superiore per connettere dispositivi per utilizzo generico esistenti alle applicazioni IoT)
- SDK per dispositivi incorporati (per la connessione di dispositivi con risorse limitate alle applicazioni IoT)
- SDK per i servizi (per la creazione di soluzioni Azure IoT che connettono i dispositivi ai servizi)
Per altre informazioni sulla scelta di un dispositivo Azure IoT o di un servizio SDK, vedere Azure IoT SDKs.
Selezione di un servizio
Un passaggio chiave nel processo di sviluppo è la selezione di un servizio a cui connettere i dispositivi. Sono disponibili due opzioni principali del servizio Azure IoT per la connessione e la gestione dei dispositivi: hub IoT e IoT Central.
- Hub IoT di Azure. Usa l'hub IoT per ospitare applicazioni IoT e connettere i dispositivi. L'hub IoT è un'applicazione PaaS (Platform-as-a-Service) che funge da hub di messaggi centrale per la comunicazione bidirezionale tra le applicazioni IoT e i dispositivi connessi. L'hub IoT può essere ridimensionato per supportare milioni di dispositivi. Rispetto ad altri servizi Azure IoT, l'hub IoT offre il massimo controllo e personalizzazione sulla progettazione dell'applicazione. Offre inoltre la maggior parte delle opzioni di strumenti per sviluppatori per l'utilizzo del servizio, a scapito di un aumento della complessità di sviluppo e gestione.
- Azure IoT Central. IoT Central è progettato per semplificare il processo di utilizzo delle soluzioni IoT. È possibile utilizzarlo come modello di verifica per valutare le soluzioni IoT. IoT Central è un'applicazione SaaS (Software-as-a-Service) che fornisce un'interfaccia utente Web per semplificare le attività di creazione di applicazioni e di connessione e gestione dei dispositivi. IoT Central usa l'hub IoT per creare e gestire le applicazioni, ma mantiene la maggior parte dei dettagli trasparenti per l'utente.
Strumenti per collegare e gestire i dispositivi
Dopo aver selezionato l'hardware e un SDK per dispositivi da utilizzare, sono disponibili diverse opzioni di strumenti per sviluppatori. È possibile usare questi strumenti per connettere il dispositivo all'hub IoT e gestirli. Nella tabella seguente sono riepilogate le opzioni comuni degli strumenti.
Strumento | Documentazione | Descrizione |
---|---|---|
Portale di Azure | Creare un hub IoT con il portale di Azure | Portale basato su browser per l'hub IoT e i dispositivi. Funziona anche con altre risorse di Azure, tra cui IoT Central. |
Azure IoT Explorer | Azure IoT Explorer | Non è possibile creare hub IoT. Si connette a un hub IoT esistente per gestire i dispositivi. Spesso utilizzato con l'interfaccia della riga di comando o il portale. |
Interfaccia CLI di Azure | Creare un hub IoT con l'interfaccia della riga di comando | Interfaccia a riga di comando per la creazione e la gestione di applicazioni IoT. |
Azure PowerShell | Creare un hub IoT con PowerShell | Interfaccia PowerShell per la creazione e la gestione di applicazioni IoT |
Azure IoT Tools per VS Code | Creare un hub IoT con strumenti per VS Code | Estensione VS Code per le applicazioni hub IoT. |
Annotazioni
Oltre agli strumenti elencati in precedenza, è possibile creare e gestire applicazioni IoT a livello di codice usando API REST, SDK di Azure o modelli di Azure Resource Manager. Per altre informazioni, vedere la documentazione del servizio hub IoT .
Passaggi successivi
Per altre informazioni sugli SDK per dispositivi che è possibile usare per connettere i dispositivi ad Azure IoT, vedere l'articolo seguente.
Per iniziare con lo sviluppo pratico di dispositivi, seleziona un'esercitazione sullo sviluppo di dispositivi pertinente ai dispositivi che stai utilizzando. Le esercitazioni seguenti sono un buon punto di partenza per lo sviluppo generale di dispositivi o per lo sviluppo di dispositivi incorporati.