@ -115,7 +115,7 @@ IoT एप्लिकेशन को *चीजें* (डिवाइस)
IoT डिवाइस को किसी प्रकार के ट्रिगर की आवश्यकता होती है ताकि यह संकेत मिल सके कि फल को वर्गीकृत करने के लिए तैयार है। एक ट्रिगर यह हो सकता है कि कन्वेयर बेल्ट पर फल सही स्थान पर है या नहीं, इसे सेंसर से दूरी मापकर जांचा जाए।


प्रॉक्सिमिटी सेंसर का उपयोग सेंसर से वस्तु की दूरी मापने के लिए किया जा सकता है। वे आमतौर पर विद्युत चुम्बकीय विकिरण जैसे लेज़र बीम या इन्फ्रारेड लाइट को प्रसारित करते हैं, फिर किसी वस्तु से विकिरण को उछलते हुए पहचानते हैं। लेज़र बीम भेजे जाने और सिग्नल के वापस उछलने के बीच का समय सेंसर से दूरी की गणना के लिए उपयोग किया जा सकता है।
@ -35,7 +35,7 @@ Grove टाइम ऑफ फ्लाइट सेंसर को रास्
1. रास्पबेरी पाई को बंद करके, Grove केबल के दूसरे सिरे को Grove बेस हैट पर **I²C** सॉकेट में कनेक्ट करें। ये सॉकेट निचली पंक्ति में हैं, GPIO पिन्स के विपरीत छोर पर और कैमरा केबल स्लॉट के पास हैं।


## टाइम ऑफ फ्लाइट सेंसर प्रोग्राम करें
@ -106,7 +106,7 @@ Grove टाइम ऑफ फ्लाइट सेंसर को रास्
रेंजफाइंडर सेंसर के पीछे की तरफ है, इसलिए दूरी मापते समय सही दिशा का उपयोग करना सुनिश्चित करें।


> 💁 आप इस कोड को [code-proximity/pi](../../../../../4-manufacturing/lessons/4-trigger-fruit-detector/code-proximity/pi) फोल्डर में पा सकते हैं।
@ -35,7 +35,7 @@ Grove टाइम ऑफ फ्लाइट सेंसर को Wio Terminal
1. Wio Terminal को अपने कंप्यूटर या किसी अन्य पावर सप्लाई से डिस्कनेक्ट करें। Grove केबल के दूसरे सिरे को Wio Terminal के स्क्रीन की ओर देखते हुए बाईं ओर के Grove सॉकेट में कनेक्ट करें। यह सॉकेट पावर बटन के सबसे करीब है। यह एक संयुक्त डिजिटल और I²C सॉकेट है।


1. अब आप Wio Terminal को अपने कंप्यूटर से कनेक्ट कर सकते हैं।
@ -101,7 +101,7 @@ Grove टाइम ऑफ फ्लाइट सेंसर को Wio Terminal
रेंजफाइंडर सेंसर के पीछे की तरफ है, इसलिए दूरी मापते समय सही दिशा का उपयोग करना सुनिश्चित करें।


> 💁 आप इस कोड को [code-proximity/wio-terminal](../../../../../4-manufacturing/lessons/4-trigger-fruit-detector/code-proximity/wio-terminal) फोल्डर में पा सकते हैं।
उदाहरण के लिए, यदि एक कैमरा उन शेल्फों की ओर इशारा कर रहा है जो 8 टमाटर पेस्ट के डिब्बे रख सकते हैं, और ऑब्जेक्ट डिटेक्टर केवल 7 डिब्बे का पता लगाता है, तो एक डिब्बा गायब है और उसे फिर से भरने की आवश्यकता है।


ऊपर दी गई छवि में, ऑब्जेक्ट डिटेक्टर ने शेल्फ पर 7 टमाटर पेस्ट के डिब्बे का पता लगाया है जो 8 डिब्बे रख सकता है। IoT डिवाइस न केवल स्टॉक को फिर से भरने की आवश्यकता की सूचना भेज सकता है, बल्कि यह गायब वस्तु के स्थान का संकेत भी दे सकता है, जो महत्वपूर्ण डेटा है यदि आप रोबोट का उपयोग शेल्फ को फिर से भरने के लिए कर रहे हैं।
@ -51,7 +51,7 @@ CO_OP_TRANSLATOR_METADATA:
ऑब्जेक्ट डिटेक्शन का उपयोग अप्रत्याशित वस्तुओं का पता लगाने के लिए किया जा सकता है, जिससे मानव या रोबोट को वस्तु को वापस उसकी सही जगह पर रखने के लिए तुरंत सूचित किया जा सके।


ऊपर दी गई छवि में, टमाटर पेस्ट के बगल में एक बेबी कॉर्न का डिब्बा रखा गया है। ऑब्जेक्ट डिटेक्टर ने इसका पता लगाया है, जिससे IoT डिवाइस मानव या रोबोट को डिब्बा को उसकी सही जगह पर वापस रखने के लिए सूचित कर सकता है।
1. ऐप को चलाएं और कैमरे को शेल्फ पर रखे स्टॉक की ओर इंगित करें। आप VS Code एक्सप्लोरर में `image.jpg` फ़ाइल देखेंगे और इसे चुनकर बाउंडिंग बॉक्स देख सकेंगे।




ऊपर दिखाई गई छवि में, बॉक्सिंग बॉक्स थोड़ा ओवरलैप कर रहे हैं। यदि यह ओवरलैप बहुत बड़ा होता, तो बॉक्सिंग बॉक्स एक ही वस्तु को इंगित कर सकते थे। वस्तुओं को सही तरीके से गिनने के लिए, आपको उन बॉक्स को नजरअंदाज करना होगा जिनमें महत्वपूर्ण ओवरलैप है।
* रिबन - रिबन माइक्रोफोन डायनामिक माइक्रोफोन के समान होते हैं, लेकिन इनमें डायाफ्राम के बजाय एक धातु रिबन होता है। यह रिबन चुंबकीय क्षेत्र में हिलता है और विद्युत धारा उत्पन्न करता है। डायनामिक माइक्रोफोन की तरह, रिबन माइक्रोफोन को काम करने के लिए बिजली की आवश्यकता नहीं होती।


* कंडेंसर - कंडेंसर माइक्रोफोन में एक पतला धातु डायाफ्राम और एक स्थिर धातु बैकप्लेट होता है। इन दोनों पर बिजली लगाई जाती है और जैसे ही डायाफ्राम हिलता है, प्लेटों के बीच स्थिर चार्ज बदलता है और एक संकेत उत्पन्न करता है। कंडेंसर माइक्रोफोन को काम करने के लिए बिजली की आवश्यकता होती है - जिसे *फैंटम पावर* कहा जाता है।
@ -84,7 +84,7 @@ CO_OP_TRANSLATOR_METADATA:
> 🎓 सैंपलिंग ऑडियो संकेत को डिजिटल मान में बदलने की प्रक्रिया है, जो उस समय संकेत का प्रतिनिधित्व करता है।


डिजिटल ऑडियो को पल्स कोड मॉड्यूलेशन, या PCM का उपयोग करके सैंपल किया जाता है। PCM में संकेत के वोल्टेज को पढ़ना और उस वोल्टेज के सबसे करीब डिस्क्रीट मान का चयन करना शामिल है।
Wio Terminal में पहले से ही एक माइक्रोफोन बिल्ट-इन है, जिसे आवाज़ पहचानने के लिए ऑडियो रिकॉर्ड करने में उपयोग किया जा सकता है।


