# IoT मा गहिरो अध्ययन ![यस पाठको स्केच नोटको अवलोकन](../../../../../translated_images/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.ne.jpg) > स्केच नोट [नित्या नरसिम्हन](https://github.com/nitya) द्वारा। ठूलो संस्करणको लागि तस्बिरमा क्लिक गर्नुहोस्। यो पाठ [Hello IoT श्रृंखला](https://youtube.com/playlist?list=PLmsFUfdnGr3xRts0TIwyaHyQuHaNQcb6-) को भागको रूपमा [Microsoft Reactor](https://developer.microsoft.com/reactor/?WT.mc_id=academic-17441-jabenn) बाट सिकाइएको थियो। यो पाठ दुई भिडियोहरूमा सिकाइएको थियो - एक घण्टाको पाठ, र एक घण्टाको कार्यालय समय जसले पाठका भागहरूमा गहिरो अध्ययन गर्‍यो र प्रश्नहरूको उत्तर दियो। [![पाठ २: IoT मा गहिरो अध्ययन](https://img.youtube.com/vi/t0SySWw3z9M/0.jpg)](https://youtu.be/t0SySWw3z9M) [![पाठ २: IoT मा गहिरो अध्ययन - कार्यालय समय](https://img.youtube.com/vi/tTZYf9EST1E/0.jpg)](https://youtu.be/tTZYf9EST1E) > 🎥 माथिका तस्बिरहरूमा क्लिक गरेर भिडियोहरू हेर्नुहोस् ## पाठ अघि क्विज [पाठ अघि क्विज](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/3) ## परिचय यो पाठले अघिल्लो पाठमा समेटिएका केही अवधारणाहरूमा गहिरो अध्ययन गर्दछ। यस पाठमा हामीले समेट्नेछौं: * [IoT अनुप्रयोगका घटकहरू](../../../../../1-getting-started/lessons/2-deeper-dive) * [माइक्रोकन्ट्रोलरहरूमा गहिरो अध्ययन](../../../../../1-getting-started/lessons/2-deeper-dive) * [सिंगल-बोर्ड कम्प्युटरहरूमा गहिरो अध्ययन](../../../../../1-getting-started/lessons/2-deeper-dive) ## IoT अनुप्रयोगका घटकहरू IoT अनुप्रयोगका दुई मुख्य घटकहरू छन् - *इन्टरनेट* र *चिज*। यी दुई घटकहरूलाई अलि बढी विस्तारमा हेरौं। ### चिज ![रास्पबेरी पाई ४](../../../../../translated_images/raspberry-pi-4.fd4590d308c3d456db1327e86b395ddcd735513267aafd4879ea2785f7792eac.ne.jpg) IoT को **चिज** भागले भौतिक संसारसँग अन्तरक्रिया गर्न सक्ने उपकरणलाई जनाउँछ। यी उपकरणहरू सामान्यतया साना, कम मूल्यका कम्प्युटरहरू हुन्, जसले कम गति र कम ऊर्जा प्रयोग गर्छन् - उदाहरणका लागि, साधारण माइक्रोकन्ट्रोलरहरू जसमा केबिबाइट्सको RAM हुन्छ (PC मा गिगाबाइट्सको सट्टा) र केवल केही सय मेगाहर्ट्जमा चल्छन् (PC मा गिगाहर्ट्जको सट्टा), तर कहिलेकाहीँ यति कम ऊर्जा खपत गर्छन् कि तिनीहरू ब्याट्रीमा हप्ताहरू, महिनाहरू वा वर्षसम्म चल्न सक्छन्। यी उपकरणहरूले भौतिक संसारसँग अन्तरक्रिया गर्छन्, या त सेन्सरहरू प्रयोग गरेर आफ्नो वरपरको डाटा सङ्कलन गरेर वा आउटपुटहरू वा एक्ट्युएटरहरू नियन्त्रण गरेर भौतिक परिवर्तनहरू गर्न। यसको सामान्य उदाहरण स्मार्ट थर्मोस्ट्याट हो - एउटा उपकरण जसमा तापक्रम सेन्सर, इच्छित तापक्रम सेट गर्नको लागि डायल वा टचस्क्रिन जस्ता साधनहरू, र तापक्रम पत्ता लगाइएको दायरा बाहिर हुँदा चालु गर्न सकिने हीटिंग वा कूलिंग प्रणालीसँगको जडान हुन्छ। तापक्रम सेन्सरले कोठा धेरै चिसो भएको पत्ता लगाउँछ र एक्ट्युएटरले हीटिंग चालु गर्छ। ![तापक्रम र डायललाई IoT उपकरणमा इनपुटको रूपमा देखाउने र हीटरको नियन्त्रणलाई आउटपुटको रूपमा देखाउने एक चित्र](../../../../../translated_images/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.ne.png) IoT उपकरणको रूपमा काम गर्न सक्ने विभिन्न चिजहरूको ठूलो दायरा छ, समर्पित हार्डवेयरबाट जसले एउटा चिजलाई सेन्स गर्छ, सामान्य उद्देश्यका उपकरणहरू, यहाँसम्म कि तपाईंको स्मार्टफोन पनि! स्मार्टफोनले वरपरको संसारलाई सेन्सरहरू प्रयोग गरेर पत्ता लगाउन सक्छ, र एक्ट्युएटरहरू प्रयोग गरेर संसारसँग अन्तरक्रिया गर्न सक्छ - उदाहरणका लागि GPS सेन्सर प्रयोग गरेर तपाईंको स्थान पत्ता लगाउन र स्पिकर प्रयोग गरेर गन्तव्यमा नेभिगेसन निर्देशन दिन। ✅ तपाईं वरपरका अन्य प्रणालीहरूको बारेमा सोच्नुहोस् जसले सेन्सरबाट डाटा पढ्छ र त्यसलाई निर्णय गर्न प्रयोग गर्छ। एउटा उदाहरण ओभनको थर्मोस्ट्याट हो। के तपाईं अरू फेला पार्न सक्नुहुन्छ? ### इन्टरनेट IoT अनुप्रयोगको **इन्टरनेट** पक्षमा IoT उपकरणले डाटा पठाउन र प्राप्त गर्न जडान गर्न सक्ने अनुप्रयोगहरू, साथै IoT उपकरणबाट डाटा प्रशोधन गर्न सक्ने र IoT उपकरणका एक्ट्युएटरहरूलाई पठाउन अनुरोधहरूमा निर्णय गर्न मद्दत गर्ने अन्य अनुप्रयोगहरू समावेश छन्। एक सामान्य सेटअपमा IoT उपकरणले जडान गर्ने कुनै प्रकारको क्लाउड सेवा हुन्छ, र यो क्लाउड सेवाले सुरक्षा जस्ता चिजहरू, साथै IoT उपकरणबाट सन्देशहरू प्राप्त गर्ने र उपकरणमा सन्देशहरू पठाउने काम गर्छ। यो क्लाउड सेवा अन्य अनुप्रयोगहरूसँग जडान हुन्छ जसले सेन्सर डाटा प्रशोधन वा भण्डारण गर्न सक्छ, वा अन्य प्रणालीहरूबाट डाटासँग सेन्सर डाटा प्रयोग गरेर निर्णय गर्न सक्छ। उपकरणहरूले सधैं WiFi वा तारयुक्त जडानमार्फत इन्टरनेटमा सिधै जडान गर्दैनन्। केही उपकरणहरूले ब्लुटुथ जस्ता प्रविधिहरू प्रयोग गरेर एकअर्कासँग कुरा गर्न मेष नेटवर्किङ प्रयोग गर्छन्, इन्टरनेट जडान भएको हब उपकरणमार्फत जडान गर्छन्। स्मार्ट थर्मोस्ट्याटको उदाहरणमा, थर्मोस्ट्याटले घरको WiFi प्रयोग गरेर क्लाउडमा चलिरहेको क्लाउड सेवासँग जडान गर्छ। यसले तापक्रम डाटा यो क्लाउड सेवामा पठाउँछ, र त्यहाँबाट यो कुनै प्रकारको डाटाबेसमा लेखिन्छ जसले घरधनीलाई फोन एप प्रयोग गरेर वर्तमान र अघिल्लो तापक्रम जाँच गर्न अनुमति दिन्छ। क्लाउडमा अर्को सेवा घरधनीले चाहेको तापक्रम थाहा पाउँछ, र क्लाउड सेवामार्फत IoT उपकरणमा सन्देशहरू पठाउँछ जसले हीटिंग प्रणालीलाई चालु वा बन्द गर्न भन्छ। ![तापक्रम र डायललाई IoT उपकरणमा इनपुटको रूपमा देखाउने, IoT उपकरणलाई क्लाउडसँग दुई-तर्फी जडान देखाउने, क्लाउडलाई फोनसँग दुई-तर्फी जडान देखाउने, र IoT उपकरणबाट आउटपुटको रूपमा हीटरको नियन्त्रण देखाउने एक चित्र](../../../../../translated_images/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.ne.png) अझ स्मार्ट संस्करणले क्लाउडमा AI प्रयोग गर्न सक्छ, अन्य IoT उपकरणहरू जस्तै ओक्युपेन्सी सेन्सरहरूबाट जडान भएका अन्य सेन्सरहरूको डाटासँग, साथै मौसम र तपाईंको क्यालेन्डर जस्ता डाटासँग, स्मार्ट तरिकाले तापक्रम सेट गर्न निर्णय गर्न। उदाहरणका लागि, यो तपाईंको क्यालेन्डरबाट तपाईं छुट्टीमा रहेको पत्ता लगाउँदा तपाईंको हीटिंग बन्द गर्न सक्छ, वा तपाईंले प्रयोग गर्ने कोठाहरूमा निर्भर गर्दै कोठा-कोठामा हीटिंग बन्द गर्न सक्छ, डाटाबाट सिक्दै समयसँगै अझ बढी सटीक बन्न। ![धेरै तापक्रम सेन्सरहरू र डायललाई IoT उपकरणमा इनपुटको रूपमा देखाउने, IoT उपकरणलाई क्लाउडसँग दुई-तर्फी जडान देखाउने, क्लाउडलाई फोन, क्यालेन्डर र मौसम सेवासँग दुई-तर्फी जडान देखाउने, र IoT उपकरणबाट आउटपुटको रूपमा हीटरको नियन्त्रण देखाउने एक चित्र](../../../../../translated_images/smarter-thermostat.a75855f15d2d9e63d5da9d7ba5847a987f6c9d98e96e770c203532275194e27d.ne.png) ✅ अन्य डाटाको बारेमा सोच्नुहोस् जसले इन्टरनेट जडित थर्मोस्ट्याटलाई अझ स्मार्ट बनाउन मद्दत गर्न सक्छ। ### एजमा IoT यद्यपि IoT मा 'I' इन्टरनेटको लागि हो, यी उपकरणहरूले इन्टरनेटमा जडान गर्न आवश्यक छैन। केही अवस्थामा, उपकरणहरूले 'एज' उपकरणहरूसँग जडान गर्न सक्छन् - गेटवे उपकरणहरू जसले तपाईंको स्थानीय नेटवर्कमा चल्छन् जसले तपाईंलाई इन्टरनेटमा कल नगरी डाटा प्रशोधन गर्न अनुमति दिन्छ। यो धेरै डाटा हुँदा वा इन्टरनेट जडान ढिलो हुँदा छिटो हुन सक्छ, यो तपाईंलाई अफलाइन चलाउन अनुमति दिन्छ जहाँ इन्टरनेट जडान सम्भव छैन जस्तै जहाजमा वा मानवीय संकटको प्रतिक्रिया दिने आपतकालीन क्षेत्रमा, र तपाईंलाई डाटा निजी राख्न अनुमति दिन्छ। केही उपकरणहरूले क्लाउड उपकरणहरू प्रयोग गरेर बनाइएको प्रशोधन कोड समावेश गर्छन् र यो स्थानीय रूपमा चलाउँछन् ताकि इन्टरनेट जडान प्रयोग नगरी निर्णय गर्न डाटा सङ्कलन र प्रतिक्रिया दिन सकियोस्। यसको एउटा उदाहरण स्मार्ट होम उपकरण जस्तै Apple HomePod, Amazon Alexa, वा Google Home हो, जसले क्लाउडमा प्रशिक्षित AI मोडेलहरू प्रयोग गरेर तपाईंको आवाज सुन्छ, तर उपकरणमा स्थानीय रूपमा चल्छ। यी उपकरणहरूले निश्चित शब्द वा वाक्यांश बोल्दा 'जाग्छन्', र त्यसपछि मात्र तपाईंको भाषण इन्टरनेटमा प्रशोधनको लागि पठाउँछन्। उपकरणले तपाईंको भाषणमा रोकावट पत्ता लगाउँदा जस्तै उपयुक्त बिन्दुमा भाषण पठाउन बन्द गर्छ। उपकरणलाई जागृत गर्ने शब्द बोल्नु अघि तपाईंले भनेको सबै कुरा, र उपकरणले सुन्न बन्द गरेको पछि तपाईंले भनेको सबै कुरा उपकरण प्रदायकलाई इन्टरनेटमा पठाइने छैन, र त्यसैले निजी हुनेछ। ✅ अन्य परिदृश्यहरूको बारेमा सोच्नुहोस् जहाँ गोपनीयता महत्त्वपूर्ण छ त्यसैले डाटाको प्रशोधन क्लाउडमा भन्दा एजमा गरिनु राम्रो हुन्छ। एउटा संकेत - IoT उपकरणहरूमा क्यामेरा वा अन्य इमेजिङ उपकरणहरू भएको बारेमा सोच्नुहोस्। ### IoT सुरक्षा कुनै पनि इन्टरनेट जडानसँग, सुरक्षा महत्त्वपूर्ण विचार हो। एउटा पुरानो मजाक छ कि 'IoT मा S सुरक्षाको लागि हो' - IoT मा 'S' छैन, जसले यो सुरक्षित छैन भन्ने संकेत गर्छ। IoT उपकरणहरू क्लाउड सेवासँग जडान गर्छन्, र त्यसैले ती क्लाउड सेवाको सुरक्षा जति सुरक्षित छन् - यदि तपाईंको क्लाउड सेवाले कुनै पनि उपकरणलाई जडान गर्न अनुमति दिन्छ भने हानिकारक डाटा पठाउन सकिन्छ, वा भाइरस आक्रमण हुन सक्छ। यसले धेरै वास्तविक संसारका परिणामहरू हुन सक्छ किनकि IoT उपकरणहरूले अन्य उपकरणहरूसँग अन्तरक्रिया र नियन्त्रण गर्छन्। उदाहरणका लागि, [Stuxnet वर्म](https://wikipedia.org/wiki/Stuxnet) ले सेन्ट्रीफ्युजहरूमा भल्भहरू हेरफेर गरेर तिनीहरूलाई क्षति पुर्‍यायो। ह्याकरहरूले [कमजोर सुरक्षाको फाइदा उठाएर बेबी मोनिटरहरू](https://www.npr.org/sections/thetwo-way/2018/06/05/617196788/s-c-mom-says-baby-monitor-was-hacked-experts-say-many-devices-are-vulnerable) र अन्य घर निगरानी उपकरणहरूमा पहुँच लिएका छन्। > 💁 कहिलेकाहीं IoT उपकरणहरू र एज उपकरणहरू इन्टरनेटबाट पूर्ण रूपमा अलग नेटवर्कमा चल्छन् ताकि डाटा निजी र सुरक्षित रहोस्। यसलाई [एयर-ग्यापिङ](https://wikipedia.org/wiki/Air_gap_(networking)) भनिन्छ। ## माइक्रोकन्ट्रोलरहरूमा गहिरो अध्ययन अघिल्लो पाठमा, हामीले माइक्रोकन्ट्रोलरहरूको परिचय गरायौं। अब तिनीहरूमा गहिरो अध्ययन गरौं। ### CPU CPU माइक्रोकन्ट्रोलरको 'मस्तिष्क' हो। यो प्रोसेसर हो जसले तपाईंको कोड चलाउँछ र कुनै पनि जडित उपकरणहरूबाट डाटा पठाउन र प्राप्त गर्न सक्छ। CPU हरूमा एक वा बढी कोरहरू हुन सक्छन् - मूलतः एक वा बढी CPU हरू जसले तपाईंको कोड चलाउन सँगै काम गर्न सक्छ। CPU हरूले एक घडीमा भर पर्छन् जसले प्रत्येक सेकेन्डमा लाखौं वा अर्बौं पटक टिक गर्छ। प्रत्येक टिक, वा चक्र, CPU ले लिन सक्ने कार्यहरूलाई समक्रमण गर्छ। प्रत्येक टिकमा, CPU ले प्रोग्रामबाट एउटा निर्देशन कार्यान्वयन गर्न सक्छ, जस्तै बाह्य उपकरणबाट डाटा प्राप्त गर्न वा गणितीय गणना गर्न। यो नियमित चक्रले अर्को निर्देशन प्रशोधन गर्नु अघि सबै कार्यहरू पूरा गर्न अनुमति दिन्छ। घडी चक्र जति छिटो हुन्छ, प्रत्येक सेकेन्डमा प्रशोधन गर्न सकिने निर्देशनहरू जति धेरै हुन्छन्, र त्यसैले CPU जति छिटो हुन्छ। CPU गति [हर्ट्ज (Hz)](https://wikipedia.org/wiki/Hertz) मा मापन गरिन्छ, एक मानक एकाइ जहाँ १ Hz ले प्रति सेकेन्ड एक चक्र वा घडी टिकलाई जनाउँछ। > 🎓 CPU गति प्रायः MHz वा GHz मा दिइन्छ। १MHz भनेको १ मिलियन Hz हो, १GHz भनेको १ अर्ब Hz हो। > 💁 CPU हरूले [फेच-डिकोड-एक्जिक्युट चक्र](https://wikipedia.org/wiki/Instruction_cycle) प्रयोग गरेर प्रोग्रामहरू कार्यान्वयन गर्छन्। प्रत्येक घडी टिकमा, CPU ले मेमोरीबाट अर्को निर्देशन फेच गर्छ, त्यसलाई डिकोड गर्छ, त्यसपछि कार्यान्वयन गर्छ जस्तै दुई संख्याहरू जोड्नको लागि एरिथमेटिक लजिक युनिट (ALU) प्रयोग गरेर। केही कार्यान्वयनहरू चलाउन धेरै टिकहरू लाग्छन्, त्यसैले अर्को चक्र अर्को टिकमा चल्छ जब निर्देशन पूरा हुन्छ। ![फेच डिकोड एक्जिक्युट चक्रहरू देखाउने, फेचले RAM मा भण्डारण गरिएको प्रोग्रामबाट निर्देशन लिन्छ, त्यसपछि CPU मा डिकोड र कार्यान्वयन गर्छ](../../../../../translated_images/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.ne.png) माइक्रोकन्ट्रोलरहरूमा डेस्कटप वा ल्यापटप कम्प्युटरहरू, वा अधिकांश स्मार्टफोनहरू भन्दा धेरै कम घडी गति हुन्छ। उदाहरणका लागि, Wio Terminal मा CPU छ जसले 120MHz वा प्रति सेकेन्ड 120,000,000 चक्रमा चल्छ। ✅ औसत PC वा Mac मा धेरै कोरहरू हुन्छन् जसले धेरै गिगाहर्ट्जमा चल्छन्, जसको अर्थ घडी प्रति सेकेन्ड अर्बौं पटक टिक गर्छ। तपाईंको कम्प्युटरको घडी गति अनुसन्धान गर्नुहोस् र Wio Terminal भन्दा यो कति पटक छिटो छ तुलना गर्नुहोस्। प्रत्येक घडी चक्रले ऊर्जा खपत गर्छ र ताप उत्पन्न गर्छ। टिकहरू जति छिटो हुन्छन्, ऊर्जा खपत र ताप उत्पन्न जति धेरै हुन्छ। PC हरूसँग ताप हटाउन हीट सिङ्क र फ्यानहरू हुन्छन्, जसबिना तिनीहरू केही सेकेन्डभित्र ओभरहिट भएर बन्द हुनेछन्। माइक्रोकन्ट्रोलरहरू प्रायः यीमध्ये कुनै पनि हुँदैन किनभने तिनीहरू धेरै चिसो चल्छन् र त्यसैले धेरै ढिलो। PC हरू मुख्य ऊर्जा वा केही घण्टाको लागि ठूलो ब्याट्रीबाट चल्छन्, माइक्रोकन्ट्रोलरहरू साना ब्याट्रीहरूबाट दिनहरू, महिनाहरू, वा वर्षहरू चल्न सक्छन्। माइक्रोकन्ट्रोलरहरूमा विभिन्न गति चल्ने कोरहरू पनि हुन सक्छन्, CPU मा माग कम हुँदा ऊर्जा खपत कम गर्न ढिलो कम ऊर्जा कोरहरूमा स्विच गर्दै। > 💁 केही PC हरू र Mac हरूले छिटो उच्च ऊर्जा कोरहरू र ढिलो कम ऊर्जा कोरहरूको समान मिश्रण अपनाउँदै छन्, ब्याट्री बचाउन स्विच गर्दै। उदाहरणका लागि, पछिल्लो Apple ल्यापटपहरूमा M1 चिपले ४ प्रदर्शन कोरहरू र ४ दक्षता कोरहरू बीच स्विच गर्न सक्छ ताकि ब्याट्री जीवन वा गति अनुकूलित गर्न सकियोस्। ✅ थोरै अनुसन्धान गर्नुहोस्: CPU हरूको बारेमा [Wikipedia CPU लेख](https://wikipedia.org/wiki/Central_processing_unit) मा पढ्नुहोस्। #### कार्य Wio Terminal अनुसन्धान गर्नुहोस्। यदि तपाईं यी पाठहरूको लागि Wio Terminal प्रयोग गर्दै हुनुहुन्छ भने, CPU खोज्ने प्रयास गर्नुहोस्। [Wio Terminal उत्पादन पृष्ठ](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) को *हार्डवेयर अवलोकन* खण्डमा आन्तरिकहरूको तस्बिर खोज्नुहोस्, र पछाडिको स्पष्ट प्लास्टिक विन्डोबाट CPU खोज्ने प्रयास गर्नुहोस्। ### मेमोरी माइक्रोकन्ट्रोलरहरूमा सामान्यतया दुई प्रकारका मेमोरी हुन्छन् - प्रोग्राम मेमोरी र र्यान्डम-एक्सेस मेमोरी (RAM)। प्रोग्राम मेमोरी गैर-अस्थिर हुन्छ, जसको अर्थ यसमा लेखिएको कुरा उपकरणमा कुनै ऊर्जा नभएको बेला पनि रहन्छ। यो मेमोरी हो जसले तपाईंको प्रोग्राम कोड भण्डारण गर्छ। RAM मेमोरी हो जुन प्रोग्रामले चलाउन प्रयोग गर्छ, जसमा तपाईंको प्रोग्रामले छुट्याएका भेरिएबलहरू र परिधीयहरूबाट सङ्कलन गरिएको डाटा समावेश हुन्छ। RAM अस्थिर हुन्छ, जब ऊर्जा बन्द हुन्छ सामग्रीहरू हराउँछन्, प्रभावकारी रूपमा तपाईंको प्रोग्रामलाई रिसेट गर्दै। 🎓 कार्यक्रम मेमोरीले तपाईंको कोडलाई भण्डारण गर्छ र जब पावर छैन तब पनि रहन्छ। 🎓 RAM तपाईंको प्रोग्राम चलाउन प्रयोग गरिन्छ र पावर नभएको बेला रिसेट हुन्छ CPU जस्तै, माइक्रोकन्ट्रोलरमा रहेको मेमोरी PC वा Mac भन्दा धेरै सानो हुन्छ। एउटा साधारण PC मा 8 गिगाबाइट्स (GB) RAM, वा 8,000,000,000 बाइट्स हुन सक्छ, जहाँ प्रत्येक बाइटले एउटा अक्षर वा 0-255 सम्मको संख्या भण्डारण गर्न पर्याप्त ठाउँ दिन्छ। माइक्रोकन्ट्रोलरमा केवल किलोबाइट्स (KB) RAM हुन्छ, जहाँ एक किलोबाइट 1,000 बाइट्स बराबर हुन्छ। माथि उल्लेख गरिएको Wio टर्मिनलमा 192KB RAM, वा 192,000 बाइट्स छ - औसत PC भन्दा 40,000 गुणा कम! तलको चित्रले 192KB र 8GB बीचको आकारको तुलनात्मक फरक देखाउँछ - केन्द्रमा रहेको सानो बिन्दु 192KB प्रतिनिधित्व गर्दछ। ![192KB र 8GB बीचको तुलना - 40,000 गुणा ठूलो](../../../../../translated_images/ram-comparison.6beb73541b42ac6ffde64cdf79fc925a84b932ce7ebd4d41d5fd7afc1257a696.ne.png) प्रोग्राम भण्डारण पनि PC भन्दा सानो हुन्छ। एउटा साधारण PC मा प्रोग्राम भण्डारणको लागि 500GB हार्ड ड्राइभ हुन सक्छ, जबकि माइक्रोकन्ट्रोलरमा केवल किलोबाइट्स वा केही मेगाबाइट्स (MB) भण्डारण हुन सक्छ (1MB भनेको 1,000KB, वा 1,000,000 बाइट्स हो)। Wio टर्मिनलमा 4MB प्रोग्राम भण्डारण छ। ✅ थोरै अनुसन्धान गर्नुहोस्: तपाईंले यो पढ्न प्रयोग गरिरहेको कम्प्युटरमा कति RAM र भण्डारण छ? यो माइक्रोकन्ट्रोलरसँग कसरी तुलना हुन्छ? ### इनपुट/आउटपुट माइक्रोकन्ट्रोलरहरूले सेन्सरबाट डेटा पढ्न र एक्ट्युएटरहरूलाई नियन्त्रण संकेत पठाउन इनपुट र आउटपुट (I/O) जडानहरू आवश्यक पर्दछ। तिनीहरू सामान्यतया धेरै सामान्य-उद्देश्य इनपुट/आउटपुट (GPIO) पिनहरू समावेश गर्छन्। यी पिनहरू सफ्टवेयरमा इनपुट (जसले संकेत प्राप्त गर्छ) वा आउटपुट (जसले संकेत पठाउँछ) को रूपमा कन्फिगर गर्न सकिन्छ। 🧠⬅️ इनपुट पिनहरू सेन्सरबाट मानहरू पढ्न प्रयोग गरिन्छ 🧠➡️ आउटपुट पिनहरू एक्ट्युएटरहरूलाई निर्देशन पठाउँछ ✅ तपाईं यसबारे थप जानकारी अर्को पाठमा सिक्नुहुनेछ। #### कार्य Wio टर्मिनलको अनुसन्धान गर्नुहोस्। यदि तपाईं यी पाठहरूको लागि Wio टर्मिनल प्रयोग गर्दै हुनुहुन्छ भने, GPIO पिनहरू खोज्नुहोस्। [Wio टर्मिनल उत्पादन पृष्ठ](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) को *Pinout diagram* खण्ड खोज्नुहोस् ताकि कुन पिनहरू कुन हुन् भनेर जान्न सकियोस्। Wio टर्मिनलसँग पिन नम्बरहरू भएको स्टिकर आउँछ जुन तपाईं पछाडि जोड्न सक्नुहुन्छ, त्यसैले यदि तपाईंले अझै जोड्नुभएको छैन भने अहिले जोड्नुहोस्। ### भौतिक आकार माइक्रोकन्ट्रोलरहरू सामान्यतया सानो आकारका हुन्छन्, सबैभन्दा सानो [Freescale Kinetis KL03 MCU गोल्फ बलको डिम्पलमा फिट हुने गरी सानो छ](https://www.edn.com/tiny-arm-cortex-m0-based-mcu-shrinks-package/)। PC मा CPU मात्र 40mm x 40mm मापन गर्न सक्छ, र यो CPU लाई अधिक तातो हुनबाट बचाउन आवश्यक हीट सिंक र फ्यानहरू समावेश नगरी हो। Wio टर्मिनल डेभलपर किट, जसमा माइक्रोकन्ट्रोलर, केस, स्क्रिन र जडानहरू तथा कम्पोनेन्टहरूको दायरा समावेश छ, नाङ्गो Intel i9 CPU भन्दा धेरै ठूलो छैन, र हीट सिंक तथा फ्यान भएको CPU भन्दा धेरै सानो छ! | उपकरण | आकार | | ------------------------------- | --------------------- | | Freescale Kinetis KL03 | 1.6mm x 2mm x 1mm | | Wio टर्मिनल | 72mm x 57mm x 12mm | | Intel i9 CPU, हीट सिंक र फ्यान | 136mm x 145mm x 103mm | ### फ्रेमवर्कहरू र अपरेटिङ सिस्टमहरू तिनीहरूको कम गति र मेमोरी आकारका कारण, माइक्रोकन्ट्रोलरहरूले डेस्कटप अर्थमा अपरेटिङ सिस्टम (OS) चलाउँदैनन्। तपाईंको कम्प्युटर चलाउने अपरेटिङ सिस्टम (Windows, Linux वा macOS) लाई धेरै मेमोरी र प्रोसेसिङ पावर चाहिन्छ, जुन माइक्रोकन्ट्रोलरका लागि पूर्ण रूपमा अनावश्यक कार्यहरू चलाउन आवश्यक पर्दैन। माइक्रोकन्ट्रोलरहरू सामान्यतया एक वा धेरै विशिष्ट कार्यहरू गर्न प्रोग्राम गरिन्छन्, जबकि PC वा Mac जस्ता सामान्य उद्देश्यका कम्प्युटरहरूले प्रयोगकर्ता इन्टरफेस समर्थन गर्न, संगीत वा चलचित्रहरू चलाउन, कागजात वा कोड लेख्न उपकरणहरू प्रदान गर्न, खेल खेल्न, वा इन्टरनेट ब्राउज गर्न आवश्यक पर्दछ। OS बिना माइक्रोकन्ट्रोलर प्रोग्राम गर्न तपाईंलाई केही उपकरणहरू चाहिन्छ जसले तपाईंको कोडलाई माइक्रोकन्ट्रोलरले चलाउन सक्ने तरिकामा निर्माण गर्न अनुमति दिन्छ, API हरू प्रयोग गरेर जुन कुनै पनि पेरिफेरलहरूसँग कुरा गर्न सक्छ। प्रत्येक माइक्रोकन्ट्रोलर फरक हुन्छ, त्यसैले निर्माताहरू सामान्यतया मानक फ्रेमवर्कहरू समर्थन गर्छन् जसले तपाईंलाई मानक 'रेसिपी' पालना गर्न अनुमति दिन्छ ताकि तपाईंको कोड निर्माण गर्न सकियोस् र कुनै पनि फ्रेमवर्कलाई समर्थन गर्ने माइक्रोकन्ट्रोलरमा चलाउन सकियोस्। तपाईं माइक्रोकन्ट्रोलरहरूलाई OS प्रयोग गरेर प्रोग्राम गर्न सक्नुहुन्छ - प्रायः यसलाई वास्तविक-समय अपरेटिङ सिस्टम (RTOS) भनिन्छ, किनकि यी पेरिफेरलहरूसँग वास्तविक समयमा डेटा पठाउन र प्राप्त गर्न डिजाइन गरिएका हुन्छन्। यी अपरेटिङ सिस्टमहरू धेरै हल्का हुन्छन् र निम्न सुविधाहरू प्रदान गर्छन्: * मल्टि-थ्रेडिङ, जसले तपाईंको कोडलाई एकै समयमा धेरै ब्लकहरू चलाउन अनुमति दिन्छ, चाहे धेरै कोरहरूमा होस् वा एक कोरमा पालैपालो चलाएर * नेटवर्किङ, जसले इन्टरनेटमा सुरक्षित रूपमा संवाद गर्न अनुमति दिन्छ * ग्राफिकल यूजर इन्टरफेस (GUI) कम्पोनेन्टहरू, जसले स्क्रिन भएका उपकरणहरूमा प्रयोगकर्ता इन्टरफेस (UI) निर्माण गर्न अनुमति दिन्छ। ✅ केही फरक RTOSहरूको बारेमा पढ्नुहोस्: [Azure RTOS](https://azure.microsoft.com/services/rtos/?WT.mc_id=academic-17441-jabenn), [FreeRTOS](https://www.freertos.org), [Zephyr](https://www.zephyrproject.org) #### Arduino ![Arduino लोगो](../../../../../images/arduino-logo.svg) [Arduino](https://www.arduino.cc) सम्भवतः सबैभन्दा लोकप्रिय माइक्रोकन्ट्रोलर फ्रेमवर्क हो, विशेष गरी विद्यार्थीहरू, शौखिनहरू र निर्माताहरू बीच। Arduino एक ओपन सोर्स इलेक्ट्रोनिक्स प्लेटफर्म हो जसले सफ्टवेयर र हार्डवेयरलाई संयोजन गर्छ। तपाईं Arduino अनुकूल बोर्डहरू Arduino आफैंबाट वा अन्य निर्माताहरूबाट किन्न सक्नुहुन्छ, त्यसपछि Arduino फ्रेमवर्क प्रयोग गरेर कोड गर्न सक्नुहुन्छ। Arduino बोर्डहरू C वा C++ मा कोड गरिन्छ। C/C++ प्रयोग गर्दा तपाईंको कोडलाई धेरै सानो कम्पाइल गर्न र छिटो चलाउन अनुमति दिन्छ, जुन माइक्रोकन्ट्रोलर जस्तो सीमित उपकरणमा आवश्यक हुन्छ। Arduino एप्लिकेसनको कोरलाई स्केच भनिन्छ र यो C/C++ कोड हो जसमा 2 फङ्सनहरू हुन्छन् - `setup` र `loop`। जब बोर्ड सुरु हुन्छ, Arduino फ्रेमवर्क कोडले `setup` फङ्सनलाई एक पटक चलाउँछ, त्यसपछि `loop` फङ्सनलाई बारम्बार चलाउँछ, यसलाई निरन्तर चलाउँछ जबसम्म पावर बन्द हुँदैन। तपाईं `setup` फङ्सनमा आफ्नो सेटअप कोड लेख्नुहुन्छ, जस्तै WiFi र क्लाउड सेवाहरूमा जडान गर्नु वा इनपुट र आउटपुटका लागि पिनहरू आरम्भ गर्नु। त्यसपछि तपाईंको `loop` कोडले प्रोसेसिङ कोड समावेश गर्दछ, जस्तै सेन्सरबाट पढ्नु र क्लाउडमा मान पठाउनु। तपाईं सामान्यतया प्रत्येक लूपमा ढिलाइ समावेश गर्नुहुन्छ, उदाहरणका लागि, यदि तपाईं केवल सेन्सर डेटा प्रत्येक 10 सेकेन्डमा पठाउन चाहनुहुन्छ भने तपाईं लूपको अन्त्यमा 10 सेकेन्डको ढिलाइ थप्नुहुन्छ ताकि माइक्रोकन्ट्रोलरले पावर बचाउन सुत्न सकियोस्, त्यसपछि आवश्यक पर्दा 10 सेकेन्ड पछि लूप पुन: चलाउँछ। ![Arduino स्केचले पहिले `setup` चलाउँछ, त्यसपछि `loop` बारम्बार चलाउँछ](../../../../../translated_images/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.ne.png) ✅ यो प्रोग्राम आर्किटेक्चरलाई *इभेन्ट लूप* वा *मेसेज लूप* भनिन्छ। धेरै एप्लिकेसनहरूले यसलाई भित्री रूपमा प्रयोग गर्छन् र यो Windows, macOS वा Linux जस्ता OS मा चल्ने अधिकांश डेस्कटप एप्लिकेसनहरूको लागि मानक हो। `loop` ले बटन जस्ता प्रयोगकर्ता इन्टरफेस कम्पोनेन्टहरू वा किबोर्ड जस्ता उपकरणहरूबाट सन्देशहरू सुन्छ र तिनीहरूलाई प्रतिक्रिया दिन्छ। तपाईं यसबारे थप जानकारी [इभेन्ट लूपको लेख](https://wikipedia.org/wiki/Event_loop) मा पढ्न सक्नुहुन्छ। Arduinoले माइक्रोकन्ट्रोलरहरू र I/O पिनहरूसँग अन्तरक्रिया गर्न मानक लाइब्रेरीहरू प्रदान गर्दछ, विभिन्न माइक्रोकन्ट्रोलरहरूमा चलाउन विभिन्न कार्यान्वयनहरू सहित। उदाहरणका लागि, [`delay` फङ्सन](https://www.arduino.cc/reference/en/language/functions/time/delay/) ले प्रोग्रामलाई दिइएको समयको लागि रोक्छ, [`digitalRead` फङ्सन](https://www.arduino.cc/reference/en/language/functions/digital-io/digitalread/) ले दिइएको पिनबाट `HIGH` वा `LOW` मान पढ्छ, बोर्डको प्रकारको पर्वाह नगरी। यी मानक लाइब्रेरीहरूले एक बोर्डका लागि लेखिएको Arduino कोडलाई कुनै पनि अन्य Arduino बोर्डका लागि पुन: कम्पाइल गर्न र चलाउन अनुमति दिन्छ, यदि पिनहरू समान छन् र बोर्डहरूले समान सुविधाहरू समर्थन गर्छन् भने। Arduino परियोजनाहरूमा अतिरिक्त सुविधाहरू थप्न अनुमति दिने तेस्रो-पक्ष Arduino लाइब्रेरीहरूको ठूलो इकोसिस्टम छ, जस्तै सेन्सर र एक्ट्युएटरहरू प्रयोग गर्ने वा क्लाउड IoT सेवाहरूमा जडान गर्ने। ##### कार्य Wio टर्मिनलको अनुसन्धान गर्नुहोस्। यदि तपाईं यी पाठहरूको लागि Wio टर्मिनल प्रयोग गर्दै हुनुहुन्छ भने, तपाईंले अघिल्लो पाठमा लेखेको कोड पुन: पढ्नुहोस्। `setup` र `loop` फङ्सन खोज्नुहोस्। लूप फङ्सन बारम्बार चलिरहेको सीरियल आउटपुट अनुगमन गर्नुहोस्। `setup` फङ्सनमा सीरियल पोर्टमा लेख्न कोड थप्ने प्रयास गर्नुहोस् र यो कोड प्रत्येक पटक तपाईंले पुन: सुरु गर्दा मात्र चलाइएको देख्नुहोस्। तपाईंको उपकरणलाई साइडमा रहेको पावर स्विच प्रयोग गरेर पुन: सुरु गर्ने प्रयास गर्नुहोस् ताकि यो प्रत्येक पटक उपकरण पुन: सुरु हुँदा चलाइएको देखियोस्। ## सिंगल-बोर्ड कम्प्युटरहरूको गहिरो अध्ययन अघिल्लो पाठमा, हामीले सिंगल-बोर्ड कम्प्युटरहरूको परिचय गरायौं। अब हामी तिनीहरूको गहिरो अध्ययन गरौं। ### Raspberry Pi ![Raspberry Pi लोगो](../../../../../translated_images/raspberry-pi-logo.4efaa16605cee05489d8fa53941e991b3757aa24c20a95abdcf8cfd761953596.ne.png) [Raspberry Pi Foundation](https://www.raspberrypi.org) UK मा रहेको एक च्यारिटी हो जसले 2009 मा कम्प्युटर विज्ञानको अध्ययनलाई विशेष गरी विद्यालय स्तरमा प्रवर्द्धन गर्न स्थापना गरेको हो। यस मिशनको भागको रूपमा, तिनीहरूले सिंगल-बोर्ड कम्प्युटर, Raspberry Pi विकास गरे। Raspberry Pi हाल 3 भेरियन्टहरूमा उपलब्ध छन् - पूर्ण आकार संस्करण, सानो Pi Zero, र कम्प्युट मोड्युल जुन तपाईंको अन्तिम IoT उपकरणमा निर्माण गर्न सकिन्छ। ![Raspberry Pi 4](../../../../../translated_images/raspberry-pi-4.fd4590d308c3d456db1327e86b395ddcd735513267aafd4879ea2785f7792eac.ne.jpg) पूर्ण आकारको Raspberry Pi को पछिल्लो संस्करण Raspberry Pi 4B हो। यसमा 1.5GHz मा चल्ने क्वाड-कोर (4 कोर) CPU, 2, 4, वा 8GB RAM, गिगाबिट इथरनेट, WiFi, 2 HDMI पोर्टहरू 4k स्क्रिनहरू समर्थन गर्ने, अडियो र कम्पोजिट भिडियो आउटपुट पोर्ट, USB पोर्टहरू (2 USB 2.0, 2 USB 3.0), 40 GPIO पिनहरू, Raspberry Pi क्यामेरा मोड्युलको लागि क्यामेरा कनेक्टर, र SD कार्ड स्लट छ। यो सबै 88mm x 58mm x 19.5mm बोर्डमा छ र 3A USB-C पावर सप्लाईद्वारा संचालित छ। यी US$35 बाट सुरु हुन्छन्, PC वा Mac भन्दा धेरै सस्तो। > 💁 Pi400 पनि छ, जसमा Pi4 एक किबोर्डमा निर्माण गरिएको छ। ![Raspberry Pi Zero](../../../../../translated_images/raspberry-pi-zero.f7a4133e1e7d54bb3dbb32319b217a53c5b94871995a54647f2894b54206b8d8.ne.jpg) Pi Zero धेरै सानो छ, कम पावरको साथ। यसमा एकल कोर 1GHz CPU, 512MB RAM, WiFi (Zero W मोड्युलमा), एकल HDMI पोर्ट, एक माइक्रो-USB पोर्ट, 40 GPIO पिनहरू, Raspberry Pi क्यामेरा मोड्युलको लागि क्यामेरा कनेक्टर, र SD कार्ड स्लट छ। यसको मापन 65mm x 30mm x 5mm छ, र धेरै कम पावर खपत गर्दछ। Zero US$5 हो, WiFi भएको W संस्करण US$10 हो। > 🎓 यी दुवैमा रहेको CPUहरू ARM प्रोसेसर हुन्, जबकि अधिकांश PC र Mac मा पाइने Intel/AMD x86 वा x64 प्रोसेसरहरू हुन्। यी माइक्रोकन्ट्रोलरहरूमा पाइने CPUहरू जस्तै छन्, साथै लगभग सबै मोबाइल फोनहरू, Microsoft Surface X, र नयाँ Apple Silicon आधारित Apple Macहरूमा। Raspberry Pi का सबै भेरियन्टहरूले Debian Linux को एक संस्करण चलाउँछन् जसलाई Raspberry Pi OS भनिन्छ। यो लाइट संस्करणको रूपमा उपलब्ध छ जसमा कुनै डेस्कटप छैन, जुन 'हेडलेस' परियोजनाहरूका लागि उपयुक्त छ जहाँ तपाईंलाई स्क्रिन आवश्यक छैन, वा पूर्ण संस्करण जसमा पूर्ण डेस्कटप वातावरण छ, वेब ब्राउजर, अफिस एप्लिकेसनहरू, कोडिङ उपकरणहरू र खेलहरू सहित। OS Debian Linux को एक संस्करण भएकोले, तपाईं Debian मा चल्ने र Pi भित्रको ARM प्रोसेसरका लागि निर्माण गरिएको कुनै पनि एप्लिकेसन वा उपकरण स्थापना गर्न सक्नुहुन्छ। #### कार्य Raspberry Pi को अनुसन्धान गर्नुहोस्। यदि तपाईं यी पाठहरूको लागि Raspberry Pi प्रयोग गर्दै हुनुहुन्छ भने, बोर्डमा रहेका विभिन्न हार्डवेयर कम्पोनेन्टहरूको बारेमा पढ्नुहोस्। * तपाईंले प्रयोग गरिरहेको Pi मा प्रयोग गरिएको प्रोसेसरको बारेमा [Raspberry Pi हार्डवेयर डकुमेन्टेशन पृष्ठ](https://www.raspberrypi.org/documentation/hardware/raspberrypi/) मा विवरणहरू पाउन सक्नुहुन्छ। तपाईंले प्रयोग गरिरहेको Pi मा प्रयोग गरिएको प्रोसेसरको बारेमा पढ्नुहोस्। * GPIO पिनहरू पत्ता लगाउनुहोस्। [Raspberry Pi GPIO डकुमेन्टेशन](https://www.raspberrypi.org/documentation/hardware/raspberrypi/gpio/README.md) मा तिनीहरूको बारेमा थप पढ्नुहोस्। [GPIO पिन प्रयोग गाइड](https://www.raspberrypi.org/documentation/usage/gpio/README.md) प्रयोग गरेर तपाईंको Pi मा विभिन्न पिनहरू पहिचान गर्नुहोस्। ### सिंगल-बोर्ड कम्प्युटरहरू प्रोग्रामिङ सिंगल-बोर्ड कम्प्युटरहरू पूर्ण कम्प्युटरहरू हुन्, पूर्ण OS चलाउँदै। यसको मतलब तपाईंले तिनीहरूलाई कोड गर्न प्रयोग गर्न सक्ने प्रोग्रामिङ भाषाहरू, फ्रेमवर्कहरू र उपकरणहरूको विस्तृत दायरा छ, जबकि माइक्रोकन्ट्रोलरहरूले Arduino जस्ता फ्रेमवर्कमा बोर्डको समर्थनमा निर्भर गर्दछ। अधिकांश प्रोग्रामिङ भाषाहरूमा GPIO पिनहरूमा पहुँच गर्न सेन्सरहरू र एक्ट्युएटरहरूबाट डेटा पठाउन र प्राप्त गर्न लाइब्रेरीहरू हुन्छन्। ✅ तपाईं कुन प्रोग्रामिङ भाषाहरूमा परिचित हुनुहुन्छ? के ती Linux मा समर्थित छन्? Raspberry Pi मा IoT एप्लिकेसनहरू निर्माण गर्न सबैभन्दा सामान्य प्रोग्रामिङ भाषा Python हो। Pi को लागि डिजाइन गरिएको हार्डवेयरको ठूलो इकोसिस्टम छ, र लगभग सबैमा Python लाइब्रेरीहरूका रूपमा तिनीहरूलाई प्रयोग गर्न आवश्यक कोड समावेश छ। यी इकोसिस्टमहरू 'ह्याट्स' मा आधारित छन् - यसलाई ह्याट भनिन्छ किनकि तिनीहरू Pi को माथि ह्याट जस्तै बस्छन् र 40 GPIO पिनहरूमा ठूलो सॉकेटसँग जडान गर्छन्। यी ह्याटहरूले अतिरिक्त क्षमताहरू प्रदान गर्छन्, जस्तै स्क्रिनहरू, सेन्सरहरू, रिमोट कन्ट्रोल कारहरू, वा मानकीकृत केबलहरूसँग सेन्सरहरू प्लग गर्न अनुमति दिने एडाप्टर ### व्यावसायिक IoT परिनियोजनहरूमा सिंगल-बोर्ड कम्प्युटरहरूको प्रयोग सिंगल-बोर्ड कम्प्युटरहरू व्यावसायिक IoT परिनियोजनहरूमा प्रयोग गरिन्छन्, केवल विकासकर्ता किटको रूपमा मात्र होइन। यी कम्प्युटरहरूले हार्डवेयर नियन्त्रण गर्न र मेसिन लर्निङ मोडेलहरू चलाउने जस्ता जटिल कार्यहरू सञ्चालन गर्न शक्तिशाली माध्यम प्रदान गर्न सक्छन्। उदाहरणका लागि, [Raspberry Pi 4 compute module](https://www.raspberrypi.org/blog/raspberry-pi-compute-module-4/) छ, जसले Raspberry Pi 4 को सबै शक्ति प्रदान गर्दछ, तर धेरै पोर्टहरू बिना, सानो र सस्तो स्वरूपमा, विशेष रूपमा अनुकूलित हार्डवेयरमा स्थापना गर्न डिजाइन गरिएको छ। --- ## 🚀 चुनौती अन्तिम पाठमा चुनौती थियो कि तपाईंको घर, विद्यालय वा कार्यस्थलमा भएका यथासम्भव धेरै IoT उपकरणहरूको सूची बनाउनुहोस्। यस सूचीमा भएका प्रत्येक उपकरणका लागि, तपाईंलाई लाग्छ कि ती माइक्रोकन्ट्रोलरहरू, सिंगल-बोर्ड कम्प्युटरहरू, वा दुवैको मिश्रणमा आधारित छन्? ## पाठपछिको प्रश्नोत्तरी [पाठपछिको प्रश्नोत्तरी](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/4) ## समीक्षा र आत्म-अध्ययन * [Arduino सुरु गर्ने मार्गदर्शन](https://www.arduino.cc/en/Guide/Introduction) पढेर Arduino प्लेटफर्मबारे थप बुझ्नुहोस्। * [Raspberry Pi 4 को परिचय](https://www.raspberrypi.org/products/raspberry-pi-4-model-b/) पढेर Raspberry Pi हरूबारे थप जान्नुहोस्। * [Electrical Engineering Journal मा रहेको "What the FAQ are CPUs, MPUs, MCUs, and GPUs" लेख](https://www.eejournal.com/article/what-the-faq-are-cpus-mpus-mcus-and-gpus/) मा CPU, MPU, MCU, र GPU जस्ता अवधारणाहरू र संक्षेप शब्दहरूबारे थप जान्नुहोस्। ✅ यी मार्गदर्शनहरू प्रयोग गर्नुहोस्, साथै [हार्डवेयर मार्गदर्शन](../../../hardware.md) मा दिइएका लिङ्कहरू पछ्याएर देखाइएका लागतहरूको आधारमा तपाईं कुन हार्डवेयर प्लेटफर्म प्रयोग गर्न चाहनुहुन्छ, वा तपाईं भर्चुअल उपकरण प्रयोग गर्न चाहनुहुन्छ कि भनेर निर्णय गर्नुहोस्। ## असाइनमेन्ट [माइक्रोकन्ट्रोलरहरू र सिंगल-बोर्ड कम्प्युटरहरूको तुलना र भिन्नता](assignment.md) --- **अस्वीकरण**: यो दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) प्रयोग गरेर अनुवाद गरिएको हो। हामी यथासम्भव शुद्धता सुनिश्चित गर्न प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादमा त्रुटिहरू वा अशुद्धताहरू हुन सक्छ। यसको मूल भाषा मा रहेको मूल दस्तावेज़लाई आधिकारिक स्रोत मानिनुपर्छ। महत्वपूर्ण जानकारीको लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याको लागि हामी जिम्मेवार हुने छैनौं।