@ -203,7 +203,7 @@ Kaip antrą „Sveikas pasauli!“ žingsnį, paleisite CounterFit programą ir
Programa pradės veikti ir atsidarys jūsų interneto naršyklėje:
Programa pradės veikti ir atsidarys jūsų interneto naršyklėje:


Ji bus pažymėta kaip *Disconnected*, o LED viršutiniame dešiniajame kampe bus išjungtas.
Ji bus pažymėta kaip *Disconnected*, o LED viršutiniame dešiniajame kampe bus išjungtas.
@ -224,7 +224,7 @@ Kaip antrą „Sveikas pasauli!“ žingsnį, paleisite CounterFit programą ir
1. Šiame naujame terminale paleiskite `app.py` failą kaip anksčiau. CounterFit būsena pasikeis į **Connected**, o LED užsidegs.
1. Šiame naujame terminale paleiskite `app.py` failą kaip anksčiau. CounterFit būsena pasikeis į **Connected**, o LED užsidegs.


> 💁 Šį kodą galite rasti [code/virtual-device](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/virtual-device) aplanke.
> 💁 Šį kodą galite rasti [code/virtual-device](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/virtual-device) aplanke.
> Piešinys sukurtas [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
> Piešinys sukurtas [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
@ -38,7 +38,7 @@ IoT programą sudaro du pagrindiniai komponentai: *Internetas* ir *daiktas*. Pa
Šie įrenginiai sąveikauja su fiziniu pasauliu, naudodami jutiklius duomenų rinkimui iš aplinkos arba valdiklius ir aktuatorius fiziniams pokyčiams atlikti. Tipiškas pavyzdys – išmanusis termostatas, turintis temperatūros jutiklį, priemonę norimai temperatūrai nustatyti, pvz., ratuką ar jutiklinį ekraną, ir jungtį su šildymo ar vėsinimo sistema, kurią galima įjungti, kai aptikta temperatūra yra už norimo diapazono ribų. Temperatūros jutiklis aptinka, kad kambarys yra per šaltas, ir aktuatorius įjungia šildymą.
Šie įrenginiai sąveikauja su fiziniu pasauliu, naudodami jutiklius duomenų rinkimui iš aplinkos arba valdiklius ir aktuatorius fiziniams pokyčiams atlikti. Tipiškas pavyzdys – išmanusis termostatas, turintis temperatūros jutiklį, priemonę norimai temperatūrai nustatyti, pvz., ratuką ar jutiklinį ekraną, ir jungtį su šildymo ar vėsinimo sistema, kurią galima įjungti, kai aptikta temperatūra yra už norimo diapazono ribų. Temperatūros jutiklis aptinka, kad kambarys yra per šaltas, ir aktuatorius įjungia šildymą.


Yra daugybė įvairių daiktų, kurie gali veikti kaip IoT įrenginiai – nuo specializuotos įrangos, kuri aptinka vieną dalyką, iki universalių įrenginių, net jūsų išmaniojo telefono! Išmanusis telefonas gali naudoti jutiklius, kad aptiktų aplinką, ir aktuatorius, kad sąveikautų su pasauliu – pavyzdžiui, naudodamas GPS jutiklį jūsų buvimo vietai nustatyti ir garsiakalbį navigacijos instrukcijoms pateikti.
Yra daugybė įvairių daiktų, kurie gali veikti kaip IoT įrenginiai – nuo specializuotos įrangos, kuri aptinka vieną dalyką, iki universalių įrenginių, net jūsų išmaniojo telefono! Išmanusis telefonas gali naudoti jutiklius, kad aptiktų aplinką, ir aktuatorius, kad sąveikautų su pasauliu – pavyzdžiui, naudodamas GPS jutiklį jūsų buvimo vietai nustatyti ir garsiakalbį navigacijos instrukcijoms pateikti.
@ -54,7 +54,7 @@ Tipiška konfigūracija būtų debesų paslauga, prie kurios jungiasi IoT įreng
Pavyzdžiui, išmanusis termostatas jungiasi prie debesų paslaugos per namų WiFi. Jis siunčia temperatūros duomenis į šią paslaugą, o iš ten jie įrašomi į duomenų bazę, leidžiančią namų savininkui peržiūrėti dabartinę ir praeities temperatūrą naudojant telefono programėlę. Kita debesų paslauga žino, kokios temperatūros nori savininkas, ir siunčia pranešimus atgal į IoT įrenginį per debesų paslaugą, kad įjungtų arba išjungtų šildymo sistemą.
Pavyzdžiui, išmanusis termostatas jungiasi prie debesų paslaugos per namų WiFi. Jis siunčia temperatūros duomenis į šią paslaugą, o iš ten jie įrašomi į duomenų bazę, leidžiančią namų savininkui peržiūrėti dabartinę ir praeities temperatūrą naudojant telefono programėlę. Kita debesų paslauga žino, kokios temperatūros nori savininkas, ir siunčia pranešimus atgal į IoT įrenginį per debesų paslaugą, kad įjungtų arba išjungtų šildymo sistemą.


Dar išmanesnė versija galėtų naudoti dirbtinį intelektą debesyje, kartu su duomenimis iš kitų jutiklių, prijungtų prie kitų IoT įrenginių, pvz., judesio jutiklių, aptinkančių, kurie kambariai naudojami, taip pat duomenis apie orą ar net jūsų kalendorių, kad išmaniai nustatytų temperatūrą. Pavyzdžiui, ji galėtų išjungti šildymą, jei iš jūsų kalendoriaus matyti, kad esate atostogose, arba išjungti šildymą atskiruose kambariuose, priklausomai nuo to, kuriuos kambarius naudojate, mokydamasi iš duomenų, kad laikui bėgant taptų vis tikslesnė.
Dar išmanesnė versija galėtų naudoti dirbtinį intelektą debesyje, kartu su duomenimis iš kitų jutiklių, prijungtų prie kitų IoT įrenginių, pvz., judesio jutiklių, aptinkančių, kurie kambariai naudojami, taip pat duomenis apie orą ar net jūsų kalendorių, kad išmaniai nustatytų temperatūrą. Pavyzdžiui, ji galėtų išjungti šildymą, jei iš jūsų kalendoriaus matyti, kad esate atostogose, arba išjungti šildymą atskiruose kambariuose, priklausomai nuo to, kuriuos kambarius naudojate, mokydamasi iš duomenų, kad laikui bėgant taptų vis tikslesnė.
@ -94,7 +94,7 @@ Kuo greitesnis laikrodžio ciklas, tuo daugiau instrukcijų galima apdoroti per
> 💁 CPU vykdo programas naudodamas [gavimo-dekodavimo-vykdymo ciklą](https://wikipedia.org/wiki/Instruction_cycle). Kiekvieno laikrodžio tiksėjimo metu CPU gauna kitą instrukciją iš atminties, ją dekoduoja ir vykdo, pvz., naudodamas aritmetinį loginį įrenginį (ALU), kad sudėtų du skaičius. Kai kurios vykdymo operacijos užtrunka kelis tiksėjimus, todėl kitas ciklas prasidės tik po to, kai instrukcija bus užbaigta.
> 💁 CPU vykdo programas naudodamas [gavimo-dekodavimo-vykdymo ciklą](https://wikipedia.org/wiki/Instruction_cycle). Kiekvieno laikrodžio tiksėjimo metu CPU gauna kitą instrukciją iš atminties, ją dekoduoja ir vykdo, pvz., naudodamas aritmetinį loginį įrenginį (ALU), kad sudėtų du skaičius. Kai kurios vykdymo operacijos užtrunka kelis tiksėjimus, todėl kitas ciklas prasidės tik po to, kai instrukcija bus užbaigta.


Mikrovaldikliai turi daug mažesnį laikrodžio greitį nei stalinių ar nešiojamųjų kompiuterių procesoriai ar net dauguma išmaniųjų telefonų. Pavyzdžiui, Wio Terminal CPU veikia 120 MHz arba 120 000 000 ciklų per sekundę greičiu.
Mikrovaldikliai turi daug mažesnį laikrodžio greitį nei stalinių ar nešiojamųjų kompiuterių procesoriai ar net dauguma išmaniųjų telefonų. Pavyzdžiui, Wio Terminal CPU veikia 120 MHz arba 120 000 000 ciklų per sekundę greičiu.
@ -174,7 +174,7 @@ Arduino plokštės programuojamos C arba C++ kalbomis. Naudojant C/C++ jūsų ko
`Setup` funkcijoje rašytumėte pradinį kodą, pvz., prisijungimą prie WiFi ir debesų paslaugų arba pinų inicializavimą įvesties ir išvesties funkcijoms. `Loop` funkcijoje būtų apdorojimo kodas, pvz., jutiklio reikšmės skaitymas ir siuntimas į debesį. Paprastai pridėtumėte uždelsimą kiekvieno ciklo pabaigoje, pavyzdžiui, jei norite, kad jutiklio duomenys būtų siunčiami kas 10 sekundžių, pridėtumėte 10 sekundžių uždelsimą ciklo pabaigoje, kad mikrovaldiklis galėtų miegoti, taupydamas energiją, ir vėl vykdytų ciklą po 10 sekundžių.
`Setup` funkcijoje rašytumėte pradinį kodą, pvz., prisijungimą prie WiFi ir debesų paslaugų arba pinų inicializavimą įvesties ir išvesties funkcijoms. `Loop` funkcijoje būtų apdorojimo kodas, pvz., jutiklio reikšmės skaitymas ir siuntimas į debesį. Paprastai pridėtumėte uždelsimą kiekvieno ciklo pabaigoje, pavyzdžiui, jei norite, kad jutiklio duomenys būtų siunčiami kas 10 sekundžių, pridėtumėte 10 sekundžių uždelsimą ciklo pabaigoje, kad mikrovaldiklis galėtų miegoti, taupydamas energiją, ir vėl vykdytų ciklą po 10 sekundžių.


✅ Ši programos architektūra vadinama *įvykių ciklu* arba *pranešimų ciklu*. Daugelis programų naudoja šį modelį, ir tai yra standartas daugumai darbalaukio programų, veikiančių OS, kaip Windows, macOS ar Linux. `Loop` stebi pranešimus iš vartotojo sąsajos komponentų, pvz., mygtukų, arba įrenginių, kaip klaviatūra, ir į juos reaguoja. Daugiau galite perskaityti šiame [straipsnyje apie įvykių ciklą](https://wikipedia.org/wiki/Event_loop).
✅ Ši programos architektūra vadinama *įvykių ciklu* arba *pranešimų ciklu*. Daugelis programų naudoja šį modelį, ir tai yra standartas daugumai darbalaukio programų, veikiančių OS, kaip Windows, macOS ar Linux. `Loop` stebi pranešimus iš vartotojo sąsajos komponentų, pvz., mygtukų, arba įrenginių, kaip klaviatūra, ir į juos reaguoja. Daugiau galite perskaityti šiame [straipsnyje apie įvykių ciklą](https://wikipedia.org/wiki/Event_loop).
> Piešinys sukurtas [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
> Piešinys sukurtas [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
@ -92,7 +92,7 @@ Skaitmeniniai jutikliai, kaip ir analoginiai, fiksuoja aplinką naudodami elektr
Paprasčiausias skaitmeninis jutiklis yra mygtukas arba jungiklis. Tai jutiklis su dviem būsenomis – įjungta arba išjungta.
Paprasčiausias skaitmeninis jutiklis yra mygtukas arba jungiklis. Tai jutiklis su dviem būsenomis – įjungta arba išjungta.


IoT įrenginio kaiščiai, tokie kaip GPIO, gali tiesiogiai matuoti šį signalą kaip 0 arba 1. Jei siunčiama įtampa yra tokia pati kaip grąžinama, reikšmė yra 1, kitaip – 0. Nereikia konvertuoti signalo, jis gali būti tik 1 arba 0.
IoT įrenginio kaiščiai, tokie kaip GPIO, gali tiesiogiai matuoti šį signalą kaip 0 arba 1. Jei siunčiama įtampa yra tokia pati kaip grąžinama, reikšmė yra 1, kitaip – 0. Nereikia konvertuoti signalo, jis gali būti tik 1 arba 0.
@ -126,7 +126,7 @@ Kai kurios dažnos pavaros:
Vadovaukitės atitinkamu vadovu, kad pridėtumėte pavarą prie savo IoT įrenginio, kurią valdys jutiklis, kad sukurtumėte IoT naktinę lemputę. Ji rinks šviesos lygius iš šviesos jutiklio ir naudos pavarą – LED lemputę, kuri skleis šviesą, kai aptiktas šviesos lygis bus per žemas.
Vadovaukitės atitinkamu vadovu, kad pridėtumėte pavarą prie savo IoT įrenginio, kurią valdys jutiklis, kad sukurtumėte IoT naktinę lemputę. Ji rinks šviesos lygius iš šviesos jutiklio ir naudos pavarą – LED lemputę, kuri skleis šviesą, kai aptiktas šviesos lygis bus per žemas.


Kaip ir su jutikliais, tikrasis IoT įrenginys veikia su skaitmeniniais signalais, o ne analoginiais. Tai reiškia, kad norint siųsti analoginį signalą, IoT įrenginiui reikia skaitmeninio-analoginio keitiklio (DAC), kuris gali būti tiesiogiai įrenginyje arba jungties plokštėje. Šis keitiklis paverčia 0 ir 1 iš IoT įrenginio į analoginę įtampą, kurią gali naudoti aktuatorius.
Kaip ir su jutikliais, tikrasis IoT įrenginys veikia su skaitmeniniais signalais, o ne analoginiais. Tai reiškia, kad norint siųsti analoginį signalą, IoT įrenginiui reikia skaitmeninio-analoginio keitiklio (DAC), kuris gali būti tiesiogiai įrenginyje arba jungties plokštėje. Šis keitiklis paverčia 0 ir 1 iš IoT įrenginio į analoginę įtampą, kurią gali naudoti aktuatorius.
@ -173,7 +173,7 @@ Skaitmeniniai aktuatoriai, kaip ir skaitmeniniai jutikliai, turi dvi būsenas, k
Vienas paprastas skaitmeninis aktuatorius yra LED. Kai įrenginys siunčia skaitmeninį signalą „1“, siunčiama aukšta įtampa, kuri įjungia LED. Kai siunčiamas skaitmeninis signalas „0“, įtampa sumažėja iki 0V, ir LED išsijungia.
Vienas paprastas skaitmeninis aktuatorius yra LED. Kai įrenginys siunčia skaitmeninį signalą „1“, siunčiama aukšta įtampa, kuri įjungia LED. Kai siunčiamas skaitmeninis signalas „0“, įtampa sumažėja iki 0V, ir LED išsijungia.


✅ Kokius kitus paprastus dviejų būsenų aktuatorius galite sugalvoti? Vienas pavyzdys yra solenoidas – elektromagnetas, kurį galima aktyvuoti, kad atliktų veiksmus, pavyzdžiui, perstumtų durų skląstį, užrakindamas/atrakindamas duris.
✅ Kokius kitus paprastus dviejų būsenų aktuatorius galite sugalvoti? Vienas pavyzdys yra solenoidas – elektromagnetas, kurį galima aktyvuoti, kad atliktų veiksmus, pavyzdžiui, perstumtų durų skląstį, užrakindamas/atrakindamas duris.
1. Pasirinkite mėgstamą LED ir įkiškite jo kojeles į dvi skyles LED modulyje.
1. Pasirinkite mėgstamą LED ir įkiškite jo kojeles į dvi skyles LED modulyje.
@ -40,7 +40,7 @@ Prijunkite LED.
1. Išjungę Raspberry Pi, prijunkite kitą Grove kabelio galą prie skaitmeninio lizdo, pažymėto **D5**, esančio ant Grove Base hat, prijungto prie Pi. Šis lizdas yra antras iš kairės, eilėje šalia GPIO kontaktų.
1. Išjungę Raspberry Pi, prijunkite kitą Grove kabelio galą prie skaitmeninio lizdo, pažymėto **D5**, esančio ant Grove Base hat, prijungto prie Pi. Šis lizdas yra antras iš kairės, eilėje šalia GPIO kontaktų.


@ -16,13 +16,13 @@ Grove šviesos jutiklis, naudojamas šviesos lygiams aptikti, turi būti prijung
Prijunkite šviesos jutiklį.
Prijunkite šviesos jutiklį.


1. Įstatykite vieną Grove kabelio galą į lizdą ant šviesos jutiklio modulio. Jis įsistatys tik viena kryptimi.
1. Įstatykite vieną Grove kabelio galą į lizdą ant šviesos jutiklio modulio. Jis įsistatys tik viena kryptimi.
1. Išjungus Raspberry Pi, prijunkite kitą Grove kabelio galą prie analoginio lizdo, pažymėto **A0**, esančio ant Grove Base hat, prijungto prie Pi. Šis lizdas yra antras iš dešinės, eilėje šalia GPIO pinų.
1. Išjungus Raspberry Pi, prijunkite kitą Grove kabelio galą prie analoginio lizdo, pažymėto **A0**, esančio ant Grove Base hat, prijungto prie Pi. Šis lizdas yra antras iš dešinės, eilėje šalia GPIO pinų.


Kai LED bus sukurtas, galite pakeisti jo spalvą naudodami *Color* pasirinkimo įrankį. Pasirinkite mygtuką **Set**, kad pakeistumėte spalvą po jos pasirinkimo.
Kai LED bus sukurtas, galite pakeisti jo spalvą naudodami *Color* pasirinkimo įrankį. Pasirinkite mygtuką **Set**, kad pakeistumėte spalvą po jos pasirinkimo.
Šviesos jutiklis bus sukurtas ir pasirodys jutiklių sąraše.
Šviesos jutiklis bus sukurtas ir pasirodys jutiklių sąraše.


> Piešinys sukurtas [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
> Piešinys sukurtas [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
@ -47,7 +47,7 @@ MQTT yra populiariausias ryšio protokolas IoT įrenginiams ir yra aptariamas š
MQTT turi vieną brokerį ir kelis klientus. Visi klientai jungiasi prie brokerio, o brokeris nukreipia pranešimus atitinkamiems klientams. Pranešimai nukreipiami naudojant pavadintas temas, o ne siunčiami tiesiogiai konkrečiam klientui. Klientas gali publikuoti temą, o visi klientai, prenumeruojantys tą temą, gaus pranešimą.
MQTT turi vieną brokerį ir kelis klientus. Visi klientai jungiasi prie brokerio, o brokeris nukreipia pranešimus atitinkamiems klientams. Pranešimai nukreipiami naudojant pavadintas temas, o ne siunčiami tiesiogiai konkrečiam klientui. Klientas gali publikuoti temą, o visi klientai, prenumeruojantys tą temą, gaus pranešimą.


✅ Atlikite tyrimą. Jei turite daug IoT įrenginių, kaip galite užtikrinti, kad jūsų MQTT brokeris galėtų apdoroti visus pranešimus?
✅ Atlikite tyrimą. Jei turite daug IoT įrenginių, kaip galite užtikrinti, kad jūsų MQTT brokeris galėtų apdoroti visus pranešimus?
@ -69,7 +69,7 @@ Užuot sprendę MQTT brokerio nustatymo sudėtingumą kaip šios užduoties dal
> 💁 Šis testavimo brokeris yra viešas ir nesaugus. Bet kas galėtų klausytis, ką publikuojate, todėl jis neturėtų būti naudojamas su duomenimis, kuriuos reikia laikyti privačiais.
> 💁 Šis testavimo brokeris yra viešas ir nesaugus. Bet kas galėtų klausytis, ką publikuojate, todėl jis neturėtų būti naudojamas su duomenimis, kuriuos reikia laikyti privačiais.


Sekite atitinkamą žingsnį žemiau, kad prijungtumėte savo įrenginį prie MQTT brokerio:
Sekite atitinkamą žingsnį žemiau, kad prijungtumėte savo įrenginį prie MQTT brokerio:
@ -350,7 +350,7 @@ Gamyklos įrenginiams galbūt norėsite išsaugoti duomenis, ypač jei jie naudo
IoT įrenginių kūrėjai taip pat turėtų apsvarstyti, ar IoT įrenginys gali būti naudojamas interneto nutrūkimo ar signalo praradimo dėl vietos sąlygų metu. Išmanusis termostatas turėtų galėti priimti ribotus sprendimus dėl šildymo valdymo, jei jis negali siųsti telemetrijos į debesį dėl nutrūkimo.
IoT įrenginių kūrėjai taip pat turėtų apsvarstyti, ar IoT įrenginys gali būti naudojamas interneto nutrūkimo ar signalo praradimo dėl vietos sąlygų metu. Išmanusis termostatas turėtų galėti priimti ribotus sprendimus dėl šildymo valdymo, jei jis negali siųsti telemetrijos į debesį dėl nutrūkimo.
[](https://twitter.com/internetofshit/status/1315736960082808832)
[](https://twitter.com/internetofshit/status/1315736960082808832)
Kad MQTT galėtų susidoroti su ryšio praradimu, įrenginio ir serverio kodas turės būti atsakingas už pranešimų pristatymo užtikrinimą, jei to reikia, pavyzdžiui, reikalaujant, kad visi išsiųsti pranešimai būtų atsakyti papildomais pranešimais atsakymo temoje, o jei ne, jie būtų rankiniu būdu eilėje, kad būtų pakartoti vėliau.
Kad MQTT galėtų susidoroti su ryšio praradimu, įrenginio ir serverio kodas turės būti atsakingas už pranešimų pristatymo užtikrinimą, jei to reikia, pavyzdžiui, reikalaujant, kad visi išsiųsti pranešimai būtų atsakyti papildomais pranešimais atsakymo temoje, o jei ne, jie būtų rankiniu būdu eilėje, kad būtų pakartoti vėliau.
@ -358,7 +358,7 @@ Kad MQTT galėtų susidoroti su ryšio praradimu, įrenginio ir serverio kodas t
Komandos yra pranešimai, siunčiami iš debesies į įrenginį, nurodantys jam atlikti tam tikrą veiksmą. Dažniausiai tai apima tam tikrą išvestį per pavarą, tačiau tai gali būti ir nurodymas pačiam įrenginiui, pavyzdžiui, paleisti iš naujo arba surinkti papildomą telemetriją ir grąžinti ją kaip atsakymą į komandą.
Komandos yra pranešimai, siunčiami iš debesies į įrenginį, nurodantys jam atlikti tam tikrą veiksmą. Dažniausiai tai apima tam tikrą išvestį per pavarą, tačiau tai gali būti ir nurodymas pačiam įrenginiui, pavyzdžiui, paleisti iš naujo arba surinkti papildomą telemetriją ir grąžinti ją kaip atsakymą į komandą.


Termostatas galėtų gauti komandą iš debesies įjungti šildymą. Remiantis visų jutiklių telemetrijos duomenimis, debesų paslauga nusprendė, kad šildymas turėtų būti įjungtas, todėl siunčia atitinkamą komandą.
Termostatas galėtų gauti komandą iš debesies įjungti šildymą. Remiantis visų jutiklių telemetrijos duomenimis, debesų paslauga nusprendė, kad šildymas turėtų būti įjungtas, todėl siunčia atitinkamą komandą.
> Piešinys sukurtas [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
> Piešinys sukurtas [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
@ -122,7 +122,7 @@ Rankiniu būdu tai atliekama šiais žingsniais:
Pavyzdžiui, jei aukščiausia dienos temperatūra yra 25°C, o žemiausia – 12°C:
Pavyzdžiui, jei aukščiausia dienos temperatūra yra 25°C, o žemiausia – 12°C:


@ -33,7 +33,7 @@ Kai turėsite temperatūros duomenis, galite naudoti Jupyter Notebook iš šio r
Jupyter paleis ir atidarys užrašų knygelę jūsų naršyklėje. Vykdykite užrašų knygelės instrukcijas, kad vizualizuotumėte išmatuotas temperatūras ir apskaičiuotumėte augimo laipsnių dienas.
Jupyter paleis ir atidarys užrašų knygelę jūsų naršyklėje. Vykdykite užrašų knygelės instrukcijas, kad vizualizuotumėte išmatuotas temperatūras ir apskaičiuotumėte augimo laipsnių dienas.
Temperatūros jutiklis bus sukurtas ir pasirodys jutiklių sąraše.
Temperatūros jutiklis bus sukurtas ir pasirodys jutiklių sąraše.


@ -13,7 +13,7 @@ I²C magistralė turi 2 pagrindinius laidus, kartu su 2 maitinimo laidais:
| VCC | Bendras įtampos kolektorius | Maitinimo šaltinis įrenginiams. Jis prijungtas prie SDA ir SCL laidų, kad suteiktų jų maitinimą per traukimo rezistorių, kuris išjungia signalą, kai nė vienas įrenginys nėra valdiklis. |
| VCC | Bendras įtampos kolektorius | Maitinimo šaltinis įrenginiams. Jis prijungtas prie SDA ir SCL laidų, kad suteiktų jų maitinimą per traukimo rezistorių, kuris išjungia signalą, kai nė vienas įrenginys nėra valdiklis. |


Norint siųsti duomenis, vienas įrenginys išduoda pradžios sąlygą, nurodydamas, kad yra pasiruošęs siųsti duomenis. Tada jis tampa valdikliu. Valdiklis siunčia įrenginio adresą, su kuriuo nori bendrauti, kartu su informacija, ar jis nori skaityti, ar rašyti duomenis. Po duomenų perdavimo valdiklis siunčia pabaigos sąlygą, nurodydamas, kad baigė. Po to kitas įrenginys gali tapti valdikliu ir siųsti arba gauti duomenis.
Norint siųsti duomenis, vienas įrenginys išduoda pradžios sąlygą, nurodydamas, kad yra pasiruošęs siųsti duomenis. Tada jis tampa valdikliu. Valdiklis siunčia įrenginio adresą, su kuriuo nori bendrauti, kartu su informacija, ar jis nori skaityti, ar rašyti duomenis. Po duomenų perdavimo valdiklis siunčia pabaigos sąlygą, nurodydamas, kad baigė. Po to kitas įrenginys gali tapti valdikliu ir siųsti arba gauti duomenis.


* W - šlapio dirvožemio svoris
* W - šlapio dirvožemio svoris
* W - sauso dirvožemio svoris
* W - sauso dirvožemio svoris
Pavyzdžiui, tarkime, turite dirvožemio mėginį, kuris sveria 212 g šlapias ir 197 g sausas.
Pavyzdžiui, tarkime, turite dirvožemio mėginį, kuris sveria 212 g šlapias ir 197 g sausas.
> Sketchnote sukūrė [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
> Sketchnote sukūrė [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
@ -32,7 +32,7 @@ IoT įrenginiai naudoja mažą įtampą. Nors to pakanka jutikliams ir mažos ga
Sprendimas yra prijungti siurblį prie išorinio maitinimo šaltinio ir naudoti aktuatorių, kad įjungtumėte siurblį, panašiai kaip įjungtumėte šviesą. Jūsų pirštui reikia labai mažai energijos (kūno energijos forma), kad perjungtumėte jungiklį, ir tai sujungia šviesą su elektros tinklu, veikiančiu 110V/240V.
Sprendimas yra prijungti siurblį prie išorinio maitinimo šaltinio ir naudoti aktuatorių, kad įjungtumėte siurblį, panašiai kaip įjungtumėte šviesą. Jūsų pirštui reikia labai mažai energijos (kūno energijos forma), kad perjungtumėte jungiklį, ir tai sujungia šviesą su elektros tinklu, veikiančiu 110V/240V.
> 🎓 [Elektros tinklas](https://wikipedia.org/wiki/Mains_electricity) reiškia elektrą, tiekiamą namams ir verslui per nacionalinę infrastruktūrą daugelyje pasaulio vietų.
> 🎓 [Elektros tinklas](https://wikipedia.org/wiki/Mains_electricity) reiškia elektrą, tiekiamą namams ir verslui per nacionalinę infrastruktūrą daugelyje pasaulio vietų.
@ -72,7 +72,7 @@ Kai svirtis juda, paprastai galite girdėti, kaip ji kontaktuoja su elektromagne
Elektromagnetui nereikia daug energijos, kad aktyvuotų ir trauktų svirtį, jis gali būti valdomas naudojant 3.3V arba 5V iš IoT kūrimo rinkinio. Išvesties grandinė gali perduoti daug daugiau energijos, priklausomai nuo relės, įskaitant elektros tinklo įtampą ar net didesnės galios lygius pramoniniam naudojimui. Tokiu būdu IoT kūrimo rinkinys gali valdyti drėkinimo sistemą – nuo mažo siurblio vienam augalui iki didžiulės pramoninės sistemos visam komerciniam ūkiui.
Elektromagnetui nereikia daug energijos, kad aktyvuotų ir trauktų svirtį, jis gali būti valdomas naudojant 3.3V arba 5V iš IoT kūrimo rinkinio. Išvesties grandinė gali perduoti daug daugiau energijos, priklausomai nuo relės, įskaitant elektros tinklo įtampą ar net didesnės galios lygius pramoniniam naudojimui. Tokiu būdu IoT kūrimo rinkinys gali valdyti drėkinimo sistemą – nuo mažo siurblio vienam augalui iki didžiulės pramoninės sistemos visam komerciniam ūkiui.


Paveikslėlyje aukščiau parodyta Grove relė. Valdymo grandinė jungiasi prie IoT įrenginio ir įjungia arba išjungia relę naudojant 3.3V arba 5V. Išvesties grandinė turi du terminalus, bet kuris iš jų gali būti maitinimas arba žemė. Išvesties grandinė gali valdyti iki 250V ir 10A, pakankamai įvairiems elektros tinklo įrenginiams. Galite gauti relės, kurios gali valdyti dar didesnės galios lygius.
Paveikslėlyje aukščiau parodyta Grove relė. Valdymo grandinė jungiasi prie IoT įrenginio ir įjungia arba išjungia relę naudojant 3.3V arba 5V. Išvesties grandinė turi du terminalus, bet kuris iš jų gali būti maitinimas arba žemė. Išvesties grandinė gali valdyti iki 250V ir 10A, pakankamai įvairiems elektros tinklo įrenginiams. Galite gauti relės, kurios gali valdyti dar didesnės galios lygius.
1. Įkiškite vieną Grove kabelio galą į relės lizdą. Jis įsistatys tik viena kryptimi.
1. Įkiškite vieną Grove kabelio galą į relės lizdą. Jis įsistatys tik viena kryptimi.
1. Išjungus Raspberry Pi, prijunkite kitą Grove kabelio galą prie skaitmeninio lizdo, pažymėto **D5**, esančio ant Grove Base Hat, prijungto prie Pi. Šis lizdas yra antras iš kairės, eilėje šalia GPIO kaiščių. Palikite dirvožemio drėgmės jutiklį prijungtą prie **A0** lizdo.
1. Išjungus Raspberry Pi, prijunkite kitą Grove kabelio galą prie skaitmeninio lizdo, pažymėto **D5**, esančio ant Grove Base Hat, prijungto prie Pi. Šis lizdas yra antras iš kairės, eilėje šalia GPIO kaiščių. Palikite dirvožemio drėgmės jutiklį prijungtą prie **A0** lizdo.


1. Įkiškite dirvožemio drėgmės jutiklį į dirvą, jei jis dar nėra įkištas iš ankstesnės pamokos.
1. Įkiškite dirvožemio drėgmės jutiklį į dirvą, jei jis dar nėra įkištas iš ankstesnės pamokos.
> Piešinys sukurtas [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
> Piešinys sukurtas [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
@ -46,8 +46,8 @@ Tai galėjo būti labai brangu, reikalauti įvairių kvalifikuotų darbuotojų i
Debesis dažnai juokais vadinamas „kito žmogaus kompiuteriu“. Pradinė idėja buvo paprasta – vietoj kompiuterių pirkimo, jūs nuomojate kito žmogaus kompiuterį. Kitas žmogus, debesų kompiuterijos teikėjas, valdytų didžiulius duomenų centrus. Jie būtų atsakingi už aparatinės įrangos pirkimą ir diegimą, energijos ir aušinimo valdymą, tinklų kūrimą, pastato saugumą, aparatinės ir programinės įrangos atnaujinimus – viską. Kaip klientas, jūs nuomotumėte kompiuterius, kurių jums reikia, nuomodami daugiau, kai paklausa didėja, ir mažindami nuomą, kai paklausa mažėja. Šie debesų duomenų centrai yra visame pasaulyje.
Debesis dažnai juokais vadinamas „kito žmogaus kompiuteriu“. Pradinė idėja buvo paprasta – vietoj kompiuterių pirkimo, jūs nuomojate kito žmogaus kompiuterį. Kitas žmogus, debesų kompiuterijos teikėjas, valdytų didžiulius duomenų centrus. Jie būtų atsakingi už aparatinės įrangos pirkimą ir diegimą, energijos ir aušinimo valdymą, tinklų kūrimą, pastato saugumą, aparatinės ir programinės įrangos atnaujinimus – viską. Kaip klientas, jūs nuomotumėte kompiuterius, kurių jums reikia, nuomodami daugiau, kai paklausa didėja, ir mažindami nuomą, kai paklausa mažėja. Šie debesų duomenų centrai yra visame pasaulyje.




Šie duomenų centrai gali būti kelių kvadratinių kilometrų dydžio. Aukščiau pateiktos nuotraukos buvo padarytos prieš keletą metų Microsoft debesų duomenų centre ir rodo pradinį dydį bei planuojamą plėtrą. Plėtrai išvalyta teritorija yra daugiau nei 5 kvadratinių kilometrų.
Šie duomenų centrai gali būti kelių kvadratinių kilometrų dydžio. Aukščiau pateiktos nuotraukos buvo padarytos prieš keletą metų Microsoft debesų duomenų centre ir rodo pradinį dydį bei planuojamą plėtrą. Plėtrai išvalyta teritorija yra daugiau nei 5 kvadratinių kilometrų.
@ -108,11 +108,11 @@ IoT paslaugos debesyje išsprendžia šias problemas. Jas prižiūri dideli debe
IoT įrenginiai prisijungia prie debesų paslaugos naudodami įrenginio SDK (biblioteką, kuri teikia kodą darbui su paslaugos funkcijomis) arba tiesiogiai per komunikacijos protokolą, pvz., MQTT arba HTTP. Įrenginio SDK paprastai yra lengviausias kelias, nes jis viską tvarko už jus, pvz., žino, kokias temas publikuoti ar prenumeruoti, ir kaip tvarkyti saugumą.
IoT įrenginiai prisijungia prie debesų paslaugos naudodami įrenginio SDK (biblioteką, kuri teikia kodą darbui su paslaugos funkcijomis) arba tiesiogiai per komunikacijos protokolą, pvz., MQTT arba HTTP. Įrenginio SDK paprastai yra lengviausias kelias, nes jis viską tvarko už jus, pvz., žino, kokias temas publikuoti ar prenumeruoti, ir kaip tvarkyti saugumą.


Jūsų įrenginys tada bendrauja su kitomis jūsų programos dalimis per šią paslaugą – panašiai kaip jūs siuntėte telemetriją ir gavote komandas per MQTT. Tai paprastai vyksta naudojant paslaugos SDK arba panašią biblioteką. Pranešimai ateina iš jūsų įrenginio į paslaugą, kur kiti jūsų programos komponentai gali juos perskaityti, o pranešimai gali būti siunčiami atgal į jūsų įrenginį.
Jūsų įrenginys tada bendrauja su kitomis jūsų programos dalimis per šią paslaugą – panašiai kaip jūs siuntėte telemetriją ir gavote komandas per MQTT. Tai paprastai vyksta naudojant paslaugos SDK arba panašią biblioteką. Pranešimai ateina iš jūsų įrenginio į paslaugą, kur kiti jūsų programos komponentai gali juos perskaityti, o pranešimai gali būti siunčiami atgal į jūsų įrenginį.


Šios paslaugos įgyvendina saugumą, žinodamos apie visus įrenginius, kurie gali prisijungti ir siųsti duomenis, arba turėdamos iš anksto registruotus įrenginius, arba suteikdamos įrenginiams slaptus raktus ar sertifikatus, kuriuos jie gali naudoti registruodamiesi paslaugoje pirmą kartą prisijungdami. Nežinomi įrenginiai negali prisijungti – jei jie bando, paslauga atmeta prisijungimą ir ignoruoja jų siunčiamus pranešimus.
Šios paslaugos įgyvendina saugumą, žinodamos apie visus įrenginius, kurie gali prisijungti ir siųsti duomenis, arba turėdamos iš anksto registruotus įrenginius, arba suteikdamos įrenginiams slaptus raktus ar sertifikatus, kuriuos jie gali naudoti registruodamiesi paslaugoje pirmą kartą prisijungdami. Nežinomi įrenginiai negali prisijungti – jei jie bando, paslauga atmeta prisijungimą ir ignoruoja jų siunčiamus pranešimus.
@ -124,7 +124,7 @@ Kiti jūsų programos komponentai gali prisijungti prie IoT paslaugos ir sužino
Dabar, kai turite „Azure“ prenumeratą, galite užsiregistruoti IoT paslaugai. „Microsoft“ IoT paslauga vadinama „Azure IoT Hub“.
Dabar, kai turite „Azure“ prenumeratą, galite užsiregistruoti IoT paslaugai. „Microsoft“ IoT paslauga vadinama „Azure IoT Hub“.
> Piešinys sukurtas [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
> Piešinys sukurtas [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
@ -28,7 +28,7 @@ Praeitoje pamokoje išmokote, kaip prijungti savo augalų dirvožemio drėgmės
Serverless, arba serverless kompiuterija, apima mažų kodo blokų kūrimą, kurie vykdomi debesyje reaguojant į įvairius įvykius. Kai įvykis įvyksta, jūsų kodas vykdomas ir jam perduodami duomenys apie įvykį. Šie įvykiai gali būti įvairūs, įskaitant interneto užklausas, pranešimus eilėje, duomenų pokyčius duomenų bazėje ar pranešimus, kuriuos IoT įrenginiai siunčia IoT paslaugai.
Serverless, arba serverless kompiuterija, apima mažų kodo blokų kūrimą, kurie vykdomi debesyje reaguojant į įvairius įvykius. Kai įvykis įvyksta, jūsų kodas vykdomas ir jam perduodami duomenys apie įvykį. Šie įvykiai gali būti įvairūs, įskaitant interneto užklausas, pranešimus eilėje, duomenų pokyčius duomenų bazėje ar pranešimus, kuriuos IoT įrenginiai siunčia IoT paslaugai.


> 💁 Jei anksčiau naudojote duomenų bazės paleidiklius, galite tai laikyti panašiu dalyku – kodas paleidžiamas įvykus įvykiui, pvz., įterpiant eilutę.
> 💁 Jei anksčiau naudojote duomenų bazės paleidiklius, galite tai laikyti panašiu dalyku – kodas paleidžiamas įvykus įvykiui, pvz., įterpiant eilutę.
@ -54,7 +54,7 @@ Kaip IoT kūrėjas, serverless modelis yra idealus. Galite parašyti funkciją,
Microsoft serverless kompiuterijos paslauga vadinama Azure Functions.
Microsoft serverless kompiuterijos paslauga vadinama Azure Functions.
> Eskizų užrašai: [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
> Eskizų užrašai: [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
@ -52,11 +52,11 @@ Tai yra realūs scenarijai, kurie vyksta nuolat. Kai kurie pavyzdžiai buvo pate
Kai įrenginys jungiasi prie IoT paslaugos, jis naudoja ID, kad save identifikuotų. Problema ta, kad šį ID galima nukopijuoti – įsilaužėlis galėtų nustatyti kenkėjišką įrenginį, kuris naudoja tą patį ID kaip ir tikras įrenginys, bet siunčia neteisingus duomenis.
Kai įrenginys jungiasi prie IoT paslaugos, jis naudoja ID, kad save identifikuotų. Problema ta, kad šį ID galima nukopijuoti – įsilaužėlis galėtų nustatyti kenkėjišką įrenginį, kuris naudoja tą patį ID kaip ir tikras įrenginys, bet siunčia neteisingus duomenis.


Sprendimas yra paversti siunčiamus duomenis užkoduotu formatu, naudojant tam tikrą vertę, žinomą tik įrenginiui ir debesijai. Šis procesas vadinamas *šifravimu*, o vertė, naudojama duomenims užšifruoti, vadinama *šifravimo raktu*.
Sprendimas yra paversti siunčiamus duomenis užkoduotu formatu, naudojant tam tikrą vertę, žinomą tik įrenginiui ir debesijai. Šis procesas vadinamas *šifravimu*, o vertė, naudojama duomenims užšifruoti, vadinama *šifravimo raktu*.


Debesijos paslauga gali tada konvertuoti duomenis atgal į skaitomą formatą, naudodama procesą, vadinamą *iššifravimu*, naudodama tą patį šifravimo raktą arba *iššifravimo raktą*. Jei užšifruoto pranešimo negalima iššifruoti naudojant raktą, įrenginys buvo nulaužtas, ir pranešimas atmetamas.
Debesijos paslauga gali tada konvertuoti duomenis atgal į skaitomą formatą, naudodama procesą, vadinamą *iššifravimu*, naudodama tą patį šifravimo raktą arba *iššifravimo raktą*. Jei užšifruoto pranešimo negalima iššifruoti naudojant raktą, įrenginys buvo nulaužtas, ir pranešimas atmetamas.
> Eskizų užrašai: [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
> Eskizų užrašai: [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
@ -63,13 +63,13 @@ Geografinės koordinatės naudojamos taškams Žemės paviršiuje apibrėžti, p
> 💁 Niekas tiksliai nežino, kodėl apskritimai padalijami į 360 laipsnių. [Laipsnio (kampo) puslapis Vikipedijoje](https://wikipedia.org/wiki/Degree_(angle)) aptaria galimas priežastis.
> 💁 Niekas tiksliai nežino, kodėl apskritimai padalijami į 360 laipsnių. [Laipsnio (kampo) puslapis Vikipedijoje](https://wikipedia.org/wiki/Degree_(angle)) aptaria galimas priežastis.


Platuma matuojama naudojant linijas, kurios apsupa Žemę ir eina lygiagrečiai pusiaujo, padalijant Šiaurės ir Pietų pusrutulius į po 90°. Pusiaujo platuma yra 0°, Šiaurės ašigalis yra 90°, dar vadinamas 90° šiaurės, o Pietų ašigalis yra -90°, arba 90° pietų.
Platuma matuojama naudojant linijas, kurios apsupa Žemę ir eina lygiagrečiai pusiaujo, padalijant Šiaurės ir Pietų pusrutulius į po 90°. Pusiaujo platuma yra 0°, Šiaurės ašigalis yra 90°, dar vadinamas 90° šiaurės, o Pietų ašigalis yra -90°, arba 90° pietų.
Ilguma matuojama kaip laipsnių skaičius į rytus ir vakarus. 0° ilgumos pradžia vadinama *Pagrindiniu meridianu*, kuris 1884 m. buvo apibrėžtas kaip linija nuo Šiaurės iki Pietų ašigalio, einanti per [Britų karališkąją observatoriją Grinviče, Anglijoje](https://wikipedia.org/wiki/Royal_Observatory,_Greenwich).
Ilguma matuojama kaip laipsnių skaičius į rytus ir vakarus. 0° ilgumos pradžia vadinama *Pagrindiniu meridianu*, kuris 1884 m. buvo apibrėžtas kaip linija nuo Šiaurės iki Pietų ašigalio, einanti per [Britų karališkąją observatoriją Grinviče, Anglijoje](https://wikipedia.org/wiki/Royal_Observatory,_Greenwich).


> 🎓 Meridianas yra įsivaizduojama tiesi linija, einanti nuo Šiaurės ašigalio iki Pietų ašigalio, sudaranti puslankį.
> 🎓 Meridianas yra įsivaizduojama tiesi linija, einanti nuo Šiaurės ašigalio iki Pietų ašigalio, sudaranti puslankį.
@ -100,7 +100,7 @@ Taško koordinatės visada pateikiamos kaip `platuma, ilguma`, todėl ankstesnia
* Platuma: 47.6423109 (47.6423109 laipsnio į šiaurę nuo pusiaujo)
* Platuma: 47.6423109 (47.6423109 laipsnio į šiaurę nuo pusiaujo)
* Ilguma: -122.1390293 (122.1390293 laipsnio į vakarus nuo Pagrindinio meridiano).
* Ilguma: -122.1390293 (122.1390293 laipsnio į vakarus nuo Pagrindinio meridiano).
@ -112,7 +112,7 @@ GPS sistemos veikia taip, kad keli palydovai siunčia signalą su kiekvieno paly
> 💁 GPS jutikliams reikia antenų, kad aptiktų radijo bangas. Antenos, įmontuotos sunkvežimiuose ir automobiliuose su įmontuotu GPS, yra išdėstytos taip, kad gautų gerą signalą, paprastai ant priekinio stiklo arba stogo. Jei naudojate atskirą GPS sistemą, pavyzdžiui, išmanųjį telefoną ar IoT įrenginį, turite užtikrinti, kad GPS sistemoje ar telefone įmontuota antena turėtų aiškų vaizdą į dangų, pavyzdžiui, būtų pritvirtinta prie priekinio stiklo.
> 💁 GPS jutikliams reikia antenų, kad aptiktų radijo bangas. Antenos, įmontuotos sunkvežimiuose ir automobiliuose su įmontuotu GPS, yra išdėstytos taip, kad gautų gerą signalą, paprastai ant priekinio stiklo arba stogo. Jei naudojate atskirą GPS sistemą, pavyzdžiui, išmanųjį telefoną ar IoT įrenginį, turite užtikrinti, kad GPS sistemoje ar telefone įmontuota antena turėtų aiškų vaizdą į dangų, pavyzdžiui, būtų pritvirtinta prie priekinio stiklo.


GPS palydovai skrieja aplink Žemę, nėra fiksuotoje vietoje virš jutiklio, todėl vietos duomenys apima aukštį virš jūros lygio, taip pat platumą ir ilgumą.
GPS palydovai skrieja aplink Žemę, nėra fiksuotoje vietoje virš jutiklio, todėl vietos duomenys apima aukštį virš jūros lygio, taip pat platumą ir ilgumą.
1. Įstatykite vieną Grove kabelio galą į GPS jutiklio lizdą. Kabelis įsistatys tik viena kryptimi.
1. Įstatykite vieną Grove kabelio galą į GPS jutiklio lizdą. Kabelis įsistatys tik viena kryptimi.
1. Išjungę Raspberry Pi, prijunkite kitą Grove kabelio galą prie UART lizdo, pažymėto **UART**, esančio Grove Base hat, prijungto prie Pi. Šis lizdas yra vidurinėje eilėje, šalia SD kortelės lizdo, priešingoje pusėje nei USB prievadai ir eterneto lizdas.
1. Išjungę Raspberry Pi, prijunkite kitą Grove kabelio galą prie UART lizdo, pažymėto **UART**, esančio Grove Base hat, prijungto prie Pi. Šis lizdas yra vidurinėje eilėje, šalia SD kortelės lizdo, priešingoje pusėje nei USB prievadai ir eterneto lizdas.


1. Padėkite GPS jutiklį taip, kad prijungta antena turėtų matomumą į dangų – idealiai šalia atviro lango arba lauke. Antenai lengviau gauti aiškų signalą, kai niekas netrukdo.
1. Padėkite GPS jutiklį taip, kad prijungta antena turėtų matomumą į dangų – idealiai šalia atviro lango arba lauke. Antenai lengviau gauti aiškų signalą, kai niekas netrukdo.
* Nustatykite **Source** kaip `Lat/Lon` ir įveskite konkrečią platumą, ilgumą bei palydovų skaičių, naudojamą GPS fiksavimui. Ši reikšmė bus siunčiama tik vieną kartą, todėl pažymėkite **Repeat**, kad duomenys būtų kartojami kas sekundę.
* Nustatykite **Source** kaip `Lat/Lon` ir įveskite konkrečią platumą, ilgumą bei palydovų skaičių, naudojamą GPS fiksavimui. Ši reikšmė bus siunčiama tik vieną kartą, todėl pažymėkite **Repeat**, kad duomenys būtų kartojami kas sekundę.


* Nustatykite **Source** kaip `NMEA` ir pridėkite keletą NMEA eilučių į teksto laukelį. Visos šios reikšmės bus siunčiamos, su 1 sekundės pertrauka prieš kiekvieną naują GGA (vietos fiksavimo) eilutę.
* Nustatykite **Source** kaip `NMEA` ir pridėkite keletą NMEA eilučių į teksto laukelį. Visos šios reikšmės bus siunčiamos, su 1 sekundės pertrauka prieš kiekvieną naują GGA (vietos fiksavimo) eilutę.


Galite naudoti tokius įrankius kaip [nmeagen.org](https://www.nmeagen.org), kad sugeneruotumėte šias eilutes, piešdami žemėlapyje. Šios reikšmės bus siunčiamos tik vieną kartą, todėl pažymėkite **Repeat**, kad duomenys būtų kartojami kas sekundę po to, kai viskas bus išsiųsta.
Galite naudoti tokius įrankius kaip [nmeagen.org](https://www.nmeagen.org), kad sugeneruotumėte šias eilutes, piešdami žemėlapyje. Šios reikšmės bus siunčiamos tik vieną kartą, todėl pažymėkite **Repeat**, kad duomenys būtų kartojami kas sekundę po to, kai viskas bus išsiųsta.
* Nustatykite **Source** kaip GPX failą ir įkelkite GPX failą su maršruto vietomis. GPX failus galite atsisiųsti iš daugelio populiarių žemėlapių ir žygių svetainių, tokių kaip [AllTrails](https://www.alltrails.com/). Šie failai turi kelias GPS vietas kaip maršrutą, o GPS jutiklis grąžins kiekvieną naują vietą kas 1 sekundę.
* Nustatykite **Source** kaip GPX failą ir įkelkite GPX failą su maršruto vietomis. GPX failus galite atsisiųsti iš daugelio populiarių žemėlapių ir žygių svetainių, tokių kaip [AllTrails](https://www.alltrails.com/). Šie failai turi kelias GPS vietas kaip maršrutą, o GPS jutiklis grąžins kiekvieną naują vietą kas 1 sekundę.


Šios reikšmės bus siunčiamos tik vieną kartą, todėl pažymėkite **Repeat**, kad duomenys būtų kartojami kas sekundę po to, kai viskas bus išsiųsta.
Šios reikšmės bus siunčiamos tik vieną kartą, todėl pažymėkite **Repeat**, kad duomenys būtų kartojami kas sekundę po to, kai viskas bus išsiųsta.
> Eskizą sukūrė [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
> Eskizą sukūrė [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
@ -75,7 +75,7 @@ NoSQL duomenų bazės vadinamos NoSQL, nes jos neturi tokios griežtos struktūr
> 💁 Nepaisant jų pavadinimo, kai kurios NoSQL duomenų bazės leidžia naudoti SQL užklausoms vykdyti.
> 💁 Nepaisant jų pavadinimo, kai kurios NoSQL duomenų bazės leidžia naudoti SQL užklausoms vykdyti.


NoSQL duomenų bazės neturi iš anksto apibrėžtos schemos, kuri ribotų, kaip duomenys saugomi. Vietoj to, galite įterpti bet kokius nestruktūrizuotus duomenis, paprastai naudojant JSON dokumentus. Šie dokumentai gali būti organizuojami į aplankus, panašiai kaip failai jūsų kompiuteryje. Kiekvienas dokumentas gali turėti skirtingus laukus nei kiti dokumentai – pavyzdžiui, jei saugote IoT duomenis iš savo ūkio transporto priemonių, kai kurie gali turėti laukus akselerometro ir greičio duomenims, kiti – priekabos temperatūros duomenims. Jei pridėtumėte naujo tipo sunkvežimį, pavyzdžiui, su įmontuotomis svarstyklėmis, skirtomis stebėti vežamo krovinio svorį, jūsų IoT įrenginys galėtų pridėti šį naują lauką, ir jis būtų saugomas be jokių pakeitimų duomenų bazėje.
NoSQL duomenų bazės neturi iš anksto apibrėžtos schemos, kuri ribotų, kaip duomenys saugomi. Vietoj to, galite įterpti bet kokius nestruktūrizuotus duomenis, paprastai naudojant JSON dokumentus. Šie dokumentai gali būti organizuojami į aplankus, panašiai kaip failai jūsų kompiuteryje. Kiekvienas dokumentas gali turėti skirtingus laukus nei kiti dokumentai – pavyzdžiui, jei saugote IoT duomenis iš savo ūkio transporto priemonių, kai kurie gali turėti laukus akselerometro ir greičio duomenims, kiti – priekabos temperatūros duomenims. Jei pridėtumėte naujo tipo sunkvežimį, pavyzdžiui, su įmontuotomis svarstyklėmis, skirtomis stebėti vežamo krovinio svorį, jūsų IoT įrenginys galėtų pridėti šį naują lauką, ir jis būtų saugomas be jokių pakeitimų duomenų bazėje.
@ -89,7 +89,7 @@ Kai kurios gerai žinomos NoSQL duomenų bazės yra Azure CosmosDB, MongoDB ir C
Praėjusioje pamokoje fiksavote GPS duomenis iš GPS jutiklio, prijungto prie jūsų IoT įrenginio. Norėdami saugoti šiuos IoT duomenis debesyje, turite juos siųsti į IoT paslaugą. Vėl naudosite Azure IoT Hub – tą pačią IoT debesijos paslaugą, kurią naudojote ankstesniame projekte.
Praėjusioje pamokoje fiksavote GPS duomenis iš GPS jutiklio, prijungto prie jūsų IoT įrenginio. Norėdami saugoti šiuos IoT duomenis debesyje, turite juos siųsti į IoT paslaugą. Vėl naudosite Azure IoT Hub – tą pačią IoT debesijos paslaugą, kurią naudojote ankstesniame projekte.


### Užduotis – GPS duomenų siuntimas į IoT Hub
### Užduotis – GPS duomenų siuntimas į IoT Hub
@ -187,7 +187,7 @@ Kai duomenys pasiekia jūsų IoT Hub, galite parašyti serverless kodą, kuris k
Azure saugyklos paskyros yra universali saugyklos paslauga, kuri gali saugoti duomenis įvairiais būdais. Duomenis galite saugoti kaip blobus, eilėse, lentelėse arba failuose, ir visa tai vienu metu.
Azure saugyklos paskyros yra universali saugyklos paslauga, kuri gali saugoti duomenis įvairiais būdais. Duomenis galite saugoti kaip blobus, eilėse, lentelėse arba failuose, ir visa tai vienu metu.
Žmogui suprasti šiuos duomenis gali būti sunku. Tai tiesiog skaičių siena be jokios prasmės. Pirmasis žingsnis vizualizuojant šiuos duomenis – juos pavaizduoti linijiniame grafike:
Žmogui suprasti šiuos duomenis gali būti sunku. Tai tiesiog skaičių siena be jokios prasmės. Pirmasis žingsnis vizualizuojant šiuos duomenis – juos pavaizduoti linijiniame grafike:


Šį grafiką galima dar labiau patobulinti, pridedant liniją, kuri nurodo, kada automatinė laistymo sistema buvo įjungta esant dirvožemio drėgmės rodmeniui 450:
Šį grafiką galima dar labiau patobulinti, pridedant liniją, kuri nurodo, kada automatinė laistymo sistema buvo įjungta esant dirvožemio drėgmės rodmeniui 450:


Šis grafikas greitai parodo ne tik dirvožemio drėgmės lygius, bet ir taškus, kuriuose buvo įjungta laistymo sistema.
Šis grafikas greitai parodo ne tik dirvožemio drėgmės lygius, bet ir taškus, kuriuose buvo įjungta laistymo sistema.
@ -84,7 +84,7 @@ Dirbant su GPS duomenimis, aiškiausia vizualizacija gali būti duomenų pateiki
Darbas su žemėlapiais yra įdomus uždavinys, ir yra daug pasirinkimų, tokių kaip „Bing Maps“, „Leaflet“, „Open Street Maps“ ir „Google Maps“. Šioje pamokoje sužinosite apie [Azure Maps](https://azure.microsoft.com/services/azure-maps/?WT.mc_id=academic-17441-jabenn) ir kaip jie gali rodyti jūsų GPS duomenis.
Darbas su žemėlapiais yra įdomus uždavinys, ir yra daug pasirinkimų, tokių kaip „Bing Maps“, „Leaflet“, „Open Street Maps“ ir „Google Maps“. Šioje pamokoje sužinosite apie [Azure Maps](https://azure.microsoft.com/services/azure-maps/?WT.mc_id=academic-17441-jabenn) ir kaip jie gali rodyti jūsų GPS duomenis.
„Azure Maps“ yra „geografinės informacijos paslaugų ir SDK rinkinys, naudojantis naujausius žemėlapių duomenis, kad suteiktų geografinį kontekstą žiniatinklio ir mobiliųjų programų kūrimui.“ Kūrėjams suteikiami įrankiai kurti gražius, interaktyvius žemėlapius, kurie gali atlikti tokius veiksmus kaip rekomenduoti eismo maršrutus, teikti informaciją apie eismo įvykius, vidaus navigaciją, paieškos galimybes, aukščio informaciją, orų paslaugas ir dar daugiau.
„Azure Maps“ yra „geografinės informacijos paslaugų ir SDK rinkinys, naudojantis naujausius žemėlapių duomenis, kad suteiktų geografinį kontekstą žiniatinklio ir mobiliųjų programų kūrimui.“ Kūrėjams suteikiami įrankiai kurti gražius, interaktyvius žemėlapius, kurie gali atlikti tokius veiksmus kaip rekomenduoti eismo maršrutus, teikti informaciją apie eismo įvykius, vidaus navigaciją, paieškos galimybes, aukščio informaciją, orų paslaugas ir dar daugiau.
@ -185,7 +185,7 @@ Dabar galite pereiti prie kito žingsnio – parodyti savo žemėlapį tinklalap
Jei atidarysite savo `index.html` failą žiniatinklio naršyklėje, turėtumėte pamatyti žemėlapį, sutelktą į Sietlo sritį.
Jei atidarysite savo `index.html` failą žiniatinklio naršyklėje, turėtumėte pamatyti žemėlapį, sutelktą į Sietlo sritį.


✅ Eksperimentuokite su mastelio ir centro parametrais, kad pakeistumėte žemėlapio rodymą. Galite pridėti skirtingas koordinates, atitinkančias jūsų duomenų platumą ir ilgumą, kad pakeistumėte žemėlapio centrą.
✅ Eksperimentuokite su mastelio ir centro parametrais, kad pakeistumėte žemėlapio rodymą. Galite pridėti skirtingas koordinates, atitinkančias jūsų duomenų platumą ir ilgumą, kad pakeistumėte žemėlapio centrą.
@ -319,7 +319,7 @@ Jei bandysite gauti duomenis iš savo saugyklos, galite nustebti, pamatę klaida
1. Įkelkite HTML puslapį į savo naršyklę. Jis įkels žemėlapį, tada įkels visus GPS duomenis iš saugyklos ir atvaizduos juos žemėlapyje.
1. Įkelkite HTML puslapį į savo naršyklę. Jis įkels žemėlapį, tada įkels visus GPS duomenis iš saugyklos ir atvaizduos juos žemėlapyje.


> 💁 Šį kodą galite rasti [code](../../../../../3-transport/lessons/3-visualize-location-data/code) aplanke.
> 💁 Šį kodą galite rasti [code](../../../../../3-transport/lessons/3-visualize-location-data/code) aplanke.
> Piešinys sukurtas [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
> Piešinys sukurtas [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
@ -35,7 +35,7 @@ Per paskutines tris pamokas naudojote IoT technologijas, kad nustatytumėte sunk
Geotvora yra virtuali realaus pasaulio geografinio regiono perimetro riba. Geotvoros gali būti apskritimai, apibrėžti kaip taškas ir spindulys (pavyzdžiui, 100 m pločio apskritimas aplink pastatą), arba daugiakampiai, apimantys tokias zonas kaip mokyklos teritorija, miesto ribos ar universiteto ar biuro kompleksas.
Geotvora yra virtuali realaus pasaulio geografinio regiono perimetro riba. Geotvoros gali būti apskritimai, apibrėžti kaip taškas ir spindulys (pavyzdžiui, 100 m pločio apskritimas aplink pastatą), arba daugiakampiai, apimantys tokias zonas kaip mokyklos teritorija, miesto ribos ar universiteto ar biuro kompleksas.


> 💁 Galbūt jau naudojote geotvoras, to nežinodami. Jei naudojote iOS priminimų programėlę ar Google Keep, kad nustatytumėte priminimą pagal vietą, jūs naudojote geotvorą. Šios programėlės nustato geotvorą pagal nurodytą vietą ir praneša, kai jūsų telefonas patenka į geotvorą.
> 💁 Galbūt jau naudojote geotvoras, to nežinodami. Jei naudojote iOS priminimų programėlę ar Google Keep, kad nustatytumėte priminimą pagal vietą, jūs naudojote geotvorą. Šios programėlės nustato geotvorą pagal nurodytą vietą ir praneša, kai jūsų telefonas patenka į geotvorą.
@ -284,7 +284,7 @@ Kaip prisimenate iš ankstesnių pamokų, IoT Hub leidžia atkurti įvykius, kur
Atsakymas – jis negali! Vietoj to galite apibrėžti kelis atskirus ryšius, kad skaitytumėte įvykius, ir kiekvienas iš jų gali valdyti neperskaitytų pranešimų atkūrimą. Tai vadinama *vartotojų grupėmis*. Kai prisijungiate prie galinio taško, galite nurodyti, prie kurios vartotojų grupės norite prisijungti. Kiekvienas jūsų programos komponentas prisijungs prie skirtingos vartotojų grupės.
Atsakymas – jis negali! Vietoj to galite apibrėžti kelis atskirus ryšius, kad skaitytumėte įvykius, ir kiekvienas iš jų gali valdyti neperskaitytų pranešimų atkūrimą. Tai vadinama *vartotojų grupėmis*. Kai prisijungiate prie galinio taško, galite nurodyti, prie kurios vartotojų grupės norite prisijungti. Kiekvienas jūsų programos komponentas prisijungs prie skirtingos vartotojų grupės.


Teoriškai prie kiekvienos vartotojų grupės gali prisijungti iki 5 programų, ir jos visos gaus pranešimus, kai jie atvyks. Geriausia praktika yra leisti tik vienai programai pasiekti kiekvieną vartotojų grupę, kad būtų išvengta pranešimų dubliavimo ir užtikrinta, kad paleidus iš naujo visi eilėje esantys pranešimai būtų tinkamai apdoroti. Pavyzdžiui, jei paleistumėte savo „Functions“ programą vietoje ir debesyje vienu metu, abi apdorotų pranešimus, todėl saugykloje būtų saugomi dubliuoti blobai.
Teoriškai prie kiekvienos vartotojų grupės gali prisijungti iki 5 programų, ir jos visos gaus pranešimus, kai jie atvyks. Geriausia praktika yra leisti tik vienai programai pasiekti kiekvieną vartotojų grupę, kad būtų išvengta pranešimų dubliavimo ir užtikrinta, kad paleidus iš naujo visi eilėje esantys pranešimai būtų tinkamai apdoroti. Pavyzdžiui, jei paleistumėte savo „Functions“ programą vietoje ir debesyje vienu metu, abi apdorotų pranešimus, todėl saugykloje būtų saugomi dubliuoti blobai.
> Piešinys sukurtas [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
> Piešinys sukurtas [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
@ -38,7 +38,7 @@ Ne visi augalai sunoksta vienodai. Pavyzdžiui, pomidorai gali turėti dar žali
Automatizuotas derliaus nuėmimas perkėlė maisto rūšiavimą iš lauko į fabriką. Maistas keliaudavo ilgais konvejeriais, o žmonių komandos rankomis pašalindavo viską, kas neatitiko kokybės standartų. Derliaus nuėmimas tapo pigesnis dėl technikos, tačiau maisto rūšiavimas rankomis vis dar kainavo.
Automatizuotas derliaus nuėmimas perkėlė maisto rūšiavimą iš lauko į fabriką. Maistas keliaudavo ilgais konvejeriais, o žmonių komandos rankomis pašalindavo viską, kas neatitiko kokybės standartų. Derliaus nuėmimas tapo pigesnis dėl technikos, tačiau maisto rūšiavimas rankomis vis dar kainavo.


Kitas evoliucijos etapas buvo mašinų naudojimas rūšiavimui, įmontuotų į derliaus nuėmimo techniką arba naudojamų perdirbimo gamyklose. Pirmosios šių mašinų kartos naudojo optinius jutiklius spalvoms aptikti, valdančius svirtis ar oro pūtimo įrenginius, kad žali pomidorai būtų pašalinti į atliekų dėžę, o raudoni pomidorai tęstų kelionę konvejeriais.
Kitas evoliucijos etapas buvo mašinų naudojimas rūšiavimui, įmontuotų į derliaus nuėmimo techniką arba naudojamų perdirbimo gamyklose. Pirmosios šių mašinų kartos naudojo optinius jutiklius spalvoms aptikti, valdančius svirtis ar oro pūtimo įrenginius, kad žali pomidorai būtų pašalinti į atliekų dėžę, o raudoni pomidorai tęstų kelionę konvejeriais.
@ -62,7 +62,7 @@ Pavyzdžiui, galite pateikti modeliui milijonus neprinokusių bananų nuotraukų
> 🎓 MM modelių rezultatai vadinami *prognozėmis*
> 🎓 MM modelių rezultatai vadinami *prognozėmis*


MM modeliai nepateikia binarinio atsakymo, o pateikia tikimybes. Pavyzdžiui, modelis gali gauti banano nuotrauką ir prognozuoti `prinokęs` su 99,7% tikimybe ir `neprinokęs` su 0,3% tikimybe. Jūsų kodas tada pasirinktų geriausią prognozę ir nuspręstų, kad bananas yra prinokęs.
MM modeliai nepateikia binarinio atsakymo, o pateikia tikimybes. Pavyzdžiui, modelis gali gauti banano nuotrauką ir prognozuoti `prinokęs` su 99,7% tikimybe ir `neprinokęs` su 0,3% tikimybe. Jūsų kodas tada pasirinktų geriausią prognozę ir nuspręstų, kad bananas yra prinokęs.
@ -90,7 +90,7 @@ Yra daugybė įrankių, kurie gali padėti tai padaryti, įskaitant debesų pasl
Custom Vision yra debesų įrankis, skirtas vaizdų klasifikatorių mokymui. Jis leidžia apmokyti klasifikatorių naudojant tik nedidelį nuotraukų kiekį. Galite įkelti nuotraukas per žiniatinklio portalą, API arba SDK, kiekvienai nuotraukai priskirdami *žymą*, kuri nurodo tos nuotraukos klasifikaciją. Tada galite apmokyti modelį ir išbandyti, kaip gerai jis veikia. Kai būsite patenkinti modeliu, galėsite jį publikuoti ir naudoti per žiniatinklio API arba SDK.
Custom Vision yra debesų įrankis, skirtas vaizdų klasifikatorių mokymui. Jis leidžia apmokyti klasifikatorių naudojant tik nedidelį nuotraukų kiekį. Galite įkelti nuotraukas per žiniatinklio portalą, API arba SDK, kiekvienai nuotraukai priskirdami *žymą*, kuri nurodo tos nuotraukos klasifikaciją. Tada galite apmokyti modelį ir išbandyti, kaip gerai jis veikia. Kai būsite patenkinti modeliu, galėsite jį publikuoti ir naudoti per žiniatinklio API arba SDK.
> 💁 Galite apmokyti Custom Vision modelį naudodami vos 5 nuotraukas kiekvienai klasifikacijai, tačiau daugiau nuotraukų duoda geresnius rezultatus. Geriausia turėti bent 30 nuotraukų.
> 💁 Galite apmokyti Custom Vision modelį naudodami vos 5 nuotraukas kiekvienai klasifikacijai, tačiau daugiau nuotraukų duoda geresnius rezultatus. Geriausia turėti bent 30 nuotraukų.
@ -146,7 +146,7 @@ Norėdami naudoti Custom Vision, pirmiausia turite sukurti du Cognitive Services
Kurdamas projektą, būtinai naudokite anksčiau sukurtą `fruit-quality-detector-training` išteklį. Pasirinkite *Klasifikacijos* projekto tipą, *Daugiaklasę* klasifikacijos tipą ir *Maisto* domeną.
Kurdamas projektą, būtinai naudokite anksčiau sukurtą `fruit-quality-detector-training` išteklį. Pasirinkite *Klasifikacijos* projekto tipą, *Daugiaklasę* klasifikacijos tipą ir *Maisto* domeną.


✅ Skirkite laiko susipažinti su Custom Vision sąsaja savo vaizdų klasifikatoriui.
✅ Skirkite laiko susipažinti su Custom Vision sąsaja savo vaizdų klasifikatoriui.
@ -164,7 +164,7 @@ Vaizdų klasifikatoriai veikia labai maža raiška. Pavyzdžiui, „Custom Visio
* Naudodami 2 prinokusius bananus, padarykite keletą kiekvieno nuotraukų iš skirtingų kampų, padarydami bent 7 nuotraukas (5 mokymui, 2 testavimui), bet idealiu atveju daugiau.
* Naudodami 2 prinokusius bananus, padarykite keletą kiekvieno nuotraukų iš skirtingų kampų, padarydami bent 7 nuotraukas (5 mokymui, 2 testavimui), bet idealiu atveju daugiau.


* Pakartokite tą patį procesą su 2 neprinokusiais bananais.
* Pakartokite tą patį procesą su 2 neprinokusiais bananais.
@ -174,7 +174,7 @@ Vaizdų klasifikatoriai veikia labai maža raiška. Pavyzdžiui, „Custom Visio
1. Sekite [nuotraukų įkėlimo ir žymėjimo skyrių klasifikatoriaus kūrimo greitos pradžios vadove Microsoft dokumentacijoje](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), kad įkeltumėte savo mokymo nuotraukas. Žymėkite prinokusius vaisius kaip `ripe`, o neprinokusius kaip `unripe`.
1. Sekite [nuotraukų įkėlimo ir žymėjimo skyrių klasifikatoriaus kūrimo greitos pradžios vadove Microsoft dokumentacijoje](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), kad įkeltumėte savo mokymo nuotraukas. Žymėkite prinokusius vaisius kaip `ripe`, o neprinokusius kaip `unripe`.


1. Sekite [klasifikatoriaus mokymo skyrių klasifikatoriaus kūrimo greitos pradžios vadove Microsoft dokumentacijoje](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#train-the-classifier), kad apmokytumėte vaizdų klasifikatorių naudodami savo įkeltas nuotraukas.
1. Sekite [klasifikatoriaus mokymo skyrių klasifikatoriaus kūrimo greitos pradžios vadove Microsoft dokumentacijoje](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/getting-started-build-a-classifier?WT.mc_id=academic-17441-jabenn#train-the-classifier), kad apmokytumėte vaizdų klasifikatorių naudodami savo įkeltas nuotraukas.
@ -192,7 +192,7 @@ Kai jūsų klasifikatorius bus apmokytas, galėsite jį išbandyti, pateikdami n
1. Sekite [savo modelio testavimo dokumentaciją Microsoft dokumentacijoje](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/test-your-model?WT.mc_id=academic-17441-jabenn#test-your-model), kad išbandytumėte savo vaizdų klasifikatorių. Naudokite anksčiau sukurtas testavimo nuotraukas, o ne tas, kurias naudojote mokymui.
1. Sekite [savo modelio testavimo dokumentaciją Microsoft dokumentacijoje](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/test-your-model?WT.mc_id=academic-17441-jabenn#test-your-model), kad išbandytumėte savo vaizdų klasifikatorių. Naudokite anksčiau sukurtas testavimo nuotraukas, o ne tas, kurias naudojote mokymui.


1. Išbandykite visas turimas testavimo nuotraukas ir stebėkite tikimybes.
1. Išbandykite visas turimas testavimo nuotraukas ir stebėkite tikimybes.
> Eskizą sukūrė [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
> Eskizą sukūrė [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
@ -26,7 +26,7 @@ Praeitoje pamokoje sužinojote apie vaizdų klasifikatorius ir kaip juos apmokyt
Kameros jutikliai, kaip rodo pavadinimas, yra kameros, kurias galite prijungti prie savo IoT įrenginio. Jie gali užfiksuoti statinius vaizdus arba transliuoti vaizdo įrašus. Kai kurie pateikia neapdorotus vaizdo duomenis, kiti suspaudžia juos į vaizdo failus, tokius kaip JPEG ar PNG. Paprastai kameros, kurios veikia su IoT įrenginiais, yra daug mažesnės ir žemesnės raiškos nei tos, prie kurių esate įpratę, tačiau galite įsigyti aukštos raiškos kameras, kurios prilygsta aukščiausios klasės telefonams. Taip pat galite rasti įvairių keičiamų objektyvų, kelių kamerų rinkinių, infraraudonųjų spindulių terminių kamerų ar UV kamerų.
Kameros jutikliai, kaip rodo pavadinimas, yra kameros, kurias galite prijungti prie savo IoT įrenginio. Jie gali užfiksuoti statinius vaizdus arba transliuoti vaizdo įrašus. Kai kurie pateikia neapdorotus vaizdo duomenis, kiti suspaudžia juos į vaizdo failus, tokius kaip JPEG ar PNG. Paprastai kameros, kurios veikia su IoT įrenginiais, yra daug mažesnės ir žemesnės raiškos nei tos, prie kurių esate įpratę, tačiau galite įsigyti aukštos raiškos kameras, kurios prilygsta aukščiausios klasės telefonams. Taip pat galite rasti įvairių keičiamų objektyvų, kelių kamerų rinkinių, infraraudonųjų spindulių terminių kamerų ar UV kamerų.


Dauguma kameros jutiklių naudoja vaizdo jutiklius, kuriuose kiekvienas pikselis yra fotodiodas. Objektyvas fokusuojasi į vaizdo jutiklį, o tūkstančiai ar milijonai fotodiodų aptinka šviesą, krentančią ant kiekvieno iš jų, ir įrašo tai kaip pikselių duomenis.
Dauguma kameros jutiklių naudoja vaizdo jutiklius, kuriuose kiekvienas pikselis yra fotodiodas. Objektyvas fokusuojasi į vaizdo jutiklį, o tūkstančiai ar milijonai fotodiodų aptinka šviesą, krentančią ant kiekvieno iš jų, ir įrašo tai kaip pikselių duomenis.
@ -74,7 +74,7 @@ Iteracijos publikuojamos iš Custom Vision portalo.
1. Paspauskite **Publish** mygtuką šalia iteracijos.
1. Paspauskite **Publish** mygtuką šalia iteracijos.
1. *Publish Model* dialoge nustatykite *Prediction resource* į `fruit-quality-detector-prediction` resursą, kurį sukūrėte praeitoje pamokoje. Palikite pavadinimą kaip `Iteration2` ir paspauskite **Publish** mygtuką.
1. *Publish Model* dialoge nustatykite *Prediction resource* į `fruit-quality-detector-prediction` resursą, kurį sukūrėte praeitoje pamokoje. Palikite pavadinimą kaip `Iteration2` ir paspauskite **Publish** mygtuką.
@ -88,7 +88,7 @@ Iteracijos publikuojamos iš Custom Vision portalo.
Taip pat nukopijuokite *Prediction-Key* reikšmę. Tai yra saugus raktas, kurį turite perduoti, kai kviečiate modelį. Tik programos, kurios perduoda šį raktą, gali naudoti modelį, o kitos programos bus atmestos.
Taip pat nukopijuokite *Prediction-Key* reikšmę. Tai yra saugus raktas, kurį turite perduoti, kai kviečiate modelį. Tik programos, kurios perduoda šį raktą, gali naudoti modelį, o kitos programos bus atmestos.


✅ Kai nauja iteracija publikuojama, ji turės kitą pavadinimą. Kaip manote, kaip pakeistumėte iteraciją, kurią naudoja IoT įrenginys?
✅ Kai nauja iteracija publikuojama, ji turės kitą pavadinimą. Kaip manote, kaip pakeistumėte iteraciją, kurią naudoja IoT įrenginys?
@ -109,7 +109,7 @@ Galbūt pastebėsite, kad rezultatai, kuriuos gaunate naudodami kamerą, prijung
Norint gauti geriausius vaizdų klasifikatoriaus rezultatus, reikia apmokyti modelį naudojant vaizdus, kurie yra kuo panašesni į tuos, kurie naudojami prognozėms. Pavyzdžiui, jei mokymui naudojote telefono kamerą, vaizdo kokybė, ryškumas ir spalvos skirsis nuo kameros, prijungtos prie IoT įrenginio.
Norint gauti geriausius vaizdų klasifikatoriaus rezultatus, reikia apmokyti modelį naudojant vaizdus, kurie yra kuo panašesni į tuos, kurie naudojami prognozėms. Pavyzdžiui, jei mokymui naudojote telefono kamerą, vaizdo kokybė, ryškumas ir spalvos skirsis nuo kameros, prijungtos prie IoT įrenginio.


Aukščiau esančiame paveikslėlyje banano nuotrauka kairėje buvo padaryta naudojant Raspberry Pi kamerą, o dešinėje – naudojant iPhone tą patį bananą toje pačioje vietoje. Pastebimas kokybės skirtumas – iPhone nuotrauka yra ryškesnė, su ryškesnėmis spalvomis ir didesniu kontrastu.
Aukščiau esančiame paveikslėlyje banano nuotrauka kairėje buvo padaryta naudojant Raspberry Pi kamerą, o dešinėje – naudojant iPhone tą patį bananą toje pačioje vietoje. Pastebimas kokybės skirtumas – iPhone nuotrauka yra ryškesnė, su ryškesnėmis spalvomis ir didesniu kontrastu.
@ -16,7 +16,7 @@ Kamera gali būti prijungta prie Raspberry Pi naudojant juostinį kabelį.
### Užduotis - prijunkite kamerą
### Užduotis - prijunkite kamerą


1. Išjunkite Pi.
1. Išjunkite Pi.
@ -24,17 +24,17 @@ Kamera gali būti prijungta prie Raspberry Pi naudojant juostinį kabelį.
Animaciją, kaip atidaryti klipą ir įstatyti kabelį, galite rasti [Raspberry Pi dokumentacijoje apie kameros modulio naudojimą](https://projects.raspberrypi.org/en/projects/getting-started-with-picamera/2).
Animaciją, kaip atidaryti klipą ir įstatyti kabelį, galite rasti [Raspberry Pi dokumentacijoje apie kameros modulio naudojimą](https://projects.raspberrypi.org/en/projects/getting-started-with-picamera/2).


1. Nuimkite Grove Base Hat nuo Pi.
1. Nuimkite Grove Base Hat nuo Pi.
1. Perkiškite juostinį kabelį per kameros angą Grove Base Hat. Įsitikinkite, kad mėlyna kabelio pusė nukreipta link analoginių prievadų, pažymėtų **A0**, **A1** ir pan.
1. Perkiškite juostinį kabelį per kameros angą Grove Base Hat. Įsitikinkite, kad mėlyna kabelio pusė nukreipta link analoginių prievadų, pažymėtų **A0**, **A1** ir pan.


1. Įstatykite juostinį kabelį į kameros jungtį ant Pi. Vėlgi, patraukite juodą plastikinį klipą aukštyn, įstatykite kabelį, tada pastumkite klipą atgal. Mėlyna kabelio pusė turėtų būti nukreipta į USB ir Ethernet prievadus.
1. Įstatykite juostinį kabelį į kameros jungtį ant Pi. Vėlgi, patraukite juodą plastikinį klipą aukštyn, įstatykite kabelį, tada pastumkite klipą atgal. Mėlyna kabelio pusė turėtų būti nukreipta į USB ir Ethernet prievadus.


1. Vėl pritvirtinkite Grove Base Hat.
1. Vėl pritvirtinkite Grove Base Hat.
@ -101,7 +101,7 @@ Programuokite įrenginį.
Eilutė `camera.rotation = 0` nustato vaizdo pasukimą. Juostinis kabelis įeina į kameros apačią, tačiau jei jūsų kamera buvo pasukta, kad būtų lengviau nukreipti į objektą, kurį norite klasifikuoti, galite pakeisti šią eilutę į pasukimo laipsnių skaičių.
Eilutė `camera.rotation = 0` nustato vaizdo pasukimą. Juostinis kabelis įeina į kameros apačią, tačiau jei jūsų kamera buvo pasukta, kad būtų lengviau nukreipti į objektą, kurį norite klasifikuoti, galite pakeisti šią eilutę į pasukimo laipsnių skaičių.


Pavyzdžiui, jei pakabinsite juostinį kabelį virš objekto, kad jis būtų kameros viršuje, nustatykite pasukimą į 180:
Pavyzdžiui, jei pakabinsite juostinį kabelį virš objekto, kad jis būtų kameros viršuje, nustatykite pasukimą į 180:
Galėsite matyti užfiksuotą vaizdą ir šias reikšmes **Predictions** skirtuke „Custom Vision“.
Galėsite matyti užfiksuotą vaizdą ir šias reikšmes **Predictions** skirtuke „Custom Vision“.


> 💁 Šį kodą galite rasti aplanke [code-classify/pi](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/pi) arba [code-classify/virtual-iot-device](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/virtual-iot-device).
> 💁 Šį kodą galite rasti aplanke [code-classify/pi](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/pi) arba [code-classify/virtual-iot-device](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/virtual-iot-device).
1. Sujunkite vaizdą, kurį CounterFit kamera užfiksuos. Galite nustatyti *Source* kaip *File*, tada įkelti vaizdo failą, arba nustatyti *Source* kaip *WebCam*, ir vaizdai bus užfiksuoti iš jūsų internetinės kameros. Įsitikinkite, kad paspaudėte mygtuką **Set** po paveikslėlio pasirinkimo arba internetinės kameros pasirinkimo.
1. Sujunkite vaizdą, kurį CounterFit kamera užfiksuos. Galite nustatyti *Source* kaip *File*, tada įkelti vaizdo failą, arba nustatyti *Source* kaip *WebCam*, ir vaizdai bus užfiksuoti iš jūsų internetinės kameros. Įsitikinkite, kad paspaudėte mygtuką **Set** po paveikslėlio pasirinkimo arba internetinės kameros pasirinkimo.


1. Vaizdas bus užfiksuotas ir išsaugotas kaip `image.jpg` dabartiniame aplanke. Šį failą matysite VS Code naršyklėje. Pasirinkite failą, kad peržiūrėtumėte vaizdą. Jei reikia pasukti, atnaujinkite eilutę `camera.rotation = 0` pagal poreikį ir užfiksuokite kitą nuotrauką.
1. Vaizdas bus užfiksuotas ir išsaugotas kaip `image.jpg` dabartiniame aplanke. Šį failą matysite VS Code naršyklėje. Pasirinkite failą, kad peržiūrėtumėte vaizdą. Jei reikia pasukti, atnaujinkite eilutę `camera.rotation = 0` pagal poreikį ir užfiksuokite kitą nuotrauką.
1. ArduCam apačioje esantys kaiščiai turi būti prijungti prie GPIO kaiščių ant Wio Terminal. Kad būtų lengviau rasti tinkamus kaiščius, uždėkite GPIO kaiščių lipduką, kuris yra komplekte su Wio Terminal:
1. ArduCam apačioje esantys kaiščiai turi būti prijungti prie GPIO kaiščių ant Wio Terminal. Kad būtų lengviau rasti tinkamus kaiščius, uždėkite GPIO kaiščių lipduką, kuris yra komplekte su Wio Terminal:
@ -35,7 +35,7 @@ Prijunkite kamerą.
| SDA | 3 (I2C1_SDA) | I2C Serijiniai duomenys |
| SDA | 3 (I2C1_SDA) | I2C Serijiniai duomenys |
| SCL | 5 (I2C1_SCL) | I2C Serijinis laikrodis |
| SCL | 5 (I2C1_SCL) | I2C Serijinis laikrodis |


GND ir VCC jungtys suteikia 5V maitinimą ArduCam. Ji veikia 5V, skirtingai nei Grove jutikliai, kurie veikia 3V. Šis maitinimas gaunamas tiesiai iš USB-C jungties, kuri maitina įrenginį.
GND ir VCC jungtys suteikia 5V maitinimą ArduCam. Ji veikia 5V, skirtingai nei Grove jutikliai, kurie veikia 3V. Šis maitinimas gaunamas tiesiai iš USB-C jungties, kuri maitina įrenginį.
@ -456,7 +456,7 @@ Wio Terminal palaiko tik microSD korteles iki 16GB dydžio. Jei turite didesnę
1. Išjunkite microSD kortelę ir išimkite ją, šiek tiek paspausdami ir atleisdami, ir ji iššoks. Gali tekti naudoti ploną įrankį, kad tai padarytumėte. Įdėkite microSD kortelę į savo kompiuterį, kad peržiūrėtumėte vaizdus.
1. Išjunkite microSD kortelę ir išimkite ją, šiek tiek paspausdami ir atleisdami, ir ji iššoks. Gali tekti naudoti ploną įrankį, kad tai padarytumėte. Įdėkite microSD kortelę į savo kompiuterį, kad peržiūrėtumėte vaizdus.


💁 Gali prireikti kelių vaizdų, kol fotoaparato baltos spalvos balansas prisitaikys. Tai pastebėsite pagal užfiksuotų vaizdų spalvą, pirmieji keli gali atrodyti netinkamos spalvos. Visada galite tai apeiti pakeisdami kodą, kad užfiksuotumėte kelis vaizdus, kurie ignoruojami funkcijoje `setup`.
💁 Gali prireikti kelių vaizdų, kol fotoaparato baltos spalvos balansas prisitaikys. Tai pastebėsite pagal užfiksuotų vaizdų spalvą, pirmieji keli gali atrodyti netinkamos spalvos. Visada galite tai apeiti pakeisdami kodą, kad užfiksuotumėte kelis vaizdus, kurie ignoruojami funkcijoje `setup`.
@ -208,7 +208,7 @@ Naudojantis HTTPS galiniais taškais, kliento kodas turi paprašyti viešojo rak
Galėsite matyti užfiksuotą vaizdą ir šias reikšmes **Predictions** skiltyje „Custom Vision“.
Galėsite matyti užfiksuotą vaizdą ir šias reikšmes **Predictions** skiltyje „Custom Vision“.


> 💁 Šį kodą galite rasti [code-classify/wio-terminal](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/wio-terminal) aplanke.
> 💁 Šį kodą galite rasti [code-classify/wio-terminal](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-classify/wio-terminal) aplanke.
> Piešinys sukurtas [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
> Piešinys sukurtas [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
@ -33,11 +33,11 @@ Praeitoje pamokoje jūs naudojote vaizdų klasifikatorių, kad atskirtumėte pri
Kraštinis skaičiavimas apima kompiuterius, kurie apdoroja IoT duomenis kuo arčiau vietos, kurioje tie duomenys generuojami. Vietoj to, kad apdorojimas vyktų debesyje, jis perkeliamas į debesies kraštą – jūsų vidinį tinklą.
Kraštinis skaičiavimas apima kompiuterius, kurie apdoroja IoT duomenis kuo arčiau vietos, kurioje tie duomenys generuojami. Vietoj to, kad apdorojimas vyktų debesyje, jis perkeliamas į debesies kraštą – jūsų vidinį tinklą.


Iki šiol pamokose jūsų įrenginiai rinko duomenis ir siuntė juos į debesį analizei, vykdydami serverless funkcijas arba AI modelius debesyje.
Iki šiol pamokose jūsų įrenginiai rinko duomenis ir siuntė juos į debesį analizei, vykdydami serverless funkcijas arba AI modelius debesyje.


Kraštinis skaičiavimas apima dalies debesų paslaugų perkėlimą iš debesies į kompiuterius, veikiančius tame pačiame tinkle kaip IoT įrenginiai, tik bendraujant su debesiu, jei reikia. Pavyzdžiui, galite paleisti AI modelius kraštiniuose įrenginiuose, kad analizuotumėte vaisių prinokimą, ir tik siųsti analizės duomenis į debesį, pvz., prinokusių ir neprinokusių vaisių skaičių.
Kraštinis skaičiavimas apima dalies debesų paslaugų perkėlimą iš debesies į kompiuterius, veikiančius tame pačiame tinkle kaip IoT įrenginiai, tik bendraujant su debesiu, jei reikia. Pavyzdžiui, galite paleisti AI modelius kraštiniuose įrenginiuose, kad analizuotumėte vaisių prinokimą, ir tik siųsti analizės duomenis į debesį, pvz., prinokusių ir neprinokusių vaisių skaičių.
@ -85,7 +85,7 @@ IoT sistemoms dažnai norėsite derinti debesų ir kraštinio skaičiavimo pasla
Azure IoT Edge yra paslauga, kuri gali padėti perkelti darbo krūvius iš debesies į kraštą. Jūs nustatote įrenginį kaip kraštinį įrenginį, o iš debesies galite diegti kodą į tą kraštinį įrenginį. Tai leidžia derinti debesies ir krašto galimybes.
Azure IoT Edge yra paslauga, kuri gali padėti perkelti darbo krūvius iš debesies į kraštą. Jūs nustatote įrenginį kaip kraštinį įrenginį, o iš debesies galite diegti kodą į tą kraštinį įrenginį. Tai leidžia derinti debesies ir krašto galimybes.
@ -99,7 +99,7 @@ IoT Edge yra integruotas į IoT Hub, todėl galite valdyti kraštinius įrengini
IoT Edge vykdo kodą iš *konteinerių*– savarankiškų programų, kurios veikia izoliuotai nuo kitų programų jūsų kompiuteryje. Kai paleidžiate konteinerį, jis veikia kaip atskiras kompiuteris jūsų kompiuteryje, turintis savo programinę įrangą, paslaugas ir programas. Daugeliu atvejų konteineriai negali pasiekti nieko jūsų kompiuteryje, nebent nuspręsite pasidalinti, pvz., aplanku su konteineriu. Konteineris tada atveria paslaugas per atvirą prievadą, kurį galite prijungti arba atverti savo tinklui.
IoT Edge vykdo kodą iš *konteinerių*– savarankiškų programų, kurios veikia izoliuotai nuo kitų programų jūsų kompiuteryje. Kai paleidžiate konteinerį, jis veikia kaip atskiras kompiuteris jūsų kompiuteryje, turintis savo programinę įrangą, paslaugas ir programas. Daugeliu atvejų konteineriai negali pasiekti nieko jūsų kompiuteryje, nebent nuspręsite pasidalinti, pvz., aplanku su konteineriu. Konteineris tada atveria paslaugas per atvirą prievadą, kurį galite prijungti arba atverti savo tinklui.


Pavyzdžiui, galite turėti konteinerį su tinklalapiu, veikiančiu 80 prievade, numatytame HTTP prievade, ir tada jį atverti iš savo kompiuterio taip pat 80 prievade.
Pavyzdžiui, galite turėti konteinerį su tinklalapiu, veikiančiu 80 prievade, numatytame HTTP prievade, ir tada jį atverti iš savo kompiuterio taip pat 80 prievade.
@ -187,11 +187,11 @@ Kai modelis bus apmokytas, jį reikia eksportuoti kaip konteinerį.
## Paruoškite savo konteinerį diegimui
## Paruoškite savo konteinerį diegimui


Kai atsisiųsite savo modelį, jį reikia sukurti kaip konteinerį, tada įkelti į konteinerių registrą - internetinę vietą, kurioje galite saugoti konteinerius. IoT Edge gali atsisiųsti konteinerį iš registro ir perkelti jį į jūsų įrenginį.
Kai atsisiųsite savo modelį, jį reikia sukurti kaip konteinerį, tada įkelti į konteinerių registrą - internetinę vietą, kurioje galite saugoti konteinerius. IoT Edge gali atsisiųsti konteinerį iš registro ir perkelti jį į jūsų įrenginį.
Šioje pamokoje naudojamas konteinerių registras yra Azure Container Registry. Tai nėra nemokama paslauga, todėl norėdami sutaupyti pinigų, įsitikinkite, kad [išvalėte savo projektą](../../../clean-up.md), kai baigsite.
Šioje pamokoje naudojamas konteinerių registras yra Azure Container Registry. Tai nėra nemokama paslauga, todėl norėdami sutaupyti pinigų, įsitikinkite, kad [išvalėte savo projektą](../../../clean-up.md), kai baigsite.
> Sketchnote sukūrė [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
> Sketchnote sukūrė [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
@ -39,7 +39,7 @@ IoT aplikacijas galima apibūdinti kaip *daiktus* (įrenginius), kurie siunčia
### IoT architektūros pavyzdys
### IoT architektūros pavyzdys


Aukščiau pateiktame paveikslėlyje parodyta IoT architektūros pavyzdys.
Aukščiau pateiktame paveikslėlyje parodyta IoT architektūros pavyzdys.
@ -49,7 +49,7 @@ Aukščiau pateiktame paveikslėlyje parodyta IoT architektūros pavyzdys.
* **Įžvalgos** gaunamos iš serverless aplikacijų arba analizuojant saugomus duomenis.
* **Įžvalgos** gaunamos iš serverless aplikacijų arba analizuojant saugomus duomenis.
* **Veiksmai** gali būti komandos, siunčiamos į įrenginius, arba duomenų vizualizavimas, leidžiantis žmonėms priimti sprendimus.
* **Veiksmai** gali būti komandos, siunčiamos į įrenginius, arba duomenų vizualizavimas, leidžiantis žmonėms priimti sprendimus.


Aukščiau pateiktame paveikslėlyje parodyti kai kurie komponentai ir paslaugos, aptarti šiose pamokose, ir kaip jie susiję IoT architektūros pavyzdyje.
Aukščiau pateiktame paveikslėlyje parodyti kai kurie komponentai ir paslaugos, aptarti šiose pamokose, ir kaip jie susiję IoT architektūros pavyzdyje.
@ -89,7 +89,7 @@ Jums reikia sukurti sistemą, kurioje vaisiai būtų aptikti, kai jie atvyksta a
### Jūsų aplikacijos prototipas
### Jūsų aplikacijos prototipas


Aukščiau pateiktame paveikslėlyje parodyta šios prototipinės aplikacijos architektūra.
Aukščiau pateiktame paveikslėlyje parodyta šios prototipinės aplikacijos architektūra.
@ -124,7 +124,7 @@ Atlikite atitinkamą vadovą, kad naudotumėte artumo jutiklį objekto aptikimui
Prototipinis vaisių detektorius turi kelis komponentus, kurie tarpusavyje komunikuoja.
Prototipinis vaisių detektorius turi kelis komponentus, kurie tarpusavyje komunikuoja.


* Artumo jutiklis, matuojantis atstumą iki vaisiaus ir siunčiantis tai į IoT Hub
* Artumo jutiklis, matuojantis atstumą iki vaisiaus ir siunčiantis tai į IoT Hub
* Komanda, valdanti kamerą, siunčiama iš IoT Hub į kamerą turintį įrenginį
* Komanda, valdanti kamerą, siunčiama iš IoT Hub į kamerą turintį įrenginį
@ -20,7 +20,7 @@ Grove Time of Flight jutiklis gali būti prijungtas prie Raspberry Pi.
Prijunkite Time of Flight jutiklį.
Prijunkite Time of Flight jutiklį.


1. Įstatykite vieną Grove kabelio galą į Time of Flight jutiklio jungtį. Jis įsistatys tik viena kryptimi.
1. Įstatykite vieną Grove kabelio galą į Time of Flight jutiklio jungtį. Jis įsistatys tik viena kryptimi.
@ -20,7 +20,7 @@ Grove Time of Flight jutiklį galima prijungti prie Wio Terminalo.
Prijunkite Time of Flight jutiklį.
Prijunkite Time of Flight jutiklį.


1. Įkiškite vieną Grove kabelio galą į Time of Flight jutiklio jungtį. Jis įsistums tik viena kryptimi.
1. Įkiškite vieną Grove kabelio galą į Time of Flight jutiklio jungtį. Jis įsistums tik viena kryptimi.
> Sketchnote sukūrė [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
> Sketchnote sukūrė [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
@ -36,7 +36,7 @@ Objekto aptikimas apima objektų aptikimą vaizduose naudojant dirbtinį intelek
Vaizdų klasifikavimas susijęs su viso vaizdo klasifikavimu – kokia tikimybė, kad visas vaizdas atitinka kiekvieną žymę. Jūs gaunate tikimybes kiekvienai žymei, kuri buvo naudojama modelio mokymui.
Vaizdų klasifikavimas susijęs su viso vaizdo klasifikavimu – kokia tikimybė, kad visas vaizdas atitinka kiekvieną žymę. Jūs gaunate tikimybes kiekvienai žymei, kuri buvo naudojama modelio mokymui.


Pavyzdyje aukščiau du vaizdai klasifikuojami naudojant modelį, apmokytą klasifikuoti anakardžių riešutų indelius arba pomidorų pastos skardines. Pirmasis vaizdas yra anakardžių riešutų indelis, ir klasifikatorius pateikia du rezultatus:
Pavyzdyje aukščiau du vaizdai klasifikuojami naudojant modelį, apmokytą klasifikuoti anakardžių riešutų indelius arba pomidorų pastos skardines. Pirmasis vaizdas yra anakardžių riešutų indelis, ir klasifikatorius pateikia du rezultatus:
@ -60,7 +60,7 @@ Kai vėliau naudojate modelį vaizdų numatymui, vietoj žymių ir procentų są
> 🎓 *Ribojantys langeliai* yra langeliai aplink objektą.
> 🎓 *Ribojantys langeliai* yra langeliai aplink objektą.


Vaizde aukščiau yra tiek anakardžių riešutų indelis, tiek trys pomidorų pastos skardinės. Objekto aptikimo modelis aptiko anakardžių riešutus, pateikdamas ribojantį langelį, kuriame yra anakardžių riešutai, su procentine tikimybe, kad ribojantis langelis apima objektą, šiuo atveju 97.6%. Modelis taip pat aptiko tris pomidorų pastos skardines ir pateikia tris atskirus ribojančius langelius, po vieną kiekvienai aptiktai skardinei, ir kiekvienas langelis turi procentinę tikimybę, kad ribojantis langelis apima pomidorų pastos skardinę.
Vaizde aukščiau yra tiek anakardžių riešutų indelis, tiek trys pomidorų pastos skardinės. Objekto aptikimo modelis aptiko anakardžių riešutus, pateikdamas ribojantį langelį, kuriame yra anakardžių riešutai, su procentine tikimybe, kad ribojantis langelis apima objektą, šiuo atveju 97.6%. Modelis taip pat aptiko tris pomidorų pastos skardines ir pateikia tris atskirus ribojančius langelius, po vieną kiekvienai aptiktai skardinei, ir kiekvienas langelis turi procentinę tikimybę, kad ribojantis langelis apima pomidorų pastos skardinę.
@ -111,7 +111,7 @@ Galite apmokyti objekto aptikimo modelį naudodami Custom Vision, panašiai kaip
Kurdamas projektą, įsitikinkite, kad naudojate anksčiau sukurtą `stock-detector-training` išteklių. Naudokite *Objekto aptikimo* projekto tipą ir *Produktai lentynose* domeną.
Kurdamas projektą, įsitikinkite, kad naudojate anksčiau sukurtą `stock-detector-training` išteklių. Naudokite *Objekto aptikimo* projekto tipą ir *Produktai lentynose* domeną.


✅ Produktų lentynose domenas yra specialiai pritaikytas atsargų aptikimui parduotuvių lentynose. Daugiau apie skirtingus domenus skaitykite [„Pasirinkti domeną“ dokumentacijoje Microsoft Docs](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/select-domain?WT.mc_id=academic-17441-jabenn#object-detection)
✅ Produktų lentynose domenas yra specialiai pritaikytas atsargų aptikimui parduotuvių lentynose. Daugiau apie skirtingus domenus skaitykite [„Pasirinkti domeną“ dokumentacijoje 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 @@ Norėdami apmokyti savo modelį, jums reikės vaizdų rinkinio, kuriame yra obje
1. Sekite [„Įkelti ir pažymėti vaizdus“ skyrių „Sukurti objekto aptikimo modelį“ greitojoje pradžioje Microsoft dokumentacijoje](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/get-started-build-detector?WT.mc_id=academic-17441-jabenn#upload-and-tag-images), kad įkeltumėte savo mokymo vaizdus. Sukurkite atitinkamas žymes, priklausomai nuo objektų tipų, kuriuos norite aptikti.
1. Sekite [„Įkelti ir pažymėti vaizdus“ skyrių „Sukurti objekto aptikimo modelį“ greitojoje pradžioje Microsoft dokumentacijoje](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/get-started-build-detector?WT.mc_id=academic-17441-jabenn#upload-and-tag-images), kad įkeltumėte savo mokymo vaizdus. Sukurkite atitinkamas žymes, priklausomai nuo objektų tipų, kuriuos norite aptikti.


Kai piešiate ribojančius langelius objektams, laikykite juos glaudžiai aplink objektą. Gali užtrukti, kol pažymėsite visus vaizdus, tačiau įrankis aptiks, ką jis mano esant ribojančiais langeliais, todėl procesas bus greitesnis.
Kai piešiate ribojančius langelius objektams, laikykite juos glaudžiai aplink objektą. Gali užtrukti, kol pažymėsite visus vaizdus, tačiau įrankis aptiks, ką jis mano esant ribojančiais langeliais, todėl procesas bus greitesnis.
> 💁 Jei turite daugiau nei 15 vaizdų kiekvienam objektui, galite mokyti po 15, tada naudoti **Siūlomos žymės** funkciją. Tai naudos apmokytą modelį objektų aptikimui nepažymėtuose vaizduose. Tada galite patvirtinti aptiktus objektus arba atmesti ir perpiešti ribojančius langelius. Tai gali sutaupyti *daug* laiko.
> 💁 Jei turite daugiau nei 15 vaizdų kiekvienam objektui, galite mokyti po 15, tada naudoti **Siūlomos žymės** funkciją. Tai naudos apmokytą modelį objektų aptikimui nepažymėtuose vaizduose. Tada galite patvirtinti aptiktus objektus arba atmesti ir perpiešti ribojančius langelius. Tai gali sutaupyti *daug* laiko.
1. *Publish Model* dialoge nustatykite *Prediction resource* į `stock-detector-prediction` resursą, kurį sukūrėte paskutinėje pamokoje. Palikite pavadinimą kaip `Iteration2` ir pasirinkite **Publish** mygtuką.
1. *Publish Model* dialoge nustatykite *Prediction resource* į `stock-detector-prediction` resursą, kurį sukūrėte paskutinėje pamokoje. Palikite pavadinimą kaip `Iteration2` ir pasirinkite **Publish** mygtuką.
@ -76,7 +76,7 @@ Iteracijos skelbiamos iš „Custom Vision“ portalo.
Taip pat nukopijuokite *Prediction-Key* reikšmę. Tai yra saugus raktas, kurį reikia perduoti kviečiant modelį. Tik programos, kurios perduoda šį raktą, gali naudoti modelį, o kitos programos yra atmetamos.
Taip pat nukopijuokite *Prediction-Key* reikšmę. Tai yra saugus raktas, kurį reikia perduoti kviečiant modelį. Tik programos, kurios perduoda šį raktą, gali naudoti modelį, o kitos programos yra atmetamos.


✅ Kai paskelbiama nauja iteracija, ji turės kitokį pavadinimą. Kaip manote, kaip pakeistumėte iteraciją, kurią naudoja IoT įrenginys?
✅ Kai paskelbiama nauja iteracija, ji turės kitokį pavadinimą. Kaip manote, kaip pakeistumėte iteraciją, kurią naudoja IoT įrenginys?
@ -95,7 +95,7 @@ Naudojant objektų atpažinimo modelį, gaunate ne tik aptiktus objektus su jų
Prognozavimo rezultatai **Predictions** skirtuke „Custom Vision“ turi ribojimo dėžutes, kurios yra uždėtos ant vaizdo, kuris buvo pateiktas prognozavimui.
Prognozavimo rezultatai **Predictions** skirtuke „Custom Vision“ turi ribojimo dėžutes, kurios yra uždėtos ant vaizdo, kuris buvo pateiktas prognozavimui.


Aukščiau pateiktame paveikslėlyje aptiktos 4 pomidorų pastos skardinės. Rezultatuose kiekvienam aptiktam objektui vaizde uždėta raudona kvadratinė ribojimo dėžutė, nurodanti aptikimo ribas.
Aukščiau pateiktame paveikslėlyje aptiktos 4 pomidorų pastos skardinės. Rezultatuose kiekvienam aptiktam objektui vaizde uždėta raudona kvadratinė ribojimo dėžutė, nurodanti aptikimo ribas.
Ribojimo dėžutės apibrėžiamos 4 reikšmėmis – viršus, kairė, aukštis ir plotis. Šios reikšmės yra skalėje nuo 0 iki 1, nurodančios pozicijas kaip vaizdo dydžio procentą. Pradžia (0,0 pozicija) yra vaizdo viršutinis kairysis kampas, todėl viršutinė reikšmė yra atstumas nuo viršaus, o ribojimo dėžutės apačia yra viršus plius aukštis.
Ribojimo dėžutės apibrėžiamos 4 reikšmėmis – viršus, kairė, aukštis ir plotis. Šios reikšmės yra skalėje nuo 0 iki 1, nurodančios pozicijas kaip vaizdo dydžio procentą. Pradžia (0,0 pozicija) yra vaizdo viršutinis kairysis kampas, todėl viršutinė reikšmė yra atstumas nuo viršaus, o ribojimo dėžutės apačia yra viršus plius aukštis.


Aukščiau pateiktas vaizdas yra 600 pikselių pločio ir 800 pikselių aukščio. Ribojimo dėžutė prasideda 320 pikselių žemyn, suteikiant viršutinę koordinatę 0.4 (800 x 0.4 = 320). Nuo kairės ribojimo dėžutė prasideda 240 pikselių į šoną, suteikiant kairę koordinatę 0.4 (600 x 0.4 = 240). Ribojimo dėžutės aukštis yra 240 pikselių, suteikiant aukščio reikšmę 0.3 (800 x 0.3 = 240). Ribojimo dėžutės plotis yra 120 pikselių, suteikiant pločio reikšmę 0.2 (600 x 0.2 = 120).
Aukščiau pateiktas vaizdas yra 600 pikselių pločio ir 800 pikselių aukščio. Ribojimo dėžutė prasideda 320 pikselių žemyn, suteikiant viršutinę koordinatę 0.4 (800 x 0.4 = 320). Nuo kairės ribojimo dėžutė prasideda 240 pikselių į šoną, suteikiant kairę koordinatę 0.4 (600 x 0.4 = 240). Ribojimo dėžutės aukštis yra 240 pikselių, suteikiant aukščio reikšmę 0.3 (800 x 0.3 = 240). Ribojimo dėžutės plotis yra 120 pikselių, suteikiant pločio reikšmę 0.2 (600 x 0.2 = 120).
@ -118,7 +118,7 @@ Naudojant procentines reikšmes nuo 0 iki 1, nesvarbu, kokio dydžio vaizdas yra
Ribojimo dėžutes galima naudoti kartu su tikimybėmis, kad įvertintumėte aptikimo tikslumą. Pavyzdžiui, objektų atpažinimo modelis gali aptikti kelis objektus, kurie persidengia, pavyzdžiui, aptikti vieną skardinę kitoje. Jūsų kodas galėtų peržiūrėti ribojimo dėžutes, suprasti, kad tai neįmanoma, ir ignoruoti bet kokius objektus, kurie reikšmingai persidengia su kitais objektais.
Ribojimo dėžutes galima naudoti kartu su tikimybėmis, kad įvertintumėte aptikimo tikslumą. Pavyzdžiui, objektų atpažinimo modelis gali aptikti kelis objektus, kurie persidengia, pavyzdžiui, aptikti vieną skardinę kitoje. Jūsų kodas galėtų peržiūrėti ribojimo dėžutes, suprasti, kad tai neįmanoma, ir ignoruoti bet kokius objektus, kurie reikšmingai persidengia su kitais objektais.
Pavyzdyje aukščiau viena ribojimo dėžutė nurodo prognozuotą pomidorų pastos skardinę su 78.3% tikimybe. Antra ribojimo dėžutė yra šiek tiek mažesnė ir yra pirmosios ribojimo dėžutės viduje su 64.3% tikimybe. Jūsų kodas gali patikrinti ribojimo dėžutes, pamatyti, kad jos visiškai persidengia, ir ignoruoti mažesnę tikimybę, nes nėra galimybės, kad viena skardinė būtų kitos viduje.
Pavyzdyje aukščiau viena ribojimo dėžutė nurodo prognozuotą pomidorų pastos skardinę su 78.3% tikimybe. Antra ribojimo dėžutė yra šiek tiek mažesnė ir yra pirmosios ribojimo dėžutės viduje su 64.3% tikimybe. Jūsų kodas gali patikrinti ribojimo dėžutes, pamatyti, kad jos visiškai persidengia, ir ignoruoti mažesnę tikimybę, nes nėra galimybės, kad viena skardinė būtų kitos viduje.
@ -67,7 +67,7 @@ Kodas, kurį naudojote vaizdų klasifikavimui, yra labai panašus į kodą, skir
Galėsite matyti užfiksuotą vaizdą ir šias reikšmes **Predictions** skirtuke Custom Vision.
Galėsite matyti užfiksuotą vaizdą ir šias reikšmes **Predictions** skirtuke Custom Vision.


> 💁 Šį kodą galite rasti [code-detect/pi](../../../../../5-retail/lessons/2-check-stock-device/code-detect/pi) arba [code-detect/virtual-iot-device](../../../../../5-retail/lessons/2-check-stock-device/code-detect/virtual-iot-device) aplankuose.
> 💁 Šį kodą galite rasti [code-detect/pi](../../../../../5-retail/lessons/2-check-stock-device/code-detect/pi) arba [code-detect/virtual-iot-device](../../../../../5-retail/lessons/2-check-stock-device/code-detect/virtual-iot-device) aplankuose.
> Sketchnote sukūrė [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
> Sketchnote sukūrė [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
@ -51,7 +51,7 @@ Mikrofonai būna įvairių tipų:
Dinaminiai mikrofonai nereikalauja energijos, elektros signalas sukuriamas vien tik mikrofono.
Dinaminiai mikrofonai nereikalauja energijos, elektros signalas sukuriamas vien tik mikrofono.


* Juostiniai – Juostiniai mikrofonai yra panašūs į dinaminius mikrofonus, išskyrus tai, kad vietoj diafragmos jie turi metalinę juostelę. Ši juostelė juda magnetiniame lauke, generuodama elektros srovę. Kaip ir dinaminiai mikrofonai, juostiniai mikrofonai nereikalauja energijos.
* Juostiniai – Juostiniai mikrofonai yra panašūs į dinaminius mikrofonus, išskyrus tai, kad vietoj diafragmos jie turi metalinę juostelę. Ši juostelė juda magnetiniame lauke, generuodama elektros srovę. Kaip ir dinaminiai mikrofonai, juostiniai mikrofonai nereikalauja energijos.
@ -59,11 +59,11 @@ Mikrofonai būna įvairių tipų:
* Kondensatoriniai – Kondensatoriniai mikrofonai turi ploną metalinę diafragmą ir fiksuotą metalinę plokštelę. Elektrinė energija taikoma abiem, ir kai diafragma vibruoja, statinis krūvis tarp plokštelių keičiasi, generuodamas signalą. Kondensatoriniai mikrofonai reikalauja energijos – vadinamos *fantomine energija*.
* Kondensatoriniai – Kondensatoriniai mikrofonai turi ploną metalinę diafragmą ir fiksuotą metalinę plokštelę. Elektrinė energija taikoma abiem, ir kai diafragma vibruoja, statinis krūvis tarp plokštelių keičiasi, generuodamas signalą. Kondensatoriniai mikrofonai reikalauja energijos – vadinamos *fantomine energija*.


* MEMS – Mikroelektromechaninės sistemos mikrofonai, arba MEMS, yra mikrofonai ant mikroschemos. Jie turi slėgiui jautrią diafragmą, išgraviruotą ant silicio mikroschemos, ir veikia panašiai kaip kondensatoriniai mikrofonai. Šie mikrofonai gali būti labai maži ir integruoti į grandines.
* MEMS – Mikroelektromechaninės sistemos mikrofonai, arba MEMS, yra mikrofonai ant mikroschemos. Jie turi slėgiui jautrią diafragmą, išgraviruotą ant silicio mikroschemos, ir veikia panašiai kaip kondensatoriniai mikrofonai. Šie mikrofonai gali būti labai maži ir integruoti į grandines.


Aukščiau esančiame paveikslėlyje mikroschema, pažymėta **LEFT**, yra MEMS mikrofonas su mažyte diafragma, mažesne nei milimetras.
Aukščiau esančiame paveikslėlyje mikroschema, pažymėta **LEFT**, yra MEMS mikrofonas su mažyte diafragma, mažesne nei milimetras.
@ -159,7 +159,7 @@ Kad išvengtumėte aktyvavimo žodžio modelio mokymo ir naudojimo sudėtingumo,
## Kalbos konvertavimas į tekstą
## Kalbos konvertavimas į tekstą


Kaip ir vaizdų klasifikavime ankstesniame projekte, yra iš anksto sukurtų AI paslaugų, kurios gali paimti kalbą kaip garso failą ir paversti ją tekstu. Viena iš tokių paslaugų yra Kalbos Paslauga, dalis Cognitive Services, iš anksto sukurtų AI paslaugų, kurias galite naudoti savo programose.
Kaip ir vaizdų klasifikavime ankstesniame projekte, yra iš anksto sukurtų AI paslaugų, kurios gali paimti kalbą kaip garso failą ir paversti ją tekstu. Viena iš tokių paslaugų yra Kalbos Paslauga, dalis Cognitive Services, iš anksto sukurtų AI paslaugų, kurias galite naudoti savo programose.
1. Įstatykite vieną Grove kabelio galą į lizdą ant mygtuko modulio. Kabelis įsistatys tik viena kryptimi.
1. Įstatykite vieną Grove kabelio galą į lizdą ant mygtuko modulio. Kabelis įsistatys tik viena kryptimi.
1. Kai Raspberry Pi yra išjungtas, prijunkite kitą Grove kabelio galą prie skaitmeninio lizdo, pažymėto **D5**, ant Grove bazinio HAT, prijungto prie Pi. Šis lizdas yra antras iš kairės, eilėje šalia GPIO pinų.
1. Kai Raspberry Pi yra išjungtas, prijunkite kitą Grove kabelio galą prie skaitmeninio lizdo, pažymėto **D5**, ant Grove bazinio HAT, prijungto prie Pi. Šis lizdas yra antras iš kairės, eilėje šalia GPIO pinų.


@ -34,7 +34,7 @@ Mikrofonas ir garsiakalbiai turi būti prijungti ir sukonfigūruoti.
1. Jei naudojate ReSpeaker 2-Mics Pi HAT, galite nuimti Grove bazinę plokštę ir uždėti ReSpeaker plokštę jos vietoje.
1. Jei naudojate ReSpeaker 2-Mics Pi HAT, galite nuimti Grove bazinę plokštę ir uždėti ReSpeaker plokštę jos vietoje.


Vėliau šioje pamokoje jums reikės Grove mygtuko, tačiau vienas jau yra integruotas šioje plokštėje, todėl Grove bazinė plokštė nereikalinga.
Vėliau šioje pamokoje jums reikės Grove mygtuko, tačiau vienas jau yra integruotas šioje plokštėje, todėl Grove bazinė plokštė nereikalinga.
@ -10,7 +10,7 @@ Integruotas mikrofonas fiksuoja analoginį signalą, kuris konvertuojamas į ska
✅ Daugiau apie DMA skaitykite [tiesioginės atminties prieigos puslapyje Vikipedijoje](https://wikipedia.org/wiki/Direct_memory_access).
✅ Daugiau apie DMA skaitykite [tiesioginės atminties prieigos puslapyje Vikipedijoje](https://wikipedia.org/wiki/Direct_memory_access).


DMAC gali fiksuoti garsą iš ADC fiksuotais intervalais, pavyzdžiui, 16 000 kartų per sekundę 16 kHz garsui. Jis gali rašyti šiuos užfiksuotus duomenis į iš anksto paskirtą atminties buferį, o kai šis užpildomas, padaryti jį prieinamą jūsų kodui apdoroti. Naudojant šią atmintį gali būti vėluojama fiksuoti garsą, tačiau galite nustatyti kelis buferius. DMAC rašo į 1 buferį, tada, kai jis užpildomas, praneša jūsų kodui apdoroti 1 buferį, tuo tarpu DMAC rašo į 2 buferį. Kai 2 buferis užpildomas, jis praneša jūsų kodui ir grįžta rašyti į 1 buferį. Tokiu būdu, jei apdorojate kiekvieną buferį greičiau nei užtrunka užpildyti vieną, neprarasite jokių duomenų.
DMAC gali fiksuoti garsą iš ADC fiksuotais intervalais, pavyzdžiui, 16 000 kartų per sekundę 16 kHz garsui. Jis gali rašyti šiuos užfiksuotus duomenis į iš anksto paskirtą atminties buferį, o kai šis užpildomas, padaryti jį prieinamą jūsų kodui apdoroti. Naudojant šią atmintį gali būti vėluojama fiksuoti garsą, tačiau galite nustatyti kelis buferius. DMAC rašo į 1 buferį, tada, kai jis užpildomas, praneša jūsų kodui apdoroti 1 buferį, tuo tarpu DMAC rašo į 2 buferį. Kai 2 buferis užpildomas, jis praneša jūsų kodui ir grįžta rašyti į 1 buferį. Tokiu būdu, jei apdorojate kiekvieną buferį greičiau nei užtrunka užpildyti vieną, neprarasite jokių duomenų.
Galite kurti kalbos supratimo modelius naudodami LUIS – „Microsoft“ kalbos supratimo paslaugą, kuri yra „Cognitive Services“ dalis.
Galite kurti kalbos supratimo modelius naudodami LUIS – „Microsoft“ kalbos supratimo paslaugą, kuri yra „Cognitive Services“ dalis.
@ -169,7 +169,7 @@ Instrukcijas, kaip naudoti LUIS portalą, galite rasti [Quickstart: Build your a
1. Kai įvesite kiekvieną pavyzdį, LUIS pradės aptikti esybes ir pabrauks bei pažymės bet kurias rastas.
1. Kai įvesite kiekvieną pavyzdį, LUIS pradės aptikti esybes ir pabrauks bei pažymės bet kurias rastas.


Kalbos paslauga, kurią naudojote per pastarąsias pamokas, turi vertimo galimybes kalbos atpažinimui. Kai atpažįstate kalbą, galite prašyti ne tik kalbos teksto ta pačia kalba, bet ir kitomis kalbomis.
Kalbos paslauga, kurią naudojote per pastarąsias pamokas, turi vertimo galimybes kalbos atpažinimui. Kai atpažįstate kalbą, galite prašyti ne tik kalbos teksto ta pačia kalba, bet ir kitomis kalbomis.
@ -82,7 +82,7 @@ Kalbos paslauga, kurią naudojote per pastarąsias pamokas, turi vertimo galimyb
Vertėjo paslauga yra specializuota vertimo paslauga, kuri gali versti tekstą iš vienos kalbos į vieną ar daugiau tikslinių kalbų. Be vertimo, ji palaiko daugybę papildomų funkcijų, įskaitant keiksmažodžių maskavimą. Ji taip pat leidžia jums pateikti konkretų vertimą tam tikram žodžiui ar sakiniui, kad galėtumėte dirbti su terminais, kurių nenorite versti, arba turėti konkretų gerai žinomą vertimą.
Vertėjo paslauga yra specializuota vertimo paslauga, kuri gali versti tekstą iš vienos kalbos į vieną ar daugiau tikslinių kalbų. Be vertimo, ji palaiko daugybę papildomų funkcijų, įskaitant keiksmažodžių maskavimą. Ji taip pat leidžia jums pateikti konkretų vertimą tam tikram žodžiui ar sakiniui, kad galėtumėte dirbti su terminais, kurių nenorite versti, arba turėti konkretų gerai žinomą vertimą.
@ -25,7 +25,7 @@ Kalbos paslaugos REST API nepalaiko tiesioginių vertimų, tačiau galite naudot
>
>
> Pavyzdžiui, jei LUIS mokote anglų kalba, bet norite naudoti prancūzų kalbą kaip vartotojo kalbą, galite išversti sakinius, tokius kaip „nustatykite 2 minučių ir 27 sekundžių laikmatį“, iš anglų į prancūzų kalbą naudodami Bing Translate, tada naudokite mygtuką **Klausyti vertimo**, kad įrašytumėte vertimą į mikrofoną.
> Pavyzdžiui, jei LUIS mokote anglų kalba, bet norite naudoti prancūzų kalbą kaip vartotojo kalbą, galite išversti sakinius, tokius kaip „nustatykite 2 minučių ir 27 sekundžių laikmatį“, iš anglų į prancūzų kalbą naudodami Bing Translate, tada naudokite mygtuką **Klausyti vertimo**, kad įrašytumėte vertimą į mikrofoną.
@ -37,7 +37,7 @@ Kalbos paslauga gali ne tik konvertuoti kalbą į tekstą ta pačia kalba, bet i
>
>
> Pavyzdžiui, jei LUIS mokote anglų kalba, bet norite naudoti prancūzų kalbą kaip vartotojo kalbą, galite išversti sakinius, tokius kaip „set a 2 minute and 27 second timer“, iš anglų į prancūzų kalbą naudodami Bing Translate, tada naudoti **Listen translation** mygtuką, kad ištartumėte vertimą į mikrofoną.
> Pavyzdžiui, jei LUIS mokote anglų kalba, bet norite naudoti prancūzų kalbą kaip vartotojo kalbą, galite išversti sakinius, tokius kaip „set a 2 minute and 27 second timer“, iš anglų į prancūzų kalbą naudodami Bing Translate, tada naudoti **Listen translation** mygtuką, kad ištartumėte vertimą į mikrofoną.
@ -105,7 +105,7 @@ Kalbos paslaugos REST API tiesiogiai nepalaiko vertimų, tačiau galite naudoti
>
>
> Pavyzdžiui, jei mokote LUIS anglų kalba, bet norite naudoti prancūzų kalbą kaip vartotojo kalbą, galite išversti sakinius, tokius kaip "set a 2 minute and 27 second timer" iš anglų į prancūzų kalbą naudodami Bing Translate, tada naudoti mygtuką **Listen translation**, kad pasakytumėte vertimą į mikrofoną.
> Pavyzdžiui, jei mokote LUIS anglų kalba, bet norite naudoti prancūzų kalbą kaip vartotojo kalbą, galite išversti sakinius, tokius kaip "set a 2 minute and 27 second timer" iš anglų į prancūzų kalbą naudodami Bing Translate, tada naudoti mygtuką **Listen translation**, kad pasakytumėte vertimą į mikrofoną.
### Prisijunkite prie Azure AI Foundry bendruomenės
### Prisijunkite prie Azure AI Foundry bendruomenės
Jei užstrigote arba turite klausimų apie AI programėlių kūrimą. Prisijunkite prie bendraminčių mokinių ir patyrusių kūrėjų diskusijose apie MCP. Tai palaikanti bendruomenė, kurioje klausimai yra laukiami ir žinios dalijamos laisvai.
Jei užstrigote ar turite klausimų apie AI programėlių kūrimą. Prisijunkite prie kitų besimokančiųjų ir patyrusių kūrėjų diskusijų apie MCP. Tai palaikanti bendruomenė, kurioje klausimai yra laukiami ir žinios dalijamos atvirai.
> Ši saugykla apima daugiau nei 50 kalbų vertimų, kurie ženkliai padidina atsisiuntimo dydį. Norėdami klonuoti be vertimų, naudokite retinimą (sparse checkout):
> Ši saugykla apima daugiau nei 50 kalbų vertimų, kas ženkliai padidina atsisiuntimo dydį. Norėdami klonuoti be vertimų naudokite sparse checkout:
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> Tai leidžia jums greičiau atsisiųsti viską, ko reikia kursui baigti.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
# IoT pradedantiesiems – mokymo programa
# IoT pradedantiesiems – mokymo programa
„Microsoft“ Azure Cloud advokatai džiaugiasi galėdami pasiūlyti 12 savaičių, 24 pamokų mokymo programą, skirtą IoT pagrindams. Kiekvienoje pamokoje yra pasiruošimo ir baigiamojo testai, rašytinės instrukcijos pamokai atlikti, sprendimas, užduotis ir dar daugiau. Mūsų projektais grindžiama pedagogika leidžia mokytis atliekant, patikrintu būdu, padedančiu naujiems įgūdžiams geriau įsisavinti.
Microsoft Azure Cloud Advocates su malonumu siūlo 12 savaičių, 24 pamokų programą, skirtą pagrindiniams IoT dalykams. Kiekviena pamoka apima priešpamokinius ir popamokinius testus, rašytines instrukcijas pamokai atlikti, sprendimą, užduotį ir dar daugiau. Mūsų projektinė mokymo metodika leidžia mokytis kuriant, o tai yra patikrintas būdas, kad nauji įgūdžiai geriau įsimintų.
Projektai apima maisto kelią nuo ūkio iki stalo. Tai apima ūkininkavimą, logistiką, gamybą, mažmeninę prekybą ir vartotoją – visas populiarias IoT prietaisų pramonės sritis.
Projektai apima maisto kelionę nuo ūkio iki stalo. Tai apima žemės ūkį, logistiką, gamybą, prekybą ir vartotoją – visas populiarias IoT įrenginių pramonės sritis.


> Eskizas (sketchnote) – [Nitya Narasimhan](https://github.com/nitya). Paspauskite paveikslėlį, kad pamatytumėte didesnę versiją.
> Sketchnote sukūrė [Nitya Narasimhan](https://github.com/nitya). Spustelėkite paveikslėlį, kad pamatytumėte didesnę versiją.
**Nuoširdus dėkui mūsų autoriams [Jen Fox](https://github.com/jenfoxbot), [Jen Looper](https://github.com/jlooper), [Jim Bennett](https://github.com/jimbobbennett) ir eskizų menininkei [Nitya Narasimhan](https://github.com/nitya).**
**Nuoširdus ačiū mūsų autoriams [Jen Fox](https://github.com/jenfoxbot), [Jen Looper](https://github.com/jlooper), [Jim Bennett](https://github.com/jimbobbennett) ir mūsų sketchnote menininkui [Nitya Narasimhan](https://github.com/nitya).**
**Taip pat dėkojame mūsų [Microsoft Learn Student Ambassadors](https://studentambassadors.microsoft.com?WT.mc_id=academic-17441-jabenn) komandai, kuri peržiūrėjo ir vertė šią mokymo programą – [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) ir [Zina Kamel](https://www.linkedin.com/in/zina-kamel/).**
**Taip pat dėkojame mūsų komandai iš [Microsoft Learn Student Ambassadors](https://studentambassadors.microsoft.com?WT.mc_id=academic-17441-jabenn), kurie peržiūrėjo ir vertė šią mokymo programą – [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) ir [Zina Kamel](https://www.linkedin.com/in/zina-kamel/).**
> 🎥 Spauskite aukščiau esantį paveikslėlį, norėdami pažiūrėti šio projekto pristatomą vaizdo įrašą!
> 🎥 Spustelėkite paveikslėlį aukščiau, kad pamatytumėte vaizdo įrašą apie projektą!
> **Mokytojams**, mes pateikėme [kelias rekomendacijas](for-teachers.md) kaip naudoti šią mokymo programą. Jei norite kurti savo pamokas, taip pat turime paruošę [pamokos šabloną](lesson-template/README.md).
> **Mokytojai**, mes [įtraukėme keletą pasiūlymų](for-teachers.md), kaip naudoti šią mokymo programą. Jei norite sukurti savo pamokas, mes taip pat įtraukėme [pamokos šabloną](lesson-template/README.md).
> **[Studentams](https://aka.ms/student-page)**, kad naudotumėtės šia mokymo programa savarankiškai, padarykite viso repo fork'ą ir atlikite pratimus nuo pasiruošimo testų, skaitykite paskaitas ir pabaikite likusias veiklas. Stenkitės kurti projektus suprasdami pamokas, o ne tik kopijuodami sprendimų kodą, tačiau šis kodas yra prieinamas kiekvienos pamoka skirtoje /solutions aplanke. Kitas variantas yra sukurti studijų grupę su draugais ir kartu peržiūrėti turinį. Papildomiems mokymams rekomenduojame [Microsoft Learn](https://docs.microsoft.com/users/jimbobbennett/collections/ke2ehd351jopwr?WT.mc_id=academic-17441-jabenn).
> **[Studentai](https://aka.ms/student-page)**, norėdami naudoti šią mokymo programą savarankiškai, padarykite visos saugyklos šaką (fork) ir atlikite užduotis savarankiškai, pradėdami nuo priešpamokinio testo, tada perskaitydami paskaitą ir įvykdydami kitus veiksmus. Stenkitės kurti projektus suprasdami pamokas, o ne kopijuodami sprendimų kodą; tačiau tas kodas yra prieinamas kiekvieno į projekto orientuoto pamokų sprendimų aplankuose (/solutions). Kita idėja būtų suformuoti mokymosi grupę su draugais ir kartu peržiūrėti turinį. Tolimesniam mokymuisi rekomenduojame [Microsoft Learn](https://docs.microsoft.com/users/jimbobbennett/collections/ke2ehd351jopwr?WT.mc_id=academic-17441-jabenn).
Kurso apžvalgos vaizdo įrašą galite peržiūrėti čia:
Vaizdo įrašui apie šį kursą, pažiūrėkite šį vaizdo įrašą:
> 🎥 Spauskite aukščiau esantį paveikslėlį, norėdami pažiūrėti šio projekto pristatomą vaizdo įrašą!
> 🎥 Spustelėkite paveikslėlį aukščiau, kad pamatytumėte vaizdo įrašą apie projektą!
## Pedagogika
## Pedagogika
Šios mokymo programos kūrimui pasirinkome du pagrindinius pedagoginius principus: užtikrinti, kad ji būtų projektu pagrįsta ir kad būtų dažnai atliekami testai. Šios serijos pabaigoje studentai sukurs augalų stebėjimo ir laistymo sistemą, transporto priemonių sekimo sistemą, išmaniąją gamyklą maisto sekimui ir patikrinimui bei balso valdomą maisto gaminimo laikmatį, taip pat išmoks IoT pagrindus, įskaitant prietaisų kodo rašymą, ryšį su debesija, telemetrijos analizę ir dirbtinį intelektą krašte.
Kuriant šią mokymo programą pasirinkome du mokymo principus: užtikrinti, kad ji būtų paremta projektais ir kad būtų dažni testai. Šios serijos pabaigoje studentai sukurs augalų stebėjimo ir laistymo sistemą, transporto priemonės sekiklį, išmanios gamyklos sprendimą maistui stebėti ir tikrinti bei balso valdomą virtuvės laikmatį, taip pat išmoks pagrindus apie daiktų internetą (Internet of Things) įskaitant įrenginių programavimą, ryšį su debesija, telemetrijos analizę ir AI vykdymą periferijoje.
Užtikrinant, kad turinys būtų suderintas su projektais, procesas tampa patrauklesnis studentams, o koncepcijų įsisavinimas pagerėja.
Užtikrindami, kad turinys atitinka projektus, procesas tampa įdomesnis studentams ir padidėja koncepcijų įsisavinimas.
Be to, mažo spaudimo testas prieš pamoką nukreipia studentų dėmesį į temą, o antras testas po pamokos užtikrina geresnį įsisavinimą. Ši mokymo programa buvo sukurta lanksčiai ir smagiai, ją galima lanksčiai rinktis visą ar dalį. Projektai prasideda nuo paprastų ir tampa vis sudėtingesni per 12 savaičių ciklą.
Be to, žemas rizikos testas prieš pamoką nukreipia studentų dėmesį į mokymąsi, o antras testas po pamokos užtikrina tolesnį žinių išlaikymą. Ši mokymo programa sukurta būti lanksti ir smagi, ją galima atlikti visą arba dalimis. Projektai prasideda nuo mažų ir baigiasi sudėtingesniais 12 savaičių ciklo pabaigoje.
Kiekvienas projektas susijęs su realaus pasaulio aparatine įranga, prieinama studentams ir mėgėjams. Kiekvienas projektas giliau nagrinėja savo srities žinias, suteikdamas aktualią foninę informaciją. Kad būtumėte sėkmingas kūrėjas, svarbu suprasti sritį, kurioje sprendžiate problemas – tai leidžia įsivaizduoti IoT sprendimus ir mokytis remiantis realių pasaulio problemų kontekstu. Studentai supranta savo kuriamų sprendimų prasmę ir gauna naudos iš galutinio naudotojo perspektyvos.
Kiekvienas projektas yra sukurtas remiantis realia studentams ir mėgėjams prieinama aparatūra. Kiekvienas projektas nagrinėja konkrečią sritį, pateikdamas svarbią pagrindinę informaciją. Norint būti sėkmingu kūrėju, svarbu suprasti sritį, kurioje sprendžiate problemas; ši pagrindinė žinių dalis leidžia studentams mąstyti apie savo IoT sprendimus ir mokymus realios pasaulio problemos kontekste, su kuria jie gali susidurti kaip IoT kūrėjai. Studentai supranta sprendimų, kuriuos kuria, „kodėl“ ir gauna galimybę įvertinti galutinį vartotoją.
## Aparatinė įranga
## Aparatūra
Projektams naudoti turime dvi IoT įrangos parinktis, kurios priklauso nuo asmeninių pomėgių, programavimo kalbos žinių ar pageidavimų, mokymosi tikslų ir prieinamumo. Taip pat pateikėme „virtualios įrangos“ versiją tiems, kurie neturi prieigos prie fizinės įrangos arba nori daugiau sužinoti prieš įsigydami. Daugiau skaitykite ir raskite „pirkinių sąrašą“ [hardware puslapyje](./hardware.md), įskaitant nuorodas, kur nusipirkti pilnas komplektacijas iš mūsų draugų Seeed Studio.
Turime du IoT aparatinės įrangos pasirinkimus, skirtus projektams, priklausomai nuo asmeninių pageidavimų, programavimo kalbų žinių ar norų, mokymosi tikslų ir prieinamumo. Taip pat pateikėme „virtualios aparatinės įrangos“ versiją tiems, kurie neturi prieigos prie fizinės įrangos arba nori daugiau sužinoti prieš pirkdami. Daugiau informacijos ir „pirkinių sąrašą“ rasite [aparatinės įrangos puslapyje](./hardware.md), įskaitant nuorodas, kur įsigyti pilnas komplektacijas iš mūsų draugų Seeed Studio.
> 💁 Raskite mūsų [Elgesio kodeksą](CODE_OF_CONDUCT.md), [Prisidėjimo](CONTRIBUTING.md) ir [Vertimo](TRANSLATIONS.md) gaires. Laukiame jūsų konstruktyvios grįžtamosios informacijos!
> 💁 Raskite mūsų [Elgesio kodeksą](CODE_OF_CONDUCT.md), [Indėlio](CONTRIBUTING.md) ir [Vertimo](TRANSLATIONS.md) gaires. Laukiame jūsų konstruktyvios kritikos!
>
>
> 🔧 Kyla problemų? Peržiūrėkite mūsų [Trikčių šalinimo gidą](TROUBLESHOOTING.md), kuriame rasite dažniausiai pasitaikančių problemų sprendimus.
> 🔧 Kyla problemų? Peržiūrėkite mūsų [Trikčių šalinimo vadovą](TROUBLESHOOTING.md) – čia rasite sprendimus dažniausiai pasitaikančioms problemoms.
## Kiekviena pamoka apima:
## Kiekviena pamoka apima:
- eskizą
- piešiniu suvestinę
- neprivalomą papildomą vaizdo įrašą
- pasirenkamą papildomą vaizdo įrašą
- priešpamokinį apšilimo viktoriną
- prieš pamoką vykdomą apšilimo testą
- rašytinę pamoką
- rašytinę pamoką
- projektinėms pamokoms – žingsnis po žingsnio gaires, kaip sukurti projektą
- projektinėms pamokoms – žingsnis po žingsnio vadovus, kaip sukurti projektą
- [pamokos pabaigos testą](https://ff-quizzes.netlify.app/en/)
> **Pastaba apie viktorinas**: Visos viktorinos yra viktorinos programėlės kataloge, iš viso yra 48 viktorinos po tris klausimus kiekvienoje. Jos susietos su pamokomis, tačiau viktorinės programėlę galima paleisti vietoje arba įdiegti „Azure“; vadovaukitės instrukcijomis `quiz-app` kataloge. Jos palaipsniui lokalizuojamos.
> **Pastaba apie testus**: Visi testai yra quiz-app aplanke – iš viso 48 testai, kiekvienas sudarytas iš trijų klausimų. Jie susieti su pamokomis, tačiau testų programėlę galima paleisti vietoje arba diegti į Azure; vadovaukitės instrukcijomis `quiz-app` aplanke. Testai palaipsniui lokalizuojami.
## Pamokos
## Pamokos
| | Projekto pavadinimas | Išmokstamos sąvokos | Mokymosi tikslai | Susieta pamoka |
| | Projekto pavadinimas | Mokomi konceptai | Mokymosi tikslai | Susietoji pamoka |
| 01 | [Pradžia](./1-getting-started/README.md) | Įvadas į daiktų internetą | Išmokite pagrindinius daiktų interneto principus ir pagrindinius sprendimų blokus, tokius kaip jutikliai ir debesų paslaugos, rengiant savo pirmą IoT įrenginį | [Įvadas į daiktų internetą](./1-getting-started/lessons/1-introduction-to-iot/README.md) |
| 01 | [Pradžia](./1-getting-started/README.md) | IoT įvadas | Sužinokite pagrindinius IoT principus ir pagrindines IoT sprendimų dalis, tokias kaip jutikliai ir debesų paslaugos, kol konfigūruojate pirmą IoT įrenginį | [IoT įvadas](./1-getting-started/lessons/1-introduction-to-iot/README.md) |
| 02 | [Pradžia](./1-getting-started/README.md) | Giliau apie daiktų internetą | Sužinokite daugiau apie IoT sistemos komponentus, mikrovaldiklius ir vieno plokštės kompiuterius | [Giliau apie daiktų internetą](./1-getting-started/lessons/2-deeper-dive/README.md) |
| 02 | [Pradžia](./1-getting-started/README.md) | Giliau apie IoT | Sužinokite daugiau apie IoT sistemos komponentus, mikrovaldiklius ir vienplokščius kompiuterius | [Giliau apie IoT](./1-getting-started/lessons/2-deeper-dive/README.md) |
| 03 | [Pradžia](./1-getting-started/README.md) | Sąveika su fiziniu pasauliu per jutiklius ir aktuatorius | Sužinokite apie jutiklius, skirtus rinkti duomenis iš fizinio pasaulio, ir aktuatorius, skirtus siųsti grįžtamąjį ryšį, kuriant naktinį šviestuvą | [Sąveika su fiziniu pasauliu per jutiklius ir aktuatorius](./1-getting-started/lessons/3-sensors-and-actuators/README.md) |
| 03 | [Pradžia](./1-getting-started/README.md) | Sąveika su fizine aplinka per jutiklius ir aktuatorius | Sužinokite apie jutiklius, skirtus rinkti duomenis iš fizinės aplinkos, ir aktuatorius, skirtus siųsti atsiliepimus, kol kuriate nakties šviesą | [Sąveika su fizine aplinka per jutiklius ir aktuatorius](./1-getting-started/lessons/3-sensors-and-actuators/README.md) |
| 04 | [Pradžia](./1-getting-started/README.md) | Prijunkite savo įrenginį prie interneto | Sužinokite, kaip prijungti IoT įrenginį prie interneto siųsti ir gauti žinutes prijungiant naktinį prie MQTT brokerio | [Prijunkite savo įrenginį prie interneto](./1-getting-started/lessons/4-connect-internet/README.md) |
| 04 | [Pradžia](./1-getting-started/README.md) | Įrenginio prijungimas prie interneto | Sužinokite, kaip prijungti IoT įrenginį prie interneto žinučių siuntimui ir priėmimui prijungiant jūsų nakties šviesą prie MQTT brokerio | [Įrenginio prijungimas prie interneto](./1-getting-started/lessons/4-connect-internet/README.md) |
| 05 | [Ūkis](./2-farm/README.md) | Prognozuokite augalų augimą | Sužinokite, kaip prognozuoti augalų augimą naudodami temperatūros duomenis, surinktus IoT įrenginiu | [Prognozuokite augalų augimą](./2-farm/lessons/1-predict-plant-growth/README.md) |
| 05 | [Ūkis](./2-farm/README.md) | Augalų augimo prognozavimas | Sužinokite, kaip prognozuoti augalų augimą naudojant temperatūros duomenis, surinktus IoT įrenginiu | [Augalų augimo prognozavimas](./2-farm/lessons/1-predict-plant-growth/README.md) |
| 06 | [Ūkis](./2-farm/README.md) | Aptikite dirvos drėgmę | Sužinokite, kaip aptikti dirvos drėgmę ir kalibruoti dirvos drėgmės jutiklį | [Aptikite dirvos drėgmę](./2-farm/lessons/2-detect-soil-moisture/README.md) |
| 06 | [Ūkis](./2-farm/README.md) | Dirvos drėgmės aptikimas | Sužinokite, kaip aptikti dirvos drėgmę ir kalibruoti dirvos drėgmės jutiklį | [Dirvos drėgmės aptikimas](./2-farm/lessons/2-detect-soil-moisture/README.md) |
| 07 | [Ūkis](./2-farm/README.md) | Automatinis augalų laistymas | Sužinokite, kaip automatizuoti ir laiku laistyti naudodami relę ir MQTT | [Automatinis augalų laistymas](./2-farm/lessons/3-automated-plant-watering/README.md) |
| 07 | [Ūkis](./2-farm/README.md) | Automatizuotas augalų laistymas | Sužinokite, kaip automatizuoti ir planuoti laistymą naudojant relę ir MQTT | [Automatizuotas augalų laistymas](./2-farm/lessons/3-automated-plant-watering/README.md) |
| 08 | [Ūkis](./2-farm/README.md) | Perkelkite savo augalą į debesį | Sužinokite apie debesį ir debesyje talpinamas IoT paslaugas bei kaip prijungti savo augalą prie vienos tokių paslaugų vietoj viešo MQTT brokerio | [Perkelkite savo augalą į debesį](./2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md) |
| 08 | [Ūkis](./2-farm/README.md) | Augalų perkėlimas į debesį | Sužinokite apie debesų ir debesų talpinamas IoT paslaugas bei kaip prijungti savo augalą prie vienos iš jų vietoje viešo MQTT brokerio | [Augalų perkėlimas į debesį](./2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md) |
| 09 | [Ūkis](./2-farm/README.md) | Perkelkite savo programos logiką į debesį | Sužinokite, kaip debesyje rašyti programavimo logiką, kuri reaguoja į IoT žinutes | [Perkelkite savo programos logiką į debesį](./2-farm/lessons/5-migrate-application-to-the-cloud/README.md) |
| 09 | [Ūkis](./2-farm/README.md) | Taikomosios programos logikos perkėlimas į debesį | Sužinokite, kaip debesyje rašyti taikomąją logiką, kuri reaguoja į IoT žinutes | [Taikomosios programos logikos perkėlimas į debesį](./2-farm/lessons/5-migrate-application-to-the-cloud/README.md) |
| 10 | [Ūkis](./2-farm/README.md) | Saugykite savo augalą saugiai | Sužinokite apie IoT saugumą ir kaip apsaugoti savo augalą naudojant raktus ir sertifikatus | [Saugykite savo augalą saugiai](./2-farm/lessons/6-keep-your-plant-secure/README.md) |
| 10 | [Ūkis](./2-farm/README.md) | Augalų saugumo užtikrinimas | Sužinokite apie IoT saugumą ir kaip saugoti savo augalą su raktais ir sertifikatais | [Augalų saugumo užtikrinimas](./2-farm/lessons/6-keep-your-plant-secure/README.md) |
| 11 | [Transportas](./3-transport/README.md) | Vietos sekimas | Sužinokite apie GPS vietos sekimą IoT įrenginiams | [Vietos sekimas](./3-transport/lessons/1-location-tracking/README.md) |
| 12 | [Transportas](./3-transport/README.md) | Vietos duomenų saugojimas | Sužinokite, kaip saugoti IoT duomenis, kad juos būtų galima vizualizuoti arba analizuoti vėliau | [Vietos duomenų saugojimas](./3-transport/lessons/2-store-location-data/README.md) |
| 12 | [Transportas](./3-transport/README.md) | Vietaikio duomenų saugojimas | Sužinokite, kaip saugoti IoT duomenis, kad vėliau juos būtų galima vizualizuoti ar analizuoti | [Vietaikio duomenų saugojimas](./3-transport/lessons/2-store-location-data/README.md) |
| 13 | [Transportas](./3-transport/README.md) | Vietos duomenų vizualizavimas| Sužinokite apie vietos duomenų vizualizavimą žemėlapyje ir kaip žemėlapiai atvaizduoja realų tris matmenis į dvimatį pasaulį | [Vietos duomenų vizualizavimas](./3-transport/lessons/3-visualize-location-data/README.md) |
| 13 | [Transportas](./3-transport/README.md) | Vietaikio duomenų vizualizavimas | Sužinokite apie vietaikio duomenų vizualizavimą žemėlapyje ir kaip žemėlapiai atvaizduoja tikrą 3D pasaulį 2 dimensijose | [Vietaikio duomenų vizualizavimas](./3-transport/lessons/3-visualize-location-data/README.md) |
| 14 | [Transportas](./3-transport/README.md) | Geoaptvarai | Sužinokite apie geoaptvarus ir kaip jie gali būti naudojami įspėti, kai tiekimo grandinės transporto priemonės priartėja prie tikslo | [Geoaptvarai](./3-transport/lessons/4-geofences/README.md) |
| 14 | [Transportas](./3-transport/README.md) | Geografinės ribos | Sužinokite apie geografinės ribas (geofences) ir kaip jos gali būti naudojamos įspėti, kai tiekimo grandinėje esantys automobiliai artėja prie savo tikslo | [Geografinės ribos](./3-transport/lessons/4-geofences/README.md) |
| 15 | [Gamyba](./4-manufacturing/README.md) | Mokykite vaisių kokybės detektorių | Sužinokite apie vaizdų klasifikatoriaus mokymą debesyje vaisių kokybei aptikti | [Mokykite vaisių kokybės detektorių](./4-manufacturing/lessons/1-train-fruit-detector/README.md) |
| 15 | [Gamyba](./4-manufacturing/README.md) | Mokyti vaisių kokybės detektorių | Sužinokite apie vaizdų klasifikatoriaus treniravimą debesyje vaisių kokybei aptikti | [Mokyti vaisių kokybės detektorių](./4-manufacturing/lessons/1-train-fruit-detector/README.md) |
| 16 | [Gamyba](./4-manufacturing/README.md) | Tikrinkite vaisių kokybę iš IoT įrenginio | Sužinokite, kaip naudoti savo vaisių kokybės detektorių iš IoT įrenginio | [Tikrinkite vaisių kokybę iš IoT įrenginio](./4-manufacturing/lessons/2-check-fruit-from-device/README.md) |
| 16 | [Gamyba](./4-manufacturing/README.md) | Patikrinti vaisių kokybę su IoT įrenginiu | Sužinokite, kaip naudoti savo vaisių kokybės detektorių iš IoT įrenginio | [Patikrinti vaisių kokybę iš IoT įrenginio](./4-manufacturing/lessons/2-check-fruit-from-device/README.md) |
| 17 | [Gamyba](./4-manufacturing/README.md) | Vykdykite savo vaisių detektorių „edge“ įrenginyje | Sužinokite apie vaisių detektoriaus vykdymą IoT įrenginyje edge aplinkoje | [Vykdykite savo vaisių detektorių „edge“ įrenginyje](./4-manufacturing/lessons/3-run-fruit-detector-edge/README.md)|
| 17 | [Gamyba](./4-manufacturing/README.md) | Vykdyti vaisių detektorių tiesioginėje įrangoje | Sužinokite apie vaisių detektoriaus paleidimą IoT įrenginyje – tiesioginėje įrangoje | [Vykdyti vaisių detektorių tiesioginėje įrangoje](./4-manufacturing/lessons/3-run-fruit-detector-edge/README.md)|
| 18 | [Gamyba](./4-manufacturing/README.md) | Aktyvinkite vaisių kokybės aptikimą naudojant jutiklį | Sužinokite, kaip aktyvinti vaisių kokybės aptikimą, naudojant jutiklį | [Aktyvinkite vaisių kokybės aptikimą su jutikliu](./4-manufacturing/lessons/4-trigger-fruit-detector/README.md)|
| 18 | [Gamyba](./4-manufacturing/README.md) | Paleisti vaisių kokybės aptikimą iš jutiklio | Sužinokite, kaip jutiklio pagalba paleisti vaisių kokybės aptikimą | [Paleisti vaisių kokybės aptikimą iš jutiklio](./4-manufacturing/lessons/4-trigger-fruit-detector/README.md)|
| 19 | [Mažmeninė prekyba](./5-retail/README.md) | Mokykite atsargų detektorių | Sužinokite, kaip naudoti objektų aptikimą mokyti atsargų detektorių, skaičiuojant prekes parduotuvėje | [Mokykite atsargų detektorių](./5-retail/lessons/1-train-stock-detector/README.md) |
| 19 | [Mažmena](./5-retail/README.md) | Mokyti prekių aptikimo detektorių | Sužinokite, kaip naudoti objektų aptikimą mokyti prekių detektorių, skaičiuojant prekes parduotuvėje | [Mokyti prekių aptikimo detektorių](./5-retail/lessons/1-train-stock-detector/README.md) |
| 20 | [Mažmeninė prekyba](./5-retail/README.md) | Tikrinkite atsargas iš IoT įrenginio | Sužinokite, kaip tikrinti atsargas iš IoT įrenginio, naudojant objektų aptikimo modelį | [Tikrinkite atsargas iš IoT įrenginio](./5-retail/lessons/2-check-stock-device/README.md) |
| 20 | [Mažmena](./5-retail/README.md) | Patikrinti prekių kiekį su IoT įrenginiu | Sužinokite, kaip patikrinti prekių kiekį naudojant IoT įrenginį ir objektų aptikimo modelį | [Patikrinti prekių kiekį su IoT įrenginiu](./5-retail/lessons/2-check-stock-device/README.md) |
| 21 | [Vartotojas](./6-consumer/README.md) | Atpažinkite kalbą su IoT įrenginiu | Sužinokite, kaip atpažinti kalbą iš IoT įrenginio, kuriant išmanųjį laikmatį | [Atpažinkite kalbą su IoT įrenginiu](./6-consumer/lessons/1-speech-recognition/README.md) |
| 21 | [Vartotojas](./6-consumer/README.md) | Atpažinti kalbą su IoT įrenginiu | Sužinokite, kaip atpažinti kalbą iš IoT įrenginio, kad sukurtumėte išmanų laikmatį | [Atpažinti kalbą su IoT įrenginiu](./6-consumer/lessons/1-speech-recognition/README.md) |
| 22 | [Vartotojas](./6-consumer/README.md) | Supraskite kalbą | Sužinokite, kaip suprasti sakinius, pasakytus IoT įrenginiui | [Supraskite kalbą](./6-consumer/lessons/2-language-understanding/README.md) |
| 22 | [Vartotojas](./6-consumer/README.md) | Suprasti kalbą | Sužinokite, kaip suprasti IoT įrenginiui sakomas žinutes | [Suprasti kalbą](./6-consumer/lessons/2-language-understanding/README.md) |
| 23 | [Vartotojas](./6-consumer/README.md) | Nustatykite laikmatį ir pateikite balso atsiliepimus | Sužinokite, kaip nustatyti laikmatį IoT įrenginyje ir pateikti balso atsiliepimus, kada laikmatis pradėtas ir baigtas | [Nustatykite laikmatį ir pateikite balso atsiliepimus](./6-consumer/lessons/3-spoken-feedback/README.md) |
| 23 | [Vartotojas](./6-consumer/README.md) | Nustatyti laikmatį ir suteikti balso grįžtamąjį ryšį | Sužinokite, kaip IoT įrenginyje nustatyti laikmatį ir pateikti balso grįžtamąjį ryšį, kada jis nustatytas ir baigiasi | [Nustatyti laikmatį ir pateikti balso grįžtamąjį ryšį](./6-consumer/lessons/3-spoken-feedback/README.md) |
| 24 | [Vartotojas](./6-consumer/README.md) | Palaikykite kelias kalbas | Sužinokite, kaip palaikyti kelias kalbas – tiek kai kalbate su įrenginiu, tiek kai jis atsako išmaniajame laikmatyje | [Palaikykite kelias kalbas](./6-consumer/lessons/4-multiple-language-support/README.md) |
| 24 | [Vartotojas](./6-consumer/README.md) | Palaikyti kelias kalbas | Sužinokite, kaip palaikyti kelias kalbas – tiek kalbant su jūsų išmaniu laikmačiu, tiek atsakant į jį | [Palaikyti kelias kalbas](./6-consumer/lessons/4-multiple-language-support/README.md) |
## Offline prieiga
## Laisvas prieinamumas be interneto
Šią dokumentaciją galite naudoti neprisijungę, naudodami [Docsify](https://docsify.js.org/#/). Atšakokite šį repozitoriją, [įdiekite Docsify](https://docsify.js.org/#/quickstart) savo vietiniame kompiuteryje, o tada šio repozitorija šakninėje aplanke įveskite `docsify serve`. Svetainė bus aptarnaujama per 3000 prievadą jūsų vietiniame serveryje: `localhost:3000`.
Šią dokumentaciją galite naudoti neprisijungę naudodami [Docsify](https://docsify.js.org/#/). Atsisiųskite šį repozitoriją, [įdiekite Docsify](https://docsify.js.org/#/quickstart) savo kompiuteryje, o tada šio repozitorijos šakniniame kataloge paleiskite komandą `docsify serve`. Svetainė bus pasiekiama jūsų localhost aplinkoje per 3000 prievadą: `localhost:3000`.
## Viktorina
## Testas
Dėkojame bendruomenei už interaktyvią viktoriną, kuri tikrina jūsų žinias apie kiekvieną skyrių. Savo žinias galite patikrinti [čia](https://ff-quizzes.netlify.app/en/).
Dėkojame bendruomenei už interaktyvų testą, kuris tikrina jūsų žinias kiekvienoje skyriaus dalyje. Testuokite savo žinias [čia](https://ff-quizzes.netlify.app/en/)
### PDF
### PDF
Jei reikia, galite sugeneruoti šio turinio PDF, kad galėtumėte naudotis neprisijungę. Tam įsitikinkite, kad turite [įdiegtą npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) ir paleiskite šias komandas šio repozitorija šakninėje aplanke:
Jei reikia, galite sukurti šio turinio PDF versiją offline prieigai. Tam įsitikinkite, kad turite įdiegtą [npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) ir paleiskite šias komandas šio repozitorijos šakniniame kataloge:
```sh
```sh
npm i
npm i
npm run convert
npm run convert
```
```
### Skaidrių pristatymai
### Skaidrės
Kai kurios pamokos turi skaidrių rinkinius [slides](../../slides) aplanke.
Kai kurių pamokų skaidrių pristatymai yra [slides](../../slides) aplanke.
## Kitos programos
## Kitos programos
@ -164,49 +175,49 @@ Mūsų komanda kuria ir kitas programas! Peržiūrėkite:
[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
[-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
---
---
### Pagrindinis Mokymasis
### Pagrindinis mokymasis
[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
Visus vaizdų priskyrimus, kurie yra naudojami šiame mokymo plane, galite rasti [Priskyrimuose](./attributions.md) kur tai reikalinga.
Visus šios mokymo programos paveikslėlių suteikimus, kur reikia, galite rasti [Suteikimuose](./attributions.md).
---
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Atsakomybės apribojimas**:
**Atsakomybės apribojimas**:
Šis dokumentas buvo išverstas naudojant dirbtinio intelekto vertimo paslaugą [Co-op Translator](https://github.com/Azure/co-op-translator). Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatizuoti vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas gimtąja kalba turi būti laikomas autoritetingu šaltiniu. Svarbiai informacijai rekomenduojamas profesionalus žmogaus atliktas vertimas. Mes neatsakome už jokius nesusipratimus ar klaidingą interpretaciją, kilusią naudojant šį vertimą.
Šis dokumentas buvo išverstas naudojant dirbtinio intelekto vertimo paslaugą [Co-op Translator](https://github.com/Azure/co-op-translator). Nors mes stengiamės užtikrinti tikslumą, atkreipkite dėmesį, kad automatizuoti vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas, parašytas gimtąja kalba, turėtų būti laikomas autoritetingu šaltiniu. Svarbiai informacijai rekomenduojamas profesionalus žmogaus vertimas. Mes neatsakome už jokius nesusipratimus ar neteisingą interpretaciją, atsiradusią naudojant šį vertimą.
@ -26,7 +26,7 @@ Seeed Studios labai maloniai pateikė visą aparatūrą kaip lengvai įsigyjamus
**[IoT pradedantiesiems su Seeed ir Microsoft - Raspberry Pi 4 Starter Kit](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html)**
**[IoT pradedantiesiems su Seeed ir Microsoft - Raspberry Pi 4 Starter Kit](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html)**
[](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html)
[](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Raspberry-Pi-Starter-Kit-p-5004.html)
App သည် run လုပ်ပြီး သင်၏ web browser တွင် open လုပ်ပါမည်:
App သည် run လုပ်ပြီး သင်၏ web browser တွင် open လုပ်ပါမည်:


App သည် *Disconnected* ဟုပြထားပြီး LED သည် အပိတ်ထားသည်။
App သည် *Disconnected* ဟုပြထားပြီး LED သည် အပိတ်ထားသည်။
1. Terminal အသစ်တွင် `app.py` file ကို အရင်ကအတိုင်း run လုပ်ပါ။ CounterFit ၏ status သည် **Connected** ဟုပြောင်းပြီး LED သည် အလင်းပေးပါမည်။
1. Terminal အသစ်တွင် `app.py` file ကို အရင်ကအတိုင်း run လုပ်ပါ။ CounterFit ၏ status သည် **Connected** ဟုပြောင်းပြီး LED သည် အလင်းပေးပါမည်။


ပိုမို smart ဖြစ်သော version တစ်ခုမှာ cloud တွင် AI ကိုအသုံးပြု၍ occupancy sensor ကဲ့သို့သော IoT စက်များနှင့်ဆက်သွယ်သော sensor များမှဒေတာများ၊ weather နှင့် calendar ကဲ့သို့သောဒေတာများကိုအသုံးပြု၍ temperature ကို smart ဖြစ်အောင်သတ်မှတ်ရန်ဆုံးဖြတ်ချက်များကိုလုပ်ဆောင်သည်။ ဥပမာအားဖြင့် calendar မှ vacation သွားနေသည်ကိုဖတ်ပြီး heating ကိုပိတ်နိုင်သည် သို့မဟုတ် သင့်အသုံးပြုသောအခန်းများပေါ်မူတည်၍ room by room အပူချိန်ကိုပိတ်နိုင်သည်။ ဒေတာမှတဆင့်ပိုမိုတိကျစွာလေ့လာနိုင်ရန်အချိန်ကြာလာသည်နှင့်အမျှပိုမိုတိုးတက်လာသည်။
ပိုမို smart ဖြစ်သော version တစ်ခုမှာ cloud တွင် AI ကိုအသုံးပြု၍ occupancy sensor ကဲ့သို့သော IoT စက်များနှင့်ဆက်သွယ်သော sensor များမှဒေတာများ၊ weather နှင့် calendar ကဲ့သို့သောဒေတာများကိုအသုံးပြု၍ temperature ကို smart ဖြစ်အောင်သတ်မှတ်ရန်ဆုံးဖြတ်ချက်များကိုလုပ်ဆောင်သည်။ ဥပမာအားဖြင့် calendar မှ vacation သွားနေသည်ကိုဖတ်ပြီး heating ကိုပိတ်နိုင်သည် သို့မဟုတ် သင့်အသုံးပြုသောအခန်းများပေါ်မူတည်၍ room by room အပူချိန်ကိုပိတ်နိုင်သည်။ ဒေတာမှတဆင့်ပိုမိုတိကျစွာလေ့လာနိုင်ရန်အချိန်ကြာလာသည်နှင့်အမျှပိုမိုတိုးတက်လာသည်။
@ -152,7 +152,7 @@ Arduino boards တွေကို C သို့မဟုတ် C++ နဲ့ co
`setup` function မှာ WiFi နဲ့ cloud services တွေကို connect လုပ်တာ၊ input/output pins တွေကို initialize လုပ်တာတွေကိုရေးနိုင်ပါတယ်။ `loop` function မှာ sensor ကနေ data ဖတ်ပြီး cloud ကို value ပို့တာတွေကိုရေးနိုင်ပါတယ်။ Loop တစ်ခုစီမှာ delay ထည့်သွင်းရပါမယ်၊ ဥပမာ sensor data ကို 10 စက္ကန့်တစ်ကြိမ်ပို့ချင်ရင် loop ရဲ့အဆုံးမှာ 10 စက္ကန့် delay ထည့်ပြီး၊ microcontroller ကို power save mode မှာထားပြီး၊ 10 စက္ကန့်အကြာမှာ loop ကို ပြန် run လုပ်နိုင်ပါတယ်။
`setup` function မှာ WiFi နဲ့ cloud services တွေကို connect လုပ်တာ၊ input/output pins တွေကို initialize လုပ်တာတွေကိုရေးနိုင်ပါတယ်။ `loop` function မှာ sensor ကနေ data ဖတ်ပြီး cloud ကို value ပို့တာတွေကိုရေးနိုင်ပါတယ်။ Loop တစ်ခုစီမှာ delay ထည့်သွင်းရပါမယ်၊ ဥပမာ sensor data ကို 10 စက္ကန့်တစ်ကြိမ်ပို့ချင်ရင် loop ရဲ့အဆုံးမှာ 10 စက္ကန့် delay ထည့်ပြီး၊ microcontroller ကို power save mode မှာထားပြီး၊ 10 စက္ကန့်အကြာမှာ loop ကို ပြန် run လုပ်နိုင်ပါတယ်။


✅ ဒီ program architecture ကို *event loop* သို့မဟုတ် *message loop* လို့ခေါ်ပါတယ်။ Desktop applications အများစုမှာ ဒီပုံစံကို အသုံးပြုထားပြီး၊ Windows, macOS, Linux OS တွေမှာ run လုပ်တဲ့ application တွေမှာ standard ဖြစ်ပါတယ်။ `loop` function က user interface components (button, keyboard) သို့မဟုတ် device တွေကနေ message တွေကို နားထောင်ပြီး၊ အဲဒီ message တွေကို တုံ့ပြန်ပါတယ်။ [event loop](https://wikipedia.org/wiki/Event_loop) အကြောင်းကို ဒီ article မှာ ပိုမိုဖတ်ရှုနိုင်ပါတယ်။
✅ ဒီ program architecture ကို *event loop* သို့မဟုတ် *message loop* လို့ခေါ်ပါတယ်။ Desktop applications အများစုမှာ ဒီပုံစံကို အသုံးပြုထားပြီး၊ Windows, macOS, Linux OS တွေမှာ run လုပ်တဲ့ application တွေမှာ standard ဖြစ်ပါတယ်။ `loop` function က user interface components (button, keyboard) သို့မဟုတ် device တွေကနေ message တွေကို နားထောင်ပြီး၊ အဲဒီ message တွေကို တုံ့ပြန်ပါတယ်။ [event loop](https://wikipedia.org/wiki/Event_loop) အကြောင်းကို ဒီ article မှာ ပိုမိုဖတ်ရှုနိုင်ပါတယ်။
ရိုးရှင်းသော ဒစ်ဂျစ်တယ်အက်တူအိတ်တာတစ်ခုမှာ LED ဖြစ်ပါတယ်။ ကိရိယာတစ်ခုက 1 ဒစ်ဂျစ်တယ်အချက်အလက်ကို ပေးပို့သောအခါ၊ အမြင့်ဗို့အားကို ပေးပို့ပြီး LED ကို တောက်ပစေပါတယ်။ 0 ဒစ်ဂျစ်တယ်အချက်အလက်ကို ပေးပို့သောအခါ၊ ဗို့အားကို 0V သို့ လျှော့ချပြီး LED ကို ပိတ်လိုက်ပါတယ်။
ရိုးရှင်းသော ဒစ်ဂျစ်တယ်အက်တူအိတ်တာတစ်ခုမှာ LED ဖြစ်ပါတယ်။ ကိရိယာတစ်ခုက 1 ဒစ်ဂျစ်တယ်အချက်အလက်ကို ပေးပို့သောအခါ၊ အမြင့်ဗို့အားကို ပေးပို့ပြီး LED ကို တောက်ပစေပါတယ်။ 0 ဒစ်ဂျစ်တယ်အချက်အလက်ကို ပေးပို့သောအခါ၊ ဗို့အားကို 0V သို့ လျှော့ချပြီး LED ကို ပိတ်လိုက်ပါတယ်။


@ -26,7 +26,7 @@ Grove LED သည် module အနေနှင့် ရရှိနိုင်
LED ကို ချိတ်ဆက်ပါ။
LED ကို ချိတ်ဆက်ပါ။


1. သင်နှစ်သက်သော LED ကို ရွေးချယ်ပြီး LED module တွင်ရှိသော အပေါက် ၂ ခုထဲသို့ ချိတ်ဆက်ပါ။
1. သင်နှစ်သက်သော LED ကို ရွေးချယ်ပြီး LED module တွင်ရှိသော အပေါက် ၂ ခုထဲသို့ ချိတ်ဆက်ပါ။
@ -40,7 +40,7 @@ LED ကို ချိတ်ဆက်ပါ။
1. Raspberry Pi ကို power ပိတ်ထားပြီး Grove cable ၏ တစ်ဖက်အဆုံးကို Pi တွင်ရှိသော Grove Base hat ၏ **D5** အမှတ်အသားရှိ digital socket တွင် ချိတ်ဆက်ပါ။ ဤ socket သည် GPIO pins အနီးတွင်ရှိသော sockets အတန်း၏ ဘယ်ဘက်မှ ဒုတိယ socket ဖြစ်သည်။
1. Raspberry Pi ကို power ပိတ်ထားပြီး Grove cable ၏ တစ်ဖက်အဆုံးကို Pi တွင်ရှိသော Grove Base hat ၏ **D5** အမှတ်အသားရှိ digital socket တွင် ချိတ်ဆက်ပါ။ ဤ socket သည် GPIO pins အနီးတွင်ရှိသော sockets အတန်း၏ ဘယ်ဘက်မှ ဒုတိယ socket ဖြစ်သည်။


1. Raspberry Pi ကို power ပိတ်ထားပြီး Grove cable ရဲ့ တစ်ဖက်အဆုံးကို Grove Base hat ရဲ့ analog socket **A0** မှာ ချိတ်ဆက်ပါ။ ဒီ socket က GPIO pins အနီးမှာရှိတဲ့ socket row ရဲ့ ညာဘက် ဒုတိယ socket ဖြစ်ပါတယ်။
1. Raspberry Pi ကို power ပိတ်ထားပြီး Grove cable ရဲ့ တစ်ဖက်အဆုံးကို Grove Base hat ရဲ့ analog socket **A0** မှာ ချိတ်ဆက်ပါ။ ဒီ socket က GPIO pins အနီးမှာရှိတဲ့ socket row ရဲ့ ညာဘက် ဒုတိယ socket ဖြစ်ပါတယ်။




Thermostat က cloud service ကနေ heating ကိုဖွင့်ဖို့ command ကိုရရှိနိုင်ပါတယ်။ Sensor data အပေါ်မူတည်ပြီး cloud service က heating ကိုဖွင့်ဖို့ဆုံးဖြတ်နိုင်ပါတယ်။
Thermostat က cloud service ကနေ heating ကိုဖွင့်ဖို့ command ကိုရရှိနိုင်ပါတယ်။ Sensor data အပေါ်မူတည်ပြီး cloud service က heating ကိုဖွင့်ဖို့ဆုံးဖြတ်နိုင်ပါတယ်။
| VCC | Voltage common collector | Devices များအတွက် power supply ဖြစ်သည်။ ဒါသည် SDA နှင့် SCL wires များကို pull-up resistor ဖြင့် power ပေးသည်။ controller မရှိသောအခါ signal ကို off ပြုလုပ်သည်။ |
| VCC | Voltage common collector | Devices များအတွက် power supply ဖြစ်သည်။ ဒါသည် SDA နှင့် SCL wires များကို pull-up resistor ဖြင့် power ပေးသည်။ controller မရှိသောအခါ signal ကို off ပြုလုပ်သည်။ |
@ -18,7 +18,7 @@ Grove မြေစိုထိုင်းဆာန့်ဆာကို Wio Ter
မြေစိုထိုင်းဆာန့်ဆာကို ချိတ်ဆက်ပါ။
မြေစိုထိုင်းဆာန့်ဆာကို ချိတ်ဆက်ပါ။


1. Grove ကေဘယ်တစ်ခုကို မြေစိုထိုင်းဆာန့်ဆာရဲ့ socket ထဲထည့်ပါ။ ဒါဟာ တစ်ဖက်ဘက်သာ ထည့်နိုင်ပါသည်။
1. Grove ကေဘယ်တစ်ခုကို မြေစိုထိုင်းဆာန့်ဆာရဲ့ socket ထဲထည့်ပါ။ ဒါဟာ တစ်ဖက်ဘက်သာ ထည့်နိုင်ပါသည်။
2. Raspberry Pi ကို ပိတ်ထားပြီး၊ Grove cable ၏ အခြားဖက်အဆုံးကို Pi တွင် တပ်ထားသော Grove Base Hat ၏ **D5** ဟု အမှတ်အသားပြထားသော digital socket တွင် ချိတ်ဆက်ပါ။ ဤ socket သည် GPIO pin များအနီးရှိ socket များ၏ ဘယ်ဘက်မှ ဒုတိယဖြစ်သည်။ မြေစိုထိုင်းဆန့်ကျင်ကိရိယာကို **A0** socket တွင် ချိတ်ဆက်ထားပါ။
2. Raspberry Pi ကို ပိတ်ထားပြီး၊ Grove cable ၏ အခြားဖက်အဆုံးကို Pi တွင် တပ်ထားသော Grove Base Hat ၏ **D5** ဟု အမှတ်အသားပြထားသော digital socket တွင် ချိတ်ဆက်ပါ။ ဤ socket သည် GPIO pin များအနီးရှိ socket များ၏ ဘယ်ဘက်မှ ဒုတိယဖြစ်သည်။ မြေစိုထိုင်းဆန့်ကျင်ကိရိယာကို **A0** socket တွင် ချိတ်ဆက်ထားပါ။






ဒီ data center တွေဟာ စတုရန်းကီလိုမီတာများစွာ ကျယ်ဝန်းနိုင်သည်။ အထက်ပါပုံတွေက Microsoft cloud data center တစ်ခုမှာ ရှိပြီး၊ စတင်အရွယ်အစားနှင့် အချဲ့အရွယ်အစားကို ပြသထားသည်။
ဒီ data center တွေဟာ စတုရန်းကီလိုမီတာများစွာ ကျယ်ဝန်းနိုင်သည်။ အထက်ပါပုံတွေက Microsoft cloud data center တစ်ခုမှာ ရှိပြီး၊ စတင်အရွယ်အစားနှင့် အချဲ့အရွယ်အစားကို ပြသထားသည်။


စက်တွေဟာ Cloud service ကို အသုံးပြုပြီး၊ အခြား application components တွေနဲ့ ဆက်သွယ်နိုင်ပါတယ်။
စက်တွေဟာ Cloud service ကို အသုံးပြုပြီး၊ အခြား application components တွေနဲ့ ဆက်သွယ်နိုင်ပါတယ်။


Serverless, သို့မဟုတ် serverless computing ဆိုသည်မှာ အမျိုးမျိုးသော အဖြစ်အပျက်များကို တုံ့ပြန်ရန် cloud တွင် အလုပ်လုပ်သော code အပိုင်းငယ်များကို ဖန်တီးခြင်းဖြစ်သည်။ အဖြစ်အပျက်တစ်ခုဖြစ်ပေါ်သောအခါ သင့် code ကို run လုပ်ပြီး အဖြစ်အပျက်နှင့်ပတ်သက်သော data ကို ပေးပို့သည်။ ဒီအဖြစ်အပျက်များသည် web requests, queue တွင် message ထည့်ခြင်း, database တွင် data ပြောင်းလဲခြင်း, သို့မဟုတ် IoT devices မှ IoT service သို့ message ပို့ခြင်းတို့အပါအဝင် အမျိုးမျိုးသောအရာများဖြစ်နိုင်သည်။
Serverless, သို့မဟုတ် serverless computing ဆိုသည်မှာ အမျိုးမျိုးသော အဖြစ်အပျက်များကို တုံ့ပြန်ရန် cloud တွင် အလုပ်လုပ်သော code အပိုင်းငယ်များကို ဖန်တီးခြင်းဖြစ်သည်။ အဖြစ်အပျက်တစ်ခုဖြစ်ပေါ်သောအခါ သင့် code ကို run လုပ်ပြီး အဖြစ်အပျက်နှင့်ပတ်သက်သော data ကို ပေးပို့သည်။ ဒီအဖြစ်အပျက်များသည် web requests, queue တွင် message ထည့်ခြင်း, database တွင် data ပြောင်းလဲခြင်း, သို့မဟုတ် IoT devices မှ IoT service သို့ message ပို့ခြင်းတို့အပါအဝင် အမျိုးမျိုးသောအရာများဖြစ်နိုင်သည်။


Latitude ကို Equator နှင့် Parallel ဖြစ်သော Circle လိုင်းများကိုအသုံးပြု၍ တောင်ဘက်နှင့်မြောက်ဘက် Hemisphere များကို 90° အဖြစ်ခွဲခြားကာတိုင်းတာသည်။ Equator သည် 0° တွင်ရှိပြီး မြောက်ဘက် 90° သည် 90° North ဟုခေါ်သည်။ တောင်ဘက် 90° သည် -90° သို့မဟုတ် 90° South ဖြစ်သည်။
Latitude ကို Equator နှင့် Parallel ဖြစ်သော Circle လိုင်းများကိုအသုံးပြု၍ တောင်ဘက်နှင့်မြောက်ဘက် Hemisphere များကို 90° အဖြစ်ခွဲခြားကာတိုင်းတာသည်။ Equator သည် 0° တွင်ရှိပြီး မြောက်ဘက် 90° သည် 90° North ဟုခေါ်သည်။ တောင်ဘက် 90° သည် -90° သို့မဟုတ် 90° South ဖြစ်သည်။
Longitude ကို အရှေ့နှင့်အနောက်တိုင်းတာသောဒီဂရီအရေအတွက်အဖြစ်တိုင်းတာသည်။ Longitude ၏ 0° Origin ကို *Prime Meridian* ဟုခေါ်ပြီး 1884 ခုနှစ်တွင် [British Royal Observatory in Greenwich, England](https://wikipedia.org/wiki/Royal_Observatory,_Greenwich) မှတောင်ဘက်မှမြောက်ဘက်သို့သွားသောလိုင်းအဖြစ်သတ်မှတ်ခဲ့သည်။
Longitude ကို အရှေ့နှင့်အနောက်တိုင်းတာသောဒီဂရီအရေအတွက်အဖြစ်တိုင်းတာသည်။ Longitude ၏ 0° Origin ကို *Prime Meridian* ဟုခေါ်ပြီး 1884 ခုနှစ်တွင် [British Royal Observatory in Greenwich, England](https://wikipedia.org/wiki/Royal_Observatory,_Greenwich) မှတောင်ဘက်မှမြောက်ဘက်သို့သွားသောလိုင်းအဖြစ်သတ်မှတ်ခဲ့သည်။


> 🎓 Meridian သည် မြောက်ဘက်မှတောင်ဘက်သို့သွားသော Semicircle ဖြစ်သောစိတ်ကူးယဉ်လိုင်းတစ်ခုဖြစ်သည်။
> 🎓 Meridian သည် မြောက်ဘက်မှတောင်ဘက်သို့သွားသော Semicircle ဖြစ်သောစိတ်ကူးယဉ်လိုင်းတစ်ခုဖြစ်သည်။
@ -18,13 +18,13 @@ Grove GPS ဆင်ဆာကို Raspberry Pi နှင့် ချိတ်
GPS ဆင်ဆာကို ချိတ်ဆက်ပါ။
GPS ဆင်ဆာကို ချိတ်ဆက်ပါ။


1. Grove ကေဘယ်လ်တစ်ဖက်ကို GPS ဆင်ဆာပေါ်ရှိ ဆော့ကက်ထဲသို့ ထည့်ပါ။ ၎င်းသည် တစ်ဖက်သာ အလွယ်တကူသွားပါမည်။
1. Grove ကေဘယ်လ်တစ်ဖက်ကို GPS ဆင်ဆာပေါ်ရှိ ဆော့ကက်ထဲသို့ ထည့်ပါ။ ၎င်းသည် တစ်ဖက်သာ အလွယ်တကူသွားပါမည်။
1. Raspberry Pi ကို မီးပိတ်ထားသောအခြေအနေတွင် Grove ကေဘယ်လ်၏ အခြားဖက်ကို Pi တွင်တပ်ဆင်ထားသော Grove Base Hat ပေါ်ရှိ **UART** ဟုအမှတ်အသားပြုထားသော UART ဆော့ကက်ထဲသို့ ချိတ်ဆက်ပါ။ ဒီဆော့ကက်သည် အလယ်တန်းတန်းတွင်ရှိပြီး SD Card slot အနီး၊ USB port နှင့် ethernet socket ၏ အခြားဖက်တွင်ရှိသည်။
1. Raspberry Pi ကို မီးပိတ်ထားသောအခြေအနေတွင် Grove ကေဘယ်လ်၏ အခြားဖက်ကို Pi တွင်တပ်ဆင်ထားသော Grove Base Hat ပေါ်ရှိ **UART** ဟုအမှတ်အသားပြုထားသော UART ဆော့ကက်ထဲသို့ ချိတ်ဆက်ပါ။ ဒီဆော့ကက်သည် အလယ်တန်းတန်းတွင်ရှိပြီး SD Card slot အနီး၊ USB port နှင့် ethernet socket ၏ အခြားဖက်တွင်ရှိသည်။




> Sketchnote by [Nitya Narasimhan](https://github.com/nitya). Click the image for a larger version.
> Sketchnote by [Nitya Narasimhan](https://github.com/nitya). Click the image for a larger version.






### Task - handle GPS events using serverless code
### Task - handle GPS events using serverless code






ပုံရိပ်ခွဲခြားစနစ်အတွက် အကောင်းဆုံးရလဒ်ရရှိရန် prediction data နှင့် training data တူညီမှုရှိအောင် သင်ကြားရမည်။ ဥပမာအားဖြင့် သင် training data အတွက် ဖုန်းကင်မရာကို အသုံးပြုခဲ့ပါက အိုင်အိုတီ (IoT) စက်ပစ္စည်းမှ ကင်မရာ၏ image quality, sharpness, နှင့် color မတူနိုင်သည်။
ပုံရိပ်ခွဲခြားစနစ်အတွက် အကောင်းဆုံးရလဒ်ရရှိရန် prediction data နှင့် training data တူညီမှုရှိအောင် သင်ကြားရမည်။ ဥပမာအားဖြင့် သင် training data အတွက် ဖုန်းကင်မရာကို အသုံးပြုခဲ့ပါက အိုင်အိုတီ (IoT) စက်ပစ္စည်းမှ ကင်မရာ၏ image quality, sharpness, နှင့် color မတူနိုင်သည်။
@ -16,7 +16,7 @@ Raspberry Pi ကို ကင်မရာတစ်ခုလိုအပ်ပါ
### အလုပ် - ကင်မရာကိုချိတ်ဆက်ပါ
### အလုပ် - ကင်မရာကိုချိတ်ဆက်ပါ


1. Pi ကိုပိတ်ပါ။
1. Pi ကိုပိတ်ပါ။
@ -24,17 +24,17 @@ Raspberry Pi ကို ကင်မရာတစ်ခုလိုအပ်ပါ
[Raspberry Pi Getting Started with the Camera module documentation](https://projects.raspberrypi.org/en/projects/getting-started-with-picamera/2) မှာ clip ကိုဘယ်လိုဖွင့်ပြီး cable ကိုထည့်ရမယ်ဆိုတာ animation အနေနဲ့တွေ့နိုင်ပါတယ်။
[Raspberry Pi Getting Started with the Camera module documentation](https://projects.raspberrypi.org/en/projects/getting-started-with-picamera/2) မှာ clip ကိုဘယ်လိုဖွင့်ပြီး cable ကိုထည့်ရမယ်ဆိုတာ animation အနေနဲ့တွေ့နိုင်ပါတယ်။


1. Grove Base Hat ကို Pi မှာဖယ်ရှားပါ။
1. Grove Base Hat ကို Pi မှာဖယ်ရှားပါ။
1. Ribbon cable ကို Grove Base Hat ရဲ့ camera slot မှတဆင့်ဖြတ်ပါ။ Cable ရဲ့ blue side က **A0**, **A1** စတဲ့ analog ports ကိုကြည့်နေတဲ့အနေအထားဖြစ်ရပါမယ်။
1. Ribbon cable ကို Grove Base Hat ရဲ့ camera slot မှတဆင့်ဖြတ်ပါ။ Cable ရဲ့ blue side က **A0**, **A1** စတဲ့ analog ports ကိုကြည့်နေတဲ့အနေအထားဖြစ်ရပါမယ်။


1. Ribbon cable ကို Pi ရဲ့ camera port မှာထည့်ပါ။ အနက်ရောင် clip ကိုပြန်ဆွဲထုတ်ပြီး cable ကိုထည့်ပါ၊ ပြီးရင် clip ကိုပြန် push လုပ်ပါ။ Cable ရဲ့ blue side က USB နဲ့ ethernet ports ကိုကြည့်နေတဲ့အနေအထားဖြစ်ရပါမယ်။
1. Ribbon cable ကို Pi ရဲ့ camera port မှာထည့်ပါ။ အနက်ရောင် clip ကိုပြန်ဆွဲထုတ်ပြီး cable ကိုထည့်ပါ၊ ပြီးရင် clip ကိုပြန် push လုပ်ပါ။ Cable ရဲ့ blue side က USB နဲ့ ethernet ports ကိုကြည့်နေတဲ့အနေအထားဖြစ်ရပါမယ်။