स्पीकर जोड़ने के लिए, आप [ReSpeaker 2-Mics Pi Hat](https://www.seeedstudio.com/ReSpeaker-2-Mics-Pi-HAT.html) का उपयोग कर सकते हैं। यह एक बाहरी बोर्ड है जिसमें 2 MEMS माइक्रोफोन, एक स्पीकर कनेक्टर और हेडफोन सॉकेट शामिल हैं।


आपको या तो हेडफोन, 3.5mm जैक वाला स्पीकर, या JST कनेक्शन वाला स्पीकर जैसे [Mono Enclosed Speaker - 2W 6 Ohm](https://www.seeedstudio.com/Mono-Enclosed-Speaker-2W-6-Ohm-p-2832.html) जोड़ने की आवश्यकता होगी।
@ -35,7 +35,7 @@ ReSpeaker 2-Mics Pi Hat को कनेक्ट करने के लिए,
1. ReSpeaker और Wio Terminal को GPIO सॉकेट्स ऊपर की ओर और बाईं ओर रखते हुए पोजिशन करें।
@ -43,33 +43,33 @@ ReSpeaker 2-Mics Pi Hat को कनेक्ट करने के लिए,
1. इसे GPIO सॉकेट्स के बाईं ओर नीचे तक दोहराएं। सुनिश्चित करें कि पिन्स अच्छी तरह से लगे हुए हैं।




> 💁 यदि आपके जंपर केबल्स रिबन में जुड़े हुए हैं, तो उन्हें एक साथ रखें - यह सुनिश्चित करना आसान हो जाता है कि सभी केबल्स सही क्रम में जुड़े हुए हैं।
1. ReSpeaker और Wio Terminal के दाईं ओर के GPIO सॉकेट्स के लिए इस प्रक्रिया को दोहराएं। ये केबल्स पहले से जुड़े केबल्स के चारों ओर से गुजरनी चाहिए।




> 💁 यदि आपके जंपर केबल्स रिबन में जुड़े हुए हैं, तो उन्हें दो रिबन में विभाजित करें। एक को पहले से जुड़े केबल्स के प्रत्येक तरफ से पास करें।
> 💁 आप पिन्स को ब्लॉक में रखने के लिए चिपकने वाले टेप का उपयोग कर सकते हैं ताकि कनेक्ट करते समय कोई पिन बाहर न निकले।
>
> 
> 
1. आपको एक स्पीकर जोड़ने की आवश्यकता होगी।
* यदि आप JST केबल वाला स्पीकर उपयोग कर रहे हैं, तो इसे ReSpeaker के JST पोर्ट में कनेक्ट करें।


* यदि आप 3.5mm जैक वाला स्पीकर या हेडफोन उपयोग कर रहे हैं, तो इसे 3.5mm जैक सॉकेट में डालें।


### कार्य - SD कार्ड सेट करें
@ -79,7 +79,7 @@ ReSpeaker 2-Mics Pi Hat को कनेक्ट करने के लिए,
1. SD कार्ड को Wio Terminal के बाईं ओर पावर बटन के ठीक नीचे SD कार्ड स्लॉट में डालें। सुनिश्चित करें कि कार्ड पूरी तरह से अंदर है और क्लिक करता है - इसे पूरी तरह से अंदर धकेलने के लिए आपको एक पतले टूल या दूसरे SD कार्ड की आवश्यकता हो सकती है।


> 💁 SD कार्ड को बाहर निकालने के लिए, आपको इसे हल्का सा अंदर धकेलना होगा और यह बाहर आ जाएगा। ऐसा करने के लिए आपको एक पतले टूल जैसे फ्लैट-हेड स्क्रूड्राइवर या दूसरा SD कार्ड चाहिए।
टेक्स्ट को आवाज में बदलने की प्रक्रिया, जैसा कि नाम से पता चलता है, टेक्स्ट को ऑडियो में बदलने की प्रक्रिया है जिसमें टेक्स्ट को बोले गए शब्दों के रूप में प्रस्तुत किया जाता है। इसका मूल सिद्धांत टेक्स्ट में शब्दों को उनके घटक ध्वनियों (जिन्हें फोनीम्स कहा जाता है) में तोड़ना है और उन ध्वनियों के लिए ऑडियो को जोड़ना है, या तो पहले से रिकॉर्ड किए गए ऑडियो का उपयोग करके या AI मॉडल द्वारा उत्पन्न ऑडियो का उपयोग करके।


टेक्स्ट को आवाज में बदलने की प्रणाली में आमतौर पर 3 चरण होते हैं:
आदर्श रूप से, आपका पूरा एप्लिकेशन जितनी संभव हो उतनी विभिन्न भाषाओं को समझना चाहिए, स्पीच सुनने से लेकर भाषा समझने तक, और स्पीच के साथ प्रतिक्रिया देने तक। यह बहुत काम है, इसलिए अनुवाद सेवाएं आपके एप्लिकेशन की डिलीवरी के समय को तेज कर सकती हैं।


कल्पना करें कि आप एक स्मार्ट टाइमर बना रहे हैं जो अंग्रेजी का उपयोग करता है, शुरुआत से अंत तक, अंग्रेजी में बोले गए शब्दों को समझता है और उसे टेक्स्ट में बदलता है, अंग्रेजी में भाषा समझने को चलाता है, अंग्रेजी में प्रतिक्रियाएं बनाता है और अंग्रेजी स्पीच के साथ प्रतिक्रिया देता है। यदि आप जापानी का समर्थन जोड़ना चाहते हैं, तो आप जापानी बोले गए शब्दों को अंग्रेजी टेक्स्ट में अनुवादित करने से शुरू कर सकते हैं, फिर एप्लिकेशन के कोर को समान रख सकते हैं, फिर प्रतिक्रिया टेक्स्ट को जापानी में अनुवादित कर सकते हैं और प्रतिक्रिया बोल सकते हैं। यह आपको जल्दी से जापानी समर्थन जोड़ने की अनुमति देगा, और आप बाद में पूर्ण शुरुआत से अंत तक जापानी समर्थन प्रदान करने के लिए विस्तार कर सकते हैं।
@ -57,7 +57,7 @@ Microsoft के Azure Cloud Advocates खुशी के साथ IoT मू
परियोजनाएं खाद्य सामग्री के खेत से लेकर मेज तक के सफर को कवर करती हैं। इसमें खेती, लॉजिस्टिक्स, विनिर्माण, रिटेल और उपभोक्ता शामिल हैं - ये सभी IoT उपकरणों के लिए लोकप्रिय उद्योग क्षेत्र हैं।


> स्केचनोट द्वारा [Nitya Narasimhan](https://github.com/nitya). बड़ी छवि के लिए छवि पर क्लिक करें।
@ -21,7 +21,7 @@ IoT में **T** का मतलब **थिंग्स** है, जो
## किट खरीदें


Seeed Studios ने बहुत ही उदारता से सभी हार्डवेयर को आसान खरीदारी किट के रूप में उपलब्ध कराया है:
@ -29,7 +29,7 @@ Seeed Studios ने बहुत ही उदारता से सभी ह
**[Seeed और Microsoft के साथ शुरुआती IoT - Wio टर्मिनल स्टार्टर किट](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Wio-Terminal-Starter-Kit-p-5006.html)**
Pi Zero 更小,功耗更低。它擁有一個單核心 1GHz 的 CPU,512MB 的 RAM,WiFi(在 Zero W 型號中),一個 HDMI 埠,一個 micro-USB 埠,40 個 GPIO 引腳,一個樹莓派相機模組的相機連接埠,以及一個 SD 卡插槽。它的尺寸為 65mm x 30mm x 5mm,功耗非常低。Zero 售價 5 美元,帶 WiFi 的 W 版本售價 10 美元。


例如,如果你在一個表中存儲用戶的個人詳細信息,你會為每個用戶設置某種內部唯一 ID,該 ID 用於存儲用戶的姓名和地址。如果你想在另一個表中存儲該用戶的其他詳細信息,例如購買記錄,你會在新表中設置一列來存儲該用戶的 ID。當你查詢用戶時,可以使用其 ID 從一個表中獲取個人詳細信息,並從另一個表中獲取購買記錄。
@ -79,7 +79,7 @@ Mikrokontroler (također poznat kao MCU, skraćeno od microcontroller unit) je m
Mikrokontroleri su obično jeftini računalni uređaji, s prosječnim cijenama za one koji se koriste u prilagođenom hardveru padajući na oko 0,50 USD, a neki uređaji su jeftini i do 0,03 USD. Razvojni kompleti mogu početi od 4 USD, a cijene rastu kako dodajete više funkcija. [Wio Terminal](https://www.seeedstudio.com/Wio-Terminal-p-4509.html), razvojni komplet mikrokontrolera iz [Seeed Studios](https://www.seeedstudio.com) koji ima senzore, aktuatore, WiFi i ekran, košta oko 30 USD.
> 💁 Kada pretražujete Internet za mikrokontrolere, budite oprezni s pretraživanjem pojma **MCU**, jer će vam se vratiti puno rezultata vezanih uz Marvel Cinematic Universe, a ne mikrokontrolere.
@ -93,7 +93,7 @@ Razvojni kompleti mikrokontrolera obično dolaze s dodatnim senzorima i aktuator
Jednopločno računalo je mali računalni uređaj koji ima sve elemente kompletnog računala sadržane na jednoj maloj ploči. To su uređaji koji imaju specifikacije bliske stolnim ili prijenosnim računalima, pokreću puni operativni sustav, ali su mali, troše manje energije i znatno su jeftiniji.


Raspberry Pi je jedno od najpopularnijih jednopločnih računala.
[Raspberry Pi](https://raspberrypi.org) je računalo na jednoj ploči. Možete dodati senzore i aktuatore koristeći širok raspon uređaja i ekosustava, a za ove lekcije koristit ćemo hardverski ekosustav nazvan [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html). Kodirat ćete svoj Pi i pristupati Grove senzorima koristeći Python.


## Postavljanje
@ -112,7 +112,7 @@ Postavite headless Pi OS.
1. U Raspberry Pi Imageru odaberite gumb **CHOOSE OS**, zatim odaberite *Raspberry Pi OS (Other)*, a potom *Raspberry Pi OS Lite (32-bit)*.


> 💁 Raspberry Pi OS Lite je verzija Raspberry Pi OS-a koja nema desktop UI ili alate bazirane na UI-u. Ovi nisu potrebni za headless Pi i čine instalaciju manjom i vrijeme pokretanja bržim.
@ -251,7 +251,7 @@ Kreirajte Hello World aplikaciju.
1. Otvorite ovu mapu u VS Code odabirom *File -> Open...* i odabirom mape *nightlight*, zatim odaberite **OK**.


1. Otvorite datoteku `app.py` iz VS Code explorer-a i dodajte sljedeći kod:
@ -154,11 +154,11 @@ Stvorite Python aplikaciju koja ispisuje `"Hello World"` na konzolu.
1. Kada se VS Code pokrene, aktivirat će Python virtualno okruženje. Odabrano virtualno okruženje pojavit će se u donjoj statusnoj traci:


1. Ako je VS Code Terminal već pokrenut kada se VS Code pokrene, neće imati aktivirano virtualno okruženje u njemu. Najlakše je zatvoriti terminal pomoću gumba **Kill the active terminal instance**:


Možete prepoznati je li terminal aktivirao virtualno okruženje jer će ime virtualnog okruženja biti prefiks na terminalskom promptu. Na primjer, moglo bi biti:
@ -229,7 +229,7 @@ Kao drugi korak 'Hello World', pokrenut ćete CounterFit aplikaciju i povezati s
1. Morat ćete pokrenuti novi VS Code terminal odabirom gumba **Create a new integrated terminal**. To je zato što CounterFit aplikacija radi u trenutnom terminalu.


1. U ovom novom terminalu pokrenite datoteku `app.py` kao i prije. Status CounterFit-a promijenit će se u **Connected** i LED-ica će se upaliti.
[Wio Terminal od Seeed Studios](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) je mikrokontroler kompatibilan s Arduinom, s ugrađenim WiFi-jem, senzorima i aktuatorima, kao i priključcima za dodavanje dodatnih senzora i aktuatora koristeći hardverski ekosustav nazvan [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html).


## Postavljanje
@ -51,15 +51,15 @@ Kreirajte PlatformIO projekt.
1. Ikona PlatformIO-a bit će na bočnoj traci izbornika:
@ -41,7 +41,7 @@ Dvije glavne komponente IoT aplikacije su *Internet* i *stvar*. Pogledajmo ove d
### Stvar


**Stvar** u IoT-u odnosi se na uređaj koji može komunicirati s fizičkim svijetom. Ovi uređaji su obično mali, jeftini računari, koji rade pri niskim brzinama i koriste malo energije - na primjer, jednostavni mikrokontroleri s kilobajtima RAM-a (za razliku od gigabajta u PC-ju) koji rade na samo nekoliko stotina megaherca (za razliku od gigaherca u PC-ju), ali troše toliko malo energije da mogu raditi tjednima, mjesecima ili čak godinama na baterijama.
@ -67,7 +67,7 @@ U primjeru pametnog termostata, termostat bi se povezao putem kućnog WiFi-a na
Još pametnija verzija mogla bi koristiti AI u oblaku s podacima iz drugih senzora povezanih s drugim IoT uređajima, poput senzora prisutnosti koji detektiraju koje su prostorije u upotrebi, kao i podatke poput vremenske prognoze ili čak vašeg kalendara, za donošenje odluka o tome kako pametno postaviti temperaturu. Na primjer, mogla bi isključiti grijanje ako iz vašeg kalendara pročita da ste na odmoru, ili isključiti grijanje po sobama ovisno o tome koje prostorije koristite, učeći iz podataka kako bi s vremenom postajala sve preciznija.


✅ Koji bi drugi podaci mogli pomoći da Internet povezani termostat postane pametniji?
@ -135,7 +135,7 @@ Kao i kod CPU-a, memorija na mikrokontroleru je za nekoliko redova veličine man
Dijagram ispod prikazuje relativnu razliku u veličini između 192KB i 8GB - mala točka u sredini predstavlja 192KB.


Prostor za pohranu programa također je manji nego na PC-u. Tipično računalo može imati tvrdi disk od 500GB za pohranu programa, dok mikrokontroler može imati samo kilobajte ili možda nekoliko megabajta (MB) prostora za pohranu (1MB je 1.000KB, ili 1.000.000 bajtova). Wio terminal ima 4MB prostora za pohranu programa.
@ -211,17 +211,17 @@ U prošloj lekciji predstavili smo jednopločna računala. Sada ćemo ih detaljn
### Raspberry Pi


[Raspberry Pi Foundation](https://www.raspberrypi.org) je dobrotvorna organizacija iz Ujedinjenog Kraljevstva osnovana 2009. godine s ciljem promicanja proučavanja računalnih znanosti, posebno na razini škola. Kao dio ove misije, razvili su jednopločno računalo nazvano Raspberry Pi. Raspberry Pi trenutno je dostupan u 3 varijante - punoj veličini, manjem Pi Zero i računalnom modulu koji se može ugraditi u vaš konačni IoT uređaj.


Najnovija iteracija Raspberry Pi-ja pune veličine je Raspberry Pi 4B. Ima četverojezgreni (4 jezgre) CPU koji radi na 1.5GHz, 2, 4 ili 8GB RAM-a, gigabitni ethernet, WiFi, 2 HDMI porta koji podržavaju 4k zaslone, audio i kompozitni video izlaz, USB portove (2 USB 2.0, 2 USB 3.0), 40 GPIO pinova, konektor za kameru za Raspberry Pi modul kamere i utor za SD karticu. Sve to na ploči dimenzija 88mm x 58mm x 19.5mm, napajanoj USB-C adapterom od 3A. Cijena počinje od 35 USD, što je znatno jeftinije od PC-a ili Maca.
> 💁 Postoji i Pi400, sve-u-jednom računalo s Pi4 ugrađenim u tipkovnicu.


Pi Zero je mnogo manji, s nižom snagom. Ima jednojezgreni CPU od 1GHz, 512MB RAM-a, WiFi (u modelu Zero W), jedan HDMI port, mikro-USB port, 40 GPIO pinova, konektor za kameru za Raspberry Pi modul kamere i utor za SD karticu. Dimenzije su mu 65mm x 30mm x 5mm, a troši vrlo malo energije. Zero košta 5 USD, dok verzija s WiFi-jem (Zero W) košta 10 USD.
@ -75,7 +75,7 @@ Neki od najosnovnijih senzora su analogni senzori. Ovi senzori primaju napon od
Jedan primjer je potenciometar. To je kotačić koji možete rotirati između dvije pozicije, a senzor mjeri rotaciju.


IoT uređaj šalje električni signal potenciometru na određenom naponu, poput 5 volti (5V). Kako se potenciometar prilagođava, mijenja napon koji izlazi s druge strane. Zamislite da imate potenciometar označen kao kotačić koji ide od 0 do [11](https://wikipedia.org/wiki/Up_to_eleven), poput gumba za glasnoću na pojačalu. Kada je potenciometar u potpuno isključenom položaju (0), izlazi 0V (0 volti). Kada je u potpuno uključenom položaju (11), izlazi 5V (5 volti).
@ -112,7 +112,7 @@ Pinovi na IoT uređajima poput GPIO pinova mogu izravno mjeriti ovaj signal kao
Napredniji digitalni senzori očitavaju analogne vrijednosti, a zatim ih pretvaraju pomoću ugrađenih ADC-a u digitalne signale. Na primjer, digitalni senzor temperature i dalje koristi termoelement na isti način kao analogni senzor, i dalje mjeri promjenu napona uzrokovanu otporom termoelementa na trenutnoj temperaturi. Umjesto da vraća analognu vrijednost i oslanja se na uređaj ili konektorsku ploču za pretvorbu u digitalni signal, ADC ugrađen u senzor pretvara vrijednost i šalje je kao niz 0 i 1 IoT uređaju. Ovi 0 i 1 šalju se na isti način kao digitalni signal za tipku, pri čemu je 1 puni napon, a 0 je 0V.


Slanje digitalnih podataka omogućuje senzorima da postanu složeniji i šalju detaljnije podatke, čak i šifrirane podatke za sigurne senzore. Jedan primjer je kamera. To je senzor koji snima sliku i šalje je kao digitalne podatke koji sadrže tu sliku, obično u komprimiranom formatu poput JPEG-a, kako bi ih pročitao IoT uređaj. Može čak i streamati video snimanjem slika i slanjem ili kompletne slike okvir po okvir ili komprimiranog video streama.
@ -164,7 +164,7 @@ Na primjer, PWM možete koristiti za kontrolu brzine motora.
Zamislite da kontrolirate motor s napajanjem od 5V. Pošaljete kratki impuls svom motoru, prebacujući napon na visoki (5V) na dvije stotinke sekunde (0,02s). U tom vremenu vaš motor može napraviti jednu desetinu okreta, ili 36°. Signal se zatim pauzira na dvije stotinke sekunde (0,02s), šaljući niski signal (0V). Svaki ciklus uključivanja i isključivanja traje 0,04s. Ciklus se zatim ponavlja.


To znači da u jednoj sekundi imate 25 impulsa od 5V koji traju 0,02s i rotiraju motor, svaki praćen pauzom od 0,02s na 0V kada motor ne rotira. Svaki impuls rotira motor za jednu desetinu okreta, što znači da motor završi 2,5 okreta u sekundi. Koristili ste digitalni signal za rotaciju motora na 2,5 okreta u sekundi, ili 150 [okreta u minuti](https://wikipedia.org/wiki/Revolutions_per_minute) (ne-standardna mjera brzine rotacije).
@ -175,7 +175,7 @@ To znači da u jednoj sekundi imate 25 impulsa od 5V koji traju 0,02s i rotiraju
> 🎓 Kada je PWM signal uključen pola vremena, a isključen pola vremena, to se naziva [radni ciklus od 50%](https://wikipedia.org/wiki/Duty_cycle). Radni ciklusi se mjere kao postotak vremena kada je signal u stanju uključen u odnosu na stanje isključen.


Brzinu motora možete promijeniti promjenom veličine impulsa. Na primjer, s istim motorom možete zadržati isto vrijeme ciklusa od 0,04s, s impulsom uključenim prepolovljenim na 0,01s, dok se impuls isključen povećava na 0,03s. Imate isti broj impulsa po sekundi (25), ali svaki impuls uključen je upola kraći. Impuls upola kraći okreće motor za jednu dvadesetinu okreta, a pri 25 impulsa u sekundi motor će završiti 1,25 okreta u sekundi ili 75 okreta u minuti. Promjenom brzine impulsa digitalnog signala prepolovili ste brzinu analognog motora.
> 💁 Desna Grove utičnica može se koristiti s analognim ili digitalnim senzorima i aktuatorima. Lijeva utičnica je samo za I2C i digitalne senzore i aktuatore. O tome će biti riječi u kasnijoj lekciji.


Postoji nekoliko popularnih komunikacijskih protokola koje IoT uređaji koriste za komunikaciju s internetom. Najpopularniji su oni koji se temelje na objavljivanju/pretplati putem posrednika (broker). IoT uređaji povezuju se s posrednikom, objavljuju telemetriju i pretplaćuju se na naredbe. Usluge u oblaku također se povezuju s posrednikom, pretplaćuju se na sve telemetrijske poruke i objavljuju naredbe ili za specifične uređaje ili za grupe uređaja.


MQTT je najpopularniji komunikacijski protokol za IoT uređaje i obrađen je u ovoj lekciji. Ostali protokoli uključuju AMQP i HTTP/HTTPS.
@ -115,7 +115,7 @@ Riječ telemetrija dolazi od grčkih korijena i znači mjerenje na daljinu. Tele
Pogledajmo ponovno primjer pametnog termostata iz Lekcije 1.


Termostat ima senzore temperature za prikupljanje telemetrije. Najvjerojatnije bi imao jedan ugrađeni senzor temperature, a mogao bi se povezati s više vanjskih senzora temperature putem bežičnog protokola poput [Bluetooth Low Energy](https://wikipedia.org/wiki/Bluetooth_Low_Energy) (BLE).
@ -267,11 +267,11 @@ Napišite kod za server.
1. Kada se VS Code pokrene, aktivirat će Python virtualno okruženje. Ovo će biti prikazano u donjoj statusnoj traci:


1. Ako je VS Code Terminal već pokrenut kada se VS Code pokrene, virtualno okruženje neće biti aktivirano u njemu. Najlakše je ubiti terminal koristeći gumb **Kill the active terminal instance**:


1. Pokrenite novi VS Code Terminal odabirom *Terminal -> New Terminal*, ili pritiskom na `` CTRL+` ``. Novi terminal će učitati virtualno okruženje, s pozivom za aktivaciju koji se pojavljuje u terminalu. Ime virtualnog okruženja (`.venv`) također će biti u promptu:
1. Kreirajte novu datoteku u mapi `src` pod nazivom `config.h`. To možete učiniti odabirom mape `src` ili datoteke `main.cpp` unutar nje, te odabirom gumba **New file** u exploreru. Ovaj gumb se pojavljuje samo kada je vaš kursor iznad explorera.


1. Dodajte sljedeći kod u ovu datoteku kako biste definirali konstante za vaše WiFi vjerodajnice:
@ -65,7 +65,7 @@ Svaka vrsta biljke ima različite vrijednosti za osnovnu, optimalnu i maksimalnu
✅ Istražite. Za bilo koje biljke koje imate u svom vrtu, školi ili lokalnom parku, pokušajte pronaći osnovnu temperaturu.


Gornji grafikon prikazuje primjer stope rasta u odnosu na temperaturu. Do osnovne temperature nema rasta. Stopa rasta povećava se do optimalne temperature, a zatim opada nakon što dosegne vrhunac.
@ -91,7 +91,7 @@ Ovaj kod otvara CSV datoteku, a zatim dodaje novi redak na kraju. Redak sadrži
> 💁 Ako koristite virtualni IoT uređaj, označite opciju za nasumične vrijednosti i postavite raspon kako biste izbjegli dobivanje iste temperature svaki put kada se vrati vrijednost temperature.


> 💁 Ako želite pokrenuti ovo cijeli dan, trebate osigurati da računalo na kojem se izvršava vaš serverski kod neće prijeći u stanje mirovanja, bilo promjenom postavki napajanja ili pokretanjem nečega poput [ovog Python skripta za održavanje sustava aktivnim](https://github.com/jaqsparow/keep-system-active).
1. Dok je Wio Terminal isključen s vašeg računala ili drugog izvora napajanja, spojite drugi kraj Grove kabela na desnu Grove utičnicu na Wio Terminalu, gledajući prema ekranu. To je utičnica koja je najudaljenija od gumba za uključivanje.


@ -37,7 +37,7 @@ UART uključuje fizičke sklopove koji omogućuju komunikaciju između dva uređ
* Uređaj 1 šalje podatke sa svog Tx pina, koje prima uređaj 2 na svom Rx pin
* Uređaj 1 prima podatke na svom Rx pin koje šalje uređaj 2 sa svog Tx pin


> 🎓 Podaci se šalju jedan bit po jedan, što se naziva *serijska* komunikacija. Većina operativnih sustava i mikrokontrolera ima *serijske portove*, tj. veze koje mogu slati i primati serijske podatke dostupne vašem kodu.
@ -66,7 +66,7 @@ SPI kontroleri koriste 3 žice, uz 1 dodatnu žicu po periferiji. Periferije kor
| SCLK | Serijski sat | Ova žica šalje signal sata brzinom koju postavlja kontroler. |
| CS | Odabir čipa | Kontroler ima više žica, jednu po periferiji, i svaka žica povezuje se s CS žicom na odgovarajućoj periferiji. |


CS žica se koristi za aktiviranje jedne periferije u isto vrijeme, komunicirajući preko COPI i CIPO žica. Kada kontroler treba promijeniti periferiju, deaktivira CS žicu povezanu s trenutno aktivnom periferijom, a zatim aktivira žicu povezanu s periferijom s kojom želi komunicirati sljedeće.
@ -127,13 +127,13 @@ Vlaga tla mjeri se pomoću gravimetrijskog ili volumetrijskog sadržaja vode.
Senzori vlage tla mjere električni otpor ili kapacitet - to ne varira samo s vlagom tla, već i s vrstom tla jer komponente u tlu mogu promijeniti njegove električne karakteristike. Idealno bi bilo da se senzori kalibriraju - tj. uzimanje očitanja sa senzora i uspoređivanje s mjerenjima dobivenim znanstvenijim pristupom. Na primjer, laboratorij može izračunati gravimetrijsku vlagu tla koristeći uzorke specifičnog polja uzete nekoliko puta godišnje, a ti brojevi se koriste za kalibraciju senzora, povezujući očitanje senzora s gravimetrijskom vlagom tla.


Gornji graf pokazuje kako kalibrirati senzor. Napon se bilježi za uzorak tla koji se zatim mjeri u laboratoriju uspoređivanjem težine vlažnog tla s težinom suhog tla (mjerenjem težine vlažnog tla, zatim sušenjem u pećnici i mjerenjem suhog tla). Nakon što se uzme nekoliko očitanja, to se može prikazati na grafu i linija se može prilagoditi točkama. Ova linija se zatim može koristiti za pretvaranje očitanja senzora vlage tla dobivenih IoT uređajem u stvarna mjerenja vlage tla.
💁 Kod rezistivnih senzora vlage tla, napon raste kako vlaga tla raste. Kod kapacitivnih senzora vlage tla, napon opada kako vlaga tla raste, pa bi grafovi za njih padali, a ne rasli.


Gornji graf pokazuje očitanje napona sa senzora vlage tla, a praćenjem tog očitanja do linije na grafu može se izračunati stvarna vlaga tla.
1. Umetnite senzor vlažnosti tla u tlo. Na senzoru postoji oznaka 'najviša pozicija' - bijela linija preko senzora. Umetnite senzor do te linije, ali ne preko nje.


1. Dok je Wio Terminal odspojen od vašeg računala ili drugog izvora napajanja, povežite drugi kraj Grove kabela s desnom Grove utičnicom na Wio Terminalu gledajući prema ekranu. To je utičnica najudaljenija od gumba za napajanje.


1. Umetnite senzor vlažnosti tla u tlo. Senzor ima 'liniju najvišeg položaja' - bijelu crtu preko senzora. Umetnite senzor do, ali ne preko ove linije.


1. Sada možete povezati Wio Terminal s vašim računalom.
@ -55,11 +55,11 @@ Relej je elektromehanički prekidač koji pretvara električni signal u mehanič
> 🎓 [Elektromagneti](https://wikipedia.org/wiki/Electromagnet) su magneti koji se stvaraju prolaskom električne struje kroz zavojnicu žice. Kada je struja uključena, zavojnica postaje magnetizirana. Kada je struja isključena, zavojnica gubi magnetizam.


U releju, kontrolni krug napaja elektromagnet. Kada je elektromagnet uključen, povlači polugu koja pomiče prekidač, zatvarajući par kontakata i dovršavajući izlazni krug.


Kada je kontrolni krug isključen, elektromagnet se isključuje, oslobađajući polugu i otvarajući kontakte, isključujući izlazni krug. Releji su digitalni aktuatori - visoki signal prema releju ga uključuje, niski signal ga isključuje.
@ -85,7 +85,7 @@ Elektromagnetu nije potrebno puno energije za aktivaciju i povlačenje poluge, m
Slika iznad prikazuje Grove relej. Kontrolni krug povezuje se s IoT uređajem i uključuje ili isključuje relej koristeći 3.3V ili 5V. Izlazni krug ima dva terminala, bilo koji može biti napajanje ili uzemljenje. Izlazni krug može podnijeti do 250V pri 10A, što je dovoljno za niz uređaja na mrežno napajanje. Možete nabaviti releje koji mogu podnijeti još veće razine snage.


Na slici iznad, napajanje se isporučuje pumpi putem releja. Crvena žica povezuje +5V terminal USB napajanja s jednim terminalom izlaznog kruga releja, a druga crvena žica povezuje drugi terminal izlaznog kruga s pumpom. Crna žica povezuje pumpu s uzemljenjem na USB napajanju. Kada se relej uključi, dovršava krug, šaljući 5V na pumpu, uključujući pumpu.
@ -135,7 +135,7 @@ U lekciji 3 izradili ste noćno svjetlo - LED-icu koja se uključuje čim senzor
Ako ste radili prethodnu lekciju o vlažnosti tla koristeći fizički senzor, mogli ste primijetiti da je trebalo nekoliko sekundi da očitanje vlažnosti tla padne nakon što ste zalili biljku. Ovo nije zato što je senzor spor, već zato što vodi treba vremena da se upije kroz tlo.
💁 Ako ste zalijevali preblizu senzoru, možda ste primijetili da je očitanje brzo palo, a zatim se ponovno povećalo - to je uzrokovano time što se voda blizu senzora širi kroz ostatak tla, smanjujući vlagu tla u blizini senzora.


Na gornjem dijagramu očitanje vlažnosti tla pokazuje 658. Biljka se zalijeva, ali ovo očitanje se ne mijenja odmah jer voda još nije stigla do senzora. Zalijevanje može završiti prije nego što voda stigne do senzora, a vrijednost se smanji kako bi odražavala novu razinu vlažnosti.
@ -157,11 +157,11 @@ Koliko dugo relej treba biti uključen svaki put? Bolje je biti oprezan i uklju
> 💁 Ovakva kontrola vremena vrlo je specifična za IoT uređaj koji gradite, svojstvo koje mjerite te senzore i aktuatore koji se koriste.


Na primjer, imam biljku jagode sa senzorom vlažnosti tla i pumpom kojom upravlja relej. Primijetio sam da kada dodam vodu, treba oko 20 sekundi da se očitanje vlažnosti tla stabilizira. To znači da moram isključiti relej i pričekati 20 sekundi prije nego što provjerim razinu vlažnosti. Radije bih imao premalo vode nego previše - uvijek mogu ponovno uključiti pumpu, ali ne mogu izvaditi vodu iz biljke.


To znači da bi najbolji proces bio ciklus zalijevanja koji izgleda ovako:
1. Dok je Wio Terminal odspojen od vašeg računala ili drugog izvora napajanja, povežite drugi kraj Grove kabela s lijevom Grove utičnicom na Wio Terminalu gledajući ekran. Ostavite senzor vlažnosti tla povezan s desnom utičnicom.


1. Umetnite senzor vlažnosti tla u tlo, ako već nije umetnut iz prethodne lekcije.
@ -41,7 +41,7 @@ Serverless, ili serverless računarstvo, uključuje kreiranje malih blokova koda
> 💁 Ako ste prije koristili okidače u bazama podataka, ovo možete zamisliti kao sličan koncept - kod koji se pokreće događajem, poput umetanja retka.


Vaš kod se pokreće samo kada se dogodi događaj, a u drugim trenucima nije aktivan. Događaj se dogodi, vaš kod se učita i izvrši. Ovo čini serverless vrlo skalabilnim - ako se mnogo događaja dogodi istovremeno, pružatelj oblaka može pokrenuti vašu funkciju onoliko puta koliko je potrebno, koristeći dostupne resurse. Nedostatak ovog pristupa je što, ako trebate dijeliti informacije između događaja, morate ih pohraniti negdje, poput baze podataka, umjesto da ih držite u memoriji.
@ -244,7 +244,7 @@ CLI za Azure Functions može se koristiti za kreiranje nove aplikacije funkcija.
@ -97,15 +97,15 @@ Nažalost, nije sve sigurno. Neki uređaji nemaju nikakvu sigurnost, drugi su os
**Simetrično** šifriranje koristi isti ključ za šifriranje i dešifriranje podataka. I pošiljatelj i primatelj moraju znati isti ključ. Ovo je najmanje siguran tip, jer se ključ mora nekako podijeliti. Da bi pošiljatelj poslao šifriranu poruku primatelju, pošiljatelj prvo mora poslati primatelju ključ.


Ako se ključ ukrade tijekom prijenosa, ili ako pošiljatelj ili primatelj budu hakirani i ključ se pronađe, šifriranje se može razbiti.


**Asimetrično** šifriranje koristi 2 ključa - ključ za šifriranje i ključ za dešifriranje, poznate kao javno/privatni par ključeva. Javni ključ se koristi za šifriranje poruke, ali se ne može koristiti za dešifriranje, dok se privatni ključ koristi za dešifriranje poruke, ali se ne može koristiti za šifriranje.


Primatelj dijeli svoj javni ključ, a pošiljatelj koristi ovaj ključ za šifriranje poruke. Nakon što je poruka poslana, primatelj je dešifrira svojim privatnim ključem. Asimetrično šifriranje je sigurnije jer se privatni ključ čuva privatnim od strane primatelja i nikada se ne dijeli. Javni ključ može imati bilo tko jer se može koristiti samo za šifriranje poruka.
@ -165,7 +165,7 @@ Ovi certifikati sadrže niz polja, uključujući od koga je javni ključ, detalj
Kada koristite X.509 certifikate, i pošiljatelj i primatelj imaju svoje javne i privatne ključeve, kao i X.509 certifikate koji sadrže javni ključ. Zatim razmjenjuju X.509 certifikate na neki način, koristeći javne ključeve jedni drugih za šifriranje podataka koje šalju, i svoje privatne ključeve za dešifriranje podataka koje primaju.


Jedna velika prednost korištenja X.509 certifikata je što se mogu dijeliti između uređaja. Možete stvoriti jedan certifikat, učitati ga na IoT Hub i koristiti ga za sve svoje uređaje. Svaki uređaj tada samo treba znati privatni ključ kako bi dešifrirao poruke koje prima od IoT Huba.
1. Dok je Wio Terminal isključen s vašeg računala ili drugog izvora napajanja, spojite drugi kraj Grove kabela na lijevu Grove utičnicu na Wio Terminalu, gledajući prema zaslonu. To je utičnica najbliža gumbu za uključivanje.


1. Postavite GPS senzor tako da priložena antena ima vidljivost prema nebu - idealno pored otvorenog prozora ili vani. Signal će biti jasniji ako ništa ne ometa antenu.
@ -66,7 +66,7 @@ Baze podataka su usluge koje omogućuju pohranu i upite podataka. Baze podataka
Prve baze podataka bile su sustavi za upravljanje relacijskim bazama podataka (RDBMS), ili relacijske baze podataka. Također su poznate kao SQL baze podataka prema jeziku Structured Query Language (SQL) koji se koristi za interakciju s njima radi dodavanja, uklanjanja, ažuriranja ili upita podataka. Ove baze podataka sastoje se od sheme - dobro definiranog skupa tablica podataka, sličnog proračunskoj tablici. Svaka tablica ima više imenovanih stupaca. Kada unosite podatke, dodajete redak u tablicu, stavljajući vrijednosti u svaki od stupaca. To održava podatke u vrlo krutoj strukturi - iako možete ostaviti stupce prazne, ako želite dodati novi stupac, morate to učiniti na bazi podataka, popunjavajući vrijednosti za postojeće retke. Ove baze podataka su relacijske - u smislu da jedna tablica može imati odnos prema drugoj.


Na primjer, ako pohranjujete osobne podatke korisnika u tablicu, imali biste neku vrstu internog jedinstvenog ID-a po korisniku koji se koristi u retku u tablici koja sadrži ime i adresu korisnika. Ako zatim želite pohraniti druge detalje o tom korisniku, poput njegovih kupovina, u drugu tablicu, imali biste jedan stupac u novoj tablici za ID tog korisnika. Kada tražite korisnika, možete koristiti njegov ID za dobivanje osobnih podataka iz jedne tablice i njegovih kupovina iz druge.
@ -241,7 +241,7 @@ Vaša funkcijska aplikacija sada treba povezati blob pohranu kako bi pohranjival
U ovoj lekciji koristit ćete Python SDK kako biste vidjeli kako raditi s blob pohranom.


Podaci će biti pohranjeni kao JSON blob u sljedećem formatu:
@ -110,7 +110,7 @@ Svaka točka na poligonu definirana je kao par dužine i širine u nizu, a te to
Niz koordinata poligona uvijek ima 1 unos više od broja točaka na poligonu, pri čemu je posljednji unos isti kao i prvi, zatvarajući poligon. Na primjer, za pravokutnik bi bilo 5 točaka.


Na slici iznad nalazi se pravokutnik. Koordinate poligona počinju u gornjem lijevom kutu na 47,-122, zatim se pomiču desno na 47,-121, zatim dolje na 46,-121, zatim desno na 46,-122, zatim natrag gore na početnu točku na 47,-122. To daje poligonu 5 točaka - gornji lijevi, gornji desni, donji desni, donji lijevi, zatim gornji lijevi za zatvaranje.
@ -208,7 +208,7 @@ Kada napravite ovaj zahtjev, možete također proslijediti vrijednost zvanu `sea
Kada se rezultati vrate iz API poziva, jedan od dijelova rezultata je `distance` izmjeren do najbliže točke na rubu geooograde, s pozitivnom vrijednošću ako je točka izvan geooograde, negativnom ako je unutar geooograde. Ako je ova udaljenost manja od search buffer-a, stvarna udaljenost se vraća u metrima, inače je vrijednost 999 ili -999. 999 znači da je točka izvan geooograde za više od search buffer-a, -999 znači da je unutar geooograde za više od search buffer-a.


@ -61,7 +61,7 @@ Najnovije evolucije ovih strojeva za sortiranje koriste AI i ML, koristeći mode
Tradicionalno programiranje uključuje uzimanje podataka, primjenu algoritma na te podatke i dobivanje rezultata. Na primjer, u prošlom projektu uzeli ste GPS koordinate i geozonu, primijenili algoritam koji je pružio Azure Maps i dobili rezultat o tome je li točka unutar ili izvan geozone. Unesete više podataka, dobijete više rezultata.


Strojno učenje to preokreće - počinjete s podacima i poznatim izlazima, a algoritam strojnog učenja uči iz podataka. Zatim možete uzeti taj obučeni algoritam, nazvan *model strojnog učenja* ili *model*, i unijeti nove podatke te dobiti nove rezultate.
@ -87,7 +87,7 @@ Da biste uspješno obučili klasifikator slika, trebate milijune slika. Kako se
Jednom kada je klasifikator slika obučen za širok raspon slika, njegove unutarnje funkcije su izvrsne u prepoznavanju oblika, boja i uzoraka. Transferno učenje omogućuje modelu da iskoristi ono što je već naučio u prepoznavanju dijelova slike i koristi to za prepoznavanje novih slika.


Možete to zamisliti kao dječje knjige s oblicima, gdje jednom kada možete prepoznati polukrug, pravokutnik i trokut, možete prepoznati jedrilicu ili mačku ovisno o konfiguraciji tih oblika. Klasifikator slika može prepoznati oblike, a transferno učenje ga uči koja kombinacija čini brod ili mačku - ili zrelu bananu.
1. Pinovi na bazi ArduCam-a trebaju biti povezani na GPIO pinove na Wio Terminalu. Kako biste lakše pronašli odgovarajuće pinove, zalijepite naljepnicu s GPIO pinovima koja dolazi uz Wio Terminal oko pinova:


1. Koristeći žice za povezivanje, napravite sljedeće veze:
@ -297,7 +297,7 @@ Wio Terminal sada može biti programiran za snimanje slike kada se pritisne gumb
1. Mikrokontroleri kontinuirano izvršavaju vaš kod, tako da nije lako pokrenuti nešto poput snimanja fotografije bez reagiranja na senzor. Wio Terminal ima gumbe, pa se kamera može postaviti da se aktivira jednim od gumba. Dodajte sljedeći kod na kraj funkcije `setup` za konfiguraciju gumba C (jednog od tri gumba na vrhu, onog najbližeg prekidaču za napajanje).


@ -115,7 +115,7 @@ Za prototip ćete sve implementirati na jednom uređaju. Ako koristite mikrokont
IoT uređaj treba neku vrstu okidača koji će označiti kada je voće spremno za klasifikaciju. Jedan od okidača mogao bi biti mjerenje kada je voće na pravom mjestu na pokretnoj traci mjerenjem udaljenosti do senzora.


Senzori blizine mogu se koristiti za mjerenje udaljenosti od senzora do objekta. Obično emitiraju zraku elektromagnetskog zračenja, poput laserske zrake ili infracrvenog svjetla, a zatim detektiraju zračenje koje se odbija od objekta. Vrijeme između slanja laserske zrake i povratka signala može se koristiti za izračunavanje udaljenosti do senzora.
1. Kada je Raspberry Pi isključen, spojite drugi kraj Grove kabela na jednu od I²C utičnica označenih **I²C** na Grove Base hatu pričvršćenom na Pi. Ove utičnice nalaze se u donjem redu, na suprotnom kraju od GPIO pinova i pored utora za kabel kamere.


## Programiranje senzora Time of Flight
@ -106,7 +106,7 @@ Programirajte uređaj.
Daljinomjer se nalazi na stražnjoj strani senzora, pa pazite da koristite ispravnu stranu prilikom mjerenja udaljenosti.


> 💁 Ovaj kod možete pronaći u mapi [code-proximity/pi](../../../../../4-manufacturing/lessons/4-trigger-fruit-detector/code-proximity/pi).
1. Dok je Wio Terminal isključen s vašeg računala ili drugog izvora napajanja, spojite drugi kraj Grove kabela na lijevi Grove priključak na Wio Terminalu dok gledate u ekran. To je priključak najbliži gumbu za uključivanje. Ovo je kombinirani digitalni i I²C priključak.


1. Sada možete spojiti Wio Terminal na svoje računalo.
@ -101,7 +101,7 @@ Wio Terminal sada se može programirati za korištenje povezanog senzora Time of
Mjerač udaljenosti nalazi se na stražnjoj strani senzora, stoga pazite da koristite ispravnu stranu prilikom mjerenja udaljenosti.


> 💁 Ovaj kod možete pronaći u mapi [code-proximity/wio-terminal](../../../../../4-manufacturing/lessons/4-trigger-fruit-detector/code-proximity/wio-terminal).
@ -39,7 +39,7 @@ Detektori objekata mogu se koristiti za provjeru zaliha, bilo za brojanje zaliha
Na primjer, ako kamera gleda na police koje mogu držati 8 konzervi rajčice, a detektor objekata prepozna samo 7 konzervi, tada jedna nedostaje i treba je nadopuniti.


Na slici iznad, detektor objekata prepoznao je 7 konzervi rajčice na polici koja može držati 8 konzervi. IoT uređaj ne samo da može poslati obavijest o potrebi za nadopunjavanjem, već može i naznačiti lokaciju nedostajućeg artikla, što je važan podatak ako koristite robote za nadopunjavanje polica.
@ -51,7 +51,7 @@ Ponekad se na policama može naći pogrešna roba. To može biti ljudska pogreš
Detekcija objekata može se koristiti za otkrivanje neočekivanih artikala, ponovno upozoravajući čovjeka ili robota da što prije vrati artikl na ispravno mjesto.


Na slici iznad, konzerva baby kukuruza stavljena je na policu pored rajčice. Detektor objekata to je prepoznao, omogućujući IoT uređaju da obavijesti čovjeka ili robota da vrati konzervu na ispravno mjesto.
@ -81,7 +81,7 @@ Kao korak za otklanjanje pogrešaka, možete ne samo ispisati okvire, već ih i
1. Pokrenite aplikaciju s kamerom usmjerenom prema zalihama na polici. Vidjet ćete datoteku `image.jpg` u pregledniku VS Code-a i moći ćete je odabrati kako biste vidjeli okvire.


@ -13,7 +13,7 @@ Kombinacija predikcija i njihovih okvira može se koristiti za brojanje zaliha n
## Brojanje zaliha


Na slici prikazanoj iznad, okviri se malo preklapaju. Ako bi to preklapanje bilo znatno veće, okviri bi mogli označavati isti objekt. Da biste ispravno izbrojali objekte, trebate ignorirati okvire s velikim preklapanjem.
@ -64,7 +64,7 @@ Mikrofoni dolaze u raznim vrstama:
* Trakasti - Trakasti mikrofoni slični su dinamičkim mikrofonima, osim što imaju metalnu traku umjesto membrane. Ova traka se pomiče u magnetskom polju stvarajući električnu struju. Kao i dinamički mikrofoni, trakasti mikrofoni ne trebaju napajanje za rad.


* Kondenzatorski - Kondenzatorski mikrofoni imaju tanku metalnu membranu i fiksnu metalnu stražnju ploču. Elektricitet se primjenjuje na obje ove komponente, a kako membrana vibrira, statički naboj između ploča se mijenja generirajući signal. Kondenzatorski mikrofoni trebaju napajanje za rad - nazvano *Phantom power*.
@ -84,7 +84,7 @@ Zvuk je analogni signal koji nosi vrlo detaljne informacije. Da bi se taj signal
> 🎓 Uzorkovanje je pretvaranje audio signala u digitalnu vrijednost koja predstavlja signal u tom trenutku.


Digitalni zvuk se uzorkuje pomoću Pulse Code Modulation (PCM). PCM uključuje očitavanje napona signala i odabir najbliže diskretne vrijednosti tom naponu koristeći definiranu veličinu.
@ -15,11 +15,11 @@ U ovom dijelu lekcije, dodati ćete zvučnike svom Wio Terminalu. Wio Terminal v
Wio Terminal već ima ugrađeni mikrofon koji se može koristiti za snimanje zvuka za prepoznavanje govora.


Za dodavanje zvučnika možete koristiti [ReSpeaker 2-Mics Pi Hat](https://www.seeedstudio.com/ReSpeaker-2-Mics-Pi-HAT.html). Ovo je vanjska ploča koja sadrži 2 MEMS mikrofona, kao i priključak za zvučnik i utičnicu za slušalice.


Trebat će vam ili slušalice, zvučnik s 3,5 mm priključkom ili zvučnik s JST konektorom, poput [Mono Enclosed Speaker - 2W 6 Ohm](https://www.seeedstudio.com/Mono-Enclosed-Speaker-2W-6-Ohm-p-2832.html).
@ -35,7 +35,7 @@ Također će vam trebati SD kartica za preuzimanje i reprodukciju zvuka. Wio Ter
1. Postavite ReSpeaker i Wio Terminal tako da GPIO utičnice budu okrenute prema gore, s lijeve strane.
@ -43,33 +43,33 @@ Također će vam trebati SD kartica za preuzimanje i reprodukciju zvuka. Wio Ter
1. Ponavljajte ovaj postupak niz GPIO utičnice na lijevoj strani. Provjerite jesu li pinovi čvrsto povezani.




> 💁 Ako su vaši skakači povezani u trake, držite ih zajedno - to olakšava osiguravanje da su svi kablovi povezani redom.
1. Ponavljajte postupak koristeći desne GPIO utičnice na ReSpeakeru i Wio Terminalu. Ovi kablovi trebaju ići oko već povezanih kablova.




> 💁 Ako su vaši skakači povezani u trake, podijelite ih u dvije trake. Provedite jednu sa svake strane postojećih kablova.
> 💁 Možete koristiti ljepljivu traku kako biste pričvrstili pinove u blok i spriječili njihovo ispadanje tijekom povezivanja.
* Ako koristite zvučnik s JST kabelom, povežite ga s JST priključkom na ReSpeakeru.


* Ako koristite zvučnik s 3,5 mm priključkom ili slušalice, umetnite ih u utičnicu od 3,5 mm.


### Zadatak - postavljanje SD kartice
@ -79,7 +79,7 @@ Također će vam trebati SD kartica za preuzimanje i reprodukciju zvuka. Wio Ter
1. Umetnite SD karticu u utor za SD karticu na lijevoj strani Wio Terminala, odmah ispod gumba za uključivanje. Provjerite je li kartica potpuno umetnuta i klikne na mjesto - možda će vam trebati tanak alat ili druga SD kartica kako biste je potpuno umetnuli.


> 💁 Za izbacivanje SD kartice, trebate je lagano pritisnuti i ona će se izbaciti. Trebat će vam tanak alat poput odvijača ravnog vrha ili druga SD kartica.
@ -126,7 +126,7 @@ Nakon što definirate entitete, kreirate namjere. One se uče modelu na temelju
Zatim LUIS-u kažete koji dijelovi ovih rečenica odgovaraju entitetima:


Rečenica `postavi timer na 1 minutu i 12 sekundi` ima namjeru `postavi timer`. Također ima 2 entiteta s po 2 vrijednosti:
Tekst u govor, kako naziv sugerira, proces je pretvaranja teksta u audio koji sadrži tekst kao izgovorene riječi. Osnovni princip je razbijanje riječi u tekstu na njihove sastavne zvukove (poznate kao fonemi) i spajanje audija za te zvukove, bilo korištenjem unaprijed snimljenog audija ili audija generiranog AI modelima.


@ -130,7 +130,7 @@ Za ovu lekciju trebat će vam resurs za prevoditelja. Koristit ćete REST API za
U idealnom svijetu, cijela vaša aplikacija trebala bi razumjeti što više različitih jezika, od slušanja govora, do razumijevanja jezika, do odgovaranja govorom. Ovo je puno posla, pa usluge prevođenja mogu ubrzati vrijeme isporuke vaše aplikacije.


Zamislite da gradite pametni mjerač vremena koji koristi engleski od početka do kraja, razumijevanje govornog engleskog i pretvaranje toga u tekst, provođenje razumijevanja jezika na engleskom, stvaranje odgovora na engleskom i odgovaranje engleskim govorom. Ako želite dodati podršku za japanski, mogli biste započeti s prevođenjem govornog japanskog u engleski tekst, zatim zadržati jezgru aplikacije istom, a zatim prevesti tekst odgovora na japanski prije nego što odgovorite govorom. Ovo bi vam omogućilo brzo dodavanje podrške za japanski, a kasnije možete proširiti na pružanje potpune podrške za japanski od početka do kraja.
@ -57,7 +57,7 @@ Azure Cloud zagovornici iz Microsofta s veseljem nude 12-tjedni, 24-poglavni kur
Projektima se pokriva put hrane od farme do stola. To uključuje poljoprivredu, logistiku, proizvodnju, maloprodaju i krajnjeg potrošača - sve popularna industrijska područja za IoT uređaje.


> Sketchnote autor [Nitya Narasimhan](https://github.com/nitya). Kliknite sliku za veću verziju.
Seeed Studios su vrlo ljubazno omogućili da sav hardver bude dostupan u obliku lako dostupnih kompleta:
@ -29,7 +29,7 @@ Seeed Studios su vrlo ljubazno omogućili da sav hardver bude dostupan u obliku
**[IoT za početnike sa Seeed i Microsoft - Wio Terminal Starter Kit](https://www.seeedstudio.com/IoT-for-beginners-with-Seeed-and-Microsoft-Wio-Terminal-Starter-Kit-p-5006.html)**
@ -79,7 +79,7 @@ A mikrokontroller (MCU, azaz microcontroller unit) egy kis számítógép, amely
A mikrokontrollerek általában alacsony költségű számítástechnikai eszközök, az egyedi hardverekben használtak átlagos ára körülbelül 0,50 USD, és néhány eszköz ára akár 0,03 USD is lehet. A fejlesztői készletek ára már 4 USD-tól kezdődik, és a funkciók bővítésével növekszik. A [Wio Terminal](https://www.seeedstudio.com/Wio-Terminal-p-4509.html), egy mikrokontroller fejlesztői készlet a [Seeed Studios](https://www.seeedstudio.com) kínálatából, amely érzékelőkkel, aktuátorokkal, WiFi-vel és képernyővel rendelkezik, körülbelül 30 USD-ba kerül.
> 💁 Az interneten mikrokontrollereket keresve légy óvatos az **MCU** kifejezés keresésével, mivel ez rengeteg találatot hoz a Marvel Cinematic Universe-re, nem pedig mikrokontrollerekre.
@ -93,7 +93,7 @@ A mikrokontroller fejlesztői készletek általában további érzékelőkkel é
Az egykártyás számítógép egy kis számítástechnikai eszköz, amely egy teljes számítógép minden elemét tartalmazza egyetlen kis lapon. Ezek olyan eszközök, amelyek specifikációi közel állnak egy asztali vagy laptop PC-hez vagy Mac-hez, teljes operációs rendszert futtatnak, de kicsik, kevesebb energiát használnak, és lényegesen olcsóbbak.


A Raspberry Pi az egyik legnépszerűbb egykártyás számítógép.
A [Raspberry Pi](https://raspberrypi.org) egy egykártyás számítógép. Számos eszköz és ökoszisztéma segítségével érzékelőket és működtetőket adhat hozzá, és ezekhez a leckékhez egy [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html) nevű hardver ökoszisztémát fogunk használni. A Pi-t Python segítségével fogja programozni, és hozzáférhet a Grove érzékelőkhöz.


## Beállítás
@ -112,7 +112,7 @@ A távoli programozáshoz a Pi OS-t telepíteni kell egy SD kártyára.
1. A Raspberry Pi Imager-ben válassza ki a **CHOOSE OS** gombot, majd válassza a *Raspberry Pi OS (Other)*, majd a *Raspberry Pi OS Lite (32-bit)* lehetőséget


> 💁 A Raspberry Pi OS Lite a Raspberry Pi OS egy olyan verziója, amely nem tartalmazza az asztali felhasználói felületet vagy a felhasználói felület alapú eszközöket. Ezek nem szükségesek egy fej nélküli Pi-hez, és kisebb telepítést, valamint gyorsabb indítási időt biztosítanak.
@ -241,7 +241,7 @@ Hozd létre a Hello World alkalmazást.
1. Nyisd meg ezt a mappát a VS Code-ban a *File -> Open...* kiválasztásával, majd válaszd ki a *nightlight* mappát, és kattints a **OK** gombra.


1. Nyisd meg az `app.py` fájlt a VS Code felfedezőjéből, és add hozzá a következő kódot:
@ -154,11 +154,11 @@ Hozz létre egy Python alkalmazást, amely kiírja a `"Hello World"` szöveget a
1. Amikor a VS Code elindul, aktiválja a Python virtuális környezetet. A kiválasztott virtuális környezet megjelenik az alsó állapotsávban:


1. Ha a VS Code terminál már fut, amikor a VS Code elindul, akkor nem lesz aktiválva benne a virtuális környezet. A legegyszerűbb megoldás az, ha bezárod a terminált a **Kill the active terminal instance** gombbal:


Megállapíthatod, hogy a terminálban aktiválva van-e a virtuális környezet, ha a terminál promptjának előtagja a virtuális környezet neve. Például lehet:
@ -229,7 +229,7 @@ Második 'Hello World' lépésként futtatni fogod a CounterFit alkalmazást, é
1. Új VS Code terminált kell indítanod a **Create a new integrated terminal** gombbal. Ez azért szükséges, mert a CounterFit alkalmazás a jelenlegi terminálban fut.


1. Ebben az új terminálban futtasd az `app.py` fájlt, ahogy korábban. A CounterFit állapota **Connected**-re változik, és a LED világítani fog.
A [Seeed Studios Wio Terminal](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) egy Arduino-kompatibilis mikrokontroller, beépített WiFi-vel, néhány érzékelővel és aktuátorral, valamint portokkal, amelyek lehetővé teszik további érzékelők és aktuátorok csatlakoztatását a [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html) nevű hardveres ökoszisztéma segítségével.
@ -41,7 +41,7 @@ Egy IoT alkalmazás két fő összetevője az *Internet* és a *dolog*. Nézzük
### A Dolog


Az IoT **Dolog** része egy olyan eszközt jelent, amely képes kölcsönhatásba lépni a fizikai világgal. Ezek az eszközök általában kicsi, alacsony árú számítógépek, amelyek alacsony sebességgel működnek és kevés energiát használnak - például egyszerű mikrokontrollerek, amelyek néhány kilobájt RAM-mal rendelkeznek (szemben a PC-k gigabájtjaival), és csak néhány száz megahertzen működnek (szemben a PC-k gigahertzes sebességével), de olyan kevés energiát fogyasztanak, hogy akár hetekig, hónapokig vagy évekig is működhetnek elemekkel.
@ -67,7 +67,7 @@ Az okos termosztát példájánál maradva, a termosztát otthoni WiFi-n kereszt
Egy még okosabb verzió mesterséges intelligenciát használhatna a felhőben, más IoT eszközökhöz csatlakozó érzékelők, például jelenlétérzékelők adataival, valamint időjárási adatokkal és akár a naptáraddal együtt, hogy intelligens módon állítsa be a hőmérsékletet. Például kikapcsolhatná a fűtést, ha a naptárad szerint nyaralni mész, vagy szobánként kapcsolhatná ki a fűtést attól függően, hogy melyik szobákat használod, az adatokból tanulva egyre pontosabbá válva az idő múlásával.


✅ Milyen más adatok segíthetnének egy internethez csatlakozó termosztátot még okosabbá tenni?
@ -117,7 +117,7 @@ A CPU-hoz hasonlóan a mikrokontrollerek memóriája nagyságrendekkel kisebb, m
Az alábbi diagram szemlélteti a méretkülönbséget a 192KB és 8GB között - a középen lévő kis pont jelképezi a 192KB-ot.


A programtároló mérete szintén kisebb, mint egy PC esetében. Egy tipikus PC például 500GB-os merevlemezzel rendelkezik a programok tárolására, míg egy mikrokontroller csak kilobájtokkal vagy esetleg néhány megabájttal (MB) rendelkezik (1MB = 1 000KB, vagy 1 000 000 bájt). A Wio terminál 4MB programtárolóval rendelkezik.
@ -193,17 +193,17 @@ Az előző leckében bemutattuk az egylapos számítógépeket. Most nézzük me
### Raspberry Pi


A [Raspberry Pi Foundation](https://www.raspberrypi.org) egy brit jótékonysági szervezet, amelyet 2009-ben alapítottak az informatika tanulmányozásának előmozdítására, különösen iskolai szinten. Ennek a küldetésnek a részeként kifejlesztettek egy egylapos számítógépet, amelyet Raspberry Pi-nek neveztek el. A Raspberry Pi jelenleg 3 változatban érhető el - egy teljes méretű verzióban, a kisebb Pi Zero-ban, és egy számítási modulban, amely beépíthető a végső IoT eszközbe.


A teljes méretű Raspberry Pi legújabb iterációja a Raspberry Pi 4B. Ez egy négymagos (4 magos) CPU-val rendelkezik, amely 1.5GHz-en fut, 2, 4 vagy 8GB RAM-mal, gigabites ethernettel, WiFi-vel, 2 HDMI porttal, amelyek 4k képernyőket támogatnak, egy audio- és kompozit videó kimeneti porttal, USB portokkal (2 USB 2.0, 2 USB 3.0), 40 GPIO tűvel, egy kamera csatlakozóval a Raspberry Pi kamera modulhoz, és egy SD kártya nyílással. Mindez egy 88mm x 58mm x 19.5mm méretű lapon, amelyet egy 3A USB-C tápegység működtet. Ezek ára 35 USD-tól kezdődik, ami sokkal olcsóbb, mint egy PC vagy Mac.
> 💁 Létezik egy Pi400 all-in-one számítógép, amely egy Pi4-et tartalmaz egy billentyűzetbe építve.


A Pi Zero sokkal kisebb, alacsonyabb teljesítményű. Egy egymagos 1GHz-es CPU-val, 512MB RAM-mal, WiFi-vel (a Zero W modellben), egyetlen HDMI porttal, egy micro-USB porttal, 40 GPIO tűvel, egy kamera csatlakozóval a Raspberry Pi kamera modulhoz, és egy SD kártya nyílással rendelkezik. Mérete 65mm x 30mm x 5mm, és nagyon kevés energiát fogyaszt. A Zero ára 5 USD, a WiFi-vel rendelkező W verzió pedig 10 USD.
@ -75,7 +75,7 @@ A legegyszerűbb érzékelők közé tartoznak az analóg érzékelők. Ezek az
Egy példa erre a potenciométer. Ez egy forgatható tárcsa, amelyet két pozíció között lehet elforgatni, és az érzékelő méri a forgást.


Az IoT eszköz elektromos jelet küld a potenciométernek egy adott feszültségen, például 5 volton (5V). Ahogy a potenciométert állítod, az megváltoztatja a másik oldalon kijövő feszültséget. Képzeld el, hogy van egy potenciométered, amelyet egy 0-tól [11-ig](https://wikipedia.org/wiki/Up_to_eleven) terjedő skálán jelöltek, például egy hangerőszabályzó gombot egy erősítőn. Amikor a potenciométer teljesen kikapcsolt állásban van (0), akkor 0V (0 volt) jön ki. Amikor teljesen bekapcsolt állásban van (11), akkor 5V (5 volt) jön ki.
@ -112,7 +112,7 @@ Az IoT eszközök, például a GPIO tüskék, közvetlenül mérhetik ezt a jele
Fejlettebb digitális érzékelők analóg értékeket olvasnak, majd beépített ADC-kkel digitális jelekké alakítják azokat. Például egy digitális hőmérsékletérzékelő továbbra is használ egy hőelemet, ugyanúgy, mint egy analóg érzékelő, és továbbra is méri a hőelem ellenállásának változását az aktuális hőmérsékleten. Ahelyett, hogy analóg értéket adna vissza, és az eszközre vagy a csatlakozópanelre bízná a digitális jellé alakítást, az érzékelőbe épített ADC átalakítja az értéket, és 0-k és 1-ek sorozataként küldi el az IoT eszköznek. Ezek a 0-k és 1-ek ugyanúgy kerülnek továbbításra, mint egy gomb digitális jele, ahol az 1 a teljes feszültséget, a 0 pedig a 0V-ot jelenti.


A digitális adatok küldése lehetővé teszi, hogy az érzékelők bonyolultabbá váljanak, és részletesebb adatokat, akár titkosított adatokat is küldjenek biztonságos érzékelők esetén. Egy példa erre egy kamera. Ez egy olyan érzékelő, amely képet rögzít, és digitális adatként küldi el az IoT eszköznek, általában tömörített formátumban, például JPEG-ben. Akár videót is streamelhet, képkockánként teljes képet vagy tömörített videófolyamot küldve.
@ -146,7 +146,7 @@ Például PWM segítségével vezérelheted egy motor sebességét.
Képzeld el, hogy egy motort vezérlesz 5V-os táppal. Rövid impulzust küldesz a motorodnak, amely 0,02 másodpercre (0,02s) magas feszültségre (5V) kapcsol. Ez idő alatt a motor egy tized fordulatot, azaz 36°-ot tesz meg. Ezután a jel szünetel 0,02 másodpercre (0,02s), alacsony jelet (0V) küldve. Minden be- és kikapcsolási ciklus 0,04 másodpercig tart. A ciklus ismétlődik.


Ez azt jelenti, hogy egy másodperc alatt 25 darab 0,02 másodperces 5V-os impulzust küldesz a motor forgatására, amelyeket 0,02 másodperces 0V-os szünet követ, amikor a motor nem forog. Minden impulzus egy tized fordulatot eredményez, így a motor másodpercenként 2,5 fordulatot tesz meg. Digitális jelet használtál arra, hogy a motort másodpercenként 2,5 fordulatra, vagy 150 [fordulat/perc](https://wikipedia.org/wiki/Revolutions_per_minute) sebességre állítsd (egy nem szabványos forgási sebesség mértékegység).
@ -157,7 +157,7 @@ Ez azt jelenti, hogy egy másodperc alatt 25 darab 0,02 másodperces 5V-os impul
> 🎓 Amikor egy PWM jel az idő felében be van kapcsolva, a másik felében pedig ki, azt [50%-os kitöltési tényezőnek](https://wikipedia.org/wiki/Duty_cycle) nevezzük. A kitöltési tényezőt az idő százalékában mérik, amely alatt a jel be van kapcsolva a kikapcsolt állapothoz képest.


A motor sebességét az impulzusok méretének változtatásával tudod szabályozni. Például ugyanazzal a motorral megtarthatod a ciklusidőt 0,04 másodpercen, miközben a bekapcsolási impulzust felére csökkented, 0,01 másodpercre, és a kikapcsolási impulzust 0,03 másodpercre növeled. Ugyanannyi impulzus van másodpercenként (25), de minden bekapcsolási impulzus fele olyan hosszú. Egy fele hosszú impulzus csak egy huszad fordulatot eredményez, és 25 impulzus másodpercenként 1,25 fordulatot, vagy 75 RPM-et eredményez. A digitális jel impulzussebességének változtatásával felére csökkentetted az analóg motor sebességét.
> 💁 A jobb oldali Grove aljzat analóg vagy digitális érzékelőkkel és működtetőkkel használható. A bal oldali aljzat csak digitális érzékelőkkel és működtetőkkel használható.


@ -46,7 +46,7 @@ Ebben a leckében a következő témákat tárgyaljuk:
Számos népszerű kommunikációs protokoll létezik, amelyeket az IoT-eszközök használnak az internetes kommunikációhoz. A legnépszerűbbek a publikálás/feliratkozás üzenetküldésen alapulnak valamilyen közvetítőn keresztül. Az IoT-eszközök csatlakoznak a közvetítőhöz, és telemetriát publikálnak, valamint parancsokra iratkoznak fel. A felhőszolgáltatások szintén csatlakoznak a közvetítőhöz, és feliratkoznak az összes telemetriai üzenetre, valamint parancsokat publikálnak, akár konkrét eszközökre, akár eszközcsoportokra.


Az MQTT a legnépszerűbb kommunikációs protokoll az IoT-eszközök számára, és ezt a leckében tárgyaljuk. Egyéb protokollok közé tartozik az AMQP és a HTTP/HTTPS.
@ -115,7 +115,7 @@ A telemetria szó görög gyökerekből származik, jelentése távoli mérés.
Nézzük vissza az 1. leckében bemutatott okos termosztát példáját.


A termosztát hőmérséklet-érzékelőkkel gyűjti a telemetriát. Valószínűleg egy beépített hőmérséklet-érzékelővel rendelkezik, és több külső hőmérséklet-érzékelőhöz is csatlakozhat egy vezeték nélküli protokoll, például [Bluetooth Low Energy](https://wikipedia.org/wiki/Bluetooth_Low_Energy) (BLE) segítségével.
@ -253,11 +253,11 @@ Most már megírhatja a szerver kódját Pythonban.
1. Amikor a VS Code elindul, aktiválni fogja a Python virtuális környezetet. Ezt az alsó állapotsorban fogja jelezni:


1. Ha a VS Code Terminál már fut, amikor a VS Code elindul, akkor nem lesz aktiválva benne a virtuális környezet. A legegyszerűbb megoldás az, ha bezárja a terminált az **Aktív terminálpéldány bezárása** gombbal:


1. Indítson egy új VS Code Terminált a *Terminál -> Új terminál* menüpont kiválasztásával, vagy a `` CTRL+` `` billentyűkombináció megnyomásával. Az új terminál betölti a virtuális környezetet, és az aktiválás parancsa megjelenik a terminálban. A virtuális környezet neve (`.venv`) szintén megjelenik a promptban:
@ -64,7 +64,7 @@ Csatlakoztasd a Wio Terminalt a WiFi-hez.
1. Hozz létre egy új fájlt a `src` mappában `config.h` néven. Ezt úgy teheted meg, hogy kijelölöd a `src` mappát, vagy a benne lévő `main.cpp` fájlt, majd az **Új fájl** gombra kattintasz az explorerben. Ez a gomb csak akkor jelenik meg, ha az egérkurzor az explorer felett van.


1. Add hozzá a következő kódot ehhez a fájlhoz, hogy meghatározd a WiFi hitelesítési adatokat:
@ -65,7 +65,7 @@ Minden növényfajnak különböző értékei vannak az alap-, optimális és ma
✅ Kutass egy kicsit! A kertedben, iskoládban vagy helyi parkodban található növények esetében próbáld meg megtalálni az alap hőmérsékletet.


A fenti grafikon egy példát mutat a növekedési ütem és a hőmérséklet közötti összefüggésre. Az alap hőmérsékletig nincs növekedés. A növekedési ütem az optimális hőmérsékletig növekszik, majd a csúcs elérése után csökken.
@ -91,7 +91,7 @@ Ez a kód megnyitja a CSV fájlt, majd hozzáfűz egy új sort a végéhez. A so
> 💁 Ha Virtuális IoT Eszközt használ, jelölje be a véletlenszerű jelölőnégyzetet, és állítson be egy tartományt, hogy elkerülje ugyanazon hőmérséklet visszatérését minden alkalommal, amikor a hőmérsékleti érték megjelenik.


> 💁 Ha egy teljes napig szeretné futtatni, akkor győződjön meg arról, hogy a számítógép, amelyen a szerver kódja fut, nem megy alvó módba, akár az energia-beállítások megváltoztatásával, akár valami hasonló futtatásával, mint [ez a Python script, amely aktívan tartja a rendszert](https://github.com/jaqsparow/keep-system-active).
Some files were not shown because too many files have changed in this diff
Show More