chore(i18n): sync translations with latest source changes (chunk 1/1, 188 changes)

pull/577/head
localizeflow[bot] 3 months ago
parent ab9fc41f4e
commit 0a4d624ce3

@ -738,8 +738,8 @@
"language_code": "it"
},
"README.md": {
"original_hash": "3fcc056cd3837e33d2bdf79f9c359fcf",
"translation_date": "2026-01-30T01:50:23+00:00",
"original_hash": "accf69391fa4450eadbf492ca024cccf",
"translation_date": "2026-04-06T17:34:17+00:00",
"source_file": "README.md",
"language_code": "it"
},

@ -1,6 +1,6 @@
# Introduzione all'IoT
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.jpg)
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-1.2606670fa61ee904.webp)
> Disegno di [Nitya Narasimhan](https://github.com/nitya). Clicca sull'immagine per una versione più grande.

@ -203,7 +203,7 @@ Come secondo passo 'Hello World', eseguirai l'app CounterFit e collegherai il tu
L'app inizierà a funzionare e si aprirà nel tuo browser web:
![L'app CounterFit in esecuzione in un browser](../../../../../translated_images/it/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.png)
![L'app CounterFit in esecuzione in un browser](../../../../../translated_images/it/counterfit-first-run.433326358b669b31.webp)
Sarà contrassegnata come *Disconnected*, con il LED nell'angolo in alto a destra spento.
@ -224,7 +224,7 @@ Come secondo passo 'Hello World', eseguirai l'app CounterFit e collegherai il tu
1. In questo nuovo terminale, esegui il file `app.py` come prima. Lo stato di CounterFit cambierà in **Connected** e il LED si accenderà.
![CounterFit che mostra lo stato Connected](../../../../../translated_images/it/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.png)
![CounterFit che mostra lo stato Connected](../../../../../translated_images/it/counterfit-connected.ed30b46d8f79b092.webp)
> 💁 Puoi trovare questo codice nella cartella [code/virtual-device](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/virtual-device).

@ -1,6 +1,6 @@
# Un'immersione più profonda nell'IoT
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.jpg)
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-2.324b0580d620c25e.webp)
> Illustrazione di [Nitya Narasimhan](https://github.com/nitya). Clicca sull'immagine per una versione più grande.
@ -38,7 +38,7 @@ La parte **oggetto** dell'IoT si riferisce a un dispositivo che può interagire
Questi dispositivi interagiscono con il mondo fisico utilizzando sensori per raccogliere dati dall'ambiente circostante o controllando uscite o attuatori per apportare modifiche fisiche. Un esempio tipico è un termostato intelligente - un dispositivo che ha un sensore di temperatura, un mezzo per impostare una temperatura desiderata come una manopola o un touchscreen, e una connessione a un sistema di riscaldamento o raffreddamento che può essere attivato quando la temperatura rilevata è al di fuori dell'intervallo desiderato. Il sensore di temperatura rileva che la stanza è troppo fredda e un attuatore accende il riscaldamento.
![Un diagramma che mostra la temperatura e una manopola come input per un dispositivo IoT, e il controllo di un riscaldatore come output](../../../../../translated_images/it/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.png)
![Un diagramma che mostra la temperatura e una manopola come input per un dispositivo IoT, e il controllo di un riscaldatore come output](../../../../../translated_images/it/basic-thermostat.a923217fd1f37e5a.webp)
Esiste una vasta gamma di dispositivi che possono fungere da dispositivi IoT, dall'hardware dedicato che rileva un solo parametro, a dispositivi generici, persino il tuo smartphone! Uno smartphone può utilizzare sensori per rilevare il mondo circostante e attuatori per interagire con esso - ad esempio, utilizzando un sensore GPS per rilevare la tua posizione e un altoparlante per fornire istruzioni di navigazione verso una destinazione.
@ -54,7 +54,7 @@ I dispositivi non si connettono sempre direttamente a Internet tramite WiFi o co
Nel caso di un termostato intelligente, il termostato si connetterebbe utilizzando il WiFi domestico a un servizio cloud. Invierebbe i dati sulla temperatura a questo servizio cloud, che li scriverebbe in un database permettendo al proprietario di casa di controllare le temperature attuali e passate tramite un'app sul telefono. Un altro servizio nel cloud saprebbe quale temperatura desidera il proprietario di casa e invierebbe messaggi al dispositivo IoT tramite il servizio cloud per dire al sistema di riscaldamento di accendersi o spegnersi.
![Un diagramma che mostra la temperatura e una manopola come input per un dispositivo IoT, il dispositivo IoT con comunicazione bidirezionale con il cloud, che a sua volta ha comunicazione bidirezionale con un telefono, e il controllo di un riscaldatore come output dal dispositivo IoT](../../../../../translated_images/it/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.png)
![Un diagramma che mostra la temperatura e una manopola come input per un dispositivo IoT, il dispositivo IoT con comunicazione bidirezionale con il cloud, che a sua volta ha comunicazione bidirezionale con un telefono, e il controllo di un riscaldatore come output dal dispositivo IoT](../../../../../translated_images/it/mobile-controlled-thermostat.4a994010473d8d6a.webp)
Una versione ancora più intelligente potrebbe utilizzare l'AI nel cloud con dati provenienti da altri sensori collegati ad altri dispositivi IoT, come sensori di occupazione che rilevano quali stanze sono in uso, oltre a dati come il meteo e persino il tuo calendario, per prendere decisioni su come impostare la temperatura in modo intelligente. Ad esempio, potrebbe spegnere il riscaldamento se legge dal tuo calendario che sei in vacanza, o spegnere il riscaldamento stanza per stanza a seconda delle stanze che utilizzi, imparando dai dati per essere sempre più preciso nel tempo.
@ -94,7 +94,7 @@ Più veloce è il ciclo del clock, più istruzioni possono essere elaborate ogni
> 💁 Le CPU eseguono programmi utilizzando il [ciclo fetch-decode-execute](https://wikipedia.org/wiki/Instruction_cycle). Per ogni ticchettio del clock, la CPU recupera la prossima istruzione dalla memoria, la decodifica, quindi la esegue, ad esempio utilizzando un'unità logica aritmetica (ALU) per sommare 2 numeri. Alcune esecuzioni richiedono più ticchettii per essere completate, quindi il ciclo successivo verrà eseguito al ticchettio successivo dopo il completamento dell'istruzione.
![Il ciclo fetch-decode-execute che mostra il recupero di un'istruzione dal programma memorizzato nella RAM, quindi la decodifica e l'esecuzione su una CPU](../../../../../translated_images/it/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.png)
![Il ciclo fetch-decode-execute che mostra il recupero di un'istruzione dal programma memorizzato nella RAM, quindi la decodifica e l'esecuzione su una CPU](../../../../../translated_images/it/fetch-decode-execute.2fd6f150f6280392.webp)
I microcontrollori hanno velocità di clock molto più basse rispetto ai computer desktop o laptop, o persino alla maggior parte degli smartphone. Ad esempio, il Wio Terminal ha una CPU che funziona a 120MHz o 120.000.000 cicli al secondo.
@ -182,7 +182,7 @@ Le schede Arduino sono codificate in C o C++. Utilizzare C/C++ consente al tuo c
Scriveresti il tuo codice di configurazione nella funzione `setup`, come la connessione al WiFi e ai servizi cloud o l'inizializzazione dei pin per input e output. Il tuo codice di elaborazione verrebbe poi inserito nella funzione `loop`, come la lettura da un sensore e l'invio del valore al cloud. Normalmente includeresti un ritardo in ogni ciclo, ad esempio, se desideri che i dati del sensore vengano inviati solo ogni 10 secondi, aggiungeresti un ritardo di 10 secondi alla fine del ciclo in modo che il microcontrollore possa dormire, risparmiando energia, quindi eseguire nuovamente il ciclo quando necessario 10 secondi dopo.
![Uno sketch Arduino che esegue prima setup, poi loop ripetutamente](../../../../../translated_images/it/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.png)
![Uno sketch Arduino che esegue prima setup, poi loop ripetutamente](../../../../../translated_images/it/arduino-sketch.79590cb837ff7a7c.webp)
✅ Questa architettura del programma è conosciuta come *event loop* o *message loop*. Molte applicazioni utilizzano questo approccio dietro le quinte ed è lo standard per la maggior parte delle applicazioni desktop che funzionano su OS come Windows, macOS o Linux. Il `loop` ascolta i messaggi dai componenti dell'interfaccia utente come pulsanti, o dispositivi come la tastiera, e risponde a essi. Puoi leggere di più in questo [articolo sul ciclo degli eventi](https://wikipedia.org/wiki/Event_loop).

@ -1,6 +1,6 @@
# Interagire con il mondo fisico con sensori e attuatori
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.jpg)
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-3.cc3b7b4cd646de59.webp)
> Illustrazione di [Nitya Narasimhan](https://github.com/nitya). Clicca sull'immagine per una versione più grande.
@ -92,7 +92,7 @@ I sensori digitali, come quelli analogici, rilevano il mondo circostante utilizz
Il sensore digitale più semplice è un pulsante o un interruttore. Questo è un sensore con due stati: acceso o spento.
![Un pulsante riceve 5 volt. Quando non è premuto restituisce 0 volt, quando è premuto restituisce 5 volt](../../../../../translated_images/it/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.png)
![Un pulsante riceve 5 volt. Quando non è premuto restituisce 0 volt, quando è premuto restituisce 5 volt](../../../../../translated_images/it/button.eadb560b77ac45e5.webp)
I pin sui dispositivi IoT, come i pin GPIO, possono misurare direttamente questo segnale come 0 o 1. Se la tensione inviata è uguale a quella restituita, il valore letto è 1, altrimenti il valore letto è 0. Non c'è bisogno di convertire il segnale, può essere solo 1 o 0.
@ -125,7 +125,7 @@ Alcuni attuatori comuni includono:
Segui la guida pertinente qui sotto per aggiungere un attuatore al tuo dispositivo IoT, controllato dal sensore, per costruire una luce notturna IoT. Raccoglierà i livelli di luce dal sensore di luce e utilizzerà un attuatore sotto forma di LED per emettere luce quando il livello di luce rilevato è troppo basso.
![Un diagramma di flusso dell'assegnazione che mostra i livelli di luce letti e controllati, e il LED controllato](../../../../../translated_images/it/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.png)
![Un diagramma di flusso dell'assegnazione che mostra i livelli di luce letti e controllati, e il LED controllato](../../../../../translated_images/it/assignment-1-flow.7552a51acb1a5ec8.webp)
* [Arduino - Wio Terminal](wio-terminal-actuator.md)
* [Computer a scheda singola - Raspberry Pi](pi-actuator.md)
@ -140,7 +140,7 @@ Come i sensori, gli attuatori possono essere analogici o digitali.
Gli attuatori analogici prendono un segnale analogico e lo convertono in un'interazione, dove l'interazione cambia in base alla tensione fornita.
Un esempio è una luce dimmerabile, come quelle che potresti avere in casa. La quantità di tensione fornita alla luce determina quanto è luminosa.
![Una luce attenuata a bassa tensione e più luminosa ad alta tensione](../../../../../translated_images/it/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.png)
![Una luce attenuata a bassa tensione e più luminosa ad alta tensione](../../../../../translated_images/it/dimmable-light.9ceffeb195dec1a8.webp)
Come per i sensori, il dispositivo IoT effettivo funziona con segnali digitali, non analogici. Ciò significa che per inviare un segnale analogico, il dispositivo IoT necessita di un convertitore digitale-analogico (DAC), integrato direttamente nel dispositivo IoT o su una scheda di connessione. Questo converte gli 0 e 1 del dispositivo IoT in una tensione analogica che l'attuatore può utilizzare.
@ -187,7 +187,7 @@ Gli attuatori digitali, come i sensori digitali, hanno due stati controllati da
Un semplice attuatore digitale è un LED. Quando un dispositivo invia un segnale digitale di 1, viene inviata una tensione alta che accende il LED. Quando viene inviato un segnale digitale di 0, la tensione scende a 0V e il LED si spegne.
![Un LED è spento a 0 volt e acceso a 5V](../../../../../translated_images/it/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.png)
![Un LED è spento a 0 volt e acceso a 5V](../../../../../translated_images/it/led.ec6d94f66676a174.webp)
✅ Quali altri semplici attuatori a 2 stati ti vengono in mente? Un esempio è un solenoide, che è un elettromagnete che può essere attivato per fare cose come spostare un chiavistello di una porta per bloccarla/sbloccarla.

@ -26,7 +26,7 @@ Il Grove LED viene fornito come modulo con una selezione di LED, permettendoti d
Collega il LED.
![Un LED Grove](../../../../../translated_images/it/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png)
![Un LED Grove](../../../../../translated_images/it/grove-led.6c853be93f473cf2.webp)
1. Scegli il tuo LED preferito e inserisci i piedini nei due fori sul modulo LED.
@ -40,7 +40,7 @@ Collega il LED.
1. Con il Raspberry Pi spento, collega l'altra estremità del cavo Grove alla presa digitale contrassegnata **D5** sul Grove Base hat collegato al Pi. Questa presa è la seconda da sinistra, nella fila di prese accanto ai pin GPIO.
![Il LED Grove collegato alla presa D5](../../../../../translated_images/it/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.png)
![Il LED Grove collegato alla presa D5](../../../../../translated_images/it/pi-led.97f1d474981dc35d.webp)
## Programmare la luce notturna

@ -16,13 +16,13 @@ Il sensore di luce Grove utilizzato per rilevare i livelli di luce deve essere c
Collega il sensore di luce.
![Un sensore di luce Grove](../../../../../translated_images/it/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.png)
![Un sensore di luce Grove](../../../../../translated_images/it/grove-light-sensor.b8127b7c434e632d.webp)
1. Inserisci un'estremità di un cavo Grove nella presa del modulo sensore di luce. Entrerà solo in un verso.
1. Con il Raspberry Pi spento, collega l'altra estremità del cavo Grove alla presa analogica contrassegnata come **A0** sul Grove Base hat collegato al Pi. Questa presa è la seconda da destra, nella fila di prese accanto ai pin GPIO.
![Il sensore di luce Grove collegato alla presa A0](../../../../../translated_images/it/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.png)
![Il sensore di luce Grove collegato alla presa A0](../../../../../translated_images/it/pi-light-sensor.66cc1e31fa48cd7d.webp)
## Programma il sensore di luce

@ -36,11 +36,11 @@ Aggiungi il LED all'app CounterFit.
1. Seleziona il pulsante **Add** per creare il LED sul Pin 5.
![Le impostazioni del LED](../../../../../translated_images/it/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.png)
![Le impostazioni del LED](../../../../../translated_images/it/counterfit-create-led.ba9db1c9b8c622a6.webp)
Il LED verrà creato e apparirà nell'elenco degli attuatori.
![Il LED creato](../../../../../translated_images/it/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.png)
![Il LED creato](../../../../../translated_images/it/counterfit-led.c0ab02de6d256ad8.webp)
Una volta creato il LED, puoi cambiarne il colore utilizzando il selettore *Color*. Seleziona il pulsante **Set** per cambiare il colore dopo averlo scelto.

@ -28,11 +28,11 @@ Aggiungi il sensore di luce all'app CounterFit.
1. Seleziona il pulsante **Add** per creare il sensore di luce sul Pin 0.
![Le impostazioni del sensore di luce](../../../../../translated_images/it/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.png)
![Le impostazioni del sensore di luce](../../../../../translated_images/it/counterfit-create-light-sensor.9f36a5e0d4458d8d.webp)
Il sensore di luce verrà creato e apparirà nella lista dei sensori.
![Il sensore di luce creato](../../../../../translated_images/it/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.png)
![Il sensore di luce creato](../../../../../translated_images/it/counterfit-light-sensor.5d0f5584df56b90f.webp)
## Programmare il sensore di luce

@ -26,7 +26,7 @@ Il Grove LED è fornito come modulo con una selezione di LED, permettendoti di s
Collega il LED.
![Un LED Grove](../../../../../translated_images/it/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png)
![Un LED Grove](../../../../../translated_images/it/grove-led.6c853be93f473cf2.webp)
1. Scegli il tuo LED preferito e inserisci i piedini nei due fori del modulo LED.

@ -1,6 +1,6 @@
# Collega il tuo dispositivo a Internet
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.jpg)
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-4.7344e074ea68fa54.webp)
> Illustrazione di [Nitya Narasimhan](https://github.com/nitya). Clicca sull'immagine per una versione più grande.
@ -47,7 +47,7 @@ MQTT è il protocollo di comunicazione più popolare per i dispositivi IoT ed è
MQTT utilizza un singolo broker e più client. Tutti i client si connettono al broker, e il broker instrada i messaggi ai client pertinenti. I messaggi vengono instradati utilizzando argomenti denominati, piuttosto che essere inviati direttamente a un singolo client. Un client può pubblicare su un argomento, e tutti i client che si iscrivono a quell'argomento riceveranno il messaggio.
![Dispositivo IoT che pubblica telemetria sull'argomento /telemetry, e il servizio cloud che si iscrive a quell'argomento](../../../../../translated_images/it/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.png)
![Dispositivo IoT che pubblica telemetria sull'argomento /telemetry, e il servizio cloud che si iscrive a quell'argomento](../../../../../translated_images/it/mqtt.cbf7f21d9adc3e17.webp)
✅ Fai una ricerca. Se hai molti dispositivi IoT, come puoi assicurarti che il tuo broker MQTT sia in grado di gestire tutti i messaggi?
@ -69,7 +69,7 @@ Piuttosto che affrontare le complessità di configurare un broker MQTT come part
> 💁 Questo broker di test è pubblico e non sicuro. Chiunque potrebbe ascoltare ciò che pubblichi, quindi non dovrebbe essere utilizzato con dati che devono rimanere privati.
![Diagramma di flusso dell'assegnazione che mostra i livelli di luce letti e controllati, e il controllo del LED](../../../../../translated_images/it/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.png)
![Diagramma di flusso dell'assegnazione che mostra i livelli di luce letti e controllati, e il controllo del LED](../../../../../translated_images/it/assignment-1-internet-flow.3256feab5f052fd2.webp)
Segui il passaggio pertinente qui sotto per connettere il tuo dispositivo al broker MQTT:
@ -350,7 +350,7 @@ Per i macchinari, potresti voler conservare i dati, specialmente se vengono util
I progettisti di dispositivi IoT dovrebbero anche considerare se il dispositivo IoT può essere utilizzato durante un'interruzione di Internet o una perdita di segnale causata dalla posizione. Un termostato intelligente dovrebbe essere in grado di prendere alcune decisioni limitate per controllare il riscaldamento se non può inviare telemetria al cloud a causa di un'interruzione.
[![Questa Ferrari è stata bloccata perché qualcuno ha provato ad aggiornarla sottoterra dove non c'è ricezione cellulare](../../../../../translated_images/it/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.png)](https://twitter.com/internetofshit/status/1315736960082808832)
[![Questa Ferrari è stata bloccata perché qualcuno ha provato ad aggiornarla sottoterra dove non c'è ricezione cellulare](../../../../../translated_images/it/bricked-car.dc38f8efadc6c59d.webp)](https://twitter.com/internetofshit/status/1315736960082808832)
Per MQTT, per gestire una perdita di connettività, il codice del dispositivo e del server dovrà essere responsabile di garantire la consegna dei messaggi se necessario, ad esempio richiedendo che tutti i messaggi inviati siano risposti con messaggi aggiuntivi su un topic di risposta, e se non lo sono, vengono messi in coda manualmente per essere riprodotti in seguito.
@ -358,7 +358,7 @@ Per MQTT, per gestire una perdita di connettività, il codice del dispositivo e
I comandi sono messaggi inviati dal cloud a un dispositivo, che gli istruiscono di fare qualcosa. La maggior parte delle volte ciò comporta la generazione di un output tramite un attuatore, ma può essere un'istruzione per il dispositivo stesso, come riavviarsi o raccogliere telemetria aggiuntiva e restituirla come risposta al comando.
![Un termostato connesso a Internet che riceve un comando per accendere il riscaldamento](../../../../../translated_images/it/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.png)
![Un termostato connesso a Internet che riceve un comando per accendere il riscaldamento](../../../../../translated_images/it/commands.d6c06bbbb3a02cce.webp)
Un termostato potrebbe ricevere un comando dal cloud per accendere il riscaldamento. Basandosi sui dati di telemetria di tutti i sensori, se il servizio cloud ha deciso che il riscaldamento deve essere acceso, invia il comando pertinente.

@ -1,6 +1,6 @@
# Prevedere la crescita delle piante con IoT
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.jpg)
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-5.42b234299279d263.webp)
> Illustrazione di [Nitya Narasimhan](https://github.com/nitya). Clicca sull'immagine per una versione più grande.
@ -102,7 +102,7 @@ I passaggi per farlo manualmente sono:
Ad esempio, se la temperatura massima della giornata è 25°C e la minima è 12°C:
![GDD = 25 + 12 diviso per 2, poi sottrai 10 dal risultato ottenendo 8.5](../../../../../translated_images/it/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.png)
![GDD = 25 + 12 diviso per 2, poi sottrai 10 dal risultato ottenendo 8.5](../../../../../translated_images/it/gdd-calculation-strawberries.59f57db94b22adb8.webp)
* 25 + 12 = 37
* 37 / 2 = 18.5

@ -33,7 +33,7 @@ Una volta che hai i dati sulla temperatura, puoi utilizzare il Jupyter Notebook
Jupyter si avvierà e aprirà il notebook nel tuo browser. Segui le istruzioni nel notebook per visualizzare le temperature misurate e calcolare i gradi giorno di crescita.
![Il jupyter notebook](../../../../../translated_images/it/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.png)
![Il jupyter notebook](../../../../../translated_images/it/gdd-jupyter-notebook.c5b52cf21094f158.webp)
## Rubrica

@ -16,13 +16,13 @@ Il sensore di temperatura Grove può essere collegato al Raspberry Pi.
Collega il sensore di temperatura
![Un sensore di temperatura Grove](../../../../../translated_images/it/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png)
![Un sensore di temperatura Grove](../../../../../translated_images/it/grove-dht11.07f8eafceee17004.webp)
1. Inserisci un'estremità di un cavo Grove nella presa del sensore di umidità e temperatura. Il cavo può essere inserito solo in un verso.
1. Con il Raspberry Pi spento, collega l'altra estremità del cavo Grove alla presa digitale contrassegnata **D5** sul Grove Base Hat collegato al Pi. Questa presa è la seconda da sinistra, nella fila di prese accanto ai pin GPIO.
![Il sensore di temperatura Grove collegato alla presa A0](../../../../../translated_images/it/pi-temperature-sensor.3ff82fff672c8e565ef25a39d26d111de006b825a7e0867227ef4e7fbff8553c.png)
![Il sensore di temperatura Grove collegato alla presa A0](../../../../../translated_images/it/pi-temperature-sensor.3ff82fff672c8e56.webp)
## Programmare il sensore di temperatura

@ -38,11 +38,11 @@ Aggiungi i sensori di umidità e temperatura all'app CounterFit.
1. Seleziona il pulsante **Add** per creare il sensore di umidità sul Pin 5.
![Impostazioni del sensore di umidità](../../../../../translated_images/it/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.png)
![Impostazioni del sensore di umidità](../../../../../translated_images/it/counterfit-create-humidity-sensor.2750e27b6f30e09c.webp)
Il sensore di umidità verrà creato e apparirà nella lista dei sensori.
![Sensore di umidità creato](../../../../../translated_images/it/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.png)
![Sensore di umidità creato](../../../../../translated_images/it/counterfit-humidity-sensor.7b12f7f339e430cb.webp)
1. Crea un sensore di temperatura:
@ -54,11 +54,11 @@ Aggiungi i sensori di umidità e temperatura all'app CounterFit.
1. Seleziona il pulsante **Add** per creare il sensore di temperatura sul Pin 6.
![Impostazioni del sensore di temperatura](../../../../../translated_images/it/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.png)
![Impostazioni del sensore di temperatura](../../../../../translated_images/it/counterfit-create-temperature-sensor.199350ed34f7343d.webp)
Il sensore di temperatura verrà creato e apparirà nella lista dei sensori.
![Sensore di temperatura creato](../../../../../translated_images/it/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.png)
![Sensore di temperatura creato](../../../../../translated_images/it/counterfit-temperature-sensor.f0560236c96a9016.webp)
## Programmare l'app del sensore di temperatura

@ -18,7 +18,7 @@ Il sensore di temperatura Grove può essere collegato alla porta digitale del Wi
Collega il sensore di temperatura.
![Un sensore di temperatura Grove](../../../../../translated_images/it/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png)
![Un sensore di temperatura Grove](../../../../../translated_images/it/grove-dht11.07f8eafceee17004.webp)
1. Inserisci un'estremità di un cavo Grove nella presa del sensore di umidità e temperatura. Può essere inserito solo in un verso.

@ -13,7 +13,7 @@ I²C ha un bus composto da 2 fili principali, insieme a 2 fili di alimentazione:
| VCC | Voltage common collector | L'alimentazione per i dispositivi. Questo è collegato ai fili SDA e SCL per fornire loro energia tramite una resistenza pull-up che spegne il segnale quando nessun dispositivo è il controller. |
| GND | Ground | Fornisce una massa comune per il circuito elettrico. |
![Bus I2C con 3 dispositivi collegati ai fili SDA e SCL, condividendo un filo di massa comune](../../../../../translated_images/it/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.png)
![Bus I2C con 3 dispositivi collegati ai fili SDA e SCL, condividendo un filo di massa comune](../../../../../translated_images/it/i2c.83da845dde02256b.webp)
Per inviare dati, un dispositivo emette una condizione di avvio per indicare che è pronto a inviare dati. Diventerà quindi il controller. Il controller invia l'indirizzo del dispositivo con cui vuole comunicare, insieme all'indicazione se vuole leggere o scrivere dati. Dopo che i dati sono stati trasmessi, il controller invia una condizione di stop per indicare che ha terminato. Dopo di ciò, un altro dispositivo può diventare il controller e inviare o ricevere dati.

@ -20,7 +20,7 @@ Dovrai ripetere questi passaggi più volte per ottenere le letture necessarie, c
L'umidità gravimetrica del suolo si calcola come:
![% di umidità del suolo è il peso del terreno bagnato meno il peso del terreno asciutto, diviso per il peso del terreno asciutto, moltiplicato per 100](../../../../../translated_images/it/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.png)
![% di umidità del suolo è il peso del terreno bagnato meno il peso del terreno asciutto, diviso per il peso del terreno asciutto, moltiplicato per 100](../../../../../translated_images/it/gsm-calculation.6da38c6201eec14e.webp)
* W
- il peso del terreno bagnato
@ -29,7 +29,7 @@ L'umidità gravimetrica del suolo si calcola come:
Ad esempio, supponiamo di avere un campione di terreno che pesa 212g bagnato e 197g asciutto.
![Calcolo compilato](../../../../../translated_images/it/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.png)
![Calcolo compilato](../../../../../translated_images/it/gsm-calculation-example.99f9803b4f29e976.webp)
* W = 212g
* W = 197g

@ -18,13 +18,13 @@ Il sensore Grove di umidità del suolo può essere collegato al Raspberry Pi.
Collega il sensore di umidità del suolo.
![Un sensore Grove di umidità del suolo](../../../../../translated_images/it/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png)
![Un sensore Grove di umidità del suolo](../../../../../translated_images/it/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78b.webp)
1. Inserisci un'estremità di un cavo Grove nella presa del sensore di umidità del suolo. Il cavo può essere inserito solo in un verso.
1. Con il Raspberry Pi spento, collega l'altra estremità del cavo Grove alla presa analogica contrassegnata come **A0** sul Grove Base Hat collegato al Raspberry Pi. Questa presa è la seconda da destra, nella fila di prese accanto ai pin GPIO.
![Il sensore Grove di umidità del suolo collegato alla presa A0](../../../../../translated_images/it/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.png)
![Il sensore Grove di umidità del suolo collegato alla presa A0](../../../../../translated_images/it/pi-soil-moisture-sensor.fdd7eb2393792cf6.webp)
1. Inserisci il sensore di umidità del suolo nel terreno. Il sensore ha una "linea di posizione massima" - una linea bianca che attraversa il sensore. Inserisci il sensore fino a questa linea, ma non oltre.

@ -34,11 +34,11 @@ Aggiungi il sensore di umidità del suolo all'app CounterFit.
1. Seleziona il pulsante **Add** per creare il sensore *Soil Moisture* sul Pin 0.
![Le impostazioni del sensore di umidità del suolo](../../../../../translated_images/it/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.png)
![Le impostazioni del sensore di umidità del suolo](../../../../../translated_images/it/counterfit-create-soil-moisture-sensor.35266135a5e0ae68.webp)
Il sensore di umidità del suolo verrà creato e apparirà nella lista dei sensori.
![Il sensore di umidità del suolo creato](../../../../../translated_images/it/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.png)
![Il sensore di umidità del suolo creato](../../../../../translated_images/it/counterfit-soil-moisture-sensor.81742b2de0e9de60.webp)
## Programmare l'app del sensore di umidità del suolo

@ -18,7 +18,7 @@ Il sensore Grove di umidità del suolo può essere collegato alla porta analogic
Collega il sensore di umidità del suolo.
![Un sensore Grove di umidità del suolo](../../../../../translated_images/it/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png)
![Un sensore Grove di umidità del suolo](../../../../../translated_images/it/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78b.webp)
1. Inserisci un'estremità di un cavo Grove nella presa del sensore di umidità del suolo. Può essere inserito solo in un verso.

@ -1,6 +1,6 @@
# Irrigazione automatica delle piante
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.jpg)
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-7.30b5f577d3cb8e03.webp)
> Illustrazione di [Nitya Narasimhan](https://github.com/nitya). Clicca sull'immagine per una versione più grande.
@ -32,7 +32,7 @@ I dispositivi IoT utilizzano una tensione bassa. Sebbene questa sia sufficiente
La soluzione consiste nel collegare una pompa a un alimentatore esterno e utilizzare un attuatore per accendere la pompa, simile a come accenderesti una luce. Serve una quantità minima di energia (sotto forma di energia del tuo corpo) per il tuo dito per azionare un interruttore, e questo collega la luce all'elettricità di rete che funziona a 110v/240v.
![Un interruttore accende una luce](../../../../../translated_images/it/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.png)
![Un interruttore accende una luce](../../../../../translated_images/it/light-switch.760317ad6ab8bd6d.webp)
> 🎓 [Elettricità di rete](https://wikipedia.org/wiki/Mains_electricity) si riferisce all'elettricità fornita a case e aziende attraverso infrastrutture nazionali in molte parti del mondo.
@ -72,7 +72,7 @@ Quando la leva si muove, di solito puoi sentirla fare contatto con l'elettromagn
L'elettromagnete non necessita di molta energia per attivarsi e tirare la leva, può essere controllato utilizzando l'uscita a 3.3V o 5V di un kit di sviluppo IoT. Il circuito di uscita può trasportare molta più energia, a seconda del relè, inclusa la tensione di rete o livelli di potenza ancora più elevati per uso industriale. In questo modo un kit di sviluppo IoT può controllare un sistema di irrigazione, da una piccola pompa per una singola pianta, fino a un sistema industriale massiccio per un'intera azienda agricola commerciale.
![Un relè Grove con il circuito di controllo, il circuito di uscita e il relè etichettati](../../../../../translated_images/it/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.png)
![Un relè Grove con il circuito di controllo, il circuito di uscita e il relè etichettati](../../../../../translated_images/it/grove-relay-labelled.293e068f5c3c2a19.webp)
L'immagine sopra mostra un relè Grove. Il circuito di controllo si collega a un dispositivo IoT e accende o spegne il relè utilizzando 3.3V o 5V. Il circuito di uscita ha due terminali, uno può essere alimentazione o massa. Il circuito di uscita può gestire fino a 250V a 10A, sufficiente per una gamma di dispositivi alimentati dalla rete. Puoi trovare relè che possono gestire livelli di potenza ancora più elevati.

@ -18,13 +18,13 @@ Il relè Grove può essere collegato al Raspberry Pi.
Collega il relè.
![Un relè Grove](../../../../../translated_images/it/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.png)
![Un relè Grove](../../../../../translated_images/it/grove-relay.d426958ca210fbd0.webp)
1. Inserisci un'estremità di un cavo Grove nella presa del relè. Entrerà solo in un verso.
1. Con il Raspberry Pi spento, collega l'altra estremità del cavo Grove alla presa digitale contrassegnata **D5** sul Grove Base Hat collegato al Pi. Questa presa è la seconda da sinistra, nella fila di prese accanto ai pin GPIO. Lascia il sensore di umidità del suolo collegato alla presa **A0**.
![Il relè Grove collegato alla presa D5 e il sensore di umidità del suolo collegato alla presa A0](../../../../../translated_images/it/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.png)
![Il relè Grove collegato alla presa D5 e il sensore di umidità del suolo collegato alla presa A0](../../../../../translated_images/it/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e.webp)
1. Inserisci il sensore di umidità del suolo nel terreno, se non lo hai già fatto dalla lezione precedente.

@ -28,11 +28,11 @@ Aggiungi il relè all'app CounterFit.
1. Seleziona il pulsante **Add** per creare il relè sul Pin 5.
![Le impostazioni del relè](../../../../../translated_images/it/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.png)
![Le impostazioni del relè](../../../../../translated_images/it/counterfit-create-relay.fa7c40fd0f2f6afc.webp)
Il relè verrà creato e apparirà nella lista degli attuatori.
![Il relè creato](../../../../../translated_images/it/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.png)
![Il relè creato](../../../../../translated_images/it/counterfit-relay.bbf74c1dbdc8b9ac.webp)
## Programmare il relè

@ -18,7 +18,7 @@ Il Grove relay può essere collegato alla porta digitale del Wio Terminal.
Collega il relè.
![Un Grove relay](../../../../../translated_images/it/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.png)
![Un Grove relay](../../../../../translated_images/it/grove-relay.d426958ca210fbd0.webp)
1. Inserisci un'estremità di un cavo Grove nella presa del relè. Può essere inserito solo in un modo.

@ -1,6 +1,6 @@
# Migra la tua pianta al cloud
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.jpg)
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-8.3f21f3c11159e6a0.webp)
> Illustrazione di [Nitya Narasimhan](https://github.com/nitya). Clicca sull'immagine per una versione più grande.
@ -46,8 +46,8 @@ Questo poteva essere molto costoso, richiedere una vasta gamma di competenze e r
Il cloud viene spesso scherzosamente definito "il computer di qualcun altro". L'idea iniziale era semplice: invece di acquistare computer, si affittano quelli di qualcun altro. Un fornitore di cloud computing gestisce enormi data center, occupandosi di acquistare e installare l'hardware, gestire alimentazione e raffreddamento, rete, sicurezza dell'edificio, aggiornamenti hardware e software, tutto. Come cliente, affitti i computer di cui hai bisogno, aumentando il numero durante i picchi di domanda e riducendolo quando la domanda cala. Questi data center cloud sono distribuiti in tutto il mondo.
![Un data center cloud di Microsoft](../../../../../translated_images/it/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.png)
![Espansione pianificata di un data center cloud di Microsoft](../../../../../translated_images/it/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.png)
![Un data center cloud di Microsoft](../../../../../translated_images/it/azure-region-existing.73f704604f2aa6cb.webp)
![Espansione pianificata di un data center cloud di Microsoft](../../../../../translated_images/it/azure-region-planned-expansion.a5074a1e8af74f15.webp)
Questi data center possono occupare diversi chilometri quadrati. Le immagini sopra, scattate alcuni anni fa in un data center cloud di Microsoft, mostrano le dimensioni iniziali e un'espansione pianificata. L'area destinata all'espansione supera i 5 chilometri quadrati.
@ -108,11 +108,11 @@ I servizi IoT nel cloud risolvono questi problemi. Sono gestiti da grandi fornit
I dispositivi IoT si connettono a un servizio cloud utilizzando un SDK per dispositivi (una libreria che fornisce codice per lavorare con le funzionalità del servizio) o direttamente tramite un protocollo di comunicazione come MQTT o HTTP. L'SDK per dispositivi è solitamente la strada più semplice, poiché gestisce tutto per te, come sapere a quali topic pubblicare o sottoscriversi e come gestire la sicurezza.
![I dispositivi si connettono a un servizio utilizzando un SDK per dispositivi. Anche il codice server si connette al servizio tramite un SDK](../../../../../translated_images/it/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.png)
![I dispositivi si connettono a un servizio utilizzando un SDK per dispositivi. Anche il codice server si connette al servizio tramite un SDK](../../../../../translated_images/it/iot-service-connectivity.7e873847921a5d6f.webp)
Il tuo dispositivo comunica quindi con altre parti della tua applicazione tramite questo servizio, in modo simile a come hai inviato telemetria e ricevuto comandi tramite MQTT. Questo avviene solitamente utilizzando un SDK per servizi o una libreria simile. I messaggi arrivano dal tuo dispositivo al servizio, dove altre componenti della tua applicazione possono leggerli, e i messaggi possono essere inviati al tuo dispositivo.
![I dispositivi senza una chiave segreta valida non possono connettersi al servizio IoT](../../../../../translated_images/it/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.png)
![I dispositivi senza una chiave segreta valida non possono connettersi al servizio IoT](../../../../../translated_images/it/iot-service-allowed-denied-connection.818b0063ac213fb8.webp)
Questi servizi implementano la sicurezza conoscendo tutti i dispositivi che possono connettersi e inviare dati, sia registrando i dispositivi in anticipo, sia fornendo loro chiavi segrete o certificati che possono utilizzare per registrarsi al servizio la prima volta che si connettono. I dispositivi sconosciuti non possono connettersi: se ci provano, il servizio rifiuta la connessione e ignora i messaggi inviati da loro.
@ -124,7 +124,7 @@ Altre componenti della tua applicazione possono connettersi al servizio IoT e co
Ora che hai un abbonamento Azure, puoi iscriverti a un servizio IoT. Il servizio IoT di Microsoft si chiama Azure IoT Hub.
![Il logo di Azure IoT Hub](../../../../../translated_images/it/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.png)
![Il logo di Azure IoT Hub](../../../../../translated_images/it/azure-iot-hub-logo.28a19de76d0a1932.webp)
Il video qui sotto offre una breve panoramica di Azure IoT Hub:

@ -1,6 +1,6 @@
# Migrare la logica della tua applicazione al cloud
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.jpg)
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-9.dfe99c8e891f48e1.webp)
> Illustrazione di [Nitya Narasimhan](https://github.com/nitya). Clicca sull'immagine per una versione più grande.
@ -28,7 +28,7 @@ In questa lezione tratteremo:
Il serverless, o calcolo serverless, consiste nel creare piccoli blocchi di codice che vengono eseguiti nel cloud in risposta a diversi tipi di eventi. Quando si verifica l'evento, il tuo codice viene eseguito e riceve i dati relativi all'evento. Questi eventi possono provenire da molte fonti diverse, inclusi richieste web, messaggi messi in una coda, modifiche ai dati in un database o messaggi inviati a un servizio IoT da dispositivi IoT.
![Eventi inviati da un servizio IoT a un servizio serverless, tutti elaborati contemporaneamente da più funzioni in esecuzione](../../../../../translated_images/it/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.png)
![Eventi inviati da un servizio IoT a un servizio serverless, tutti elaborati contemporaneamente da più funzioni in esecuzione](../../../../../translated_images/it/iot-messages-to-serverless.0194da1cc0732bb7.webp)
> 💁 Se hai già utilizzato trigger di database, puoi pensare a questo come qualcosa di simile: codice attivato da un evento come l'inserimento di una riga.
@ -54,7 +54,7 @@ Come sviluppatore IoT, il modello serverless è ideale. Puoi scrivere una funzio
Il servizio di calcolo serverless di Microsoft si chiama Azure Functions.
![Il logo di Azure Functions](../../../../../translated_images/it/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.png)
![Il logo di Azure Functions](../../../../../translated_images/it/azure-functions-logo.1cfc8e3204c9c44a.webp)
Il breve video qui sotto offre una panoramica di Azure Functions.

@ -1,6 +1,6 @@
# Mantieni la tua pianta al sicuro
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.jpg)
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-10.829c86b80b9403bb.webp)
> Schizzo di [Nitya Narasimhan](https://github.com/nitya). Clicca sull'immagine per una versione più grande.
@ -52,11 +52,11 @@ Questi sono scenari reali e accadono continuamente. Alcuni esempi sono stati for
Quando un dispositivo si connette a un servizio IoT, utilizza un ID per identificarsi. Il problema è che questo ID può essere clonato: un hacker potrebbe configurare un dispositivo dannoso che utilizza lo stesso ID di un dispositivo reale ma invia dati falsi.
![Sia i dispositivi validi che quelli dannosi potrebbero utilizzare lo stesso ID per inviare telemetria](../../../../../translated_images/it/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.png)
![Sia i dispositivi validi che quelli dannosi potrebbero utilizzare lo stesso ID per inviare telemetria](../../../../../translated_images/it/iot-device-and-hacked-device-connecting.e0671675df74d6d9.webp)
La soluzione è convertire i dati inviati in un formato criptato, utilizzando un valore noto solo al dispositivo e al cloud. Questo processo si chiama *crittografia*, e il valore utilizzato per crittografare i dati è chiamato *chiave di crittografia*.
![Se viene utilizzata la crittografia, solo i messaggi crittografati saranno accettati, gli altri saranno rifiutati](../../../../../translated_images/it/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.png)
![Se viene utilizzata la crittografia, solo i messaggi crittografati saranno accettati, gli altri saranno rifiutati](../../../../../translated_images/it/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f.webp)
Il servizio cloud può quindi convertire i dati in un formato leggibile, utilizzando un processo chiamato *decrittografia*, utilizzando la stessa chiave di crittografia o una *chiave di decrittografia*. Se il messaggio crittografato non può essere decrittato dalla chiave, il dispositivo è stato hackerato e il messaggio viene rifiutato.

@ -1,6 +1,6 @@
# Tracciamento della posizione
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.jpg)
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-11.9fddbac4b664c6d5.webp)
> Illustrazione di [Nitya Narasimhan](https://github.com/nitya). Clicca sull'immagine per una versione più grande.
@ -63,13 +63,13 @@ La Terra è una sfera - un cerchio tridimensionale. Per questo motivo, i punti v
> 💁 Nessuno sa davvero il motivo originale per cui i cerchi sono divisi in 360 gradi. La [pagina Wikipedia sul grado (angolo)](https://wikipedia.org/wiki/Degree_(angle)) copre alcune delle possibili ragioni.
![Linee di latitudine da 90° al Polo Nord, 45° a metà strada tra il Polo Nord e l'equatore, 0° all'equatore, -45° a metà strada tra l'equatore e il Polo Sud, e -90° al Polo Sud](../../../../../translated_images/it/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.png)
![Linee di latitudine da 90° al Polo Nord, 45° a metà strada tra il Polo Nord e l'equatore, 0° all'equatore, -45° a metà strada tra l'equatore e il Polo Sud, e -90° al Polo Sud](../../../../../translated_images/it/latitude-lines.11d8d91dfb2014a5.webp)
La latitudine è misurata utilizzando linee che circondano la Terra e corrono parallele all'equatore, dividendo gli emisferi settentrionale e meridionale in 90° ciascuno. L'equatore è a 0°, il Polo Nord è a 90°, noto anche come 90° Nord, e il Polo Sud è a -90°, o 90° Sud.
La longitudine è misurata come il numero di gradi misurati da est a ovest. L'origine a 0° della longitudine è chiamata *Primo Meridiano* ed è stata definita nel 1884 come una linea dal Polo Nord al Polo Sud che attraversa il [Royal Observatory britannico a Greenwich, Inghilterra](https://wikipedia.org/wiki/Royal_Observatory,_Greenwich).
![Linee di longitudine che vanno da -180° a ovest del Primo Meridiano, a 0° sul Primo Meridiano, a 180° a est del Primo Meridiano](../../../../../translated_images/it/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.png)
![Linee di longitudine che vanno da -180° a ovest del Primo Meridiano, a 0° sul Primo Meridiano, a 180° a est del Primo Meridiano](../../../../../translated_images/it/longitude-meridians.ab4ef1c91c064586.webp)
> 🎓 Un meridiano è una linea immaginaria che va dal Polo Nord al Polo Sud, formando un semicerchio.
@ -100,7 +100,7 @@ Le coordinate per un punto sono sempre date come `latitudine, longitudine`, quin
* Una latitudine di 47.6423109 (47.6423109 gradi a nord dell'equatore)
* Una longitudine di -122.1390293 (122.1390293 gradi a ovest del Primo Meridiano).
![Il campus Microsoft a 47.6423109,-122.117198](../../../../../translated_images/it/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.png)
![Il campus Microsoft a 47.6423109,-122.117198](../../../../../translated_images/it/microsoft-gps-location-world.a321d481b010f6ad.webp)
## Sistemi di Posizionamento Globale (GPS)
@ -112,7 +112,7 @@ I sistemi GPS funzionano grazie a un certo numero di satelliti che inviano un se
> 💁 I sensori GPS necessitano di antenne per rilevare le onde radio. Le antenne integrate nei camion e nelle auto con GPS di bordo sono posizionate per ottenere un buon segnale, di solito sul parabrezza o sul tetto. Se stai utilizzando un sistema GPS separato, come uno smartphone o un dispositivo IoT, devi assicurarti che l'antenna integrata nel sistema GPS o nel telefono abbia una chiara visuale del cielo, ad esempio montandola sul parabrezza.
![Sapendo la distanza dal sensore a più satelliti, è possibile calcolare la posizione](../../../../../translated_images/it/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.png)
![Sapendo la distanza dal sensore a più satelliti, è possibile calcolare la posizione](../../../../../translated_images/it/gps-satellites.04acf1148fe25fbf.webp)
I satelliti GPS orbitano attorno alla Terra, non sono fissi sopra il sensore, quindi i dati di posizione includono l'altitudine sopra il livello del mare oltre alla latitudine e alla longitudine.

@ -18,13 +18,13 @@ Il sensore GPS Grove può essere collegato al Raspberry Pi.
Collega il sensore GPS.
![Un sensore GPS Grove](../../../../../translated_images/it/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png)
![Un sensore GPS Grove](../../../../../translated_images/it/grove-gps-sensor.247943bf69b03f0d.webp)
1. Inserisci un'estremità di un cavo Grove nella presa del sensore GPS. Il cavo entrerà solo in un verso.
1. Con il Raspberry Pi spento, collega l'altra estremità del cavo Grove alla presa UART contrassegnata **UART** sul Grove Base Hat collegato al Pi. Questa presa si trova nella fila centrale, sul lato più vicino allo slot della scheda SD, opposto alle porte USB e alla presa Ethernet.
![Il sensore GPS Grove collegato alla presa UART](../../../../../translated_images/it/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.png)
![Il sensore GPS Grove collegato alla presa UART](../../../../../translated_images/it/pi-gps-sensor.1f99ee2b2f652891.webp)
1. Posiziona il sensore GPS in modo che l'antenna collegata abbia visibilità verso il cielo - idealmente vicino a una finestra aperta o all'esterno. È più facile ottenere un segnale chiaro senza ostacoli davanti all'antenna.

@ -38,11 +38,11 @@ Aggiungi il sensore GPS all'app CounterFit.
1. Seleziona il pulsante **Add** per creare il sensore GPS sulla porta `/dev/ttyAMA0`.
![Le impostazioni del sensore GPS](../../../../../translated_images/it/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.png)
![Le impostazioni del sensore GPS](../../../../../translated_images/it/counterfit-create-gps-sensor.6385dc9357d85ad1.webp)
Il sensore GPS sarà creato e apparirà nella lista dei sensori.
![Il sensore GPS creato](../../../../../translated_images/it/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.png)
![Il sensore GPS creato](../../../../../translated_images/it/counterfit-gps-sensor.3fbb15af0a536756.webp)
## Programmare il sensore GPS
@ -102,17 +102,17 @@ Programma l'app del sensore GPS.
* Imposta la **Source** su `Lat/Lon` e specifica una latitudine, una longitudine e il numero di satelliti utilizzati per ottenere il fix GPS. Questo valore verrà inviato solo una volta, quindi seleziona la casella **Repeat** per far sì che i dati si ripetano ogni secondo.
![Il sensore GPS con lat lon selezionato](../../../../../translated_images/it/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.png)
![Il sensore GPS con lat lon selezionato](../../../../../translated_images/it/counterfit-gps-sensor-latlon.008c867d75464fbe.webp)
* Imposta la **Source** su `NMEA` e aggiungi alcune frasi NMEA nella casella di testo. Tutti questi valori verranno inviati, con un intervallo di 1 secondo prima che ogni nuova frase GGA (fix di posizione) possa essere letta.
![Il sensore GPS con frasi NMEA impostate](../../../../../translated_images/it/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.png)
![Il sensore GPS con frasi NMEA impostate](../../../../../translated_images/it/counterfit-gps-sensor-nmea.c62eea442171e17e.webp)
Puoi utilizzare uno strumento come [nmeagen.org](https://www.nmeagen.org) per generare queste frasi disegnando su una mappa. Questi valori verranno inviati solo una volta, quindi seleziona la casella **Repeat** per far sì che i dati si ripetano un secondo dopo che tutti sono stati inviati.
* Imposta la **Source** su GPX file e carica un file GPX con posizioni di tracciamento. Puoi scaricare file GPX da numerosi siti di mappe e escursionismo popolari, come [AllTrails](https://www.alltrails.com/). Questi file contengono più posizioni GPS come un percorso, e il sensore GPS restituirà ogni nuova posizione a intervalli di 1 secondo.
![Il sensore GPS con un file GPX impostato](../../../../../translated_images/it/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.png)
![Il sensore GPS con un file GPX impostato](../../../../../translated_images/it/counterfit-gps-sensor-gpxfile.8310b063ce8a425c.webp)
Questi valori verranno inviati solo una volta, quindi seleziona la casella **Repeat** per far sì che i dati si ripetano un secondo dopo che tutti sono stati inviati.

@ -18,7 +18,7 @@ Il sensore Grove GPS può essere collegato al Wio Terminal.
Collega il sensore GPS.
![Un sensore Grove GPS](../../../../../translated_images/it/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png)
![Un sensore Grove GPS](../../../../../translated_images/it/grove-gps-sensor.247943bf69b03f0d.webp)
1. Inserisci un'estremità di un cavo Grove nella presa del sensore GPS. Può essere inserito solo in un verso.

@ -1,6 +1,6 @@
# Memorizzare i dati di localizzazione
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.jpg)
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-12.ca7f53039712a3ec.webp)
> Illustrazione di [Nitya Narasimhan](https://github.com/nitya). Clicca sull'immagine per una versione più grande.
@ -75,7 +75,7 @@ I database NoSQL sono chiamati NoSQL perché non hanno la stessa struttura rigid
> 💁 Nonostante il nome, alcuni database NoSQL consentono di utilizzare SQL per interrogare i dati.
![Documenti in cartelle in un database NoSQL](../../../../../translated_images/it/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.png)
![Documenti in cartelle in un database NoSQL](../../../../../translated_images/it/noqsl-database.62d24ccf5b73f60d.webp)
I database NoSQL non hanno uno schema predefinito che limita il modo in cui i dati vengono memorizzati; puoi invece inserire qualsiasi dato non strutturato, di solito utilizzando documenti JSON. Questi documenti possono essere organizzati in cartelle, simili ai file sul tuo computer. Ogni documento può avere campi diversi rispetto ad altri documenti. Ad esempio, se stai memorizzando dati IoT dai tuoi veicoli agricoli, alcuni potrebbero avere campi per dati di accelerometro e velocità, altri potrebbero avere campi per la temperatura nel rimorchio. Se aggiungessi un nuovo tipo di camion, come uno con bilance integrate per monitorare il peso del carico, il tuo dispositivo IoT potrebbe aggiungere questo nuovo campo e potrebbe essere memorizzato senza modifiche al database.
@ -89,7 +89,7 @@ In questa lezione utilizzerai un'archiviazione NoSQL per memorizzare i dati IoT.
Nella lezione precedente hai acquisito dati GPS da un sensore GPS collegato al tuo dispositivo IoT. Per memorizzare questi dati IoT nel cloud, devi inviarli a un servizio IoT. Ancora una volta, utilizzerai Azure IoT Hub, lo stesso servizio IoT cloud che hai usato nel progetto precedente.
![Invio di telemetria GPS da un dispositivo IoT a IoT Hub](../../../../../translated_images/it/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.png)
![Invio di telemetria GPS da un dispositivo IoT a IoT Hub](../../../../../translated_images/it/gps-telemetry-iot-hub.8115335d51cd2c12.webp)
### Attività - inviare dati GPS a un IoT Hub
@ -171,7 +171,7 @@ I dati del percorso cold vengono archiviati in data warehouse, database progetta
Una volta che i dati fluiscono nel tuo IoT Hub, puoi scrivere del codice serverless per ascoltare gli eventi pubblicati sull'endpoint compatibile con Event Hub. Questo è il percorso warm: questi dati verranno archiviati e utilizzati nella prossima lezione per creare report sul percorso.
![Invio di telemetria GPS da un dispositivo IoT a IoT Hub, quindi a Azure Functions tramite un trigger di Event Hub](../../../../../translated_images/it/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.png)
![Invio di telemetria GPS da un dispositivo IoT a IoT Hub, quindi a Azure Functions tramite un trigger di Event Hub](../../../../../translated_images/it/gps-telemetry-iot-hub-functions.24d3fa5592455e9f.webp)
### Attività - gestire eventi GPS con codice serverless
@ -193,7 +193,7 @@ Una volta che i dati fluiscono nel tuo IoT Hub, puoi scrivere del codice serverl
## Account di Archiviazione Azure
![Il logo di Azure Storage](../../../../../translated_images/it/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.png)
![Il logo di Azure Storage](../../../../../translated_images/it/azure-storage-logo.605c0f602c640d48.webp)
Gli Account di Archiviazione Azure sono un servizio di archiviazione generico che può memorizzare dati in diversi modi. Puoi archiviare dati come blob, in code, in tabelle o come file, e tutto contemporaneamente.

@ -1,6 +1,6 @@
# Visualizzare i dati di localizzazione
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.jpg)
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-13.a259db1485021be7.webp)
> Illustrazione di [Nitya Narasimhan](https://github.com/nitya). Clicca sull'immagine per una versione più grande.
@ -64,11 +64,11 @@ Prendendo un esempio semplice: nel progetto agricolo hai catturato le letture di
Per un essere umano, comprendere questi dati può essere difficile. È una parete di numeri senza significato. Come primo passo per visualizzare questi dati, possono essere tracciati su un grafico a linee:
![Un grafico a linee dei dati sopra](../../../../../translated_images/it/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.png)
![Un grafico a linee dei dati sopra](../../../../../translated_images/it/chart-soil-moisture.fd6d9d0cdc0b5f75.webp)
Questo può essere ulteriormente migliorato aggiungendo una linea per indicare quando il sistema di irrigazione automatizzato è stato attivato a una lettura di umidità del suolo di 450:
![Un grafico a linee dell'umidità del suolo con una linea a 450](../../../../../translated_images/it/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.png)
![Un grafico a linee dell'umidità del suolo con una linea a 450](../../../../../translated_images/it/chart-soil-moisture-relay.fbb391236d34a64d.webp)
Questo grafico mostra molto rapidamente non solo quali erano i livelli di umidità del suolo, ma anche i punti in cui il sistema di irrigazione è stato attivato.
@ -84,7 +84,7 @@ Quando si lavora con dati GPS, la visualizzazione più chiara può essere quella
Lavorare con le mappe è un esercizio interessante, e ce ne sono molte tra cui scegliere, come Bing Maps, Leaflet, Open Street Maps e Google Maps. In questa lezione, imparerai a conoscere [Azure Maps](https://azure.microsoft.com/services/azure-maps/?WT.mc_id=academic-17441-jabenn) e come possono visualizzare i tuoi dati GPS.
![Il logo di Azure Maps](../../../../../translated_images/it/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.png)
![Il logo di Azure Maps](../../../../../translated_images/it/azure-maps-logo.35d01dcfbd81fe61.webp)
Azure Maps è "una raccolta di servizi geospaziali e SDK che utilizzano dati di mappatura aggiornati per fornire contesto geografico alle applicazioni web e mobili." Ai sviluppatori vengono forniti strumenti per creare mappe belle e interattive che possono fare cose come fornire percorsi di traffico consigliati, informazioni sugli incidenti stradali, navigazione interna, capacità di ricerca, informazioni sull'elevazione, servizi meteorologici e altro.
@ -185,7 +185,7 @@ Ora puoi fare il passo successivo, ovvero visualizzare la tua mappa su una pagin
Se apri la tua pagina `index.html` in un browser web, dovresti vedere una mappa caricata, focalizzata sull'area di Seattle.
![Una mappa che mostra Seattle, una città nello stato di Washington, USA](../../../../../translated_images/it/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.png)
![Una mappa che mostra Seattle, una città nello stato di Washington, USA](../../../../../translated_images/it/map-image.8fb2c53eb23ef39c.webp)
✅ Sperimenta con i parametri di zoom e centro per modificare la visualizzazione della tua mappa. Puoi aggiungere diverse coordinate corrispondenti alla latitudine e longitudine dei tuoi dati per ricentrare la mappa.
@ -319,7 +319,7 @@ Se effettui una chiamata al tuo storage per recuperare i dati, potresti essere s
1. Carica la pagina HTML nel tuo browser. Verrà caricata la mappa, quindi tutti i dati GPS dallo storage saranno caricati e tracciati sulla mappa.
![Una mappa del Saint Edward State Park vicino a Seattle, con cerchi che mostrano un percorso attorno al bordo del parco](../../../../../translated_images/it/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.png)
![Una mappa del Saint Edward State Park vicino a Seattle, con cerchi che mostrano un percorso attorno al bordo del parco](../../../../../translated_images/it/map-path.896832e72dc696ff.webp)
> 💁 Puoi trovare questo codice nella [cartella del codice](../../../../../3-transport/lessons/3-visualize-location-data/code).

@ -1,6 +1,6 @@
# Georecinzioni
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.jpg)
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-14.63980c5150ae3c15.webp)
> Illustrazione di [Nitya Narasimhan](https://github.com/nitya). Clicca sull'immagine per una versione più grande.
@ -35,7 +35,7 @@ In questa lezione tratteremo:
Una georecinzione è un perimetro virtuale per una regione geografica reale. Le georecinzioni possono essere cerchi definiti come un punto e un raggio (ad esempio un cerchio di 100m intorno a un edificio) o poligoni che coprono un'area come una zona scolastica, i confini di una città o un campus universitario o aziendale.
![Alcuni esempi di georecinzioni che mostrano una georecinzione circolare intorno al negozio aziendale Microsoft e una georecinzione poligonale intorno al campus ovest di Microsoft](../../../../../translated_images/it/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.png)
![Alcuni esempi di georecinzioni che mostrano una georecinzione circolare intorno al negozio aziendale Microsoft e una georecinzione poligonale intorno al campus ovest di Microsoft](../../../../../translated_images/it/geofence-examples.172fbc534665769f.webp)
> 💁 Potresti aver già utilizzato le georecinzioni senza saperlo. Se hai impostato un promemoria utilizzando l'app Promemoria di iOS o Google Keep basato su una posizione, hai utilizzato una georecinzione. Queste app configurano una georecinzione basata sulla posizione fornita e ti avvisano quando il tuo telefono entra nella georecinzione.
@ -212,7 +212,7 @@ Nell'immagine sopra, la georecinzione ha un search buffer di 50m.
Ad esempio, immagina letture GPS che mostrano un veicolo che percorre una strada che finisce per correre accanto a una georecinzione. Se un singolo valore GPS è impreciso e colloca il veicolo all'interno della georecinzione, nonostante non ci sia accesso veicolare, allora può essere ignorato.
![Un percorso GPS che mostra un veicolo che passa accanto al campus Microsoft sulla 520, con letture GPS lungo la strada tranne una sul campus, all'interno di una georecinzione](../../../../../translated_images/it/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.png)
![Un percorso GPS che mostra un veicolo che passa accanto al campus Microsoft sulla 520, con letture GPS lungo la strada tranne una sul campus, all'interno di una georecinzione](../../../../../translated_images/it/geofence-crossing-inaccurate-gps.6a3ed911202ad9ca.webp)
Nell'immagine sopra, c'è una geofence che copre una parte del campus di Microsoft. La linea rossa mostra un camion che percorre la 520, con cerchi che rappresentano le letture GPS. La maggior parte di queste letture sono accurate e si trovano lungo la 520, ma c'è una lettura imprecisa all'interno della geofence. Non è possibile che questa lettura sia corretta: non ci sono strade che permettano al camion di deviare improvvisamente dalla 520 verso il campus e poi tornare sulla 520. Il codice che verifica questa geofence dovrà considerare le letture precedenti prima di agire sui risultati del test della geofence.
✅ Quali dati aggiuntivi ti servirebbero per verificare se una lettura GPS può essere considerata corretta?
@ -284,7 +284,7 @@ Come ricorderai dalle lezioni precedenti, l'IoT Hub ti consente di riprodurre ev
La risposta è che non può! Invece, puoi definire più connessioni separate per leggere gli eventi, e ciascuna può gestire la riproduzione dei messaggi non letti. Questi sono chiamati *gruppi di consumatori*. Quando ti connetti all'endpoint, puoi specificare a quale gruppo di consumatori vuoi connetterti. Ogni componente della tua applicazione si connetterà a un gruppo di consumatori diverso.
![Un IoT Hub con 3 gruppi di consumatori che distribuiscono gli stessi messaggi a 3 diverse app Functions](../../../../../translated_images/it/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.png)
![Un IoT Hub con 3 gruppi di consumatori che distribuiscono gli stessi messaggi a 3 diverse app Functions](../../../../../translated_images/it/consumer-groups.a3262e26fc27ba20.webp)
In teoria, fino a 5 applicazioni possono connettersi a ciascun gruppo di consumatori, e tutte riceveranno i messaggi quando arrivano. È una buona pratica avere una sola applicazione che accede a ciascun gruppo di consumatori per evitare l'elaborazione duplicata dei messaggi e garantire che, al riavvio, tutti i messaggi in coda vengano elaborati correttamente. Ad esempio, se lanciassi la tua app Functions localmente e la stessi eseguendo anche nel cloud, entrambe elaborerebbero i messaggi, portando a blob duplicati archiviati nell'account di archiviazione.

@ -1,6 +1,6 @@
# Addestrare un rilevatore di qualità della frutta
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.jpg)
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-15.843d21afdc6fb2bb.webp)
> Illustrazione di [Nitya Narasimhan](https://github.com/nitya). Clicca sull'immagine per una versione più grande.
@ -38,7 +38,7 @@ Non tutte le colture maturano uniformemente. I pomodori, ad esempio, possono ave
L'ascesa della raccolta automatizzata ha spostato la selezione dei prodotti dalla raccolta alla fabbrica. Il cibo viaggiava su lunghe cinture trasportatrici con squadre di persone che selezionavano i prodotti rimuovendo tutto ciò che non soddisfaceva gli standard di qualità richiesti. La raccolta era più economica grazie ai macchinari, ma c'era ancora un costo per la selezione manuale del cibo.
![Se viene rilevato un pomodoro rosso, continua il suo percorso senza interruzioni. Se viene rilevato un pomodoro verde, viene spinto in un cestino di scarto da una leva](../../../../../translated_images/it/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.png)
![Se viene rilevato un pomodoro rosso, continua il suo percorso senza interruzioni. Se viene rilevato un pomodoro verde, viene spinto in un cestino di scarto da una leva](../../../../../translated_images/it/optical-tomato-sorting.61aa134bdda4e5b1.webp)
L'evoluzione successiva è stata l'uso di macchine per la selezione, integrate nella mietitrice o negli impianti di lavorazione. La prima generazione di queste macchine utilizzava sensori ottici per rilevare i colori, controllando attuatori per spingere i pomodori verdi in un cestino di scarto utilizzando leve o getti d'aria, lasciando che i pomodori rossi continuassero su una rete di nastri trasportatori.
@ -62,7 +62,7 @@ Ad esempio, potresti fornire a un modello milioni di immagini di banane acerbe c
> 🎓 I risultati dei modelli di ML sono chiamati *predizioni*
![2 banane, una matura con una predizione del 99,7% matura, 0,3% acerba, e una acerba con una predizione dell'1,4% matura, 98,6% acerba](../../../../../translated_images/it/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.png)
![2 banane, una matura con una predizione del 99,7% matura, 0,3% acerba, e una acerba con una predizione dell'1,4% matura, 98,6% acerba](../../../../../translated_images/it/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50e.webp)
I modelli di ML non forniscono una risposta binaria, ma piuttosto probabilità. Ad esempio, un modello potrebbe ricevere un'immagine di una banana e predire `matura` al 99,7% e `acerba` allo 0,3%. Il tuo codice sceglierebbe quindi la predizione migliore e deciderebbe che la banana è matura.
@ -90,7 +90,7 @@ Esistono una vasta gamma di strumenti che possono aiutarti a fare questo, inclus
Custom Vision è uno strumento basato sul cloud per l'addestramento di classificatori di immagini. Ti consente di addestrare un classificatore utilizzando solo un piccolo numero di immagini. Puoi caricare immagini tramite un portale web, un'API web o un SDK, assegnando a ogni immagine un *tag* che rappresenta la classificazione di quell'immagine. Successivamente, puoi addestrare il modello e testarlo per vedere quanto bene funziona. Una volta che sei soddisfatto del modello, puoi pubblicare versioni di esso che possono essere accessibili tramite un'API web o un SDK.
![Il logo di Azure Custom Vision](../../../../../translated_images/it/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.png)
![Il logo di Azure Custom Vision](../../../../../translated_images/it/custom-vision-logo.d3d4e7c8a87ec9da.webp)
> 💁 Puoi addestrare un modello Custom Vision con solo 5 immagini per classificazione, ma più immagini sono meglio. Puoi ottenere risultati migliori con almeno 30 immagini.
@ -146,7 +146,7 @@ Per utilizzare Custom Vision, devi prima creare due risorse di servizi cognitivi
Quando crei il tuo progetto, assicurati di utilizzare la risorsa `fruit-quality-detector-training` che hai creato in precedenza. Usa un tipo di progetto *Classification*, un tipo di classificazione *Multiclass* e il dominio *Food*.
![Le impostazioni per il progetto Custom Vision con il nome impostato su fruit-quality-detector, nessuna descrizione, la risorsa impostata su fruit-quality-detector-training, il tipo di progetto impostato su classification, il tipo di classificazione impostato su multi class e il dominio impostato su food](../../../../../translated_images/it/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.png)
![Le impostazioni per il progetto Custom Vision con il nome impostato su fruit-quality-detector, nessuna descrizione, la risorsa impostata su fruit-quality-detector-training, il tipo di progetto impostato su classification, il tipo di classificazione impostato su multi class e il dominio impostato su food](../../../../../translated_images/it/custom-vision-create-project.cf46325b92d8b131.webp)
✅ Prenditi del tempo per esplorare l'interfaccia utente di Custom Vision per il tuo classificatore di immagini.
@ -164,7 +164,7 @@ I classificatori di immagini funzionano a risoluzioni molto basse. Ad esempio, C
* Utilizzando 2 banane mature, scatta alcune foto di ciascuna da diverse angolazioni, facendo almeno 7 foto (5 per l'addestramento, 2 per il test), ma idealmente di più.
![Foto di 2 banane diverse](../../../../../translated_images/it/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.png)
![Foto di 2 banane diverse](../../../../../translated_images/it/banana-training-images.530eb203346d73bc.webp)
* Ripeti lo stesso processo utilizzando 2 banane acerbe.
@ -174,7 +174,7 @@ I classificatori di immagini funzionano a risoluzioni molto basse. Ad esempio, C
1. Segui la [sezione carica e etichetta immagini del quickstart per creare un classificatore nei documenti Microsoft](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#upload-and-tag-images) per caricare le tue immagini di addestramento. Etichetta i frutti maturi come `ripe` e quelli acerbi come `unripe`.
![Le finestre di dialogo di caricamento che mostrano il caricamento di immagini di banane mature e acerbe](../../../../../translated_images/it/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.png)
![Le finestre di dialogo di caricamento che mostrano il caricamento di immagini di banane mature e acerbe](../../../../../translated_images/it/image-upload-bananas.0751639f3815e0ec.webp)
1. Segui la [sezione addestra il classificatore del quickstart per creare un classificatore nei documenti Microsoft](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#train-the-classifier) per addestrare il classificatore di immagini sulle immagini caricate.
@ -192,7 +192,7 @@ Una volta che il tuo classificatore è stato addestrato, puoi testarlo fornendog
1. Segui la [documentazione per testare il tuo modello nei documenti Microsoft](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/test-your-model?WT.mc_id=academic-17441-jabenn#test-your-model) per testare il tuo classificatore di immagini. Usa le immagini di test che hai creato in precedenza, non quelle utilizzate per l'addestramento.
![Una banana acerba prevista come acerba con una probabilità del 98,9%, matura con una probabilità dell'1,1%](../../../../../translated_images/it/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.png)
![Una banana acerba prevista come acerba con una probabilità del 98,9%, matura con una probabilità dell'1,1%](../../../../../translated_images/it/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64.webp)
1. Prova tutte le immagini di test a tua disposizione e osserva le probabilità.

@ -1,6 +1,6 @@
# Controlla la qualità della frutta con un dispositivo IoT
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.jpg)
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-16.215daf18b00631fb.webp)
> Sketchnote di [Nitya Narasimhan](https://github.com/nitya). Clicca sull'immagine per una versione più grande.
@ -26,7 +26,7 @@ In questa lezione tratteremo:
I sensori delle fotocamere, come suggerisce il nome, sono fotocamere che puoi collegare al tuo dispositivo IoT. Possono scattare immagini statiche o catturare video in streaming. Alcuni restituiscono dati grezzi dell'immagine, altri comprimono i dati in un file immagine come JPEG o PNG. Di solito, le fotocamere che funzionano con dispositivi IoT sono molto più piccole e a bassa risoluzione rispetto a quelle a cui potresti essere abituato, ma puoi ottenere fotocamere ad alta risoluzione che competono con i migliori telefoni. Puoi trovare una vasta gamma di obiettivi intercambiabili, configurazioni con più fotocamere, fotocamere termiche a infrarossi o fotocamere UV.
![La luce di una scena passa attraverso un obiettivo e viene focalizzata su un sensore CMOS](../../../../../translated_images/it/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.png)
![La luce di una scena passa attraverso un obiettivo e viene focalizzata su un sensore CMOS](../../../../../translated_images/it/cmos-sensor.75f9cd74decb1371.webp)
La maggior parte dei sensori delle fotocamere utilizza sensori di immagine in cui ogni pixel è un fotodiodo. Un obiettivo focalizza l'immagine sul sensore di immagine, e migliaia o milioni di fotodiodi rilevano la luce che cade su ciascuno di essi, registrandola come dati pixel.
@ -74,7 +74,7 @@ Le iterazioni vengono pubblicate dal portale Custom Vision.
1. Seleziona il pulsante **Publish** per l'iterazione.
![Il pulsante di pubblicazione](../../../../../translated_images/it/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.png)
![Il pulsante di pubblicazione](../../../../../translated_images/it/custom-vision-publish-button.b7174e1977b0c33b.webp)
1. Nella finestra di dialogo *Publish Model*, imposta la *Prediction resource* sulla risorsa `fruit-quality-detector-prediction` che hai creato nella lezione precedente. Lascia il nome come `Iteration2` e seleziona il pulsante **Publish**.
@ -88,7 +88,7 @@ Le iterazioni vengono pubblicate dal portale Custom Vision.
Prendi anche una copia del valore *Prediction-Key*. Questa è una chiave sicura che devi passare quando chiami il modello. Solo le applicazioni che passano questa chiave sono autorizzate a utilizzare il modello, tutte le altre applicazioni vengono rifiutate.
![La finestra di dialogo dell'API di previsione che mostra l'URL e la chiave](../../../../../translated_images/it/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png)
![La finestra di dialogo dell'API di previsione che mostra l'URL e la chiave](../../../../../translated_images/it/custom-vision-prediction-key-endpoint.30c569ffd0338864.webp)
✅ Quando viene pubblicata una nuova iterazione, avrà un nome diverso. Come pensi che potresti cambiare l'iterazione che un dispositivo IoT sta utilizzando?
@ -109,7 +109,7 @@ Potresti scoprire che i risultati che ottieni utilizzando la fotocamera collegat
Per ottenere i migliori risultati da un classificatore di immagini, è necessario addestrare il modello con immagini il più simili possibile a quelle utilizzate per le previsioni. Se, ad esempio, hai utilizzato la fotocamera del tuo telefono per catturare immagini per l'addestramento, la qualità dell'immagine, la nitidezza e il colore saranno diversi rispetto a una fotocamera collegata a un dispositivo IoT.
![2 immagini di banane, una a bassa risoluzione con scarsa illuminazione da un dispositivo IoT e una ad alta risoluzione con buona illuminazione da un telefono](../../../../../translated_images/it/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.png)
![2 immagini di banane, una a bassa risoluzione con scarsa illuminazione da un dispositivo IoT e una ad alta risoluzione con buona illuminazione da un telefono](../../../../../translated_images/it/banana-picture-compare.174df164dc326a42.webp)
Nell'immagine sopra, la foto della banana a sinistra è stata scattata utilizzando una fotocamera Raspberry Pi, quella a destra è stata scattata della stessa banana nello stesso luogo utilizzando un iPhone. C'è una differenza evidente nella qualità: la foto dell'iPhone è più nitida, con colori più brillanti e maggiore contrasto.

@ -16,7 +16,7 @@ La fotocamera può essere collegata al Raspberry Pi utilizzando un cavo a nastro
### Attività - collegare la fotocamera
![Una fotocamera Raspberry Pi](../../../../../translated_images/it/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.png)
![Una fotocamera Raspberry Pi](../../../../../translated_images/it/pi-camera-module.4278753c31bd6e75.webp)
1. Spegni il Raspberry Pi.
@ -24,17 +24,17 @@ La fotocamera può essere collegata al Raspberry Pi utilizzando un cavo a nastro
Puoi trovare un'animazione che mostra come aprire la clip e inserire il cavo nella [documentazione introduttiva del modulo fotocamera Raspberry Pi](https://projects.raspberrypi.org/en/projects/getting-started-with-picamera/2).
![Il cavo a nastro inserito nel modulo fotocamera](../../../../../translated_images/it/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.png)
![Il cavo a nastro inserito nel modulo fotocamera](../../../../../translated_images/it/pi-camera-ribbon-cable.0bf82acd251611c2.webp)
1. Rimuovi il Grove Base Hat dal Raspberry Pi.
1. Fai passare il cavo a nastro attraverso lo slot per la fotocamera nel Grove Base Hat. Assicurati che il lato blu del cavo sia rivolto verso le porte analogiche etichettate **A0**, **A1**, ecc.
![Il cavo a nastro che passa attraverso il Grove Base Hat](../../../../../translated_images/it/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.png)
![Il cavo a nastro che passa attraverso il Grove Base Hat](../../../../../translated_images/it/grove-base-hat-ribbon-cable.501fed202fcf73b1.webp)
1. Inserisci il cavo a nastro nella porta della fotocamera sul Raspberry Pi. Ancora una volta, solleva la clip di plastica nera, inserisci il cavo, quindi spingi la clip per fissarlo. Il lato blu del cavo dovrebbe essere rivolto verso le porte USB ed Ethernet.
![Il cavo a nastro collegato alla presa della fotocamera sul Raspberry Pi](../../../../../translated_images/it/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.png)
![Il cavo a nastro collegato alla presa della fotocamera sul Raspberry Pi](../../../../../translated_images/it/pi-camera-socket-ribbon-cable.a18309920b118009.webp)
1. Rimonta il Grove Base Hat.
@ -101,7 +101,7 @@ Programma il dispositivo.
La riga `camera.rotation = 0` imposta la rotazione dell'immagine. Il cavo a nastro entra nella parte inferiore della fotocamera, ma se la fotocamera è stata ruotata per puntare meglio verso l'oggetto da classificare, puoi modificare questa riga con il numero di gradi di rotazione.
![La fotocamera sospesa sopra una lattina](../../../../../translated_images/it/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.png)
![La fotocamera sospesa sopra una lattina](../../../../../translated_images/it/pi-camera-upside-down.5376961ba3145988.webp)
Ad esempio, se sospendi il cavo a nastro sopra qualcosa in modo che si trovi nella parte superiore della fotocamera, imposta la rotazione a 180:

@ -84,7 +84,7 @@ Il servizio Custom Vision dispone di un SDK Python che puoi utilizzare per class
Sarai in grado di vedere l'immagine scattata e questi valori nella scheda **Predictions** in Custom Vision.
![Una banana in Custom Vision predetta come matura al 56,8% e acerba al 43,1%](../../../../../translated_images/it/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.png)
![Una banana in Custom Vision predetta come matura al 56,8% e acerba al 43,1%](../../../../../translated_images/it/custom-vision-banana-prediction.30cdff4e1d72db5d.webp)
> 💁 Puoi trovare questo codice nella cartella [code-classify/pi](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/pi) o [code-classify/virtual-iot-device](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/virtual-iot-device).

@ -34,11 +34,11 @@ Aggiungi la fotocamera all'app CounterFit.
1. Seleziona il pulsante **Add** per creare la fotocamera.
![Le impostazioni della fotocamera](../../../../../translated_images/it/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.png)
![Le impostazioni della fotocamera](../../../../../translated_images/it/counterfit-create-camera.a5de97f59c0bd3cb.webp)
La fotocamera verrà creata e apparirà nell'elenco dei sensori.
![La fotocamera creata](../../../../../translated_images/it/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.png)
![La fotocamera creata](../../../../../translated_images/it/counterfit-camera.001ec52194c8ee5d.webp)
## Programmare la fotocamera
@ -103,7 +103,7 @@ Programma il dispositivo.
1. Configura l'immagine che la fotocamera in CounterFit catturerà. Puoi impostare il *Source* su *File*, quindi caricare un file immagine, oppure impostare il *Source* su *WebCam*, e le immagini verranno catturate dalla tua webcam. Assicurati di selezionare il pulsante **Set** dopo aver selezionato un'immagine o la tua webcam.
![CounterFit con un file impostato come sorgente immagine e una webcam che mostra una persona che tiene una banana in un'anteprima della webcam](../../../../../translated_images/it/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.png)
![CounterFit con un file impostato come sorgente immagine e una webcam che mostra una persona che tiene una banana in un'anteprima della webcam](../../../../../translated_images/it/counterfit-camera-options.eb3bd5150a8e7dff.webp)
1. Un'immagine verrà catturata e salvata come `image.jpg` nella cartella corrente. Vedrai questo file nell'esploratore di VS Code. Seleziona il file per visualizzare l'immagine. Se necessita di rotazione, aggiorna la riga `camera.rotation = 0` come necessario e scatta un'altra foto.

@ -16,7 +16,7 @@ L'ArduCam non ha un connettore Grove, ma si collega ai bus SPI e I2C tramite i p
Collega la fotocamera.
![Un sensore ArduCam](../../../../../translated_images/it/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.png)
![Un sensore ArduCam](../../../../../translated_images/it/arducam.20e4e4cbb2682965.webp)
1. I pin alla base dell'ArduCam devono essere collegati ai pin GPIO del Wio Terminal. Per facilitare l'individuazione dei pin corretti, applica l'adesivo dei pin GPIO fornito con il Wio Terminal attorno ai pin:
@ -35,7 +35,7 @@ Collega la fotocamera.
| SDA | 3 (I2C1_SDA) | Dati seriali I2C |
| SCL | 5 (I2C1_SCL) | Clock seriale I2C |
![Il Wio Terminal collegato all'ArduCam con cavi jumper](../../../../../translated_images/it/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.png)
![Il Wio Terminal collegato all'ArduCam con cavi jumper](../../../../../translated_images/it/arducam-wio-terminal-connections.a4d5a4049bdb5ab8.webp)
I collegamenti GND e VCC forniscono un'alimentazione di 5V all'ArduCam. Funziona a 5V, a differenza dei sensori Grove che funzionano a 3V. Questa alimentazione proviene direttamente dalla connessione USB-C che alimenta il dispositivo.
@ -456,7 +456,7 @@ Il Wio Terminal supporta solo schede microSD fino a 16GB di capacità. Se hai un
1. Spegni il Wio Terminal e rimuovi la scheda microSD spingendola leggermente e rilasciandola, in modo che esca. Potresti dover utilizzare uno strumento sottile per farlo. Inserisci la scheda microSD nel tuo computer per visualizzare le immagini.
![Una foto di una banana catturata con l'ArduCam](../../../../../translated_images/it/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.jpg)
![Una foto di una banana catturata con l'ArduCam](../../../../../translated_images/it/banana-arducam.be1b32d4267a8194.webp)
💁 Potrebbe essere necessario qualche scatto affinché il bilanciamento del bianco della fotocamera si regoli automaticamente. Noterai questo in base al colore delle immagini catturate, le prime potrebbero sembrare con colori alterati. Puoi sempre aggirare questo problema modificando il codice per catturare alcune immagini che vengono ignorate nella funzione `setup`.

@ -208,7 +208,7 @@ Questi certificati contengono chiavi pubbliche e non devono essere mantenuti seg
Sarai in grado di vedere l'immagine catturata e questi valori nella scheda **Predictions** in Custom Vision.
![Una banana in Custom Vision prevista matura al 56.8% e acerba al 43.1%](../../../../../translated_images/it/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.png)
![Una banana in Custom Vision prevista matura al 56.8% e acerba al 43.1%](../../../../../translated_images/it/custom-vision-banana-prediction.30cdff4e1d72db5d.webp)
> 💁 Puoi trovare questo codice nella cartella [code-classify/wio-terminal](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/wio-terminal).

@ -1,6 +1,6 @@
# Esegui il tuo rilevatore di frutta ai margini
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.jpg)
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-17.bc333c3c35ba8e42.webp)
> Illustrazione di [Nitya Narasimhan](https://github.com/nitya). Clicca sull'immagine per una versione più grande.
@ -33,11 +33,11 @@ In questa lezione tratteremo:
Il calcolo ai margini implica l'utilizzo di computer che elaborano i dati IoT il più vicino possibile al luogo in cui vengono generati. Invece di eseguire questa elaborazione nel cloud, viene spostata ai margini del cloud - sulla tua rete interna.
![Un diagramma architetturale che mostra i servizi internet nel cloud e i dispositivi IoT su una rete locale](../../../../../translated_images/it/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.png)
![Un diagramma architetturale che mostra i servizi internet nel cloud e i dispositivi IoT su una rete locale](../../../../../translated_images/it/cloud-without-edge.b4da641f6022c95e.webp)
Nelle lezioni precedenti, i dispositivi raccoglievano dati e li inviavano al cloud per essere analizzati, eseguendo funzioni serverless o modelli AI nel cloud.
![Un diagramma architetturale che mostra dispositivi IoT su una rete locale che si collegano a dispositivi ai margini, e questi dispositivi ai margini si collegano al cloud](../../../../../translated_images/it/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.png)
![Un diagramma architetturale che mostra dispositivi IoT su una rete locale che si collegano a dispositivi ai margini, e questi dispositivi ai margini si collegano al cloud](../../../../../translated_images/it/cloud-with-edge.1e26462c62c126fe.webp)
Il calcolo ai margini sposta alcuni dei servizi cloud fuori dal cloud e li esegue su computer che operano sulla stessa rete dei dispositivi IoT, comunicando con il cloud solo se necessario. Ad esempio, puoi eseguire modelli AI su dispositivi ai margini per analizzare la maturazione della frutta e inviare al cloud solo analisi, come il numero di frutti maturi rispetto a quelli acerbi.
@ -85,7 +85,7 @@ Per i sistemi IoT, spesso vorrai una combinazione di calcolo nel cloud e ai marg
## Azure IoT Edge
![Il logo di Azure IoT Edge](../../../../../translated_images/it/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.png)
![Il logo di Azure IoT Edge](../../../../../translated_images/it/azure-iot-edge-logo.c1c076749b5cba2e.webp)
Azure IoT Edge è un servizio che ti aiuta a spostare i carichi di lavoro fuori dal cloud e ai margini. Configuri un dispositivo come dispositivo ai margini e dal cloud puoi distribuire codice a quel dispositivo. Questo ti consente di combinare le capacità del cloud e dei margini.
@ -99,7 +99,7 @@ IoT Edge è integrato in IoT Hub, quindi puoi gestire i dispositivi ai margini u
IoT Edge esegue codice da *contenitori* - applicazioni autonome che vengono eseguite in isolamento rispetto al resto delle applicazioni sul tuo computer. Quando esegui un contenitore, si comporta come un computer separato che opera all'interno del tuo computer, con il proprio software, servizi e applicazioni in esecuzione. La maggior parte delle volte i contenitori non possono accedere a nulla sul tuo computer a meno che tu non scelga di condividere, ad esempio, una cartella con il contenitore. Il contenitore espone quindi i servizi tramite una porta aperta a cui puoi connetterti o esporre alla tua rete.
![Una richiesta web reindirizzata a un contenitore](../../../../../translated_images/it/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.png)
![Una richiesta web reindirizzata a un contenitore](../../../../../translated_images/it/container-web-browser.4ee81dd4f0d8838c.webp)
Ad esempio, puoi avere un contenitore con un sito web in esecuzione sulla porta 80, la porta HTTP predefinita, e puoi quindi esporlo dal tuo computer sempre sulla porta 80.
@ -195,11 +195,11 @@ Una volta che il modello è stato allenato, deve essere esportato come contenito
## Prepara il tuo contenitore per il deployment
![I contenitori vengono creati, poi inviati a un registro di contenitori, e successivamente distribuiti dal registro di contenitori a un dispositivo edge utilizzando IoT Edge](../../../../../translated_images/it/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.png)
![I contenitori vengono creati, poi inviati a un registro di contenitori, e successivamente distribuiti dal registro di contenitori a un dispositivo edge utilizzando IoT Edge](../../../../../translated_images/it/container-edge-flow.c246050dd60ceefd.webp)
Una volta scaricato il tuo modello, deve essere costruito in un contenitore e poi inviato a un registro di contenitori - una posizione online dove puoi archiviare i contenitori. IoT Edge può quindi scaricare il contenitore dal registro e inviarlo al tuo dispositivo.
![Logo di Azure Container Registry](../../../../../translated_images/it/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.png)
![Logo di Azure Container Registry](../../../../../translated_images/it/azure-container-registry-logo.09494206991d4b29.webp)
Il registro di contenitori che utilizzerai per questa lezione è Azure Container Registry. Questo non è un servizio gratuito, quindi per risparmiare denaro assicurati di [pulire il tuo progetto](../../../clean-up.md) una volta terminato.

@ -1,6 +1,6 @@
# Attivare il rilevamento della qualità della frutta da un sensore
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.jpg)
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-18.92c32ed1d354caa5.webp)
> Illustrazione di [Nitya Narasimhan](https://github.com/nitya). Clicca sull'immagine per una versione più grande.
@ -39,7 +39,7 @@ Le applicazioni IoT possono essere descritte come *cose* (dispositivi) che invia
### Architettura IoT di riferimento
![Un'architettura IoT di riferimento](../../../../../translated_images/it/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.png)
![Un'architettura IoT di riferimento](../../../../../translated_images/it/iot-reference-architecture.2278b98b55c6d4e8.webp)
Il diagramma sopra mostra un'architettura IoT di riferimento.
@ -49,7 +49,7 @@ Il diagramma sopra mostra un'architettura IoT di riferimento.
* **Intuizioni** derivano da applicazioni serverless o da analisi eseguite su dati archiviati.
* **Azioni** possono essere comandi inviati ai dispositivi o visualizzazioni di dati che permettono agli esseri umani di prendere decisioni.
![Un'architettura IoT di riferimento](../../../../../translated_images/it/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.png)
![Un'architettura IoT di riferimento](../../../../../translated_images/it/iot-reference-architecture-azure.0b8d2161af924cb1.webp)
Il diagramma sopra mostra alcuni dei componenti e servizi trattati finora in queste lezioni e come si collegano insieme in un'architettura IoT di riferimento.
@ -89,7 +89,7 @@ Devi costruire un sistema in cui la frutta viene rilevata quando arriva sul nast
### Prototipare la tua applicazione
![Un'architettura IoT di riferimento per il controllo della qualità della frutta](../../../../../translated_images/it/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.png)
![Un'architettura IoT di riferimento per il controllo della qualità della frutta](../../../../../translated_images/it/iot-reference-architecture-fruit-quality.cc705f121c3b6fa7.webp)
Il diagramma sopra mostra un'architettura di riferimento per questa applicazione prototipo.
@ -124,7 +124,7 @@ Segui la guida pertinente per utilizzare un sensore di prossimità per rilevare
Il prototipo del rilevatore di frutta ha più componenti che comunicano tra loro.
![I componenti che comunicano tra loro](../../../../../translated_images/it/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.png)
![I componenti che comunicano tra loro](../../../../../translated_images/it/fruit-quality-detector-message-flow.adf2a65da8fd8741.webp)
* Un sensore di prossimità che misura la distanza da un pezzo di frutta e invia questi dati a IoT Hub
* Il comando per controllare la fotocamera proveniente da IoT Hub al dispositivo con la fotocamera

@ -20,7 +20,7 @@ Il sensore Grove Time of Flight può essere collegato al Raspberry Pi.
Collega il sensore Time of Flight.
![Un sensore Grove Time of Flight](../../../../../translated_images/it/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.png)
![Un sensore Grove Time of Flight](../../../../../translated_images/it/grove-time-of-flight-sensor.d82ff2165bfded9f.webp)
1. Inserisci un'estremità di un cavo Grove nel connettore del sensore Time of Flight. Può essere inserito solo in un modo.

@ -36,11 +36,11 @@ Aggiungi il sensore di distanza all'app CounterFit.
1. Seleziona il pulsante **Add** per creare il sensore di distanza.
![Le impostazioni del sensore di distanza](../../../../../translated_images/it/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.png)
![Le impostazioni del sensore di distanza](../../../../../translated_images/it/counterfit-create-distance-sensor.967c9fb98f27888d.webp)
Il sensore di distanza verrà creato e apparirà nella lista dei sensori.
![Il sensore di distanza creato](../../../../../translated_images/it/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.png)
![Il sensore di distanza creato](../../../../../translated_images/it/counterfit-distance-sensor.079eefeeea0b68af.webp)
## Programma il sensore di distanza

@ -20,7 +20,7 @@ Il sensore Grove Time of Flight può essere collegato al Wio Terminal.
Collega il sensore Time of Flight.
![Un sensore Grove Time of Flight](../../../../../translated_images/it/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.png)
![Un sensore Grove Time of Flight](../../../../../translated_images/it/grove-time-of-flight-sensor.d82ff2165bfded9f.webp)
1. Inserisci un'estremità di un cavo Grove nella presa del sensore Time of Flight. Il cavo può essere inserito solo in un verso.

@ -1,6 +1,6 @@
# Addestrare un rilevatore di scorte
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.jpg)
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-19.cf6973cecadf080c.webp)
> Illustrazione di [Nitya Narasimhan](https://github.com/nitya). Clicca sull'immagine per una versione più grande.
@ -36,7 +36,7 @@ Il rilevamento di oggetti consiste nel rilevare oggetti nelle immagini utilizzan
La classificazione di immagini riguarda la classificazione di un'immagine nel suo complesso - quali sono le probabilità che l'intera immagine corrisponda a ciascun tag. Ottieni indietro le probabilità per ogni tag utilizzato per addestrare il modello.
![Classificazione di immagini di anacardi e concentrato di pomodoro](../../../../../translated_images/it/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.png)
![Classificazione di immagini di anacardi e concentrato di pomodoro](../../../../../translated_images/it/image-classifier-cashews-tomato.bc2e16ab8f05cf9a.webp)
Nell'esempio sopra, due immagini sono classificate utilizzando un modello addestrato per classificare contenitori di anacardi o lattine di concentrato di pomodoro. La prima immagine è un contenitore di anacardi e ha due risultati dal classificatore di immagini:
@ -60,7 +60,7 @@ Quando lo utilizzi per prevedere immagini, invece di ottenere un elenco di tag e
> 🎓 *Riquadri di delimitazione* sono i riquadri intorno a un oggetto.
![Rilevamento di oggetti di anacardi e concentrato di pomodoro](../../../../../translated_images/it/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.png)
![Rilevamento di oggetti di anacardi e concentrato di pomodoro](../../../../../translated_images/it/object-detector-cashews-tomato.1af7c26686b4db0e.webp)
L'immagine sopra contiene sia un contenitore di anacardi che tre lattine di concentrato di pomodoro. Il rilevatore di oggetti ha rilevato gli anacardi, restituendo il riquadro di delimitazione che contiene gli anacardi con la percentuale di probabilità che il riquadro di delimitazione contenga l'oggetto, in questo caso 97.6%. Il rilevatore di oggetti ha anche rilevato tre lattine di concentrato di pomodoro e fornisce tre riquadri di delimitazione separati, uno per ogni lattina rilevata, e ciascuno ha una probabilità percentuale che il riquadro di delimitazione contenga una lattina di concentrato di pomodoro.
@ -111,7 +111,7 @@ Puoi addestrare un rilevatore di oggetti utilizzando Custom Vision, in modo simi
Quando crei il tuo progetto, assicurati di utilizzare la risorsa `stock-detector-training` che hai creato in precedenza. Usa il tipo di progetto *Object Detection* e il dominio *Products on Shelves*.
![Le impostazioni per il progetto Custom Vision con il nome impostato su fruit-quality-detector, nessuna descrizione, la risorsa impostata su fruit-quality-detector-training, il tipo di progetto impostato su classificazione, i tipi di classificazione impostati su multi class e i domini impostati su food](../../../../../translated_images/it/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.png)
![Le impostazioni per il progetto Custom Vision con il nome impostato su fruit-quality-detector, nessuna descrizione, la risorsa impostata su fruit-quality-detector-training, il tipo di progetto impostato su classificazione, i tipi di classificazione impostati su multi class e i domini impostati su food](../../../../../translated_images/it/custom-vision-create-object-detector-project.32d4fb9aa8e7e737.webp)
✅ Il dominio "Products on Shelves" è specificamente mirato al rilevamento di scorte sugli scaffali dei negozi. Leggi di più sui diversi domini nella [documentazione Seleziona un dominio su Microsoft Docs](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/select-domain?WT.mc_id=academic-17441-jabenn#object-detection)
@ -133,11 +133,11 @@ Per addestrare il tuo modello avrai bisogno di un set di immagini contenenti gli
1. Segui la [sezione Carica e tagga immagini del quickstart per costruire un rilevatore di oggetti sulla documentazione Microsoft](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/get-started-build-detector?WT.mc_id=academic-17441-jabenn#upload-and-tag-images) per caricare le tue immagini di addestramento. Crea tag pertinenti a seconda dei tipi di oggetti che vuoi rilevare.
![I dialoghi di caricamento che mostrano il caricamento di immagini di banane mature e acerbe](../../../../../translated_images/it/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.png)
![I dialoghi di caricamento che mostrano il caricamento di immagini di banane mature e acerbe](../../../../../translated_images/it/image-upload-object-detector.77c7892c3093cb59.webp)
Quando disegni i riquadri di delimitazione per gli oggetti, tienili ben stretti intorno all'oggetto. Può richiedere del tempo per delineare tutte le immagini, ma lo strumento rileverà ciò che pensa siano i riquadri di delimitazione, rendendo il processo più veloce.
![Taggando del concentrato di pomodoro](../../../../../translated_images/it/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.png)
![Taggando del concentrato di pomodoro](../../../../../translated_images/it/object-detector-tag-tomato-paste.f47c362fb0f0eb58.webp)
> 💁 Se hai più di 15 immagini per ciascun oggetto, puoi addestrare dopo 15 e utilizzare la funzione **Tag suggeriti**. Questo utilizzerà il modello addestrato per rilevare gli oggetti nell'immagine non taggata. Puoi quindi confermare gli oggetti rilevati o rifiutare e ridisegnare i riquadri di delimitazione. Questo può risparmiare *molto* tempo.
@ -155,7 +155,7 @@ Una volta che il tuo rilevatore di oggetti è stato addestrato, puoi testarlo fo
1. Usa il pulsante **Quick Test** per caricare immagini di test e verificare che gli oggetti siano rilevati. Usa le immagini di test che hai creato in precedenza, non quelle utilizzate per l'addestramento.
![3 lattine di concentrato di pomodoro rilevate con probabilità del 38%, 35.5% e 34.6%](../../../../../translated_images/it/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.png)
![3 lattine di concentrato di pomodoro rilevate con probabilità del 38%, 35.5% e 34.6%](../../../../../translated_images/it/object-detector-detected-tomato-paste.52656fe87af4c37b.webp)
1. Prova tutte le immagini di test a tua disposizione e osserva le probabilità.

@ -1,6 +1,6 @@
# Controllare le scorte da un dispositivo IoT
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.jpg)
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-20.0211df9551a8abb3.webp)
> Illustrazione di [Nitya Narasimhan](https://github.com/nitya). Clicca sull'immagine per una versione più grande.
@ -62,7 +62,7 @@ Le iterazioni vengono pubblicate dal portale Custom Vision.
1. Seleziona il pulsante **Publish** per l'iterazione.
![Il pulsante di pubblicazione](../../../../../translated_images/it/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.png)
![Il pulsante di pubblicazione](../../../../../translated_images/it/custom-vision-object-detector-publish-button.34ee379fc650ccb9.webp)
1. Nella finestra di dialogo *Publish Model*, imposta la risorsa *Prediction resource* sulla risorsa `stock-detector-prediction` che hai creato nella lezione precedente. Lascia il nome come `Iteration2` e seleziona il pulsante **Publish**.
@ -76,7 +76,7 @@ Le iterazioni vengono pubblicate dal portale Custom Vision.
Prendi anche una copia del valore *Prediction-Key*. Questa è una chiave sicura che devi passare quando chiami il modello. Solo le applicazioni che passano questa chiave sono autorizzate a utilizzare il modello, tutte le altre applicazioni vengono rifiutate.
![La finestra di dialogo dell'API di predizione che mostra l'URL e la chiave](../../../../../translated_images/it/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png)
![La finestra di dialogo dell'API di predizione che mostra l'URL e la chiave](../../../../../translated_images/it/custom-vision-prediction-key-endpoint.30c569ffd0338864.webp)
✅ Quando viene pubblicata una nuova iterazione, avrà un nome diverso. Come pensi che potresti cambiare l'iterazione che un dispositivo IoT sta utilizzando?
@ -95,7 +95,7 @@ Quando utilizzi il rilevatore di oggetti, non solo ottieni gli oggetti rilevati
I risultati di una predizione nella scheda **Predictions** in Custom Vision hanno i riquadri di delimitazione disegnati sull'immagine inviata per la predizione.
![4 lattine di concentrato di pomodoro su uno scaffale con predizioni per i 4 rilevamenti di 35.8%, 33.5%, 25.7% e 16.6%](../../../../../translated_images/it/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png)
![4 lattine di concentrato di pomodoro su uno scaffale con predizioni per i 4 rilevamenti di 35.8%, 33.5%, 25.7% e 16.6%](../../../../../translated_images/it/custom-vision-stock-prediction.942266ab1bcca341.webp)
Nell'immagine sopra, sono state rilevate 4 lattine di concentrato di pomodoro. Nei risultati, un quadrato rosso è sovrapposto per ogni oggetto rilevato nell'immagine, indicando il riquadro di delimitazione per l'immagine.
@ -103,7 +103,7 @@ Nell'immagine sopra, sono state rilevate 4 lattine di concentrato di pomodoro. N
I riquadri di delimitazione sono definiti con 4 valori - top, left, height e width. Questi valori sono su una scala da 0 a 1, rappresentando le posizioni come percentuale della dimensione dell'immagine. L'origine (la posizione 0,0) è l'angolo in alto a sinistra dell'immagine, quindi il valore top è la distanza dall'alto, e il fondo del riquadro di delimitazione è il top più l'altezza.
![Un riquadro di delimitazione attorno a una lattina di concentrato di pomodoro](../../../../../translated_images/it/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.png)
![Un riquadro di delimitazione attorno a una lattina di concentrato di pomodoro](../../../../../translated_images/it/bounding-box.1420a7ea0d3d15f7.webp)
L'immagine sopra è larga 600 pixel e alta 800 pixel. Il riquadro di delimitazione inizia a 320 pixel dall'alto, dando una coordinata top di 0.4 (800 x 0.4 = 320). Da sinistra, il riquadro di delimitazione inizia a 240 pixel, dando una coordinata left di 0.4 (600 x 0.4 = 240). L'altezza del riquadro di delimitazione è di 240 pixel, dando un valore height di 0.3 (800 x 0.3 = 240). La larghezza del riquadro di delimitazione è di 120 pixel, dando un valore width di 0.2 (600 x 0.2 = 120).
@ -118,7 +118,7 @@ Utilizzare valori percentuali da 0 a 1 significa che, indipendentemente dalla di
Puoi utilizzare i riquadri di delimitazione combinati con le probabilità per valutare quanto sia accurato un rilevamento. Ad esempio, un rilevatore di oggetti può rilevare più oggetti che si sovrappongono, ad esempio rilevando una lattina dentro un'altra. Il tuo codice potrebbe esaminare i riquadri di delimitazione, capire che ciò è impossibile e ignorare qualsiasi oggetto che abbia una sovrapposizione significativa con altri oggetti.
![Due riquadri di delimitazione che si sovrappongono a una lattina di concentrato di pomodoro](../../../../../translated_images/it/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.png)
![Due riquadri di delimitazione che si sovrappongono a una lattina di concentrato di pomodoro](../../../../../translated_images/it/overlap-object-detection.d431e03cae75072a.webp)
Nell'esempio sopra, un riquadro di delimitazione indica una lattina di concentrato di pomodoro con una probabilità del 78.3%. Un secondo riquadro di delimitazione è leggermente più piccolo ed è all'interno del primo riquadro con una probabilità del 64.3%. Il tuo codice può controllare i riquadri di delimitazione, vedere che si sovrappongono completamente e ignorare la probabilità più bassa poiché non è possibile che una lattina sia dentro un'altra.

@ -67,7 +67,7 @@ Il codice che hai utilizzato per classificare le immagini è molto simile al cod
Sarai in grado di vedere l'immagine catturata e questi valori nella scheda **Predictions** in Custom Vision.
![4 lattine di concentrato di pomodoro su uno scaffale con previsioni per i 4 rilevamenti di 35.8%, 33.5%, 25.7% e 16.6%](../../../../../translated_images/it/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png)
![4 lattine di concentrato di pomodoro su uno scaffale con previsioni per i 4 rilevamenti di 35.8%, 33.5%, 25.7% e 16.6%](../../../../../translated_images/it/custom-vision-stock-prediction.942266ab1bcca341.webp)
> 💁 Puoi trovare questo codice nella cartella [code-detect/pi](../../../../../5-retail/lessons/2-check-stock-device/code-detect/pi) o [code-detect/virtual-iot-device](../../../../../5-retail/lessons/2-check-stock-device/code-detect/virtual-iot-device).

@ -95,7 +95,7 @@ Il codice che hai utilizzato per classificare le immagini è molto simile a quel
Sarai in grado di vedere l'immagine scattata e questi valori nella scheda **Predictions** in Custom Vision.
![4 lattine di concentrato di pomodoro su uno scaffale con previsioni per i 4 rilevamenti di 35.8%, 33.5%, 25.7% e 16.6%](../../../../../translated_images/it/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.png)
![4 lattine di concentrato di pomodoro su uno scaffale con previsioni per i 4 rilevamenti di 35.8%, 33.5%, 25.7% e 16.6%](../../../../../translated_images/it/custom-vision-stock-prediction.942266ab1bcca341.webp)
> 💁 Puoi trovare questo codice nella cartella [code-detect/wio-terminal](../../../../../5-retail/lessons/2-check-stock-device/code-detect/wio-terminal).

@ -1,6 +1,6 @@
# Riconoscere il parlato con un dispositivo IoT
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.jpg)
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-21.e34de51354d6606f.webp)
> Sketchnote di [Nitya Narasimhan](https://github.com/nitya). Clicca sull'immagine per una versione più grande.
@ -51,7 +51,7 @@ I microfoni sono disponibili in una varietà di tipi:
I microfoni dinamici non necessitano di alimentazione per funzionare, il segnale elettrico è generato interamente dal microfono.
![Patti Smith che canta in un microfono Shure SM58 (tipo cardioide dinamico)](../../../../../translated_images/it/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.jpg)
![Patti Smith che canta in un microfono Shure SM58 (tipo cardioide dinamico)](../../../../../translated_images/it/dynamic-mic.8babac890a2d80df.webp)
* A nastro - I microfoni a nastro sono simili ai microfoni dinamici, ma hanno un nastro metallico invece di un diaframma. Questo nastro si muove in un campo magnetico generando una corrente elettrica. Come i microfoni dinamici, i microfoni a nastro non necessitano di alimentazione per funzionare.
@ -59,11 +59,11 @@ I microfoni sono disponibili in una varietà di tipi:
* Condensatore - I microfoni a condensatore hanno un diaframma metallico sottile e una piastra posteriore metallica fissa. L'elettricità viene applicata a entrambi e, mentre il diaframma vibra, la carica statica tra le piastre cambia generando un segnale. I microfoni a condensatore necessitano di alimentazione per funzionare - chiamata *Phantom power*.
![Microfono a condensatore a piccolo diaframma C451B di AKG Acoustics](../../../../../translated_images/it/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.jpg)
![Microfono a condensatore a piccolo diaframma C451B di AKG Acoustics](../../../../../translated_images/it/condenser-mic.6f6ed5b76ca19e0e.webp)
* MEMS - I microfoni a sistemi microelettromeccanici, o MEMS, sono microfoni su chip. Hanno un diaframma sensibile alla pressione inciso su un chip di silicio e funzionano in modo simile a un microfono a condensatore. Questi microfoni possono essere minuscoli e integrati nei circuiti.
![Un microfono MEMS su una scheda elettronica](../../../../../translated_images/it/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.png)
![Un microfono MEMS su una scheda elettronica](../../../../../translated_images/it/mems-microphone.80574019e1f5e4d9.webp)
Nell'immagine sopra, il chip etichettato **LEFT** è un microfono MEMS, con un diaframma minuscolo largo meno di un millimetro.
@ -159,7 +159,7 @@ Per evitare la complessità di addestrare e utilizzare un modello di parola di a
## Convertire voce in testo
![Logo dei servizi vocali](../../../../../translated_images/it/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.png)
![Logo dei servizi vocali](../../../../../translated_images/it/azure-speech-logo.a1f08c4befb0159f.webp)
Proprio come per la classificazione delle immagini in un progetto precedente, esistono servizi di intelligenza artificiale predefiniti che possono prendere la voce come file audio e convertirla in testo. Uno di questi servizi è il Servizio Vocale, parte dei Cognitive Services, servizi di intelligenza artificiale predefiniti che puoi utilizzare nelle tue applicazioni.

@ -16,13 +16,13 @@ Il pulsante può essere collegato al Grove Base Hat.
#### Attività - collegare il pulsante
![Un pulsante Grove](../../../../../translated_images/it/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.png)
![Un pulsante Grove](../../../../../translated_images/it/grove-button.a70cfbb809a85636.webp)
1. Inserisci un'estremità di un cavo Grove nella presa del modulo pulsante. Entrerà solo in un verso.
1. Con il Raspberry Pi spento, collega l'altra estremità del cavo Grove alla presa digitale contrassegnata **D5** sul Grove Base Hat collegato al Pi. Questa presa è la seconda da sinistra, nella fila di prese accanto ai pin GPIO.
![Il pulsante Grove collegato alla presa D5](../../../../../translated_images/it/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.png)
![Il pulsante Grove collegato alla presa D5](../../../../../translated_images/it/pi-button.c7a1a4f55943341c.webp)
## Acquisire audio

@ -34,7 +34,7 @@ Il microfono e gli altoparlanti devono essere collegati e configurati.
1. Se stai utilizzando il ReSpeaker 2-Mics Pi HAT, puoi rimuovere il Grove base hat e montare il ReSpeaker hat al suo posto.
![Un Raspberry Pi con un ReSpeaker hat](../../../../../translated_images/it/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.png)
![Un Raspberry Pi con un ReSpeaker hat](../../../../../translated_images/it/pi-respeaker-hat.f00fabe7dd039a93.webp)
Avrai bisogno di un pulsante Grove più avanti in questa lezione, ma uno è integrato in questo hat, quindi il Grove base hat non è necessario.

@ -10,7 +10,7 @@ Il microfono integrato cattura un segnale analogico, che viene convertito in un
✅ Leggi di più sul DMA nella [pagina di accesso diretto alla memoria su Wikipedia](https://wikipedia.org/wiki/Direct_memory_access).
![L'audio dal microfono passa a un ADC e poi al DMAC. Questo scrive in un buffer. Quando questo buffer è pieno, viene elaborato e il DMAC scrive in un secondo buffer](../../../../../translated_images/it/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.png)
![L'audio dal microfono passa a un ADC e poi al DMAC. Questo scrive in un buffer. Quando questo buffer è pieno, viene elaborato e il DMAC scrive in un secondo buffer](../../../../../translated_images/it/dmac-adc-buffers.4509aee49145c90b.webp)
Il DMAC può catturare audio dall'ADC a intervalli fissi, ad esempio 16.000 volte al secondo per audio a 16KHz. Può scrivere questi dati catturati in un buffer di memoria pre-allocato e, quando questo è pieno, renderlo disponibile al tuo codice per l'elaborazione. L'uso di questa memoria può ritardare la cattura dell'audio, ma puoi configurare più buffer. Il DMAC scrive nel buffer 1, quindi quando è pieno, notifica al tuo codice di elaborare il buffer 1, mentre il DMAC scrive nel buffer 2. Quando il buffer 2 è pieno, notifica al tuo codice e torna a scrivere nel buffer 1. In questo modo, finché elabori ogni buffer in meno tempo di quello necessario per riempirne uno, non perderai alcun dato.

@ -1,6 +1,6 @@
# Comprendere il linguaggio
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.jpg)
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-22.6148ea28500d9e00.webp)
> Illustrazione di [Nitya Narasimhan](https://github.com/nitya). Clicca sull'immagine per una versione più grande.
@ -46,7 +46,7 @@ I modelli di comprensione del linguaggio sono modelli di intelligenza artificial
## Creare un modello di comprensione del linguaggio
![Il logo di LUIS](../../../../../translated_images/it/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.png)
![Il logo di LUIS](../../../../../translated_images/it/luis-logo.5cb4f3e88c020ee6.webp)
Puoi creare modelli di comprensione del linguaggio utilizzando LUIS, un servizio di comprensione del linguaggio di Microsoft che fa parte dei Servizi Cognitivi.
@ -169,7 +169,7 @@ Puoi trovare istruzioni per utilizzare il portale LUIS nella documentazione [Qui
1. Mentre inserisci ogni esempio, LUIS inizierà a rilevare le entità e sottolineerà e etichetterà quelle che trova.
![Gli esempi con i numeri e le unità di tempo sottolineati da LUIS](../../../../../translated_images/it/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.png)
![Gli esempi con i numeri e le unità di tempo sottolineati da LUIS](../../../../../translated_images/it/luis-intent-examples.25716580b2d2723c.webp)
### Attività - addestrare e testare il modello

@ -1,6 +1,6 @@
# Imposta un timer e fornisci feedback vocale
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.jpg)
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-23.f38483e1d4df4828.webp)
> Illustrazione di [Nitya Narasimhan](https://github.com/nitya). Clicca sull'immagine per una versione più grande.

@ -1,6 +1,6 @@
# Supporto per più lingue
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.jpg)
![Una panoramica illustrata di questa lezione](../../../../../translated_images/it/lesson-24.4246968ed058510a.webp)
> Illustrazione di [Nitya Narasimhan](https://github.com/nitya). Clicca sull'immagine per una versione più grande.
@ -74,7 +74,7 @@ Esistono numerosi servizi AI che possono essere utilizzati dalle tue applicazion
### Servizio vocale di Cognitive Services
![Il logo del servizio vocale](../../../../../translated_images/it/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.png)
![Il logo del servizio vocale](../../../../../translated_images/it/azure-speech-logo.a1f08c4befb0159f.webp)
Il servizio vocale che hai utilizzato nelle lezioni precedenti ha capacità di traduzione per il riconoscimento vocale. Quando riconosci il parlato, puoi richiedere non solo il testo del parlato nella stessa lingua, ma anche in altre lingue.
@ -82,7 +82,7 @@ Il servizio vocale che hai utilizzato nelle lezioni precedenti ha capacità di t
### Servizio Translator di Cognitive Services
![Il logo del servizio Translator](../../../../../translated_images/it/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.png)
![Il logo del servizio Translator](../../../../../translated_images/it/azure-translator-logo.c6ed3a4a433edfd2.webp)
Il servizio Translator è un servizio di traduzione dedicato che può tradurre testo da una lingua a una o più lingue di destinazione. Oltre alla traduzione, supporta una vasta gamma di funzionalità extra, tra cui la mascheratura delle volgarità. Ti consente anche di fornire una traduzione specifica per una particolare parola o frase, per lavorare con termini che non vuoi tradurre o che hanno una traduzione specifica ben nota.

@ -25,7 +25,7 @@ L'API REST del servizio di sintesi vocale non supporta traduzioni dirette, ma pu
>
> Ad esempio, se addestri LUIS in inglese ma vuoi utilizzare il francese come lingua utente, puoi tradurre frasi come "imposta un timer di 2 minuti e 27 secondi" dall'inglese al francese utilizzando Bing Translate, quindi utilizzare il pulsante **Ascolta traduzione** per pronunciare la traduzione nel microfono.
>
> ![Il pulsante Ascolta traduzione su Bing Translate](../../../../../translated_images/it/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png)
> ![Il pulsante Ascolta traduzione su Bing Translate](../../../../../translated_images/it/bing-translate.348aa796d6efe2a9.webp)
1. Aggiungi la chiave API del servizio Translator sotto la variabile `speech_api_key`:

@ -37,7 +37,7 @@ Il servizio di riconoscimento vocale può prendere il parlato e non solo convert
>
> Ad esempio, se addestri LUIS in inglese ma vuoi utilizzare il francese come lingua dell'utente, puoi tradurre frasi come "imposta un timer di 2 minuti e 27 secondi" dall'inglese al francese utilizzando Bing Translate, quindi utilizzare il pulsante **Ascolta traduzione** per pronunciare la traduzione nel tuo microfono.
>
> ![Il pulsante ascolta traduzione su Bing Translate](../../../../../translated_images/it/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png)
> ![Il pulsante ascolta traduzione su Bing Translate](../../../../../translated_images/it/bing-translate.348aa796d6efe2a9.webp)
1. Sostituisci le dichiarazioni `recognizer_config` e `recognizer` con le seguenti:

@ -105,7 +105,7 @@ L'API REST del servizio di sintesi vocale non supporta traduzioni dirette. Tutta
>
> Ad esempio, se addestri LUIS in inglese ma vuoi utilizzare il francese come lingua dell'utente, puoi tradurre frasi come "set a 2 minute and 27 second timer" dall'inglese al francese utilizzando Bing Translate, quindi utilizzare il pulsante **Ascolta traduzione** per pronunciare la traduzione nel tuo microfono.
>
> ![Il pulsante ascolta traduzione su Bing Translate](../../../../../translated_images/it/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.png)
> ![Il pulsante ascolta traduzione su Bing Translate](../../../../../translated_images/it/bing-translate.348aa796d6efe2a9.webp)
1. Aggiungi la chiave API del servizio Translator e la posizione sotto `SPEECH_LOCATION`:

@ -1,16 +1,16 @@
[![GitHub license](https://img.shields.io/github/license/microsoft/IoT-For-Beginners.svg)](https://github.com/microsoft/IoT-For-Beginners/blob/master/LICENSE)
[![GitHub contributors](https://img.shields.io/github/contributors/microsoft/IoT-For-Beginners.svg)](https://GitHub.com/microsoft/IoT-For-Beginners/graphs/contributors/)
[![GitHub issues](https://img.shields.io/github/issues/microsoft/IoT-For-Beginners.svg)](https://GitHub.com/microsoft/IoT-For-Beginners/issues/)
[![GitHub pull-requests](https://img.shields.io/github/issues-pr/microsoft/IoT-For-Beginners.svg)](https://GitHub.com/microsoft/IoT-For-Beginners/pulls/)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![Licenza GitHub](https://img.shields.io/github/license/microsoft/IoT-For-Beginners.svg)](https://github.com/microsoft/IoT-For-Beginners/blob/master/LICENSE)
[![Collaboratori GitHub](https://img.shields.io/github/contributors/microsoft/IoT-For-Beginners.svg)](https://GitHub.com/microsoft/IoT-For-Beginners/graphs/contributors/)
[![Problemi GitHub](https://img.shields.io/github/issues/microsoft/IoT-For-Beginners.svg)](https://GitHub.com/microsoft/IoT-For-Beginners/issues/)
[![Richieste di pull GitHub](https://img.shields.io/github/issues-pr/microsoft/IoT-For-Beginners.svg)](https://GitHub.com/microsoft/IoT-For-Beginners/pulls/)
[![PRs Benvenute](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![GitHub watchers](https://img.shields.io/github/watchers/microsoft/IoT-For-Beginners.svg?style=social&label=Watch)](https://GitHub.com/microsoft/IoT-For-Beginners/watchers/)
[![GitHub forks](https://img.shields.io/github/forks/microsoft/IoT-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/IoT-For-Beginners/network/)
[![GitHub stars](https://img.shields.io/github/stars/microsoft/IoT-For-Beginners.svg?style=social&label=Star)](https://GitHub.com/microsoft/IoT-For-Beginners/stargazers/)
[![Osservatori GitHub](https://img.shields.io/github/watchers/microsoft/IoT-For-Beginners.svg?style=social&label=Watch)](https://GitHub.com/microsoft/IoT-For-Beginners/watchers/)
[![Fork GitHub](https://img.shields.io/github/forks/microsoft/IoT-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/IoT-For-Beginners/network/)
[![Stelle GitHub](https://img.shields.io/github/stars/microsoft/IoT-For-Beginners.svg?style=social&label=Star)](https://GitHub.com/microsoft/IoT-For-Beginners/stargazers/)
### Unisciti alla community Azure AI Foundry
### Unisciti alla Comunità Azure AI Foundry
Se ti blocchi o hai domande sulla creazione di app AI, unisciti a compagni di apprendimento e sviluppatori esperti nelle discussioni su MCP. È una comunità di supporto dove le domande sono benvenute e la conoscenza viene condivisa liberamente.
Se resti bloccato o hai domande sulla creazione di app AI. Unisciti a studenti e sviluppatori esperti nelle discussioni su MCP. È una comunità di supporto dove le domande sono benvenute e la conoscenza viene condivisa liberamente.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
@ -18,196 +18,206 @@ Se hai feedback sul prodotto o errori durante la creazione visita:
[![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum)
Segui questi passaggi per iniziare a usare queste risorse:
1. **Forka il repository**: Clicca su [![GitHub forks](https://img.shields.io/github/forks/microsoft/IoT-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/IoT-For-Beginners/fork)
2. **Clona il repository**: `git clone https://github.com/microsoft/IoT-For-Beginners.git`
3. [**Unisciti al Microsoft Foundry Discord e incontra esperti e altri sviluppatori**](https://discord.com/invite/ByRwuEEgH4)
Segui questi passaggi per iniziare a utilizzare queste risorse:
1. **Fai un fork del repository**: Clicca [![Fork GitHub](https://img.shields.io/github/forks/microsoft/IoT-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/IoT-For-Beginners/fork)
2. **Clona il repository**: `git clone https://github.com/microsoft/IoT-For-Beginners.git`
3. [**Unisciti al Discord Microsoft Foundry e incontra esperti e altri sviluppatori**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 Supporto multilingue
### 🌐 Supporto Multilingue
#### Supportato tramite GitHub Action (Automatizzato e Sempre Aggiornato)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](./README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
[Arabo](../ar/README.md) | [Bengalese](../bn/README.md) | [Bulgaro](../bg/README.md) | [Birmano (Myanmar)](../my/README.md) | [Cinese (semplificato)](../zh-CN/README.md) | [Cinese (tradizionale, Hong Kong)](../zh-HK/README.md) | [Cinese (tradizionale, Macao)](../zh-MO/README.md) | [Cinese (tradizionale, Taiwan)](../zh-TW/README.md) | [Croato](../hr/README.md) | [Ceco](../cs/README.md) | [Danese](../da/README.md) | [Olandese](../nl/README.md) | [Estone](../et/README.md) | [Finlandese](../fi/README.md) | [Francese](../fr/README.md) | [Tedesco](../de/README.md) | [Greco](../el/README.md) | [Ebraico](../he/README.md) | [Hindi](../hi/README.md) | [Ungherese](../hu/README.md) | [Indonesiano](../id/README.md) | [Italiano](./README.md) | [Giapponese](../ja/README.md) | [Kannada](../kn/README.md) | [Khmer](../km/README.md) | [Coreano](../ko/README.md) | [Lituano](../lt/README.md) | [Malese](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepalese](../ne/README.md) | [Pidgin Nigeriano](../pcm/README.md) | [Norvegese](../no/README.md) | [Persiano (Farsi)](../fa/README.md) | [Polacco](../pl/README.md) | [Portoghese (Brasile)](../pt-BR/README.md) | [Portoghese (Portogallo)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Rumeno](../ro/README.md) | [Russo](../ru/README.md) | [Serbo (Cirillico)](../sr/README.md) | [Slovacco](../sk/README.md) | [Sloveno](../sl/README.md) | [Spagnolo](../es/README.md) | [Swahili](../sw/README.md) | [Svedese](../sv/README.md) | [Tagalog (Filippino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thailandese](../th/README.md) | [Turco](../tr/README.md) | [Ucraino](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamita](../vi/README.md)
> **Preferisci clonare localmente?**
> Questo repository include oltre 50 traduzioni che aumentano significativamente la dimensione di download. Per clonare senza traduzioni, usa sparse checkout:
>
> Questo repository include più di 50 traduzioni che aumentano significativamente la dimensione del download. Per clonare senza traduzioni, usa il checkout sparso:
>
> **Bash / macOS / Linux:**
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/IoT-For-Beginners.git
> cd IoT-For-Beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ```
> Questo ti dà tutto il necessario per completare il corso con un download molto più rapido.
>
> **CMD (Windows):**
> ```cmd
> git clone --filter=blob:none --sparse https://github.com/microsoft/IoT-For-Beginners.git
> cd IoT-For-Beginners
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> Questo ti dà tutto il necessario per completare il corso con un download molto più veloce.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
# IoT per Principianti - Un curriculum
# IoT per Principianti - Un Curriculum
Gli Azure Cloud Advocates di Microsoft sono lieti di offrire un curriculum di 12 settimane, 24 lezioni, tutto sui fondamenti dell'IoT. Ogni lezione include quiz pre e post lezione, istruzioni scritte per completare la lezione, una soluzione, un compito e altro ancora. La nostra pedagogia basata sui progetti ti consente di imparare costruendo, un modo provato affinché le nuove competenze si consolidino.
Gli Azure Cloud Advocates di Microsoft sono lieti di offrire un curriculum di 12 settimane e 24 lezioni tutto dedicato alle basi dellIoT. Ogni lezione include quiz pre e post lezione, istruzioni scritte per completare la lezione, una soluzione, un compito e altro ancora. La nostra pedagogia basata sui progetti permette di imparare costruendo, modalità comprovata per apprendere nuove competenze in modo efficace.
I progetti coprono il percorso del cibo dalla fattoria alla tavola. Questo include agricoltura, logistica, produzione, vendita al dettaglio e consumatore tutte aree industriali popolari per i dispositivi IoT.
I progetti coprono il percorso del cibo dalla fattoria alla tavola. Questo include agricoltura, logistica, produzione, vendita al dettaglio e consumatori - tutti settori industriali popolari per i dispositivi IoT.
![Una road map per il corso che mostra 24 lezioni che coprono introduzione, agricoltura, trasporto, elaborazione, vendita al dettaglio e cucina](../../translated_images/it/Roadmap.bb1dec285dda0eda.webp)
![Una mappa del corso che mostra 24 lezioni che coprono introduzione, agricoltura, trasporto, lavorazione, vendita al dettaglio e cucina](../../translated_images/it/Roadmap.bb1dec285dda0eda.webp)
> Sketchnote di [Nitya Narasimhan](https://github.com/nitya). Clicca l'immagine per una versione ingrandita.
> Sketchnote di [Nitya Narasimhan](https://github.com/nitya). Clicca sullimmagine per una versione più grande.
**Un sentito grazie ai nostri autori [Jen Fox](https://github.com/jenfoxbot), [Jen Looper](https://github.com/jlooper), [Jim Bennett](https://github.com/jimbobbennett), e alla nostra artista dello sketchnote [Nitya Narasimhan](https://github.com/nitya).**
**Grazie sentiti ai nostri autori [Jen Fox](https://github.com/jenfoxbot), [Jen Looper](https://github.com/jlooper), [Jim Bennett](https://github.com/jimbobbennett), e al nostro artista delle sketchnote [Nitya Narasimhan](https://github.com/nitya).**
**Grazie anche al nostro team di [Microsoft Learn Student Ambassadors](https://studentambassadors.microsoft.com?WT.mc_id=academic-17441-jabenn) che ha revisionato e tradotto questo curriculum [Aditya Garg](https://github.com/AdityaGarg00), [Anurag Sharma](https://github.com/Anurag-0-1-A), [Arpita Das](https://github.com/Arpiiitaaa), [Aryan Jain](https://www.linkedin.com/in/aryan-jain-47a4a1145/), [Bhavesh Suneja](https://github.com/EliteWarrior315), [Faith Hunja](https://faithhunja.github.io/), [Lateefah Bello](https://www.linkedin.com/in/lateefah-bello/), [Manvi Jha](https://github.com/Severus-Matthew), [Mireille Tan](https://www.linkedin.com/in/mireille-tan-a4834819a/), [Mohammad Iftekher (Iftu) Ebne Jalal](https://github.com/Iftu119), [Mohammad Zulfikar](https://github.com/mohzulfikar), [Priyanshu Srivastav](https://www.linkedin.com/in/priyanshu-srivastav-b067241ba), [Thanmai Gowducheruvu](https://github.com/innovation-platform), e [Zina Kamel](https://www.linkedin.com/in/zina-kamel/).**
**Grazie anche al nostro team di [Microsoft Learn Student Ambassadors](https://studentambassadors.microsoft.com?WT.mc_id=academic-17441-jabenn) che hanno revisionato e tradotto questo curriculum - [Aditya Garg](https://github.com/AdityaGarg00), [Anurag Sharma](https://github.com/Anurag-0-1-A), [Arpita Das](https://github.com/Arpiiitaaa), [Aryan Jain](https://www.linkedin.com/in/aryan-jain-47a4a1145/), [Bhavesh Suneja](https://github.com/EliteWarrior315), [Faith Hunja](https://faithhunja.github.io/), [Lateefah Bello](https://www.linkedin.com/in/lateefah-bello/), [Manvi Jha](https://github.com/Severus-Matthew), [Mireille Tan](https://www.linkedin.com/in/mireille-tan-a4834819a/), [Mohammad Iftekher (Iftu) Ebne Jalal](https://github.com/Iftu119), [Mohammad Zulfikar](https://github.com/mohzulfikar), [Priyanshu Srivastav](https://www.linkedin.com/in/priyanshu-srivastav-b067241ba), [Thanmai Gowducheruvu](https://github.com/innovation-platform), e [Zina Kamel](https://www.linkedin.com/in/zina-kamel/).**
Incontra il team!
[![Promo video](../../images/IOT.gif)](https://youtu.be/-wippUJRi5k)
[![Video promozionale](../../images/IOT.gif)](https://youtu.be/-wippUJRi5k)
**Gif di** [Mohit Jaisal](https://linkedin.com/in/mohitjaisal)
> 🎥 Clicca l'immagine sopra per un video sul progetto!
> 🎥 Clicca sull'immagine sopra per un video sul progetto!
> **Insegnanti**, abbiamo [incluso alcuni suggerimenti](for-teachers.md) su come usare questo curriculum. Se vuoi creare le tue lezioni, abbiamo anche incluso un [modello di lezione](lesson-template/README.md).
> **Insegnanti**, abbiamo [incluso alcuni suggerimenti](for-teachers.md) su come utilizzare questo curriculum. Se vuoi creare le tue lezioni, abbiamo anche incluso un [modello di lezione](lesson-template/README.md).
> **Studenti** ([https://aka.ms/student-page](https://aka.ms/student-page)), per usare questo curriculum in autonomia, forka l'intero repo e completa gli esercizi da solo, iniziando con un quiz pre-lezione, poi leggendo la lezione e completando le restanti attività. Prova a creare i progetti comprendendo le lezioni piuttosto che copiando il codice della soluzione; tale codice è comunque disponibile nelle cartelle /solutions in ogni lezione orientata al progetto. Un'altra idea è formare un gruppo di studio con amici e analizzare insieme il contenuto. Per uno studio più approfondito, consigliamo [Microsoft Learn](https://docs.microsoft.com/users/jimbobbennett/collections/ke2ehd351jopwr?WT.mc_id=academic-17441-jabenn).
> **[Studenti](https://aka.ms/student-page)**, per usare questo curriculum da soli, fate il fork dellintero repository e completate gli esercizi da soli, iniziando con un quiz pre-lezione, poi leggendo la lezione e completando le restanti attività. Cercate di creare i progetti comprendendo le lezioni piuttosto che copiando il codice soluzione; comunque quel codice è disponibile nelle cartelle /solutions in ogni lezione orientata al progetto. Unaltra idea sarebbe formare un gruppo di studio con amici e affrontare insieme i contenuti. Per ulteriori studi, consigliamo [Microsoft Learn](https://docs.microsoft.com/users/jimbobbennett/collections/ke2ehd351jopwr?WT.mc_id=academic-17441-jabenn).
Per una panoramica video di questo corso, guarda questo video:
[![Promo video](https://img.youtube.com/vi/bccEMm8gRuc/0.jpg)](https://youtube.com/watch?v=bccEMm8gRuc "Promo video")
[![Video promozionale](https://img.youtube.com/vi/bccEMm8gRuc/0.jpg)](https://youtube.com/watch?v=bccEMm8gRuc "Video promozionale")
> 🎥 Clicca l'immagine sopra per un video sul progetto!
> 🎥 Clicca sull'immagine sopra per un video sul progetto!
## Pedagogia
Abbiamo scelto due principi pedagogici durante la costruzione di questo curriculum: garantire che sia basato su progetti e che includa quiz frequenti. Alla fine di questa serie, gli studenti avranno costruito un sistema di monitoraggio e irrigazione delle piante, un localizzatore di veicoli, una configurazione di fabbrica intelligente per tracciare e controllare il cibo e un timer da cucina controllato a voce, e avranno appreso le basi dell'Internet delle Cose, inclusi come scrivere codice per dispositivi, connettersi al cloud, analizzare la telemetria ed eseguire AI sul bordo.
Abbiamo scelto due principi pedagogici nella creazione di questo curriculum: assicurarci che sia basato su progetti e che includa quiz frequenti. Alla fine di questa serie, gli studenti avranno costruito un sistema di monitoraggio e annaffiamento piante, un localizzatore di veicoli, uninstallazione smart factory per tracciare e controllare il cibo, e un timer di cottura controllato a voce, e avranno imparato le basi dellInternet of Things inclusi come scrivere codice per dispositivi, connettersi al cloud, analizzare la telemetria ed eseguire AI sulledge.
Garantendo che i contenuti siano allineati ai progetti, il processo diventa più coinvolgente per gli studenti e la ritenzione dei concetti aumenta.
Assicurando che il contenuto sia allineato ai progetti, il processo diventa più coinvolgente per gli studenti e la ritenzione dei concetti viene aumentata.
Inoltre, un quiz a bassa posta in gioco prima della lezione orienta l'intenzione dello studente verso l'apprendimento di un argomento, mentre un secondo quiz dopo la lezione assicura una ulteriore ritenzione. Questo curriculum è stato progettato per essere flessibile e divertente e può essere seguito integralmente o parzialmente. I progetti iniziano in piccolo e diventano progressivamente più complessi entro la fine del ciclo di 12 settimane.
Inoltre, un quiz a bassa pressione prima della lezione imposta lintenzione dello studente verso lapprendimento di un argomento, mentre un secondo quiz dopo la lezione assicura una maggiore ritenzione. Questo curriculum è stato progettato per essere flessibile e divertente e può essere seguito per intero o a pezzi. I progetti iniziano piccoli e diventano progressivamente più complessi entro la fine del ciclo di 12 settimane.
Ogni progetto si basa su hardware reale disponibile per studenti e hobbisti. Ogni progetto esplora il dominio specifico del progetto, fornendo conoscenze di background rilevanti. Per essere un sviluppatore di successo aiuta comprendere il dominio in cui risolvi problemi; fornire queste conoscenze di base permette agli studenti di riflettere sulle loro soluzioni e apprendimento nel contesto del tipo di problema reale che potrebbero dover risolvere come sviluppatori IoT. Gli studenti imparano il 'perché' delle soluzioni che stanno costruendo e acquisiscono un apprezzamento per l'utente finale.
Ogni progetto si basa su hardware reale disponibile agli studenti e agli hobbisti. Ogni progetto approfondisce il dominio specifico del progetto, fornendo conoscenze di base rilevanti. Per essere un sviluppatore di successo aiuta capire il dominio in cui si risolvono problemi; fornire queste conoscenze di base permette agli studenti di pensare alle loro soluzioni IoT e agli apprendimenti nel contesto del tipo di problema reale che potrebbero dover risolvere come sviluppatori IoT. Gli studenti imparano il 'perché' delle soluzioni che costruiscono, acquisendo apprezzamento per lutente finale.
## Hardware
Abbiamo due opzioni di hardware IoT da utilizzare per i progetti a seconda delle preferenze personali, della conoscenza o preferenza del linguaggio di programmazione, degli obiettivi di apprendimento e della disponibilità. Abbiamo inoltre fornito una versione di "hardware virtuale" per chi non ha accesso all'hardware, o vuole imparare di più prima di impegnarsi in un acquisto. Puoi leggere di più e trovare una "lista della spesa" nella [pagina hardware](./hardware.md), inclusi link per acquistare kit completi dai nostri amici di Seeed Studio.
Abbiamo due scelte di hardware IoT da usare per i progetti a seconda delle preferenze personali, conoscenze o preferenze di linguaggio di programmazione, obiettivi di apprendimento e disponibilità. Abbiamo anche fornito una versione 'hardware virtuale' per chi non ha accesso a hardware o vuole imparare di più prima di effettuare un acquisto. Puoi leggere di più e trovare una 'lista della spesa' nella [pagina hardware](./hardware.md), inclusi link per acquistare kit completi dai nostri amici di Seeed Studio.
> 💁 Trova le nostre linee guida [Codice di Condotta](CODE_OF_CONDUCT.md), [Contributi](CONTRIBUTING.md) e [Traduzione](TRANSLATIONS.md). Accogliamo con piacere il tuo feedback costruttivo!
> 💁 Trova il nostro [Codice di Condotta](CODE_OF_CONDUCT.md), le linee guida per [Contributi](CONTRIBUTING.md) e [Traduzioni](TRANSLATIONS.md). Accogliamo con piacere il tuo feedback costruttivo!
>
> 🔧 Problemi? Consulta la nostra [Guida alla Risoluzione dei Problemi](TROUBLESHOOTING.md) per soluzioni ai problemi comuni.
> 🔧 Hai problemi? Consulta la nostra [Guida alla Risoluzione dei Problemi](TROUBLESHOOTING.md) per soluzioni ai problemi comuni.
## Ogni lezione include:
- sketchnote
- schizzo riassuntivo
- video supplementare opzionale
- quiz di riscaldamento pre-lezione
- lezione scritta
- per le lezioni basate su progetti, guide passo-passo su come costruire il progetto
- verifiche di apprendimento
- per le lezioni basate su progetti, guide passo-passo per costruire il progetto
- verifiche di conoscenza
- una sfida
- letture supplementari
- compito
- [quiz post-lezione](https://ff-quizzes.netlify.app/en/)
> **Una nota sui quiz**: Tutti i quiz sono contenuti nella cartella quiz-app, per un totale di 48 quiz di tre domande ciascuno. Sono collegati all'interno delle lezioni ma l'app del quiz può essere eseguita localmente o distribuita su Azure; segui le istruzioni nella cartella `quiz-app`. Sono in fase di localizzazione graduale.
> **Una nota sui quiz**: Tutti i quiz sono contenuti nella cartella quiz-app, per un totale di 48 quiz con tre domande ciascuno. Sono collegati all'interno delle lezioni, ma l'app del quiz può essere eseguita localmente o distribuita su Azure; segui le istruzioni nella cartella `quiz-app`. Sono gradualmente in fase di localizzazione.
## Lezioni
| | Nome Progetto | Concetti Insegnati | Obiettivi di Apprendimento | Lezione Collegata |
| :---: | :------------------------------------: | :---------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------: |
| 01 | [Iniziare](./1-getting-started/README.md) | Introduzione allIoT | Impara i principi base dellIoT e i componenti fondamentali delle soluzioni IoT come sensori e servizi cloud mentre configuri il tuo primo dispositivo IoT | [Introduzione all'IoT](./1-getting-started/lessons/1-introduction-to-iot/README.md) |
| 02 | [Iniziare](./1-getting-started/README.md) | Unimmersione più profonda nellIoT | Impara di più sui componenti di un sistema IoT, così come sui microcontrollori e computer a scheda singola | [Unimmersione più profonda nellIoT](./1-getting-started/lessons/2-deeper-dive/README.md) |
| 03 | [Iniziare](./1-getting-started/README.md) | Interagisci con il mondo fisico tramite sensori e attuatori | Impara sui sensori per raccogliere dati dal mondo fisico e sugli attuatori per inviare feedback, mentre costruisci una luce notturna | [Interagisci con il mondo fisico tramite sensori e attuatori](./1-getting-started/lessons/3-sensors-and-actuators/README.md) |
| 04 | [Iniziare](./1-getting-started/README.md) | Connetti il tuo dispositivo a Internet | Impara come collegare un dispositivo IoT a Internet per inviare e ricevere messaggi connettendo la tua luce notturna a un broker MQTT | [Connetti il tuo dispositivo a Internet](./1-getting-started/lessons/4-connect-internet/README.md) |
| 05 | [Fattoria](./2-farm/README.md) | Predici la crescita delle piante | Impara a predire la crescita delle piante utilizzando dati di temperatura acquisiti da un dispositivo IoT | [Predici la crescita delle piante](./2-farm/lessons/1-predict-plant-growth/README.md) |
| 06 | [Fattoria](./2-farm/README.md) | Rileva lumidità del suolo | Impara a rilevare lumidità del suolo e a calibrare un sensore di umidità del suolo | [Rileva lumidità del suolo](./2-farm/lessons/2-detect-soil-moisture/README.md) |
| 07 | [Fattoria](./2-farm/README.md) | Automatizza lirrigazione delle piante | Impara ad automatizzare e programmare lirrigazione usando un relè e MQTT | [Automatizza lirrigazione delle piante](./2-farm/lessons/3-automated-plant-watering/README.md) |
| 08 | [Fattoria](./2-farm/README.md) | Migra la tua pianta sul cloud | Impara sul cloud e sui servizi IoT ospitati sul cloud e come collegare la tua pianta a uno di questi invece che a un broker MQTT pubblico | [Migra la tua pianta sul cloud](./2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md) |
| 09 | [Fattoria](./2-farm/README.md) | Migra la logica della tua applicazione sul cloud | Impara come puoi scrivere la logica applicativa nel cloud che risponde ai messaggi IoT | [Migra la logica della tua applicazione sul cloud](./2-farm/lessons/5-migrate-application-to-the-cloud/README.md) |
| 10 | [Fattoria](./2-farm/README.md) | Mantieni la tua pianta sicura | Impara la sicurezza con IoT e come mantenere la tua pianta sicura con chiavi e certificati | [Mantieni la tua pianta sicura](./2-farm/lessons/6-keep-your-plant-secure/README.md) |
| 11 | [Trasporti](./3-transport/README.md) | Tracciamento della posizione | Impara il tracciamento della posizione GPS per dispositivi IoT | [Tracciamento della posizione](./3-transport/lessons/1-location-tracking/README.md) |
| 12 | [Trasporti](./3-transport/README.md) | Memorizza i dati di posizione | Impara come memorizzare i dati IoT per essere visualizzati o analizzati successivamente | [Memorizza i dati di posizione](./3-transport/lessons/2-store-location-data/README.md) |
| 13 | [Trasporti](./3-transport/README.md) | Visualizza i dati di posizione | Impara a visualizzare i dati di posizione su una mappa e come le mappe rappresentano il mondo reale 3D in 2 dimensioni | [Visualizza i dati di posizione](./3-transport/lessons/3-visualize-location-data/README.md) |
| 14 | [Trasporti](./3-transport/README.md) | Geofence | Impara i geofence e come possono essere usati per avvisare quando i veicoli nella catena di distribuzione sono vicini alla loro destinazione | [Geofence](./3-transport/lessons/4-geofences/README.md) |
| 15 | [Produzione](./4-manufacturing/README.md) | Addestra un rilevatore di qualità della frutta | Impara come addestrare un classificatore di immagini nel cloud per rilevare la qualità della frutta | [Addestra un rilevatore di qualità della frutta](./4-manufacturing/lessons/1-train-fruit-detector/README.md) |
| 16 | [Produzione](./4-manufacturing/README.md) | Controlla la qualità della frutta da un dispositivo IoT | Impara a usare il tuo rilevatore di qualità della frutta da un dispositivo IoT | [Controlla la qualità della frutta da un dispositivo IoT](./4-manufacturing/lessons/2-check-fruit-from-device/README.md) |
| 17 | [Produzione](./4-manufacturing/README.md) | Esegui il tuo rilevatore di frutta sulledge | Impara a far funzionare il tuo rilevatore di frutta su un dispositivo IoT sulledge | [Esegui il tuo rilevatore di frutta sulledge](./4-manufacturing/lessons/3-run-fruit-detector-edge/README.md) |
| 18 | [Produzione](./4-manufacturing/README.md) | Attiva il rilevamento della qualità della frutta da un sensore | Impara ad attivare il rilevamento della qualità della frutta da un sensore | [Attiva il rilevamento della qualità della frutta da un sensore](./4-manufacturing/lessons/4-trigger-fruit-detector/README.md) |
| 19 | [Vendita al dettaglio](./5-retail/README.md) | Addestra un rilevatore di scorte | Impara a usare il rilevamento di oggetti per addestrare un rilevatore di scorte per contare le scorte in un negozio | [Addestra un rilevatore di scorte](./5-retail/lessons/1-train-stock-detector/README.md) |
| 20 | [Vendita al dettaglio](./5-retail/README.md) | Controlla le scorte da un dispositivo IoT | Impara a controllare le scorte da un dispositivo IoT usando un modello di rilevamento oggetti | [Controlla le scorte da un dispositivo IoT](./5-retail/lessons/2-check-stock-device/README.md) |
| 21 | [Consumatore](./6-consumer/README.md) | Riconosci il parlato con un dispositivo IoT | Impara a riconoscere il parlato da un dispositivo IoT per costruire un timer intelligente | [Riconosci il parlato con un dispositivo IoT](./6-consumer/lessons/1-speech-recognition/README.md) |
| 22 | [Consumatore](./6-consumer/README.md) | Comprendi il linguaggio | Impara a capire frasi pronunciate a un dispositivo IoT | [Comprendi il linguaggio](./6-consumer/lessons/2-language-understanding/README.md) |
| 23 | [Consumatore](./6-consumer/README.md) | Imposta un timer e fornisci feedback parlato | Impara a impostare un timer su un dispositivo IoT e fornire feedback parlato su quando il timer è impostato e quando finisce | [Imposta un timer e fornisci feedback parlato](./6-consumer/lessons/3-spoken-feedback/README.md) |
| 24 | [Consumatore](./6-consumer/README.md) | Supporta più lingue | Impara a supportare più lingue, sia per il parlato che per le risposte del tuo timer intelligente | [Supporta più lingue](./6-consumer/lessons/4-multiple-language-support/README.md) |
| | Nome del Progetto | Concetti Insegnati | Obiettivi di Apprendimento | Lezione Collegata |
| :---: | :-------------------------------------------: | :--------------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------: |
| 01 | [Introduzione](./1-getting-started/README.md) | Introduzione all'IoT | Impara i principi base dellIoT e i blocchi fondamentali di soluzioni IoT come sensori e servizi cloud mentre configuri il tuo primo dispositivo IoT | [Introduzione all'IoT](./1-getting-started/lessons/1-introduction-to-iot/README.md) |
| 02 | [Introduzione](./1-getting-started/README.md) | Approfondimento sull'IoT | Approfondisci i componenti di un sistema IoT, così come microcontrollori e computer a scheda singola | [Approfondimento sull'IoT](./1-getting-started/lessons/2-deeper-dive/README.md) |
| 03 | [Introduzione](./1-getting-started/README.md) | Interagisci con il mondo fisico con sensori e attuatori | Impara a utilizzare sensori per raccogliere dati dal mondo fisico e attuatori per inviare feedback, mentre costruisci una lampada notturna | [Interagisci con il mondo fisico con sensori e attuatori](./1-getting-started/lessons/3-sensors-and-actuators/README.md) |
| 04 | [Introduzione](./1-getting-started/README.md) | Connetti il tuo dispositivo a Internet | Scopri come connettere un dispositivo IoT a Internet per inviare e ricevere messaggi collegando la tua lampada notturna a un broker MQTT | [Connetti il tuo dispositivo a Internet](./1-getting-started/lessons/4-connect-internet/README.md) |
| 05 | [Fattoria](./2-farm/README.md) | Predici la crescita delle piante | Impara a prevedere la crescita delle piante utilizzando dati di temperatura catturati da un dispositivo IoT | [Predici la crescita delle piante](./2-farm/lessons/1-predict-plant-growth/README.md) |
| 06 | [Fattoria](./2-farm/README.md) | Rileva l'umidità del suolo | Impara a rilevare l'umidità del suolo e calibrare un sensore di umidità del terreno | [Rileva l'umidità del suolo](./2-farm/lessons/2-detect-soil-moisture/README.md) |
| 07 | [Fattoria](./2-farm/README.md) | Irrigazione automatica delle piante | Impara ad automatizzare e programmare l'irrigazione usando un relè e MQTT | [Irrigazione automatica delle piante](./2-farm/lessons/3-automated-plant-watering/README.md) |
| 08 | [Fattoria](./2-farm/README.md) | Migra la tua pianta al cloud | Scopri il cloud e i servizi IoT ospitati sul cloud e come connettere la tua pianta a uno di questi invece di un broker MQTT pubblico | [Migra la tua pianta al cloud](./2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md) |
| 09 | [Fattoria](./2-farm/README.md) | Migra la logica della tua applicazione al cloud | Impara come scrivere la logica applicativa nel cloud che risponde ai messaggi IoT | [Migra la logica della tua applicazione al cloud](./2-farm/lessons/5-migrate-application-to-the-cloud/README.md) |
| 10 | [Fattoria](./2-farm/README.md) | Proteggi la tua pianta | Scopri la sicurezza in IoT e come mantenere la tua pianta al sicuro con chiavi e certificati | [Proteggi la tua pianta](./2-farm/lessons/6-keep-your-plant-secure/README.md) |
| 11 | [Trasporti](./3-transport/README.md) | Tracciamento della posizione | Scopri il tracciamento della posizione GPS per dispositivi IoT | [Tracciamento della posizione](./3-transport/lessons/1-location-tracking/README.md) |
| 12 | [Trasporti](./3-transport/README.md) | Memorizza dati di posizione | Impara a memorizzare dati IoT per visualizzarli o analizzarli in seguito | [Memorizza dati di posizione](./3-transport/lessons/2-store-location-data/README.md) |
| 13 | [Trasporti](./3-transport/README.md) | Visualizza dati di posizione | Scopri come visualizzare dati di posizione su una mappa e come le mappe rappresentano il mondo reale 3D in 2 dimensioni | [Visualizza dati di posizione](./3-transport/lessons/3-visualize-location-data/README.md) |
| 14 | [Trasporti](./3-transport/README.md) | Geofence | Scopri le geofence e come possono essere usate per avvisare quando i veicoli della catena di approvvigionamento sono vicini alla loro destinazione | [Geofence](./3-transport/lessons/4-geofences/README.md) |
| 15 | [Produzione](./4-manufacturing/README.md) | Addestra un rilevatore di qualità della frutta | Scopri come addestrare un classificatore di immagini nel cloud per rilevare la qualità della frutta | [Addestra un rilevatore di qualità della frutta](./4-manufacturing/lessons/1-train-fruit-detector/README.md) |
| 16 | [Produzione](./4-manufacturing/README.md) | Verifica la qualità della frutta da un dispositivo IoT | Scopri come usare il rilevatore di qualità della frutta da un dispositivo IoT | [Verifica qualità della frutta da un dispositivo IoT](./4-manufacturing/lessons/2-check-fruit-from-device/README.md)|
| 17 | [Produzione](./4-manufacturing/README.md) | Esegui il tuo rilevatore di frutta sulledge | Scopri come eseguire il tuo rilevatore di frutta su un dispositivo IoT ai margini | [Esegui il tuo rilevatore di frutta sulledge](./4-manufacturing/lessons/3-run-fruit-detector-edge/README.md)|
| 18 | [Produzione](./4-manufacturing/README.md) | Attiva il rilevamento qualità della frutta da un sensore | Scopri come attivare il rilevamento della qualità della frutta da un sensore | [Attiva il rilevamento qualità della frutta da un sensore](./4-manufacturing/lessons/4-trigger-fruit-detector/README.md) |
| 19 | [Vendita al dettaglio](./5-retail/README.md) | Addestra un rilevatore di stock | Impara a usare il rilevamento oggetti per addestrare un rilevatore di stock per contare la merce in un negozio | [Addestra un rilevatore di stock](./5-retail/lessons/1-train-stock-detector/README.md) |
| 20 | [Vendita al dettaglio](./5-retail/README.md) | Controlla lo stock da un dispositivo IoT | Impara a controllare lo stock da un dispositivo IoT usando un modello di rilevamento oggetti | [Controlla lo stock da un dispositivo IoT](./5-retail/lessons/2-check-stock-device/README.md) |
| 21 | [Consumatore](./6-consumer/README.md) | Riconosci il parlato con un dispositivo IoT | Impara a riconoscere il parlato da un dispositivo IoT per costruire un timer intelligente | [Riconosci il parlato con un dispositivo IoT](./6-consumer/lessons/1-speech-recognition/README.md) |
| 22 | [Consumatore](./6-consumer/README.md) | Comprendi il linguaggio | Impara a comprendere le frasi pronunciate a un dispositivo IoT | [Comprendi il linguaggio](./6-consumer/lessons/2-language-understanding/README.md) |
| 23 | [Consumatore](./6-consumer/README.md) | Imposta un timer e fornisci feedback vocale | Impara a impostare un timer su un dispositivo IoT e fornire feedback vocale su quando il timer è impostato e quando termina | [Imposta un timer e fornisci feedback vocale](./6-consumer/lessons/3-spoken-feedback/README.md) |
| 24 | [Consumatore](./6-consumer/README.md) | Supporta più lingue | Impara a supportare più lingue, sia quelle parlate al dispositivo sia le risposte dal tuo timer intelligente | [Supporta più lingue](./6-consumer/lessons/4-multiple-language-support/README.md) |
## Accesso offline
Puoi eseguire questa documentazione offline utilizzando [Docsify](https://docsify.js.org/#/). Fai il fork di questo repository, [installa Docsify](https://docsify.js.org/#/quickstart) sulla tua macchina locale, quindi nella cartella radice di questo repository, digita `docsify serve`. Il sito web sarà servito sulla porta 3000 sul tuo localhost: `localhost:3000`.
Puoi eseguire questa documentazione offline usando [Docsify](https://docsify.js.org/#/). Fai il fork di questo repo, [installa Docsify](https://docsify.js.org/#/quickstart) sulla tua macchina locale, e poi nella cartella principale di questo repo, digita `docsify serve`. Il sito sarà servito sulla porta 3000 sul tuo localhost: `localhost:3000`.
## Quiz
Grazie alla community per aver ospitato il quiz interattivo che verifica la tua conoscenza su ciascuno dei capitoli. Puoi testare la tua conoscenza [qui](https://ff-quizzes.netlify.app/en/)
Grazie alla community per aver ospitato il quiz interattivo che verifica la tua conoscenza su ciascuno dei capitoli. Puoi testare la tua conoscenza [qui](https://ff-quizzes.netlify.app/en/)
### PDF
Puoi generare un PDF di questo contenuto per laccesso offline se necessario. Per farlo, assicurati di avere [npm installato](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) e esegui i seguenti comandi nella cartella radice di questo repository:
Puoi generare un PDF di questo contenuto per l'accesso offline se necessario. Per farlo, assicurati di avere [npm installato](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) ed esegui i seguenti comandi nella cartella principale di questo repo:
```sh
npm i
npm run convert
```
### Diapositive
### Slide
Ci sono presentazioni per alcune delle lezioni nella cartella [slides](../../slides).
## Altri Curricula
Il nostro team produce altri curricula! Dai unocchiata a:
Il nostro team produce altri curricula! Dai un'occhiata:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
[![LangChain4j for Beginners](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners)
[![LangChain.js for Beginners](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain for Beginners](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
---
### Azure / Edge / MCP / Agents
[![AZD for Beginners](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Edge AI for Beginners](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![MCP for Beginners](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Agenti AI per Principianti](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
[![AI Agents for Beginners](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Serie di Intelligenza Artificiale Generativa
[![Intelligenza Artificiale Generativa per Principianti](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Intelligenza Artificiale Generativa (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[![Intelligenza Artificiale Generativa (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[![Intelligenza Artificiale Generativa (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
### Serie AI Generativa
[![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[![Generative AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
---
### Apprendimento Fondamentale
[![ML per Principianti](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![Data Science per Principianti](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![IA per Principianti](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[![Cybersecurity per Principianti](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[![Sviluppo Web per Principianti](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[![IoT per Principianti](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[![Sviluppo XR per Principianti](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
### Apprendimento di Base
[![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[![Cybersecurity for Beginners](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[![Web Dev for Beginners](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[![IoT for Beginners](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[![XR Development for Beginners](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Serie Copilot
[![Copilot per Programmazione Assistita dall'IA](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Copilot per C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![Avventure Copilot](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
[![Copilot for AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Copilot for C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
## Attribuzioni delle immagini
Puoi trovare tutte le attribuzioni per le immagini usate in questo curriculum dove necessario in [Attribuzioni](./attributions.md).
Puoi trovare tutte le attribuzioni per le immagini usate in questo curriculum dove necessario nella [Attribuzioni](./attributions.md).
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Avvertenza**:
Questo documento è stato tradotto utilizzando il servizio di traduzione automatica [Co-op Translator](https://github.com/Azure/co-op-translator). Pur impegnandoci per laccuratezza, si prega di considerare che le traduzioni automatiche possono contenere errori o imprecisioni. Il documento originale nella sua lingua nativa deve essere considerato la fonte autorevole. Per informazioni critiche, si raccomanda una traduzione professionale effettuata da un traduttore umano. Non ci assumiamo responsabilità per eventuali malintesi o interpretazioni errate derivanti dalluso di questa traduzione.
**Disclaimer**:
Questo documento è stato tradotto utilizzando il servizio di traduzione AI [Co-op Translator](https://github.com/Azure/co-op-translator). Pur facendo del nostro meglio per garantire laccuratezza, si prega di notare che le traduzioni automatiche possono contenere errori o inesattezze. Il documento originale nella sua lingua nativa deve essere considerato la fonte autorevole. Per informazioni critiche si raccomanda una traduzione professionale umana. Non ci assumiamo alcuna responsabilità per eventuali malintesi o interpretazioni errate derivanti dalluso di questa traduzione.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -26,7 +26,7 @@ Seeed Studios ha gentilmente reso tutto l'hardware disponibile come kit facili d
**[IoT per principianti con Seeed e Microsoft - Kit iniziale Raspberry Pi 4](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html)**
[![Il kit hardware Raspberry Pi Terminal](../../translated_images/it/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.png)](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html)
[![Il kit hardware Raspberry Pi Terminal](../../translated_images/it/pi-hardware-kit.26dbadaedb7dd44c.webp)](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html)
## Arduino

@ -738,8 +738,8 @@
"language_code": "pl"
},
"README.md": {
"original_hash": "3fcc056cd3837e33d2bdf79f9c359fcf",
"translation_date": "2026-01-30T01:51:54+00:00",
"original_hash": "accf69391fa4450eadbf492ca024cccf",
"translation_date": "2026-04-06T17:36:19+00:00",
"source_file": "README.md",
"language_code": "pl"
},

@ -1,6 +1,6 @@
# Wprowadzenie do IoT
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.jpg)
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-1.2606670fa61ee904.webp)
> Szkic autorstwa [Nitya Narasimhan](https://github.com/nitya). Kliknij obrazek, aby zobaczyć większą wersję.

@ -203,7 +203,7 @@ Jako drugi krok 'Hello World', uruchomisz aplikację CounterFit i połączysz z
Aplikacja zacznie działać i otworzy się w przeglądarce internetowej:
![Aplikacja CounterFit uruchomiona w przeglądarce](../../../../../translated_images/pl/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.png)
![Aplikacja CounterFit uruchomiona w przeglądarce](../../../../../translated_images/pl/counterfit-first-run.433326358b669b31.webp)
Będzie oznaczona jako *Disconnected*, a dioda LED w prawym górnym rogu będzie wyłączona.
@ -224,7 +224,7 @@ Jako drugi krok 'Hello World', uruchomisz aplikację CounterFit i połączysz z
1. W nowym terminalu uruchom plik `app.py` tak jak wcześniej. Status CounterFit zmieni się na **Connected**, a dioda LED zaświeci się.
![CounterFit pokazujący status Connected](../../../../../translated_images/pl/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.png)
![CounterFit pokazujący status Connected](../../../../../translated_images/pl/counterfit-connected.ed30b46d8f79b092.webp)
> 💁 Kod ten znajdziesz w folderze [code/virtual-device](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/virtual-device).

@ -1,6 +1,6 @@
# Głębsze spojrzenie na IoT
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.jpg)
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-2.324b0580d620c25e.webp)
> Szkic autorstwa [Nitya Narasimhan](https://github.com/nitya). Kliknij obraz, aby zobaczyć większą wersję.
@ -38,7 +38,7 @@ Część **Urządzenie** w IoT odnosi się do urządzenia, które może wchodzi
Urządzenia te wchodzą w interakcję ze światem fizycznym, używając czujników do zbierania danych z otoczenia lub kontrolując wyjścia czy siłowniki, aby wprowadzać zmiany fizyczne. Typowym przykładem jest inteligentny termostat urządzenie wyposażone w czujnik temperatury, sposób ustawiania pożądanej temperatury, np. za pomocą pokrętła lub ekranu dotykowego, oraz połączenie z systemem grzewczym lub chłodzącym, który można włączyć, gdy wykryta temperatura jest poza zakresem docelowym. Czujnik temperatury wykrywa, że w pomieszczeniu jest za zimno, a siłownik włącza ogrzewanie.
![Schemat pokazujący temperaturę i pokrętło jako wejścia do urządzenia IoT oraz kontrolę grzejnika jako wyjście](../../../../../translated_images/pl/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.png)
![Schemat pokazujący temperaturę i pokrętło jako wejścia do urządzenia IoT oraz kontrolę grzejnika jako wyjście](../../../../../translated_images/pl/basic-thermostat.a923217fd1f37e5a.webp)
Istnieje ogromna różnorodność urządzeń, które mogą działać jako urządzenia IoT od dedykowanego sprzętu wykrywającego jedno zjawisko, po urządzenia ogólnego przeznaczenia, a nawet Twój smartfon! Smartfon może używać czujników do wykrywania otoczenia i siłowników do interakcji ze światem na przykład używając czujnika GPS do określenia lokalizacji i głośnika do przekazywania instrukcji nawigacyjnych.
@ -54,7 +54,7 @@ Urządzenia nie zawsze łączą się bezpośrednio z Internetem za pomocą WiFi
W przypadku inteligentnego termostatu, termostat łączyłby się z domową siecią WiFi i usługą w chmurze. Wysyłałby dane o temperaturze do tej usługi, a stamtąd byłyby one zapisywane w bazie danych, umożliwiając właścicielowi domu sprawdzenie aktualnej i przeszłej temperatury za pomocą aplikacji na telefonie. Inna usługa w chmurze wiedziałaby, jaką temperaturę chce właściciel domu, i wysyłałaby wiadomości z powrotem do urządzenia IoT za pośrednictwem usługi w chmurze, aby poinformować system grzewczy, czy ma się włączyć lub wyłączyć.
![Schemat pokazujący temperaturę i pokrętło jako wejścia do urządzenia IoT, urządzenie IoT z dwukierunkową komunikacją z chmurą, która z kolei ma dwukierunkową komunikację z telefonem, oraz kontrolę grzejnika jako wyjście z urządzenia IoT](../../../../../translated_images/pl/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.png)
![Schemat pokazujący temperaturę i pokrętło jako wejścia do urządzenia IoT, urządzenie IoT z dwukierunkową komunikacją z chmurą, która z kolei ma dwukierunkową komunikację z telefonem, oraz kontrolę grzejnika jako wyjście z urządzenia IoT](../../../../../translated_images/pl/mobile-controlled-thermostat.4a994010473d8d6a.webp)
Jeszcze bardziej zaawansowana wersja mogłaby korzystać ze sztucznej inteligencji w chmurze, wykorzystując dane z innych czujników podłączonych do innych urządzeń IoT, takich jak czujniki obecności wykrywające, które pomieszczenia są używane, a także dane takie jak pogoda czy Twój kalendarz, aby inteligentnie ustawiać temperaturę. Na przykład mogłaby wyłączyć ogrzewanie, jeśli z kalendarza wynika, że jesteś na wakacjach, lub wyłączać ogrzewanie w poszczególnych pomieszczeniach w zależności od tego, które z nich są używane, ucząc się na podstawie danych, aby z czasem być coraz bardziej precyzyjną.
@ -94,7 +94,7 @@ Im szybszy cykl zegara, tym więcej instrukcji można przetworzyć w ciągu seku
> 💁 CPU wykonuje programy za pomocą [cyklu pobierania-dekodowania-wykonywania](https://wikipedia.org/wiki/Instruction_cycle). Przy każdym tyknięciu zegara CPU pobiera kolejną instrukcję z pamięci, dekoduje ją, a następnie wykonuje, na przykład używając jednostki arytmetyczno-logicznej (ALU) do dodania dwóch liczb. Niektóre instrukcje wymagają wielu cykli do wykonania, więc kolejny cykl rozpoczyna się przy następnym tyknięciu po zakończeniu instrukcji.
![Cykl pobierania-dekodowania-wykonywania pokazujący pobieranie instrukcji z programu przechowywanego w RAM, a następnie dekodowanie i wykonywanie jej na CPU](../../../../../translated_images/pl/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.png)
![Cykl pobierania-dekodowania-wykonywania pokazujący pobieranie instrukcji z programu przechowywanego w RAM, a następnie dekodowanie i wykonywanie jej na CPU](../../../../../translated_images/pl/fetch-decode-execute.2fd6f150f6280392.webp)
Mikrokontrolery mają znacznie niższe prędkości zegara niż komputery stacjonarne, laptopy czy nawet większość smartfonów. Na przykład Wio Terminal ma CPU działający z prędkością 120 MHz, czyli 120 000 000 cykli na sekundę.
@ -182,7 +182,7 @@ Płytki Arduino są programowane w językach C lub C++. Użycie C/C++ pozwala na
Kod inicjalizacyjny umieściłbyś w funkcji `setup`, na przykład łączenie z WiFi i usługami w chmurze lub inicjalizację pinów wejścia/wyjścia. Kod w pętli zawierałby przetwarzanie, na przykład odczyt z czujnika i wysyłanie wartości do chmury. Zazwyczaj dodaje się opóźnienie w każdej pętli, na przykład jeśli chcesz, aby dane z czujnika były wysyłane co 10 sekund, dodajesz opóźnienie 10 sekund na końcu pętli, aby mikrokontroler mógł przejść w stan uśpienia, oszczędzając energię, a następnie uruchomić pętlę ponownie po 10 sekundach.
![Szkic Arduino uruchamiający najpierw setup, a następnie wielokrotnie loop](../../../../../translated_images/pl/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.png)
![Szkic Arduino uruchamiający najpierw setup, a następnie wielokrotnie loop](../../../../../translated_images/pl/arduino-sketch.79590cb837ff7a7c.webp)
✅ Ta architektura programu jest znana jako *pętla zdarzeń* lub *pętla komunikatów*. Wiele aplikacji korzysta z niej w tle i jest to standard dla większości aplikacji desktopowych działających na systemach operacyjnych takich jak Windows, macOS czy Linux. Możesz przeczytać więcej w tym [artykule o pętli zdarzeń](https://wikipedia.org/wiki/Event_loop).

@ -1,6 +1,6 @@
# Interakcja ze światem fizycznym za pomocą czujników i siłowników
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.jpg)
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-3.cc3b7b4cd646de59.webp)
> Szkic autorstwa [Nitya Narasimhan](https://github.com/nitya). Kliknij obraz, aby zobaczyć większą wersję.
@ -92,7 +92,7 @@ Cyfrowe czujniki, podobnie jak analogowe, wykrywają świat wokół siebie za po
Najprostszym cyfrowym czujnikiem jest przycisk lub przełącznik. Jest to czujnik z dwoma stanami: włączony lub wyłączony.
![Przycisk otrzymuje 5 woltów. Gdy nie jest wciśnięty, zwraca 0 woltów, gdy jest wciśnięty, zwraca 5 woltów](../../../../../translated_images/pl/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.png)
![Przycisk otrzymuje 5 woltów. Gdy nie jest wciśnięty, zwraca 0 woltów, gdy jest wciśnięty, zwraca 5 woltów](../../../../../translated_images/pl/button.eadb560b77ac45e5.webp)
Piny w urządzeniach IoT, takie jak piny GPIO, mogą bezpośrednio mierzyć ten sygnał jako 0 lub 1. Jeśli napięcie wysłane jest takie samo jak napięcie zwrócone, odczytana wartość to 1, w przeciwnym razie wartość to 0. Nie ma potrzeby konwersji sygnału, może on być tylko 1 lub 0.
@ -125,7 +125,7 @@ Niektóre popularne siłowniki to:
Skorzystaj z odpowiedniego przewodnika, aby dodać siłownik do swojego urządzenia IoT, sterowany przez czujnik, aby zbudować lampkę nocną IoT. Będzie ona zbierać poziomy światła z czujnika światła i używać siłownika w postaci diody LED do emitowania światła, gdy wykryty poziom światła będzie zbyt niski.
![Schemat przepływu zadania pokazujący odczyt i sprawdzanie poziomów światła oraz sterowanie diodą LED](../../../../../translated_images/pl/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.png)
![Schemat przepływu zadania pokazujący odczyt i sprawdzanie poziomów światła oraz sterowanie diodą LED](../../../../../translated_images/pl/assignment-1-flow.7552a51acb1a5ec8.webp)
* [Arduino - Wio Terminal](wio-terminal-actuator.md)
* [Komputer jednopłytkowy - Raspberry Pi](pi-actuator.md)
@ -140,7 +140,7 @@ Podobnie jak czujniki, siłowniki mogą być analogowe lub cyfrowe.
Analogowe siłowniki przyjmują sygnał analogowy i przekształcają go w jakąś interakcję, gdzie interakcja zmienia się w zależności od dostarczonego napięcia.
Przykładem jest ściemnialne światło, takie jak te, które możesz mieć w domu. Ilość dostarczonego napięcia decyduje o jasności światła.
![Światło przyciemnione przy niskim napięciu i jaśniejsze przy wyższym napięciu](../../../../../translated_images/pl/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.png)
![Światło przyciemnione przy niskim napięciu i jaśniejsze przy wyższym napięciu](../../../../../translated_images/pl/dimmable-light.9ceffeb195dec1a8.webp)
Podobnie jak w przypadku czujników, rzeczywiste urządzenie IoT działa na sygnałach cyfrowych, a nie analogowych. Oznacza to, że aby wysłać sygnał analogowy, urządzenie IoT potrzebuje przetwornika cyfrowo-analogowego (DAC), który może być wbudowany bezpośrednio w urządzenie IoT lub znajdować się na płytce połączeniowej. Przetwornik ten zamienia 0 i 1 z urządzenia IoT na napięcie analogowe, które może być używane przez siłownik.
@ -187,7 +187,7 @@ Siłowniki cyfrowe, podobnie jak czujniki cyfrowe, mają dwa stany kontrolowane
Prostym siłownikiem cyfrowym jest dioda LED. Gdy urządzenie wysyła sygnał cyfrowy 1, wysyłane jest wysokie napięcie, które zapala diodę LED. Gdy wysyłany jest sygnał cyfrowy 0, napięcie spada do 0V i dioda LED gaśnie.
![Dioda LED wyłączona przy 0V i włączona przy 5V](../../../../../translated_images/pl/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.png)
![Dioda LED wyłączona przy 0V i włączona przy 5V](../../../../../translated_images/pl/led.ec6d94f66676a174.webp)
✅ Jakie inne proste siłowniki dwustanowe przychodzą Ci do głowy? Jednym z przykładów jest elektromagnes (solenoid), który można aktywować, aby np. przesunąć rygiel drzwi, blokując/odblokowując drzwi.

@ -26,7 +26,7 @@ Dioda Grove LED jest dostępna jako moduł z wyborem diod LED, co pozwala wybra
Podłącz diodę LED.
![Dioda Grove LED](../../../../../translated_images/pl/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png)
![Dioda Grove LED](../../../../../translated_images/pl/grove-led.6c853be93f473cf2.webp)
1. Wybierz swoją ulubioną diodę LED i włóż jej nóżki do dwóch otworów w module LED.
@ -40,7 +40,7 @@ Podłącz diodę LED.
1. Przy wyłączonym Raspberry Pi podłącz drugi koniec kabla Grove do gniazda cyfrowego oznaczonego **D5** na Grove Base hat podłączonym do Pi. To gniazdo znajduje się jako drugie od lewej, w rzędzie gniazd obok pinów GPIO.
![Dioda Grove LED podłączona do gniazda D5](../../../../../translated_images/pl/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.png)
![Dioda Grove LED podłączona do gniazda D5](../../../../../translated_images/pl/pi-led.97f1d474981dc35d.webp)
## Zaprogramuj lampkę nocną

@ -16,13 +16,13 @@ Czujnik światła Grove, który służy do wykrywania poziomów światła, musi
Podłącz czujnik światła.
![Czujnik światła Grove](../../../../../translated_images/pl/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.png)
![Czujnik światła Grove](../../../../../translated_images/pl/grove-light-sensor.b8127b7c434e632d.webp)
1. Włóż jeden koniec kabla Grove do gniazda na module czujnika światła. Kabel wejdzie tylko w jedną stronę.
1. Przy wyłączonym Raspberry Pi podłącz drugi koniec kabla Grove do analogowego gniazda oznaczonego **A0** na nakładce Grove Base przymocowanej do Pi. To gniazdo znajduje się drugie od prawej strony, w rzędzie gniazd obok pinów GPIO.
![Czujnik światła Grove podłączony do gniazda A0](../../../../../translated_images/pl/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.png)
![Czujnik światła Grove podłączony do gniazda A0](../../../../../translated_images/pl/pi-light-sensor.66cc1e31fa48cd7d.webp)
## Zaprogramuj czujnik światła

@ -36,11 +36,11 @@ Dodaj diodę LED do aplikacji CounterFit.
1. Wybierz przycisk **Add**, aby utworzyć diodę LED na pinie 5.
![Ustawienia diody LED](../../../../../translated_images/pl/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.png)
![Ustawienia diody LED](../../../../../translated_images/pl/counterfit-create-led.ba9db1c9b8c622a6.webp)
Dioda LED zostanie utworzona i pojawi się na liście aktuatorów.
![Utworzona dioda LED](../../../../../translated_images/pl/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.png)
![Utworzona dioda LED](../../../../../translated_images/pl/counterfit-led.c0ab02de6d256ad8.webp)
Po utworzeniu diody LED możesz zmienić jej kolor za pomocą selektora *Color*. Wybierz przycisk **Set**, aby zmienić kolor po jego wybraniu.

@ -28,11 +28,11 @@ Dodaj czujnik światła do aplikacji CounterFit.
1. Wybierz przycisk **Add**, aby utworzyć czujnik światła na Pinie 0.
![Ustawienia czujnika światła](../../../../../translated_images/pl/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.png)
![Ustawienia czujnika światła](../../../../../translated_images/pl/counterfit-create-light-sensor.9f36a5e0d4458d8d.webp)
Czujnik światła zostanie utworzony i pojawi się na liście czujników.
![Utworzony czujnik światła](../../../../../translated_images/pl/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.png)
![Utworzony czujnik światła](../../../../../translated_images/pl/counterfit-light-sensor.5d0f5584df56b90f.webp)
## Programowanie czujnika światła

@ -26,7 +26,7 @@ Dioda Grove LED jest dostępna jako moduł z wyborem diod LED, co pozwala wybra
Podłącz diodę LED.
![Dioda Grove LED](../../../../../translated_images/pl/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.png)
![Dioda Grove LED](../../../../../translated_images/pl/grove-led.6c853be93f473cf2.webp)
1. Wybierz swoją ulubioną diodę LED i włóż jej nóżki do dwóch otworów w module LED.

@ -1,6 +1,6 @@
# Podłącz swoje urządzenie do Internetu
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.jpg)
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-4.7344e074ea68fa54.webp)
> Szkic autorstwa [Nitya Narasimhan](https://github.com/nitya). Kliknij obrazek, aby zobaczyć większą wersję.
@ -47,7 +47,7 @@ MQTT jest najpopularniejszym protokołem komunikacyjnym dla urządzeń IoT i jes
MQTT działa na zasadzie jednego brokera i wielu klientów. Wszystkie klienty łączą się z brokerem, a broker przekazuje wiadomości do odpowiednich klientów. Wiadomości są przekazywane za pomocą nazwanych tematów, zamiast być wysyłane bezpośrednio do konkretnego klienta. Klient może publikować wiadomości w temacie, a każdy klient subskrybujący ten temat otrzyma wiadomość.
![Urządzenie IoT publikujące telemetrię w temacie /telemetry, a usługa w chmurze subskrybująca ten temat](../../../../../translated_images/pl/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.png)
![Urządzenie IoT publikujące telemetrię w temacie /telemetry, a usługa w chmurze subskrybująca ten temat](../../../../../translated_images/pl/mqtt.cbf7f21d9adc3e17.webp)
✅ Zrób badania. Jeśli masz wiele urządzeń IoT, jak możesz zapewnić, że Twój broker MQTT poradzi sobie z wszystkimi wiadomościami?
@ -69,7 +69,7 @@ Zamiast zajmować się złożonością konfiguracji brokera MQTT w ramach tego z
> 💁 Ten serwer testowy jest publiczny i nie jest zabezpieczony. Każdy może słuchać tego, co publikujesz, więc nie powinien być używany do przesyłania danych, które muszą pozostać prywatne.
![Schemat przepływu zadania pokazujący odczyty poziomów światła, ich sprawdzanie i kontrolę diody LED](../../../../../translated_images/pl/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.png)
![Schemat przepływu zadania pokazujący odczyty poziomów światła, ich sprawdzanie i kontrolę diody LED](../../../../../translated_images/pl/assignment-1-internet-flow.3256feab5f052fd2.webp)
Wykonaj odpowiedni krok poniżej, aby podłączyć swoje urządzenie do brokera MQTT:
@ -350,7 +350,7 @@ Dla maszyn możesz chcieć zachować dane, zwłaszcza jeśli są one używane do
Projektanci urządzeń IoT powinni również rozważyć, czy urządzenie IoT może być używane podczas przerwy w dostępie do Internetu lub utraty sygnału spowodowanej lokalizacją. Inteligentny termostat powinien być w stanie podejmować pewne ograniczone decyzje dotyczące sterowania ogrzewaniem, jeśli nie może wysyłać danych telemetrycznych do chmury z powodu przerwy.
[![Ten ferrari został "zbrickowany", ponieważ ktoś próbował go zaktualizować pod ziemią, gdzie nie ma zasięgu](../../../../../translated_images/pl/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.png)](https://twitter.com/internetofshit/status/1315736960082808832)
[![Ten ferrari został "zbrickowany", ponieważ ktoś próbował go zaktualizować pod ziemią, gdzie nie ma zasięgu](../../../../../translated_images/pl/bricked-car.dc38f8efadc6c59d.webp)](https://twitter.com/internetofshit/status/1315736960082808832)
Aby MQTT mogło obsłużyć utratę łączności, kod urządzenia i serwera będzie musiał być odpowiedzialny za zapewnienie dostarczenia wiadomości, jeśli jest to konieczne, na przykład poprzez wymaganie, aby wszystkie wysłane wiadomości były potwierdzane dodatkowymi wiadomościami na temacie odpowiedzi, a jeśli nie, były ręcznie kolejkowane do ponownego wysłania później.
@ -358,7 +358,7 @@ Aby MQTT mogło obsłużyć utratę łączności, kod urządzenia i serwera będ
Polecenia to wiadomości wysyłane przez chmurę do urządzenia, instruujące je, aby coś zrobiło. Najczęściej polega to na generowaniu jakiegoś rodzaju wyjścia za pomocą aktuatora, ale może to być również instrukcja dla samego urządzenia, na przykład aby się zrestartowało lub zebrało dodatkowe dane telemetryczne i zwróciło je jako odpowiedź na polecenie.
![Termostat podłączony do Internetu odbierający polecenie włączenia ogrzewania](../../../../../translated_images/pl/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.png)
![Termostat podłączony do Internetu odbierający polecenie włączenia ogrzewania](../../../../../translated_images/pl/commands.d6c06bbbb3a02cce.webp)
Termostat mógłby otrzymać polecenie z chmury, aby włączyć ogrzewanie. Na podstawie danych telemetrycznych ze wszystkich czujników, jeśli usługa chmurowa zdecyduje, że ogrzewanie powinno być włączone, wysyła odpowiednie polecenie.

@ -1,6 +1,6 @@
## Przewiduj wzrost roślin za pomocą IoT
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.jpg)
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-5.42b234299279d263.webp)
> Szkic autorstwa [Nitya Narasimhan](https://github.com/nitya). Kliknij obrazek, aby zobaczyć większą wersję.
@ -90,7 +90,7 @@ Dni stopni wzrostu, czyli GDD, są obliczane na każdy dzień jako średnia temp
Pełna formuła dla GDD jest nieco skomplikowana, ale często używa się uproszczonego równania jako dobrego przybliżenia:
![GDD = T max + T min podzielone przez 2, wszystko minus T base](../../../../../translated_images/pl/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.png)
![GDD = T max + T min podzielone przez 2, wszystko minus T base](../../../../../translated_images/pl/gdd-calculation.79b3660f9c5757aa.webp)
* **GDD** - to liczba dni stopni wzrostu
* **T max** - to dzienna maksymalna temperatura w stopniach Celsjusza
@ -118,7 +118,7 @@ Podstawiając te liczby do naszego równania:
Daje to obliczenie:
![GDD = 16 + 12 podzielone przez 2, wszystko minus 10, daje wynik 4](../../../../../translated_images/pl/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.png)
![GDD = 16 + 12 podzielone przez 2, wszystko minus 10, daje wynik 4](../../../../../translated_images/pl/gdd-calculation-corn.64a58b7a7afcd0df.webp)
Kukurydza otrzymała 4 GDD tego dnia. Zakładając odmianę kukurydzy, która potrzebuje 800 GDD do dojrzewania, będzie potrzebować jeszcze 796 GDD, aby osiągnąć dojrzałość.
@ -239,7 +239,7 @@ Kroki, aby zrobić to ręcznie:
Na przykład, jeśli najwyższa temperatura dnia wynosi 25°C, a najniższa 12°C:
![GDD = 25 + 12 podzielone przez 2, następnie odejmij 10 od wyniku, co daje 8,5](../../../../../translated_images/pl/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.png)
![GDD = 25 + 12 podzielone przez 2, następnie odejmij 10 od wyniku, co daje 8,5](../../../../../translated_images/pl/gdd-calculation-strawberries.59f57db94b22adb8.webp)
* 25 + 12 = 37
* 37 / 2 = 18,5

@ -33,7 +33,7 @@ Gdy już masz dane dotyczące temperatury, możesz użyć Jupyter Notebook z teg
Jupyter uruchomi się i otworzy notatnik w Twojej przeglądarce. Pracuj zgodnie z instrukcjami w notatniku, aby zwizualizować zmierzone temperatury i obliczyć dni stopni wzrostu (GDD).
![Notatnik Jupyter](../../../../../translated_images/pl/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.png)
![Notatnik Jupyter](../../../../../translated_images/pl/gdd-jupyter-notebook.c5b52cf21094f158.webp)
## Kryteria oceny

@ -16,7 +16,7 @@ Czujnik temperatury Grove można podłączyć do Raspberry Pi.
Podłącz czujnik temperatury.
![Czujnik temperatury Grove](../../../../../translated_images/pl/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png)
![Czujnik temperatury Grove](../../../../../translated_images/pl/grove-dht11.07f8eafceee17004.webp)
1. Włóż jeden koniec kabla Grove do gniazda na czujniku wilgotności i temperatury. Kabel wejdzie tylko w jednym kierunku.

@ -38,11 +38,11 @@ Dodaj czujniki wilgotności i temperatury do aplikacji CounterFit.
1. Wybierz przycisk **Add**, aby utworzyć czujnik wilgotności na pinie 5.
![Ustawienia czujnika wilgotności](../../../../../translated_images/pl/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.png)
![Ustawienia czujnika wilgotności](../../../../../translated_images/pl/counterfit-create-humidity-sensor.2750e27b6f30e09c.webp)
Czujnik wilgotności zostanie utworzony i pojawi się na liście czujników.
![Utworzony czujnik wilgotności](../../../../../translated_images/pl/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.png)
![Utworzony czujnik wilgotności](../../../../../translated_images/pl/counterfit-humidity-sensor.7b12f7f339e430cb.webp)
1. Utwórz czujnik temperatury:
@ -54,11 +54,11 @@ Dodaj czujniki wilgotności i temperatury do aplikacji CounterFit.
1. Wybierz przycisk **Add**, aby utworzyć czujnik temperatury na pinie 6.
![Ustawienia czujnika temperatury](../../../../../translated_images/pl/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.png)
![Ustawienia czujnika temperatury](../../../../../translated_images/pl/counterfit-create-temperature-sensor.199350ed34f7343d.webp)
Czujnik temperatury zostanie utworzony i pojawi się na liście czujników.
![Utworzony czujnik temperatury](../../../../../translated_images/pl/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.png)
![Utworzony czujnik temperatury](../../../../../translated_images/pl/counterfit-temperature-sensor.f0560236c96a9016.webp)
## Programowanie aplikacji czujnika temperatury

@ -18,7 +18,7 @@ Czujnik temperatury Grove można podłączyć do cyfrowego portu Wio Terminal.
Podłącz czujnik temperatury.
![Czujnik temperatury Grove](../../../../../translated_images/pl/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.png)
![Czujnik temperatury Grove](../../../../../translated_images/pl/grove-dht11.07f8eafceee17004.webp)
1. Włóż jeden koniec kabla Grove do gniazda w czujniku wilgotności i temperatury. Kabel pasuje tylko w jednym kierunku.

@ -13,7 +13,7 @@ I²C ma magistralę składającą się z 2 głównych przewodów, wraz z 2 przew
| VCC | Voltage common collector (Wspólny kolektor napięcia) | Zasilanie dla urządzeń. Jest podłączone do przewodów SDA i SCL, aby dostarczać im zasilanie za pośrednictwem rezystora podciągającego, który wyłącza sygnał, gdy żadne urządzenie nie jest kontrolerem. |
| GND | Ground (Masa) | Zapewnia wspólną masę dla obwodu elektrycznego. |
![Magistrala I2C z 3 urządzeniami podłączonymi do przewodów SDA i SCL, współdzieląca wspólny przewód masy](../../../../../translated_images/pl/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.png)
![Magistrala I2C z 3 urządzeniami podłączonymi do przewodów SDA i SCL, współdzieląca wspólny przewód masy](../../../../../translated_images/pl/i2c.83da845dde02256b.webp)
Aby przesłać dane, jedno urządzenie wydaje warunek startu, aby pokazać, że jest gotowe do przesyłania danych. Następnie staje się kontrolerem. Kontroler wysyła adres urządzenia, z którym chce się komunikować, wraz z informacją, czy chce odczytać, czy zapisać dane. Po przesłaniu danych kontroler wysyła warunek stopu, aby wskazać, że zakończył. Po tym inne urządzenie może stać się kontrolerem i przesyłać lub odbierać dane.

@ -20,7 +20,7 @@ Będziesz musiał powtórzyć te kroki kilkukrotnie, aby uzyskać potrzebne odcz
Grawimetryczna wilgotność gleby jest obliczana jako:
![wilgotność gleby % to waga mokrej gleby minus waga suchej gleby, podzielone przez wagę suchej gleby, pomnożone przez 100](../../../../../translated_images/pl/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.png)
![wilgotność gleby % to waga mokrej gleby minus waga suchej gleby, podzielone przez wagę suchej gleby, pomnożone przez 100](../../../../../translated_images/pl/gsm-calculation.6da38c6201eec14e.webp)
* W
- waga mokrej gleby
@ -29,7 +29,7 @@ Grawimetryczna wilgotność gleby jest obliczana jako:
Na przykład, załóżmy, że masz próbkę gleby, która waży 212 g w stanie mokrym i 197 g w stanie suchym.
![Wypełnione obliczenie](../../../../../translated_images/pl/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.png)
![Wypełnione obliczenie](../../../../../translated_images/pl/gsm-calculation-example.99f9803b4f29e976.webp)
* W = 212 g
* W = 197 g

@ -18,13 +18,13 @@ Czujnik wilgotności gleby Grove można podłączyć do Raspberry Pi.
Podłącz czujnik wilgotności gleby.
![Czujnik wilgotności gleby Grove](../../../../../translated_images/pl/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png)
![Czujnik wilgotności gleby Grove](../../../../../translated_images/pl/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78b.webp)
1. Włóż jeden koniec kabla Grove do gniazda na czujniku wilgotności gleby. Kabel można włożyć tylko w jeden sposób.
1. Przy wyłączonym Raspberry Pi podłącz drugi koniec kabla Grove do gniazda analogowego oznaczonego **A0** na Grove Base Hat przymocowanym do Raspberry Pi. To gniazdo znajduje się drugie od prawej strony w rzędzie gniazd obok pinów GPIO.
![Czujnik wilgotności gleby Grove podłączony do gniazda A0](../../../../../translated_images/pl/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.png)
![Czujnik wilgotności gleby Grove podłączony do gniazda A0](../../../../../translated_images/pl/pi-soil-moisture-sensor.fdd7eb2393792cf6.webp)
1. Włóż czujnik wilgotności gleby do gleby. Na czujniku znajduje się linia oznaczająca "najwyższy poziom" - biała linia przecinająca czujnik. Włóż czujnik do gleby do tej linii, ale nie głębiej.

@ -34,11 +34,11 @@ Dodaj czujnik wilgotności gleby do aplikacji CounterFit.
1. Wybierz przycisk **Add**, aby utworzyć czujnik *Soil Moisture* na pinie 0.
![Ustawienia czujnika wilgotności gleby](../../../../../translated_images/pl/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.png)
![Ustawienia czujnika wilgotności gleby](../../../../../translated_images/pl/counterfit-create-soil-moisture-sensor.35266135a5e0ae68.webp)
Czujnik wilgotności gleby zostanie utworzony i pojawi się na liście czujników.
![Utworzony czujnik wilgotności gleby](../../../../../translated_images/pl/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.png)
![Utworzony czujnik wilgotności gleby](../../../../../translated_images/pl/counterfit-soil-moisture-sensor.81742b2de0e9de60.webp)
## Programowanie aplikacji czujnika wilgotności gleby

@ -18,7 +18,7 @@ Czujnik wilgotności gleby Grove można podłączyć do konfigurowalnego portu a
Podłącz czujnik wilgotności gleby.
![Czujnik wilgotności gleby Grove](../../../../../translated_images/pl/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.png)
![Czujnik wilgotności gleby Grove](../../../../../translated_images/pl/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78b.webp)
1. Włóż jeden koniec kabla Grove do gniazda na czujniku wilgotności gleby. Kabel wejdzie tylko w jednym kierunku.

@ -1,6 +1,6 @@
# Automatyczne podlewanie roślin
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.jpg)
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-7.30b5f577d3cb8e03.webp)
> Szkic autorstwa [Nitya Narasimhan](https://github.com/nitya). Kliknij obraz, aby zobaczyć większą wersję.
@ -32,7 +32,7 @@ Urządzenia IoT korzystają z niskiego napięcia. Chociaż jest ono wystarczają
Rozwiązaniem tego problemu jest podłączenie pompy do zewnętrznego źródła zasilania i użycie siłownika do włączania pompy, podobnie jak włączasz światło. Wymaga to niewielkiej ilości energii (w postaci energii z twojego ciała), aby palcem przełączyć włącznik, co łączy światło z siecią elektryczną o napięciu 110V/240V.
![Włącznik światła włącza zasilanie do lampy](../../../../../translated_images/pl/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.png)
![Włącznik światła włącza zasilanie do lampy](../../../../../translated_images/pl/light-switch.760317ad6ab8bd6d.webp)
> 🎓 [Prąd sieciowy](https://wikipedia.org/wiki/Mains_electricity) odnosi się do elektryczności dostarczanej do domów i firm przez infrastrukturę krajową w wielu częściach świata.
@ -72,7 +72,7 @@ Gdy dźwignia się porusza, zwykle można usłyszeć charakterystyczny klik, gdy
Elektromagnes nie potrzebuje dużo mocy, aby się aktywować i przyciągnąć dźwignię, można go sterować za pomocą 3,3V lub 5V z urządzenia IoT. Obwód wyjściowy może przenosić znacznie większą moc, w zależności od przekaźnika, w tym napięcie sieciowe lub nawet wyższe poziomy mocy dla zastosowań przemysłowych. Dzięki temu zestaw IoT może sterować systemem nawadniania, od małej pompy dla pojedynczej rośliny, po ogromny system przemysłowy dla całej farmy komercyjnej.
![Przekaźnik Grove z oznaczonym obwodem sterującym, obwodem wyjściowym i przekaźnikiem](../../../../../translated_images/pl/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.png)
![Przekaźnik Grove z oznaczonym obwodem sterującym, obwodem wyjściowym i przekaźnikiem](../../../../../translated_images/pl/grove-relay-labelled.293e068f5c3c2a19.webp)
Na powyższym obrazie pokazano przekaźnik Grove. Obwód sterujący łączy się z urządzeniem IoT i włącza lub wyłącza przekaźnik za pomocą 3,3V lub 5V. Obwód wyjściowy ma dwa terminale, z których każdy może być zasilaniem lub masą. Obwód wyjściowy może obsługiwać do 250V przy 10A, co wystarcza dla szeregu urządzeń zasilanych z sieci. Można również znaleźć przekaźniki obsługujące jeszcze wyższe poziomy mocy.

@ -18,13 +18,13 @@ Przekaźnik Grove można podłączyć do Raspberry Pi.
Podłącz przekaźnik.
![Przekaźnik Grove](../../../../../translated_images/pl/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.png)
![Przekaźnik Grove](../../../../../translated_images/pl/grove-relay.d426958ca210fbd0.webp)
1. Włóż jeden koniec kabla Grove do gniazda w przekaźniku. Kabel wejdzie tylko w jednym kierunku.
1. Przy wyłączonym Raspberry Pi podłącz drugi koniec kabla Grove do cyfrowego gniazda oznaczonego **D5** na Grove Base Hat zamontowanym na Pi. To gniazdo znajduje się drugie od lewej, w rzędzie gniazd obok pinów GPIO. Pozostaw czujnik wilgotności gleby podłączony do gniazda **A0**.
![Przekaźnik Grove podłączony do gniazda D5, a czujnik wilgotności gleby podłączony do gniazda A0](../../../../../translated_images/pl/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.png)
![Przekaźnik Grove podłączony do gniazda D5, a czujnik wilgotności gleby podłączony do gniazda A0](../../../../../translated_images/pl/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e.webp)
1. Włóż czujnik wilgotności gleby do gleby, jeśli nie jest już tam z poprzedniej lekcji.

@ -28,11 +28,11 @@ Dodaj przekaźnik do aplikacji CounterFit.
1. Wybierz przycisk **Add**, aby utworzyć przekaźnik na Pinie 5.
![Ustawienia przekaźnika](../../../../../translated_images/pl/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.png)
![Ustawienia przekaźnika](../../../../../translated_images/pl/counterfit-create-relay.fa7c40fd0f2f6afc.webp)
Przekaźnik zostanie utworzony i pojawi się na liście aktuatorów.
![Utworzony przekaźnik](../../../../../translated_images/pl/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.png)
![Utworzony przekaźnik](../../../../../translated_images/pl/counterfit-relay.bbf74c1dbdc8b9ac.webp)
## Programowanie przekaźnika

@ -1,6 +1,6 @@
# Przenieś swoją roślinę do chmury
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.jpg)
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-8.3f21f3c11159e6a0.webp)
> Szkic autorstwa [Nitya Narasimhan](https://github.com/nitya). Kliknij obraz, aby zobaczyć większą wersję.
@ -46,8 +46,8 @@ Było to bardzo kosztowne, wymagało szerokiego zakresu umiejętności od pracow
Chmura jest często żartobliwie nazywana „komputerem kogoś innego”. Początkowy pomysł był prosty - zamiast kupować komputery, wynajmujesz je od kogoś innego. Dostawca usług chmurowych zarządza ogromnymi centrami danych. To on odpowiada za zakup i instalację sprzętu, zarządzanie zasilaniem i chłodzeniem, siecią, bezpieczeństwem budynku, aktualizacjami sprzętu i oprogramowania. Jako klient wynajmujesz potrzebne komputery, zwiększając ich liczbę w razie wzrostu zapotrzebowania i zmniejszając, gdy zapotrzebowanie spada. Centra danych chmurowych znajdują się na całym świecie.
![Centrum danych Microsoft w chmurze](../../../../../translated_images/pl/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.png)
![Planowana rozbudowa centrum danych Microsoft w chmurze](../../../../../translated_images/pl/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.png)
![Centrum danych Microsoft w chmurze](../../../../../translated_images/pl/azure-region-existing.73f704604f2aa6cb.webp)
![Planowana rozbudowa centrum danych Microsoft w chmurze](../../../../../translated_images/pl/azure-region-planned-expansion.a5074a1e8af74f15.webp)
Te centra danych mogą zajmować powierzchnię kilku kilometrów kwadratowych. Powyższe zdjęcia przedstawiają centrum danych Microsoft sprzed kilku lat, pokazując jego początkowy rozmiar oraz planowaną rozbudowę. Obszar przeznaczony na rozbudowę ma ponad 5 kilometrów kwadratowych.
@ -108,11 +108,11 @@ Usługi IoT w chmurze rozwiązują te problemy. Są utrzymywane przez dużych do
Urządzenia IoT łączą się z usługą chmurową za pomocą SDK urządzenia (biblioteki, która dostarcza kod do pracy z funkcjami usługi) lub bezpośrednio za pomocą protokołu komunikacyjnego, takiego jak MQTT lub HTTP. SDK urządzenia jest zazwyczaj najłatwiejszą opcją, ponieważ obsługuje wszystko za Ciebie, np. wie, jakie tematy publikować lub subskrybować i jak obsługiwać bezpieczeństwo.
![Urządzenia łączą się z usługą za pomocą SDK urządzenia. Kod serwera również łączy się z usługą za pomocą SDK](../../../../../translated_images/pl/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.png)
![Urządzenia łączą się z usługą za pomocą SDK urządzenia. Kod serwera również łączy się z usługą za pomocą SDK](../../../../../translated_images/pl/iot-service-connectivity.7e873847921a5d6f.webp)
Twoje urządzenie komunikuje się z innymi częściami aplikacji za pośrednictwem tej usługi - podobnie jak przesyłałeś dane telemetryczne i odbierałeś polecenia za pomocą MQTT. Zazwyczaj odbywa się to za pomocą SDK usługi lub podobnej biblioteki. Wiadomości są przesyłane z urządzenia do usługi, gdzie inne komponenty aplikacji mogą je odczytać, a następnie wysyłać wiadomości z powrotem do urządzenia.
![Urządzenia bez ważnego klucza tajnego nie mogą połączyć się z usługą IoT](../../../../../translated_images/pl/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.png)
![Urządzenia bez ważnego klucza tajnego nie mogą połączyć się z usługą IoT](../../../../../translated_images/pl/iot-service-allowed-denied-connection.818b0063ac213fb8.webp)
Te usługi implementują bezpieczeństwo, znając wszystkie urządzenia, które mogą się połączyć i przesyłać dane, albo poprzez wcześniejszą rejestrację urządzeń w usłudze, albo poprzez nadanie urządzeniom kluczy tajnych lub certyfikatów, które mogą wykorzystać do samodzielnej rejestracji przy pierwszym połączeniu. Nieznane urządzenia nie mogą się połączyć - jeśli spróbują, usługa odrzuci połączenie i zignoruje wysyłane przez nie wiadomości.
@ -124,7 +124,7 @@ Inne komponenty Twojej aplikacji mogą łączyć się z usługą IoT, dowiadywa
Teraz, gdy masz subskrypcję Azure, możesz zarejestrować się w usłudze IoT. Usługa IoT od Microsoftu nazywa się Azure IoT Hub.
![Logo Azure IoT Hub](../../../../../translated_images/pl/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.png)
![Logo Azure IoT Hub](../../../../../translated_images/pl/azure-iot-hub-logo.28a19de76d0a1932.webp)
Poniższy film przedstawia krótki przegląd Azure IoT Hub:

@ -1,6 +1,6 @@
# Przenieś logikę swojej aplikacji do chmury
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.jpg)
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-9.dfe99c8e891f48e1.webp)
> Szkic autorstwa [Nitya Narasimhan](https://github.com/nitya). Kliknij obraz, aby zobaczyć większą wersję.
@ -28,7 +28,7 @@ W tej lekcji omówimy:
Bezserwerowość, czyli przetwarzanie bezserwerowe, polega na tworzeniu małych bloków kodu, które są uruchamiane w chmurze w odpowiedzi na różne zdarzenia. Gdy zdarzenie wystąpi, Twój kod jest uruchamiany i otrzymuje dane dotyczące tego zdarzenia. Zdarzenia te mogą pochodzić z różnych źródeł, takich jak żądania sieciowe, wiadomości umieszczone w kolejce, zmiany danych w bazie danych czy wiadomości wysyłane do usługi IoT przez urządzenia IoT.
![Zdarzenia wysyłane z usługi IoT do usługi bezserwerowej, przetwarzane jednocześnie przez wiele funkcji](../../../../../translated_images/pl/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.png)
![Zdarzenia wysyłane z usługi IoT do usługi bezserwerowej, przetwarzane jednocześnie przez wiele funkcji](../../../../../translated_images/pl/iot-messages-to-serverless.0194da1cc0732bb7.webp)
> 💁 Jeśli wcześniej korzystałeś z wyzwalaczy w bazach danych, możesz to porównać do tego samego mechanizmu — kod jest uruchamiany w odpowiedzi na zdarzenie, takie jak wstawienie wiersza.
@ -54,7 +54,7 @@ Jako programista IoT, model bezserwerowy jest idealny. Możesz napisać funkcję
Usługa przetwarzania bezserwerowego od Microsoftu nazywa się Azure Functions.
![Logo Azure Functions](../../../../../translated_images/pl/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.png)
![Logo Azure Functions](../../../../../translated_images/pl/azure-functions-logo.1cfc8e3204c9c44a.webp)
Krótki film poniżej przedstawia przegląd Azure Functions.

@ -1,6 +1,6 @@
# Zabezpiecz swoją roślinę
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.jpg)
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-10.829c86b80b9403bb.webp)
> Szkic autorstwa [Nitya Narasimhan](https://github.com/nitya). Kliknij obraz, aby zobaczyć większą wersję.
@ -52,11 +52,11 @@ To są scenariusze z prawdziwego życia i zdarzają się cały czas. Niektóre p
Kiedy urządzenie łączy się z usługą IoT, używa identyfikatora, aby się zidentyfikować. Problem polega na tym, że ten identyfikator można sklonować haker mógłby skonfigurować złośliwe urządzenie, które używa tego samego identyfikatora co prawdziwe urządzenie, ale wysyła fałszywe dane.
![Zarówno prawidłowe, jak i złośliwe urządzenia mogą używać tego samego identyfikatora do wysyłania telemetrii](../../../../../translated_images/pl/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.png)
![Zarówno prawidłowe, jak i złośliwe urządzenia mogą używać tego samego identyfikatora do wysyłania telemetrii](../../../../../translated_images/pl/iot-device-and-hacked-device-connecting.e0671675df74d6d9.webp)
Rozwiązaniem tego problemu jest przekształcenie wysyłanych danych w zaszyfrowany format, używając wartości znanej tylko urządzeniu i chmurze. Proces ten nazywa się *szyfrowaniem*, a wartość używana do szyfrowania danych to *klucz szyfrujący*.
![Jeśli używane jest szyfrowanie, akceptowane są tylko zaszyfrowane wiadomości, inne są odrzucane](../../../../../translated_images/pl/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.png)
![Jeśli używane jest szyfrowanie, akceptowane są tylko zaszyfrowane wiadomości, inne są odrzucane](../../../../../translated_images/pl/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f.webp)
Usługa w chmurze może następnie przekształcić dane z powrotem w czytelny format, używając procesu zwanego *odszyfrowaniem*, korzystając z tego samego klucza szyfrującego lub *klucza deszyfrującego*. Jeśli zaszyfrowana wiadomość nie może zostać odszyfrowana za pomocą klucza, oznacza to, że urządzenie zostało zhakowane, a wiadomość jest odrzucana.

@ -1,6 +1,6 @@
# Śledzenie lokalizacji
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.jpg)
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-11.9fddbac4b664c6d5.webp)
> Szkic autorstwa [Nitya Narasimhan](https://github.com/nitya). Kliknij obrazek, aby zobaczyć większą wersję.
@ -63,13 +63,13 @@ Ziemia jest kulą trójwymiarowym okręgiem. Z tego powodu punkty są defini
> 💁 Nikt tak naprawdę nie wie, dlaczego okręgi są podzielone na 360 stopni. [Strona o stopniach (kątach) na Wikipedii](https://wikipedia.org/wiki/Degree_(angle)) omawia niektóre możliwe powody.
![Linie szerokości geograficznej od 90° na biegunie północnym, 45° w połowie drogi między biegunem północnym a równikiem, 0° na równiku, -45° w połowie drogi między równikiem a biegunem południowym oraz -90° na biegunie południowym](../../../../../translated_images/pl/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.png)
![Linie szerokości geograficznej od 90° na biegunie północnym, 45° w połowie drogi między biegunem północnym a równikiem, 0° na równiku, -45° w połowie drogi między równikiem a biegunem południowym oraz -90° na biegunie południowym](../../../../../translated_images/pl/latitude-lines.11d8d91dfb2014a5.webp)
Szerokość geograficzna jest mierzona za pomocą linii, które okrążają Ziemię i biegną równolegle do równika, dzieląc półkulę północną i południową na 90° każda. Równik znajduje się na 0°, biegun północny na 90°, znany również jako 90° na północ, a biegun południowy na -90°, czyli 90° na południe.
Długość geograficzna jest mierzona jako liczba stopni na wschód i zachód. Punkt początkowy 0° długości geograficznej nazywany jest *południkiem zerowym* i został zdefiniowany w 1884 roku jako linia biegnąca od bieguna północnego do bieguna południowego, przechodząca przez [Brytyjskie Obserwatorium Królewskie w Greenwich, Anglia](https://wikipedia.org/wiki/Royal_Observatory,_Greenwich).
![Linie długości geograficznej od -180° na zachód od południka zerowego, do 0° na południku zerowym, do 180° na wschód od południka zerowego](../../../../../translated_images/pl/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.png)
![Linie długości geograficznej od -180° na zachód od południka zerowego, do 0° na południku zerowym, do 180° na wschód od południka zerowego](../../../../../translated_images/pl/longitude-meridians.ab4ef1c91c064586.webp)
> 🎓 Południk to wyimaginowana prosta linia biegnąca od bieguna północnego do bieguna południowego, tworząca półokrąg.
@ -100,7 +100,7 @@ Współrzędne punktu są zawsze podawane jako `szerokość geograficzna, długo
* Szerokość geograficzną 47.6423109 (47.6423109 stopni na północ od równika)
* Długość geograficzną -122.1390293 (122.1390293 stopni na zachód od południka zerowego).
![Kampus Microsoftu na 47.6423109,-122.117198](../../../../../translated_images/pl/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.png)
![Kampus Microsoftu na 47.6423109,-122.117198](../../../../../translated_images/pl/microsoft-gps-location-world.a321d481b010f6ad.webp)
## Globalne systemy pozycjonowania (GPS)
@ -112,7 +112,7 @@ Systemy GPS działają, mając wiele satelitów, które wysyłają sygnał z akt
> 💁 Czujniki GPS potrzebują anten do wykrywania fal radiowych. Anteny wbudowane w ciężarówki i samochody z wbudowanym GPS są umieszczone tak, aby uzyskać dobry sygnał, zazwyczaj na przedniej szybie lub dachu. Jeśli korzystasz z oddzielnego systemu GPS, takiego jak smartfon lub urządzenie IoT, musisz upewnić się, że antena wbudowana w system GPS lub telefon ma wyraźny widok na niebo, na przykład jest zamontowana na przedniej szybie.
![Znając odległość od czujnika do wielu satelitów, można obliczyć lokalizację](../../../../../translated_images/pl/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.png)
![Znając odległość od czujnika do wielu satelitów, można obliczyć lokalizację](../../../../../translated_images/pl/gps-satellites.04acf1148fe25fbf.webp)
Satelity GPS krążą wokół Ziemi, a nie są w stałym punkcie nad czujnikiem, więc dane lokalizacyjne obejmują wysokość nad poziomem morza, a także szerokość i długość geograficzną.

@ -18,13 +18,13 @@ Czujnik Grove GPS można podłączyć do Raspberry Pi.
Podłącz czujnik GPS.
![Czujnik Grove GPS](../../../../../translated_images/pl/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png)
![Czujnik Grove GPS](../../../../../translated_images/pl/grove-gps-sensor.247943bf69b03f0d.webp)
1. Włóż jeden koniec kabla Grove do gniazda w czujniku GPS. Kabel pasuje tylko w jedną stronę.
1. Gdy Raspberry Pi jest wyłączone, podłącz drugi koniec kabla Grove do gniazda UART oznaczonego jako **UART** na nakładce Grove Base przymocowanej do Raspberry Pi. Gniazdo to znajduje się w środkowym rzędzie, po stronie najbliższej gniazda karty SD, na przeciwległym końcu od portów USB i gniazda Ethernet.
![Czujnik Grove GPS podłączony do gniazda UART](../../../../../translated_images/pl/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.png)
![Czujnik Grove GPS podłączony do gniazda UART](../../../../../translated_images/pl/pi-gps-sensor.1f99ee2b2f652891.webp)
1. Ustaw czujnik GPS tak, aby podłączona antena miała widoczność na niebo - najlepiej w pobliżu otwartego okna lub na zewnątrz. Łatwiej uzyskać wyraźny sygnał, gdy nic nie zasłania anteny.

@ -38,11 +38,11 @@ Dodaj czujnik GPS do aplikacji CounterFit.
1. Wybierz przycisk **Add**, aby utworzyć czujnik GPS na porcie `/dev/ttyAMA0`.
![Ustawienia czujnika GPS](../../../../../translated_images/pl/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.png)
![Ustawienia czujnika GPS](../../../../../translated_images/pl/counterfit-create-gps-sensor.6385dc9357d85ad1.webp)
Czujnik GPS zostanie utworzony i pojawi się na liście czujników.
![Utworzony czujnik GPS](../../../../../translated_images/pl/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.png)
![Utworzony czujnik GPS](../../../../../translated_images/pl/counterfit-gps-sensor.3fbb15af0a536756.webp)
## Programowanie czujnika GPS
@ -102,17 +102,17 @@ Zaprogramuj aplikację czujnika GPS.
* Ustaw **Source** na `Lat/Lon` i wprowadź konkretną szerokość, długość geograficzną oraz liczbę satelitów używanych do uzyskania sygnału GPS. Ta wartość zostanie wysłana tylko raz, więc zaznacz pole **Repeat**, aby dane były powtarzane co sekundę.
![Czujnik GPS z wybraną opcją lat lon](../../../../../translated_images/pl/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.png)
![Czujnik GPS z wybraną opcją lat lon](../../../../../translated_images/pl/counterfit-gps-sensor-latlon.008c867d75464fbe.webp)
* Ustaw **Source** na `NMEA` i dodaj kilka zdań NMEA do pola tekstowego. Wszystkie te wartości zostaną wysłane, z opóźnieniem 1 sekundy przed każdym nowym zdaniem GGA (ustalenie pozycji).
![Czujnik GPS z ustawionymi zdaniami NMEA](../../../../../translated_images/pl/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.png)
![Czujnik GPS z ustawionymi zdaniami NMEA](../../../../../translated_images/pl/counterfit-gps-sensor-nmea.c62eea442171e17e.webp)
Możesz użyć narzędzia takiego jak [nmeagen.org](https://www.nmeagen.org), aby wygenerować te zdania, rysując na mapie. Te wartości zostaną wysłane tylko raz, więc zaznacz pole **Repeat**, aby dane były powtarzane co sekundę po ich wysłaniu.
* Ustaw **Source** na plik GPX i prześlij plik GPX z lokalizacjami trasy. Możesz pobrać pliki GPX z wielu popularnych stron z mapami i trasami, takich jak [AllTrails](https://www.alltrails.com/). Te pliki zawierają wiele lokalizacji GPS jako trasę, a czujnik GPS będzie zwracał każdą nową lokalizację w odstępach 1 sekundy.
![Czujnik GPS z ustawionym plikiem GPX](../../../../../translated_images/pl/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.png)
![Czujnik GPS z ustawionym plikiem GPX](../../../../../translated_images/pl/counterfit-gps-sensor-gpxfile.8310b063ce8a425c.webp)
Te wartości zostaną wysłane tylko raz, więc zaznacz pole **Repeat**, aby dane były powtarzane co sekundę po ich wysłaniu.

@ -18,7 +18,7 @@ Czujnik Grove GPS można podłączyć do Wio Terminal.
Podłącz czujnik GPS.
![Czujnik Grove GPS](../../../../../translated_images/pl/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.png)
![Czujnik Grove GPS](../../../../../translated_images/pl/grove-gps-sensor.247943bf69b03f0d.webp)
1. Włóż jeden koniec kabla Grove do gniazda w czujniku GPS. Kabel wejdzie tylko w jednym kierunku.

@ -1,6 +1,6 @@
# Przechowywanie danych o lokalizacji
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.jpg)
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-12.ca7f53039712a3ec.webp)
> Szkic autorstwa [Nitya Narasimhan](https://github.com/nitya). Kliknij obraz, aby zobaczyć większą wersję.
@ -75,7 +75,7 @@ Bazy danych NoSQL nazywane są NoSQL, ponieważ nie mają tej samej sztywnej str
> 💁 Pomimo swojej nazwy, niektóre bazy danych NoSQL pozwalają na użycie SQL do przeszukiwania danych.
![Dokumenty w folderach w bazie danych NoSQL](../../../../../translated_images/pl/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.png)
![Dokumenty w folderach w bazie danych NoSQL](../../../../../translated_images/pl/noqsl-database.62d24ccf5b73f60d.webp)
Bazy danych NoSQL nie mają z góry zdefiniowanego schematu, który ogranicza sposób przechowywania danych. Możesz wstawiać dowolne dane niestrukturalne, zazwyczaj w formacie JSON. Dokumenty te mogą być organizowane w foldery, podobnie jak pliki na komputerze. Każdy dokument może mieć inne pola niż inne dokumenty - na przykład, jeśli przechowujesz dane IoT z pojazdów rolniczych, niektóre mogą mieć pola dla danych z akcelerometru i prędkości, inne mogą mieć pola dla temperatury w przyczepie. Jeśli dodałbyś nowy typ ciężarówki, na przykład z wbudowanymi wagami do śledzenia wagi przewożonych produktów, urządzenie IoT mogłoby dodać to nowe pole, a dane mogłyby być przechowywane bez żadnych zmian w bazie danych.
@ -89,7 +89,7 @@ W tej lekcji będziesz używać magazynu NoSQL do przechowywania danych IoT.
W poprzedniej lekcji zebrałeś dane GPS z czujnika GPS podłączonego do urządzenia IoT. Aby przechowywać te dane IoT w chmurze, musisz je przesłać do usługi IoT. Ponownie użyjesz Azure IoT Hub, tej samej usługi IoT w chmurze, której używałeś w poprzednim projekcie.
![Wysyłanie telemetrii GPS z urządzenia IoT do IoT Hub](../../../../../translated_images/pl/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.png)
![Wysyłanie telemetrii GPS z urządzenia IoT do IoT Hub](../../../../../translated_images/pl/gps-telemetry-iot-hub.8115335d51cd2c12.webp)
### Zadanie - wysyłanie danych GPS do IoT Hub
@ -171,7 +171,7 @@ Dane ze ścieżki zimnej są przechowywane w hurtowniach danych - bazach danych
Gdy dane trafiają do IoT Hub, możesz napisać kod bezserwerowy, który będzie nasłuchiwał zdarzeń publikowanych na zgodnym z Event-Hub punkcie końcowym. To jest ścieżka ciepła - te dane zostaną przechowane i wykorzystane w następnej lekcji do raportowania trasy.
![Wysyłanie telemetrii GPS z urządzenia IoT do IoT Hub, a następnie do Azure Functions za pomocą wyzwalacza Event Hub](../../../../../translated_images/pl/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.png)
![Wysyłanie telemetrii GPS z urządzenia IoT do IoT Hub, a następnie do Azure Functions za pomocą wyzwalacza Event Hub](../../../../../translated_images/pl/gps-telemetry-iot-hub-functions.24d3fa5592455e9f.webp)
### Zadanie - obsługa zdarzeń GPS za pomocą kodu bezserwerowego
@ -193,7 +193,7 @@ Gdy dane trafiają do IoT Hub, możesz napisać kod bezserwerowy, który będzie
## Konta magazynu Azure
![Logo Azure Storage](../../../../../translated_images/pl/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.png)
![Logo Azure Storage](../../../../../translated_images/pl/azure-storage-logo.605c0f602c640d48.webp)
Konta magazynu Azure to uniwersalna usługa przechowywania danych, która umożliwia przechowywanie danych na różne sposoby. Możesz przechowywać dane jako obiekty blob, w kolejkach, w tabelach lub jako pliki wszystko jednocześnie.

@ -1,6 +1,6 @@
# Wizualizacja danych lokalizacyjnych
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.jpg)
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-13.a259db1485021be7.webp)
> Szkic autorstwa [Nitya Narasimhan](https://github.com/nitya). Kliknij obrazek, aby zobaczyć większą wersję.
@ -64,11 +64,11 @@ Weźmy prosty przykład - w projekcie farmy rejestrowałeś poziomy wilgotności
Dla człowieka zrozumienie tych danych może być trudne. To ściana liczb bez większego znaczenia. Pierwszym krokiem do wizualizacji tych danych może być ich przedstawienie na wykresie liniowym:
![Wykres liniowy powyższych danych](../../../../../translated_images/pl/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.png)
![Wykres liniowy powyższych danych](../../../../../translated_images/pl/chart-soil-moisture.fd6d9d0cdc0b5f75.webp)
Można to dodatkowo ulepszyć, dodając linię wskazującą moment włączenia automatycznego systemu nawadniania przy odczycie wilgotności gleby wynoszącym 450:
![Wykres liniowy wilgotności gleby z linią przy wartości 450](../../../../../translated_images/pl/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.png)
![Wykres liniowy wilgotności gleby z linią przy wartości 450](../../../../../translated_images/pl/chart-soil-moisture-relay.fbb391236d34a64d.webp)
Ten wykres szybko pokazuje nie tylko poziomy wilgotności gleby, ale także punkty, w których system nawadniania został włączony.
@ -84,7 +84,7 @@ Pracując z danymi GPS, najczytelniejszą wizualizacją może być naniesienie d
Praca z mapami to interesujące zadanie, a dostępnych jest wiele opcji, takich jak Bing Maps, Leaflet, Open Street Maps czy Google Maps. W tej lekcji dowiesz się o [Azure Maps](https://azure.microsoft.com/services/azure-maps/?WT.mc_id=academic-17441-jabenn) i o tym, jak mogą one wyświetlać dane GPS.
![Logo Azure Maps](../../../../../translated_images/pl/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.png)
![Logo Azure Maps](../../../../../translated_images/pl/azure-maps-logo.35d01dcfbd81fe61.webp)
Azure Maps to "zbiór usług geolokalizacyjnych i SDK, które wykorzystują aktualne dane mapowe, aby dostarczyć kontekst geograficzny dla aplikacji internetowych i mobilnych." Programiści otrzymują narzędzia do tworzenia pięknych, interaktywnych map, które mogą oferować takie funkcje jak rekomendowane trasy, informacje o zdarzeniach drogowych, nawigacja wewnętrzna, możliwości wyszukiwania, dane o wysokości terenu, usługi pogodowe i wiele więcej.
@ -185,7 +185,7 @@ Teraz możesz przejść do kolejnego kroku, czyli wyświetlenia mapy na stronie
Jeśli otworzysz swój plik `index.html` w przeglądarce internetowej, powinieneś zobaczyć załadowaną mapę, skoncentrowaną na obszarze Seattle.
![Mapa pokazująca Seattle, miasto w stanie Waszyngton, USA](../../../../../translated_images/pl/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.png)
![Mapa pokazująca Seattle, miasto w stanie Waszyngton, USA](../../../../../translated_images/pl/map-image.8fb2c53eb23ef39c.webp)
✅ Eksperymentuj z parametrami zoom i center, aby zmienić wyświetlanie mapy. Możesz dodać różne współrzędne odpowiadające szerokości i długości geograficznej swoich danych, aby zmienić środek mapy.
@ -319,7 +319,7 @@ Jeśli wykonasz zapytanie do swojego magazynu, aby pobrać dane, możesz być za
1. Załaduj stronę HTML w przeglądarce. Załaduje ona mapę, a następnie wszystkie dane GPS z magazynu i wyświetli je na mapie.
![Mapa Saint Edward State Park w pobliżu Seattle, z okręgami pokazującymi ścieżkę wokół krawędzi parku](../../../../../translated_images/pl/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.png)
![Mapa Saint Edward State Park w pobliżu Seattle, z okręgami pokazującymi ścieżkę wokół krawędzi parku](../../../../../translated_images/pl/map-path.896832e72dc696ff.webp)
> 💁 Ten kod znajdziesz w folderze [code](../../../../../3-transport/lessons/3-visualize-location-data/code).

@ -1,6 +1,6 @@
# Geofences
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.jpg)
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-14.63980c5150ae3c15.webp)
> Szkic autorstwa [Nitya Narasimhan](https://github.com/nitya). Kliknij obraz, aby zobaczyć większą wersję.
@ -35,7 +35,7 @@ W tej lekcji omówimy:
Geofence to wirtualny obwód dla rzeczywistego obszaru geograficznego. Geofencing mogą być okręgami zdefiniowanymi jako punkt i promień (na przykład okrąg o średnicy 100 m wokół budynku) lub wielokątami obejmującymi obszar, taki jak strefa szkolna, granice miasta, kampus uniwersytecki lub biurowy.
![Przykłady geofence pokazujące okrągły geofence wokół sklepu Microsoft oraz wielokąt wokół zachodniego kampusu Microsoft](../../../../../translated_images/pl/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.png)
![Przykłady geofence pokazujące okrągły geofence wokół sklepu Microsoft oraz wielokąt wokół zachodniego kampusu Microsoft](../../../../../translated_images/pl/geofence-examples.172fbc534665769f.webp)
> 💁 Mogłeś już korzystać z geofence, nie zdając sobie z tego sprawy. Jeśli ustawiłeś przypomnienie w aplikacji przypomnień iOS lub Google Keep na podstawie lokalizacji, użyłeś geofence. Te aplikacje ustawiają geofence na podstawie podanej lokalizacji i powiadamiają Cię, gdy Twój telefon wejdzie w obszar geofence.
@ -212,7 +212,7 @@ Ważne jest, aby znać odległość do krawędzi geofence i łączyć ją z inny
Na przykład, wyobraź sobie odczyty GPS pokazujące, że pojazd jechał drogą, która kończy się obok geofence. Jeśli pojedyncza wartość GPS jest niedokładna i umieszcza pojazd wewnątrz geofence, mimo że nie ma tam dostępu dla pojazdów, można ją zignorować.
![Ślad GPS pokazujący pojazd przejeżdżający obok kampusu Microsoft na 520, z odczytami GPS wzdłuż drogi, z wyjątkiem jednego na kampusie, wewnątrz geofence](../../../../../translated_images/pl/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.png)
![Ślad GPS pokazujący pojazd przejeżdżający obok kampusu Microsoft na 520, z odczytami GPS wzdłuż drogi, z wyjątkiem jednego na kampusie, wewnątrz geofence](../../../../../translated_images/pl/geofence-crossing-inaccurate-gps.6a3ed911202ad9ca.webp)
Na powyższym obrazku widoczny jest geofence obejmujący część kampusu Microsoft. Czerwona linia pokazuje trasę ciężarówki jadącej wzdłuż drogi 520, z okręgami oznaczającymi odczyty GPS. Większość z nich jest dokładna i znajduje się wzdłuż drogi 520, ale jeden niedokładny odczyt znajduje się wewnątrz geofence. Nie ma możliwości, aby ten odczyt był poprawny - nie ma dróg, które pozwoliłyby ciężarówce nagle zjechać z drogi 520 na kampus, a potem wrócić na drogę 520. Kod sprawdzający ten geofence będzie musiał uwzględnić poprzednie odczyty przed podjęciem działań na podstawie wyników testu geofence.
✅ Jakie dodatkowe dane byłyby potrzebne, aby sprawdzić, czy odczyt GPS można uznać za poprawny?
@ -284,7 +284,7 @@ Jak pamiętasz z poprzednich lekcji, IoT Hub pozwala na odtwarzanie zdarzeń, kt
Odpowiedź brzmi: nie będzie wiedział! Zamiast tego możesz zdefiniować wiele oddzielnych połączeń do odczytu zdarzeń, a każde z nich może zarządzać odtwarzaniem nieprzeczytanych wiadomości. Są one nazywane *grupami konsumenckimi*. Podczas łączenia się z punktem końcowym możesz określić, z którą grupą konsumencką chcesz się połączyć. Każdy komponent Twojej aplikacji będzie łączył się z inną grupą konsumencką.
![Jeden IoT Hub z 3 grupami konsumenckimi rozdzielającymi te same wiadomości do 3 różnych aplikacji Functions](../../../../../translated_images/pl/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.png)
![Jeden IoT Hub z 3 grupami konsumenckimi rozdzielającymi te same wiadomości do 3 różnych aplikacji Functions](../../../../../translated_images/pl/consumer-groups.a3262e26fc27ba20.webp)
Teoretycznie do każdej grupy konsumenckiej może podłączyć się do 5 aplikacji, a wszystkie będą otrzymywać wiadomości, gdy tylko się pojawią. Najlepszą praktyką jest, aby tylko jedna aplikacja miała dostęp do każdej grupy konsumenckiej, aby uniknąć duplikacji przetwarzania wiadomości i zapewnić, że po ponownym uruchomieniu wszystkie zakolejkowane wiadomości zostaną poprawnie przetworzone. Na przykład, jeśli uruchomisz swoją aplikację Functions lokalnie, a także w chmurze, obie będą przetwarzać wiadomości, co doprowadzi do duplikacji blobów przechowywanych w koncie magazynu.

@ -1,6 +1,6 @@
# Trenuj detektor jakości owoców
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.jpg)
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-15.843d21afdc6fb2bb.webp)
> Szkic autorstwa [Nitya Narasimhan](https://github.com/nitya). Kliknij obraz, aby zobaczyć większą wersję.
@ -38,7 +38,7 @@ Nie wszystkie plony dojrzewają równomiernie. Na przykład pomidory mogą mieć
Wzrost automatyzacji zbiorów przeniósł sortowanie produktów z pola do fabryki. Żywność trafiała na długie taśmy przenośnikowe, gdzie zespoły ludzi usuwały produkty niespełniające standardów jakości. Zbiory były tańsze dzięki maszynom, ale nadal istniał koszt ręcznego sortowania żywności.
![Jeśli wykryty zostanie czerwony pomidor, kontynuuje swoją drogę. Jeśli wykryty zostanie zielony pomidor, dźwignia przerzuca go do kosza na odpady](../../../../../translated_images/pl/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.png)
![Jeśli wykryty zostanie czerwony pomidor, kontynuuje swoją drogę. Jeśli wykryty zostanie zielony pomidor, dźwignia przerzuca go do kosza na odpady](../../../../../translated_images/pl/optical-tomato-sorting.61aa134bdda4e5b1.webp)
Kolejną ewolucją było wykorzystanie maszyn do sortowania, wbudowanych w kombajny lub używanych w zakładach przetwórczych. Pierwsza generacja tych maszyn używała czujników optycznych do wykrywania kolorów, sterując siłownikami, które przerzucały zielone pomidory do kosza na odpady za pomocą dźwigni lub strumieni powietrza, pozostawiając czerwone pomidory na taśmach przenośnikowych.
@ -62,7 +62,7 @@ Na przykład możesz dostarczyć modelowi miliony zdjęć niedojrzałych bananó
> 🎓 Wyniki modeli ML nazywane są *przewidywaniami*.
![2 banany, jeden dojrzały z przewidywaniem 99,7% dojrzały, 0,3% niedojrzały, i jeden niedojrzały z przewidywaniem 1,4% dojrzały, 98,6% niedojrzały](../../../../../translated_images/pl/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.png)
![2 banany, jeden dojrzały z przewidywaniem 99,7% dojrzały, 0,3% niedojrzały, i jeden niedojrzały z przewidywaniem 1,4% dojrzały, 98,6% niedojrzały](../../../../../translated_images/pl/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50e.webp)
Modele ML nie dają odpowiedzi binarnej, zamiast tego podają prawdopodobieństwa. Na przykład model może otrzymać zdjęcie banana i przewidzieć `dojrzały` na poziomie 99,7% oraz `niedojrzały` na poziomie 0,3%. Twój kod wybierze najlepsze przewidywanie i zdecyduje, że banan jest dojrzały.
@ -90,7 +90,7 @@ Istnieje wiele narzędzi, które mogą Ci w tym pomóc, w tym usługi w chmurze,
Custom Vision to narzędzie w chmurze do trenowania klasyfikatorów obrazów. Pozwala trenować klasyfikator, używając jedynie niewielkiej liczby obrazów. Możesz przesyłać obrazy przez portal internetowy, API lub SDK, przypisując każdemu obrazowi *tag*, który określa jego klasyfikację. Następnie trenujesz model i testujesz go, aby sprawdzić, jak dobrze działa. Gdy jesteś zadowolony z modelu, możesz opublikować jego wersje, które można uzyskać za pośrednictwem API internetowego lub SDK.
![Logo Azure Custom Vision](../../../../../translated_images/pl/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.png)
![Logo Azure Custom Vision](../../../../../translated_images/pl/custom-vision-logo.d3d4e7c8a87ec9da.webp)
> 💁 Możesz wytrenować model Custom Vision, używając zaledwie 5 obrazów na klasyfikację, ale więcej to lepiej. Lepsze wyniki uzyskasz, mając co najmniej 30 obrazów.
@ -146,7 +146,7 @@ Aby korzystać z Custom Vision, najpierw musisz utworzyć dwa zasoby Cognitive S
Podczas tworzenia projektu upewnij się, że używasz zasobu `fruit-quality-detector-training`, który utworzyłeś wcześniej. Wybierz typ projektu *Classification*, typ klasyfikacji *Multiclass* oraz domenę *Food*.
![Ustawienia projektu Custom Vision z nazwą ustawioną na fruit-quality-detector, bez opisu, zasobem ustawionym na fruit-quality-detector-training, typem projektu ustawionym na classification, typem klasyfikacji ustawionym na multi class i domeną ustawioną na food](../../../../../translated_images/pl/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.png)
![Ustawienia projektu Custom Vision z nazwą ustawioną na fruit-quality-detector, bez opisu, zasobem ustawionym na fruit-quality-detector-training, typem projektu ustawionym na classification, typem klasyfikacji ustawionym na multi class i domeną ustawioną na food](../../../../../translated_images/pl/custom-vision-create-project.cf46325b92d8b131.webp)
✅ Poświęć trochę czasu na zapoznanie się z interfejsem użytkownika Custom Vision dla swojego klasyfikatora obrazów.
@ -164,7 +164,7 @@ Klasyfikatory obrazów działają na bardzo niskiej rozdzielczości. Na przykła
* Używając 2 dojrzałych bananów, zrób kilka zdjęć każdego z nich z różnych kątów, wykonując co najmniej 7 zdjęć (5 do treningu, 2 do testów), ale najlepiej więcej.
![Zdjęcia 2 różnych bananów](../../../../../translated_images/pl/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.png)
![Zdjęcia 2 różnych bananów](../../../../../translated_images/pl/banana-training-images.530eb203346d73bc.webp)
* Powtórz ten sam proces, używając 2 niedojrzałych bananów.
@ -174,7 +174,7 @@ Klasyfikatory obrazów działają na bardzo niskiej rozdzielczości. Na przykła
1. Postępuj zgodnie z [sekcją przesyłania i tagowania obrazów w szybkim przewodniku po tworzeniu klasyfikatora w dokumentacji Microsoft](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#upload-and-tag-images), aby przesłać swoje zdjęcia treningowe. Oznacz dojrzałe owoce jako `ripe`, a niedojrzałe jako `unripe`.
![Okna dialogowe przesyłania zdjęć dojrzałych i niedojrzałych bananów](../../../../../translated_images/pl/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.png)
![Okna dialogowe przesyłania zdjęć dojrzałych i niedojrzałych bananów](../../../../../translated_images/pl/image-upload-bananas.0751639f3815e0ec.webp)
1. Postępuj zgodnie z [sekcją trenowania klasyfikatora w szybkim przewodniku po tworzeniu klasyfikatora w dokumentacji Microsoft](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#train-the-classifier), aby wytrenować klasyfikator obrazów na przesłanych zdjęciach.
@ -192,7 +192,7 @@ Gdy klasyfikator zostanie wytrenowany, możesz go przetestować, dostarczając n
1. Postępuj zgodnie z [dokumentacją testowania modelu w dokumentacji Microsoft](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/test-your-model?WT.mc_id=academic-17441-jabenn#test-your-model), aby przetestować swój klasyfikator obrazów. Użyj zdjęć testowych, które stworzyłeś wcześniej, a nie tych, które wykorzystałeś do treningu.
![Niedojrzały banan przewidziany jako niedojrzały z prawdopodobieństwem 98,9%, dojrzały z prawdopodobieństwem 1,1%](../../../../../translated_images/pl/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.png)
![Niedojrzały banan przewidziany jako niedojrzały z prawdopodobieństwem 98,9%, dojrzały z prawdopodobieństwem 1,1%](../../../../../translated_images/pl/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64.webp)
1. Wypróbuj wszystkie zdjęcia testowe, do których masz dostęp, i zaobserwuj prawdopodobieństwa.

@ -1,6 +1,6 @@
# Sprawdź jakość owoców za pomocą urządzenia IoT
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.jpg)
![Szkicowy przegląd tej lekcji](../../../../../translated_images/pl/lesson-16.215daf18b00631fb.webp)
> Szkic autorstwa [Nitya Narasimhan](https://github.com/nitya). Kliknij obrazek, aby zobaczyć większą wersję.
@ -26,7 +26,7 @@ W tej lekcji omówimy:
Czujniki kamer, jak sama nazwa wskazuje, to kamery, które można podłączyć do urządzenia IoT. Mogą robić zdjęcia lub rejestrować strumieniowe wideo. Niektóre zwracają surowe dane obrazowe, inne kompresują dane obrazowe do pliku graficznego, takiego jak JPEG lub PNG. Zazwyczaj kamery współpracujące z urządzeniami IoT są znacznie mniejsze i mają niższą rozdzielczość niż te, do których możesz być przyzwyczajony, ale można znaleźć kamery o wysokiej rozdzielczości, które dorównują najlepszym telefonom. Dostępne są różne wymienne obiektywy, zestawy wielokamerowe, kamery termiczne na podczerwień czy kamery UV.
![Światło ze sceny przechodzi przez obiektyw i jest skupiane na czujniku CMOS](../../../../../translated_images/pl/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.png)
![Światło ze sceny przechodzi przez obiektyw i jest skupiane na czujniku CMOS](../../../../../translated_images/pl/cmos-sensor.75f9cd74decb1371.webp)
Większość czujników kamer wykorzystuje czujniki obrazu, gdzie każdy piksel jest fotodiodą. Obiektyw skupia obraz na czujniku obrazu, a tysiące lub miliony fotodiod wykrywają światło padające na każdą z nich i zapisują je jako dane pikselowe.
@ -74,7 +74,7 @@ Iteracje są publikowane z portalu Custom Vision.
1. Wybierz przycisk **Publish** dla iteracji.
![Przycisk publikacji](../../../../../translated_images/pl/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.png)
![Przycisk publikacji](../../../../../translated_images/pl/custom-vision-publish-button.b7174e1977b0c33b.webp)
1. W oknie dialogowym *Publish Model* ustaw *Prediction resource* na zasób `fruit-quality-detector-prediction`, który utworzyłeś w poprzedniej lekcji. Pozostaw nazwę jako `Iteration2` i wybierz przycisk **Publish**.
@ -88,7 +88,7 @@ Iteracje są publikowane z portalu Custom Vision.
Skopiuj również wartość *Prediction-Key*. Jest to klucz zabezpieczający, który musisz przekazać podczas wywoływania modelu. Tylko aplikacje, które przekazują ten klucz, mogą korzystać z modelu, inne aplikacje są odrzucane.
![Okno dialogowe API predykcji pokazujące URL i klucz](../../../../../translated_images/pl/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.png)
![Okno dialogowe API predykcji pokazujące URL i klucz](../../../../../translated_images/pl/custom-vision-prediction-key-endpoint.30c569ffd0338864.webp)
✅ Kiedy nowa iteracja zostanie opublikowana, będzie miała inną nazwę. Jak myślisz, jak można zmienić iterację używaną przez urządzenie IoT?
@ -109,7 +109,7 @@ Możesz zauważyć, że wyniki uzyskane przy użyciu kamery podłączonej do urz
Aby uzyskać najlepsze wyniki dla klasyfikatora obrazów, należy trenować model za pomocą obrazów, które są jak najbardziej podobne do obrazów używanych do predykcji. Na przykład, jeśli użyłeś kamery telefonu do uchwycenia obrazów do trenowania, jakość obrazu, ostrość i kolor będą różne od kamery podłączonej do urządzenia IoT.
![2 zdjęcia bananów, jedno o niskiej rozdzielczości i słabym oświetleniu z urządzenia IoT, drugie o wysokiej rozdzielczości i dobrym oświetleniu z telefonu](../../../../../translated_images/pl/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.png)
![2 zdjęcia bananów, jedno o niskiej rozdzielczości i słabym oświetleniu z urządzenia IoT, drugie o wysokiej rozdzielczości i dobrym oświetleniu z telefonu](../../../../../translated_images/pl/banana-picture-compare.174df164dc326a42.webp)
Na powyższym obrazku zdjęcie banana po lewej zostało zrobione za pomocą kamery Raspberry Pi, a zdjęcie po prawej zostało zrobione tego samego banana w tym samym miejscu za pomocą iPhone'a. Widać zauważalną różnicę w jakości - zdjęcie z iPhone'a jest ostrzejsze, z jaśniejszymi kolorami i większym kontrastem.

@ -16,7 +16,7 @@ Kamera może być podłączona do Raspberry Pi za pomocą taśmy.
### Zadanie - podłącz kamerę
![Kamera Raspberry Pi](../../../../../translated_images/pl/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.png)
![Kamera Raspberry Pi](../../../../../translated_images/pl/pi-camera-module.4278753c31bd6e75.webp)
1. Wyłącz zasilanie Raspberry Pi.
@ -24,17 +24,17 @@ Kamera może być podłączona do Raspberry Pi za pomocą taśmy.
Możesz znaleźć animację pokazującą, jak otworzyć klips i włożyć taśmę w [dokumentacji Raspberry Pi dotyczącej rozpoczęcia pracy z modułem kamery](https://projects.raspberrypi.org/en/projects/getting-started-with-picamera/2).
![Taśma włożona do modułu kamery](../../../../../translated_images/pl/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.png)
![Taśma włożona do modułu kamery](../../../../../translated_images/pl/pi-camera-ribbon-cable.0bf82acd251611c2.webp)
1. Zdejmij Grove Base Hat z Raspberry Pi.
1. Przełóż taśmę przez otwór na kamerę w Grove Base Hat. Upewnij się, że niebieska strona taśmy jest skierowana w stronę portów analogowych oznaczonych jako **A0**, **A1** itd.
![Taśma przechodząca przez Grove Base Hat](../../../../../translated_images/pl/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.png)
![Taśma przechodząca przez Grove Base Hat](../../../../../translated_images/pl/grove-base-hat-ribbon-cable.501fed202fcf73b1.webp)
1. Włóż taśmę do portu kamery na Raspberry Pi. Ponownie, podnieś czarny plastikowy klips, włóż taśmę, a następnie wciśnij klips z powrotem. Niebieska strona taśmy powinna być skierowana w stronę portów USB i Ethernet.
![Taśma podłączona do gniazda kamery na Raspberry Pi](../../../../../translated_images/pl/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.png)
![Taśma podłączona do gniazda kamery na Raspberry Pi](../../../../../translated_images/pl/pi-camera-socket-ribbon-cable.a18309920b118009.webp)
1. Załóż ponownie Grove Base Hat.
@ -101,7 +101,7 @@ Zaprogramuj urządzenie.
Linia `camera.rotation = 0` ustawia obrót obrazu. Taśma wchodzi do dolnej części kamery, ale jeśli kamera została obrócona, aby łatwiej skierować ją na obiekt, który chcesz sklasyfikować, możesz zmienić tę linię na liczbę stopni obrotu.
![Kamera zawieszona nad puszką napoju](../../../../../translated_images/pl/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.png)
![Kamera zawieszona nad puszką napoju](../../../../../translated_images/pl/pi-camera-upside-down.5376961ba3145988.webp)
Na przykład, jeśli zawiesisz taśmę nad czymś, tak że znajduje się na górze kamery, ustaw obrót na 180:

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save