60 KiB
IoT मध्ये सखोल अभ्यास
स्केच नोट नित्य नरसिंहन यांनी तयार केले. मोठ्या आवृत्तीसाठी प्रतिमेवर क्लिक करा.
हा धडा Hello IoT मालिका चा भाग म्हणून Microsoft Reactor कडून शिकवला गेला. हा धडा दोन व्हिडिओंमध्ये शिकवला गेला - १ तासाचा धडा आणि १ तासाची ऑफिस आवराची सत्र ज्यामध्ये धड्याच्या काही भागांवर सखोल चर्चा केली गेली आणि प्रश्नांची उत्तरे दिली गेली.
🎥 वरच्या प्रतिमांवर क्लिक करून व्हिडिओ पहा
पूर्व-व्याख्यान प्रश्नमंजुषा
परिचय
या धड्यात मागील धड्यात शिकवलेल्या काही संकल्पनांवर सखोल चर्चा केली आहे.
या धड्यात आपण शिकणार आहोत:
IoT अनुप्रयोगाचे घटक
IoT अनुप्रयोगाचे दोन मुख्य घटक आहेत - इंटरनेट आणि गोष्ट. चला या दोन घटकांवर थोडी अधिक सविस्तर चर्चा करूया.
गोष्ट
IoT मधील गोष्ट म्हणजे असे उपकरण जे भौतिक जगाशी संवाद साधू शकते. ही उपकरणे सामान्यतः लहान, कमी किमतीची संगणक प्रणाली असतात, जी कमी गतीने चालतात आणि कमी ऊर्जा वापरतात - उदाहरणार्थ, साधे मायक्रोकंट्रोलर्स ज्यामध्ये केवळ काही किलोबाइट्स RAM असते (PC मध्ये गिगाबाइट्सच्या तुलनेत) आणि काहीशे मेगाहर्ट्झवर चालतात (PC मध्ये गिगाहर्ट्झच्या तुलनेत), परंतु इतकी कमी ऊर्जा वापरतात की ती बॅटरीवर आठवडे, महिने किंवा वर्षे चालू राहू शकतात.
ही उपकरणे भौतिक जगाशी संवाद साधतात, सेन्सर्सद्वारे त्यांच्या सभोवतालची माहिती गोळा करून किंवा आउटपुट्स किंवा अॅक्च्युएटर्सद्वारे भौतिक बदल घडवून आणून. याचे एक सामान्य उदाहरण म्हणजे स्मार्ट थर्मोस्टॅट - एक उपकरण ज्यामध्ये तापमान सेन्सर, इच्छित तापमान सेट करण्यासाठी डायल किंवा टचस्क्रीन, आणि तापमान श्रेणीतून बाहेर असल्यास हीटिंग किंवा कूलिंग सिस्टम चालू करण्यासाठी कनेक्शन असते. तापमान सेन्सर खोली खूप थंड असल्याचे शोधतो आणि अॅक्च्युएटर हीटिंग चालू करतो.
IoT उपकरणे म्हणून काम करू शकणाऱ्या गोष्टींची श्रेणी खूप मोठी आहे, जसे की एकाच गोष्टीचा सेन्सिंग करणारे समर्पित हार्डवेअर, सामान्य उद्देशासाठी उपकरणे, अगदी तुमचा स्मार्टफोनसुद्धा! स्मार्टफोन सेन्सर्सद्वारे सभोवतालचे जग शोधू शकतो आणि अॅक्च्युएटर्सद्वारे जगाशी संवाद साधू शकतो - उदाहरणार्थ, GPS सेन्सर वापरून तुमचे स्थान शोधणे आणि स्पीकरद्वारे तुम्हाला गंतव्यस्थानी नेण्यासाठी नेव्हिगेशन सूचना देणे.
✅ तुमच्या सभोवतालच्या अशा प्रणालींचा विचार करा ज्या सेन्सरमधून डेटा वाचतात आणि त्याचा उपयोग निर्णय घेण्यासाठी करतात. एक उदाहरण म्हणजे ओव्हनवरील थर्मोस्टॅट. तुम्ही आणखी शोधू शकता का?
इंटरनेट
IoT अनुप्रयोगातील इंटरनेट भागामध्ये IoT उपकरणे डेटा पाठवण्यासाठी आणि प्राप्त करण्यासाठी कनेक्ट होऊ शकणाऱ्या अनुप्रयोगांचा समावेश असतो, तसेच IoT उपकरणांमधून आलेला डेटा प्रक्रिया करण्यासाठी आणि IoT उपकरणांच्या अॅक्च्युएटर्सना पाठवण्यासाठी निर्णय घेण्यासाठी मदत करणाऱ्या इतर अनुप्रयोगांचा समावेश असतो.
एक सामान्य सेटअप म्हणजे IoT उपकरणे कनेक्ट होऊ शकणारी काही प्रकारची क्लाउड सेवा असणे, आणि ही क्लाउड सेवा सुरक्षा हाताळते, तसेच IoT उपकरणांमधून संदेश प्राप्त करते आणि उपकरणांना संदेश परत पाठवते. ही क्लाउड सेवा इतर अनुप्रयोगांशी कनेक्ट होते जी सेन्सर डेटा प्रक्रिया करू शकतात किंवा इतर प्रणालींमधील डेटा वापरून निर्णय घेण्यासाठी सेन्सर डेटा वापरू शकतात.
सर्व उपकरणे थेट इंटरनेटशी WiFi किंवा वायर्ड कनेक्शनद्वारे कनेक्ट होत नाहीत. काही उपकरणे ब्लूटूथसारख्या तंत्रज्ञानाद्वारे एकमेकांशी संवाद साधण्यासाठी मेष नेटवर्किंग वापरतात, ज्यामुळे इंटरनेट कनेक्शन असलेल्या हब उपकरणाद्वारे कनेक्ट होतात.
स्मार्ट थर्मोस्टॅटच्या उदाहरणात, थर्मोस्टॅट घराच्या WiFi वापरून क्लाउडमध्ये चालणाऱ्या क्लाउड सेवेशी कनेक्ट होईल. ते तापमान डेटा या क्लाउड सेवेला पाठवेल, आणि तेथून ते काही प्रकारच्या डेटाबेसमध्ये लिहिले जाईल ज्यामुळे गृहस्वामी फोन अॅप वापरून वर्तमान आणि भूतकाळातील तापमान तपासू शकतो. क्लाउडमधील आणखी एक सेवा गृहस्वामीला हवे असलेले तापमान जाणून घेईल आणि IoT उपकरणाला संदेश पाठवेल ज्यामुळे हीटिंग सिस्टम चालू किंवा बंद होईल.
याहून अधिक स्मार्ट आवृत्ती AI वापरून क्लाउडमध्ये इतर IoT उपकरणांशी कनेक्ट असलेल्या इतर सेन्सर्समधील डेटा, जसे की खोलीतील उपस्थिती सेन्सर्स, तसेच हवामान आणि तुमच्या कॅलेंडरसारखा डेटा वापरून स्मार्ट पद्धतीने तापमान सेट करण्याचे निर्णय घेऊ शकते. उदाहरणार्थ, जर तुमच्या कॅलेंडरवरून तुम्ही सुट्टीवर असल्याचे वाचले तर ते तुमचे हीटिंग बंद करू शकते, किंवा तुम्ही कोणत्या खोल्या वापरता यावर आधारित खोलीनुसार हीटिंग बंद करू शकते, डेटा वापरून वेळोवेळी अधिक अचूक होण्यासाठी शिकते.
✅ कोणता डेटा इंटरनेटशी जोडलेल्या थर्मोस्टॅटला अधिक स्मार्ट बनविण्यास मदत करू शकतो?
एजवरील IoT
जरी IoT मधील I म्हणजे इंटरनेट असले तरी ही उपकरणे इंटरनेटशी कनेक्ट होणे आवश्यक नाही. काही प्रकरणांमध्ये, उपकरणे 'एज' उपकरणांशी कनेक्ट होऊ शकतात - गेटवे उपकरणे जी तुमच्या स्थानिक नेटवर्कवर चालतात ज्यामुळे तुम्ही डेटा इंटरनेटवर कॉल न करता प्रक्रिया करू शकता. जर तुमच्याकडे खूप डेटा असेल किंवा इंटरनेट कनेक्शन मंद असेल तर हे जलद असू शकते, तुम्हाला जहाजावर किंवा मानवतावादी संकटाच्या प्रतिसादात आपत्ती क्षेत्रात इंटरनेट कनेक्टिव्हिटी शक्य नसल्यास ऑफलाइन चालवण्याची परवानगी देते, आणि तुम्हाला डेटा खाजगी ठेवण्याची परवानगी देते. काही उपकरणांमध्ये क्लाउड टूल्स वापरून तयार केलेला प्रक्रिया कोड असतो आणि हा कोड स्थानिक पातळीवर चालवून डेटा गोळा करतो आणि इंटरनेट कनेक्शन न वापरता निर्णय घेतो.
याचे एक उदाहरण म्हणजे Apple HomePod, Amazon Alexa, किंवा Google Home सारखे स्मार्ट होम उपकरण, जे तुमच्या आवाजाला क्लाउडमध्ये प्रशिक्षित AI मॉडेल्स वापरून ऐकतात, परंतु स्थानिक पातळीवर उपकरणावर चालतात. ही उपकरणे विशिष्ट शब्द किंवा वाक्य बोलल्यावर 'जागृत' होतात, आणि फक्त तेव्हाच तुमचे भाषण प्रक्रिया करण्यासाठी इंटरनेटवर पाठवतात. उपकरण योग्य पॉईंटवर, जसे की तुमच्या भाषणात विराम आढळल्यावर, तुमचे भाषण पाठवणे थांबवते. तुम्ही उपकरणाला जागृत करण्यासाठी जागृत शब्द बोलण्यापूर्वी जे काही बोलता आणि उपकरण ऐकणे थांबवल्यानंतर जे काही बोलता ते उपकरण प्रदात्याला इंटरनेटवर पाठवले जाणार नाही, आणि त्यामुळे खाजगी राहील.
✅ अशा परिस्थितींचा विचार करा जिथे गोपनीयता महत्त्वाची आहे त्यामुळे डेटा प्रक्रिया क्लाउडऐवजी एजवर केली जावी. एक संकेत - IoT उपकरणांवर कॅमेरे किंवा इतर इमेजिंग उपकरणे असलेल्या उपकरणांचा विचार करा.
IoT सुरक्षा
कोणत्याही इंटरनेट कनेक्शनसह, सुरक्षा हा एक महत्त्वाचा विचार आहे. एक जुना विनोद आहे की 'IoT मधील S म्हणजे सुरक्षा' - IoT मध्ये 'S' नाही, याचा अर्थ असा की ते सुरक्षित नाही.
IoT उपकरणे क्लाउड सेवेशी कनेक्ट होतात, आणि म्हणून ती क्लाउड सेवेसारखीच सुरक्षित असतात - जर तुमची क्लाउड सेवा कोणत्याही उपकरणाला कनेक्ट होण्याची परवानगी देत असेल तर दुर्भावनायुक्त डेटा पाठवला जाऊ शकतो किंवा व्हायरस हल्ले होऊ शकतात. याचा खूप वास्तविक जगातील परिणाम होऊ शकतो कारण IoT उपकरणे इतर उपकरणांशी संवाद साधतात आणि त्यांना नियंत्रित करतात. उदाहरणार्थ, Stuxnet वर्म ने सेंट्रीफ्यूजमधील वाल्व्समध्ये फेरफार करून त्यांना नुकसान पोहोचवले. हॅकर्सने कमकुवत सुरक्षेचा फायदा घेऊन बेबी मॉनिटर्स आणि इतर घरगुती देखरेख उपकरणांमध्ये प्रवेश केला आहे.
💁 कधी कधी IoT उपकरणे आणि एज उपकरणे इंटरनेटपासून पूर्णपणे वेगळ्या नेटवर्कवर चालवली जातात जेणेकरून डेटा खाजगी आणि सुरक्षित राहील. याला एअर-गॅपिंग म्हणतात.
मायक्रोकंट्रोलर्सवर सखोल चर्चा
मागील धड्यात आपण मायक्रोकंट्रोलर्सची ओळख करून घेतली. आता त्यावर सखोल चर्चा करूया.
CPU
CPU म्हणजे मायक्रोकंट्रोलरचा 'मेंदू'. हे प्रोसेसर तुमचा कोड चालवते आणि कोणत्याही कनेक्ट केलेल्या उपकरणांमधून डेटा पाठवू किंवा प्राप्त करू शकते. CPU मध्ये एक किंवा अधिक कोर असू शकतात - मूलत: एक किंवा अधिक CPU जे तुमचा कोड चालवण्यासाठी एकत्र काम करू शकतात.
CPU ला सेकंदाला लाखो किंवा अब्जो वेळा टिक करणाऱ्या घड्याळावर अवलंबून राहावे लागते. प्रत्येक टिक, किंवा सायकल, CPU घेऊ शकणाऱ्या क्रियांची समक्रमण करते. प्रत्येक टिकसह, CPU प्रोग्राममधील एक सूचना अंमलात आणू शकते, जसे की बाह्य उपकरणातून डेटा प्राप्त करणे किंवा गणितीय गणना करणे. या नियमित सायकलमुळे सर्व क्रिया पूर्ण होऊ शकतात आणि नंतरची सूचना प्रक्रिया होण्यापूर्वी पूर्ण होऊ शकते.
घड्याळ सायकल जितकी जलद, तितक्या अधिक सूचना प्रति सेकंद प्रक्रिया केल्या जाऊ शकतात, आणि म्हणून CPU अधिक जलद असते. CPU गती हर्ट्झ (Hz) मध्ये मोजली जाते, एक मानक युनिट जिथे 1 Hz म्हणजे प्रति सेकंद एक सायकल किंवा घड्याळ टिक.
🎓 CPU गती सामान्यतः MHz किंवा GHz मध्ये दिली जाते. 1MHz म्हणजे 1 दशलक्ष Hz, 1GHz म्हणजे 1 अब्ज Hz.
💁 CPU प्रोग्राम्स फेच-डिकोड-एक्झिक्युट सायकल वापरून अंमलात आणते. प्रत्येक घड्याळ टिकसाठी, CPU मेमरीमधून पुढील सूचना फेच करेल, ती डिकोड करेल, आणि ती अंमलात आणेल जसे की गणितीय लॉजिक युनिट (ALU) वापरून 2 संख्या जोडणे. काही अंमलात आणणे अनेक टिक घेते, त्यामुळे पुढील सायकल सूचना पूर्ण झाल्यानंतर पुढील टिकवर चालते.
मायक्रोकंट्रोलर्समध्ये डेस्कटॉप किंवा लॅपटॉप संगणकांपेक्षा, किंवा अगदी बहुतेक स्मार्टफोनपेक्षा खूप कमी घड्याळ गती असते. उदाहरणार्थ, Wio Terminal मध्ये 120MHz किंवा 120,000,000 सायकल प्रति सेकंद चालणारा CPU आहे.
✅ सरासरी PC किंवा Mac मध्ये अनेक कोर असलेला CPU असतो जो अनेक गिगाहर्ट्झवर चालतो, म्हणजे घड्याळ सेकंदाला अब्जो वेळा टिकते. तुमच्या संगणकाची घड्याळ गती शोधा आणि ती Wio Terminal पेक्षा किती वेळा जलद आहे ते तुलना करा.
प्रत्येक घड्याळ सायकल ऊर्जा वापरते आणि उष्णता निर्माण करते. टिक जितकी जलद, तितकी अधिक ऊर्जा वापरली जाते आणि अधिक उष्णता निर्माण होते. PC मध्ये उष्णता काढण्यासाठी हीट सिंक आणि फॅन्स असतात, ज्याशिवाय ते काही सेकंदांत ओव्हरहिट होऊन बंद होतील. मायक्रोकंट्रोलर्समध्ये सामान्यतः ही नसतात कारण ते खूप थंड चालतात आणि म्हणून खूप मंद असतात. PC मुख्य वीज किंवा मोठ्या बॅटरीवर काही तास चालतात, मायक्रोकंट्रोलर्स लहान बॅटरीवर दिवस, महिने किंवा वर्षे चालू शकतात. मायक्रोकंट्रोलर्समध्ये वेगवेगळ्या गतीने चालणारे कोर असू शकतात, CPU वर मागणी कमी असल्यास ऊर्जा वापर कमी करण्यासाठी मंद गतीच्या कमी ऊर्जा कोरवर स्विच करतात.
💁 काही PC आणि Mac उच्च ऊर्जा कोर आणि मंद गतीच्या कमी ऊर्जा कोर याच मिश्रणाचा अवलंब करत आहेत, बॅटरी वाचवण्यासाठी स्विच करत आहेत. उदाहरणार्थ, नवीनतम Apple लॅपटॉपमधील M1 चिप 4 कार्यक्षमता कोर आणि 4 कार्यक्षमता कोरमध्ये स्विच करू शकते जेणेकरून कार्य चालवण्यावर अवलंबून बॅटरी आयुष्य किंवा गती अनुकूलित केली जाऊ शकते.
✅ थोडे संशोधन करा: Wikipedia CPU लेख वाचा.
कार्य
Wio Terminal चा अभ्यास करा.
जर तुम्ही या धड्यांसाठी Wio Terminal वापरत असाल, तर CPU शोधण्याचा प्रयत्न करा. Wio Terminal उत्पादन पृष्ठ च्या हार्डवेअर ओव्हरव्ह्यू विभागात अंतर्गत भागांचे चित्र शोधा, आणि CPU पारदर्शक प्लास्टिकच्या खिडकीतून शोधण्याचा प्रयत्न करा.
मेमरी
मायक्रोकंट्रोलर्समध्ये सामान्यतः दोन प्रकारची मेमरी असते - प्रोग्राम मेमरी आणि रँडम-अॅक्सेस मेमरी (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 चे प्रतिनिधित्व करतो.
प्रोग्राम स्टोरेज देखील PC पेक्षा लहान असते. एक सामान्य PC मध्ये प्रोग्राम स्टोरेजसाठी 500GB हार्ड ड्राइव्ह असते, तर मायक्रोकंट्रोलरमध्ये फक्त किलोबाइट्स किंवा कदाचित काही मेगाबाइट्स (MB) स्टोरेज असते (1MB म्हणजे 1,000KB किंवा 1,000,000 बाइट्स). Wio टर्मिनलमध्ये 4MB प्रोग्राम स्टोरेज आहे.
✅ थोडे संशोधन करा: तुम्ही वाचण्यासाठी वापरत असलेल्या संगणकात किती RAM आणि स्टोरेज आहे? हे मायक्रोकंट्रोलरशी कसे तुलना करते?
इनपुट/आउटपुट
मायक्रोकंट्रोलरला सेन्सर्सकडून डेटा वाचण्यासाठी आणि अॅक्च्युएटर्सना नियंत्रण सिग्नल पाठवण्यासाठी इनपुट आणि आउटपुट (I/O) कनेक्शनची आवश्यकता असते. त्यामध्ये सामान्यतः अनेक जनरल-पर्पज इनपुट/आउटपुट (GPIO) पिन्स असतात. हे पिन्स सॉफ्टवेअरमध्ये इनपुट (म्हणजे ते सिग्नल प्राप्त करतात) किंवा आउटपुट (ते सिग्नल पाठवतात) म्हणून कॉन्फिगर केले जाऊ शकतात.
🧠⬅️ इनपुट पिन्स सेन्सर्सकडून मूल्ये वाचण्यासाठी वापरले जातात
🧠➡️ आउटपुट पिन्स अॅक्च्युएटर्सना सूचना पाठवतात
✅ तुम्ही याबद्दल पुढील धड्यात अधिक शिकाल.
कार्य
Wio टर्मिनलचा अभ्यास करा.
जर तुम्ही या धड्यांसाठी Wio टर्मिनल वापरत असाल, तर GPIO पिन्स शोधा. Wio टर्मिनल उत्पादन पृष्ठ च्या पिनआउट डायग्राम विभागात जा आणि कोणते पिन्स कोणते आहेत ते जाणून घ्या. Wio टर्मिनलसोबत एक स्टिकर येतो जो तुम्ही पिन नंबरसह मागील बाजूस लावू शकता, त्यामुळे जर तुम्ही अद्याप लावला नसेल तर तो आता लावा.
भौतिक आकार
मायक्रोकंट्रोलर सामान्यतः आकाराने लहान असतात, ज्यामध्ये सर्वात लहान Freescale Kinetis KL03 MCU गोल्फ बॉलच्या डिंपलमध्ये बसण्याइतका लहान आहे. 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) म्हणतात, कारण हे परिघीय उपकरणांवर डेटा पाठवणे आणि प्राप्त करणे रिअल टाइममध्ये हाताळण्यासाठी डिझाइन केलेले असते. हे ऑपरेटिंग सिस्टिम खूप हलके असतात आणि खालील वैशिष्ट्ये प्रदान करतात:
- मल्टी-थ्रेडिंग, ज्यामुळे तुमचा कोड एकाच वेळी एकापेक्षा जास्त कोड ब्लॉक चालवू शकतो, एकाधिक कोरवर किंवा एका कोरवर वळण घेऊन
- इंटरनेटवर सुरक्षितपणे संवाद साधण्यासाठी नेटवर्किंग
- स्क्रीन असलेल्या उपकरणांवर वापरकर्ता इंटरफेस (UI) तयार करण्यासाठी ग्राफिकल यूजर इंटरफेस (GUI) घटक.
✅ काही वेगवेगळ्या RTOS बद्दल वाचा: Azure RTOS, FreeRTOS, Zephyr
Arduino
Arduino कदाचित सर्वात लोकप्रिय मायक्रोकंट्रोलर फ्रेमवर्क आहे, विशेषतः विद्यार्थ्यांमध्ये, हौशी लोकांमध्ये आणि निर्मात्यांमध्ये. Arduino एक ओपन सोर्स इलेक्ट्रॉनिक्स प्लॅटफॉर्म आहे ज्यामध्ये सॉफ्टवेअर आणि हार्डवेअरचा समावेश आहे. तुम्ही Arduino सुसंगत बोर्ड Arduino कडून किंवा इतर उत्पादकांकडून खरेदी करू शकता, आणि नंतर Arduino फ्रेमवर्क वापरून कोड करू शकता.
Arduino बोर्ड C किंवा C++ मध्ये कोड केले जातात. C/C++ वापरल्याने तुमचा कोड खूप लहान संकलित होतो आणि वेगाने चालतो, जे मायक्रोकंट्रोलरसारख्या मर्यादित उपकरणावर आवश्यक आहे. Arduino अॅप्लिकेशनचा मुख्य भाग स्केच म्हणून ओळखला जातो आणि त्यामध्ये 2 फंक्शन्स असतात - setup
आणि loop
. जेव्हा बोर्ड सुरू होते, तेव्हा Arduino फ्रेमवर्क कोड setup
फंक्शन एकदाच चालवतो, आणि नंतर loop
फंक्शन सतत चालवतो, तोपर्यंत चालवतो जोपर्यंत वीज बंद केली जात नाही.
तुम्ही तुमचा सेटअप कोड setup
फंक्शनमध्ये लिहाल, जसे की WiFi आणि क्लाउड सेवांशी कनेक्ट करणे किंवा इनपुट आणि आउटपुटसाठी पिन्स प्रारंभ करणे. तुमचा लूप कोड नंतर प्रक्रिया कोड समाविष्ट करेल, जसे की सेन्सरकडून वाचणे आणि क्लाउडवर मूल्य पाठवणे. तुम्ही सामान्यतः प्रत्येक लूपमध्ये विलंब समाविष्ट कराल, उदाहरणार्थ, जर तुम्हाला फक्त सेन्सर डेटा दर 10 सेकंदांनी पाठवायचा असेल तर तुम्ही लूपच्या शेवटी 10 सेकंदांचा विलंब जोडाल जेणेकरून मायक्रोकंट्रोलर झोपेल, वीज वाचवेल, आणि नंतर 10 सेकंदांनी पुन्हा लूप चालवेल.
✅ हा प्रोग्राम आर्किटेक्चर इव्हेंट लूप किंवा मेसज लूप म्हणून ओळखला जातो. अनेक अॅप्लिकेशन्स हे अंतर्गत वापरतात आणि Windows, macOS किंवा Linux सारख्या OS वर चालणाऱ्या बहुतेक डेस्कटॉप अॅप्लिकेशन्ससाठी मानक आहे. loop
वापरकर्ता इंटरफेस घटक जसे की बटण किंवा कीबोर्डसारख्या उपकरणांकडून संदेश ऐकतो आणि त्यांना प्रतिसाद देतो. तुम्ही याबद्दल अधिक वाचू शकता इव्हेंट लूपवरील लेख.
Arduino मानक लायब्ररी प्रदान करते ज्यामुळे मायक्रोकंट्रोलर आणि I/O पिन्सशी संवाद साधता येतो, वेगवेगळ्या मायक्रोकंट्रोलरवर चालण्यासाठी अंतर्गत वेगवेगळ्या अंमलबजावणीसह. उदाहरणार्थ, delay
फंक्शन दिलेल्या कालावधीसाठी प्रोग्राम थांबवेल, digitalRead
फंक्शन दिलेल्या पिनवरून HIGH
किंवा LOW
मूल्य वाचेल, कोड कोणत्या बोर्डवर चालतो याची पर्वा न करता. या मानक लायब्ररीमुळे एक बोर्डसाठी लिहिलेला Arduino कोड कोणत्याही दुसऱ्या Arduino बोर्डसाठी पुन्हा संकलित केला जाऊ शकतो आणि चालेल, असे गृहीत धरून की पिन्स समान आहेत आणि बोर्ड समान वैशिष्ट्यांना समर्थन देतात.
Arduino प्रकल्पांमध्ये अतिरिक्त वैशिष्ट्ये जोडण्यासाठी तृतीय-पक्ष Arduino लायब्ररींचे मोठे इकोसिस्टम आहे, जसे की सेन्सर्स आणि अॅक्च्युएटर्स वापरणे किंवा क्लाउड IoT सेवांशी कनेक्ट करणे.
कार्य
Wio टर्मिनलचा अभ्यास करा.
जर तुम्ही या धड्यांसाठी Wio टर्मिनल वापरत असाल, तर तुम्ही मागील धड्यात लिहिलेला कोड पुन्हा वाचा. setup
आणि loop
फंक्शन शोधा. लूप फंक्शन सतत कॉल होत असल्याचे सीरियल आउटपुट मॉनिटर करा. setup
फंक्शनमध्ये सीरियल पोर्टवर लिहिण्यासाठी कोड जोडण्याचा प्रयत्न करा आणि हे कोड प्रत्येक वेळी तुम्ही रीबूट करता तेव्हा फक्त एकदाच कॉल केले जाते हे निरीक्षण करा. डिव्हाइस रीबूट करण्यासाठी बाजूच्या पॉवर स्विचचा वापर करून हे प्रत्येक वेळी डिव्हाइस रीबूट होते तेव्हा कॉल केले जाते हे दर्शवण्याचा प्रयत्न करा.
सिंगल-बोर्ड संगणकांमध्ये खोलवर जाणे
मागील धड्यात, आम्ही सिंगल-बोर्ड संगणकांची ओळख करून दिली. आता त्यांच्याबद्दल अधिक सखोल माहिती पाहूया.
रास्पबेरी पाय
रास्पबेरी पाय फाउंडेशन ही UK मधील एक संस्था आहे जी 2009 मध्ये संगणक विज्ञानाचा अभ्यास, विशेषतः शाळा स्तरावर, प्रोत्साहन देण्यासाठी स्थापन केली गेली. या मिशनचा भाग म्हणून, त्यांनी सिंगल-बोर्ड संगणक विकसित केला, ज्याला रास्पबेरी पाय म्हणतात. रास्पबेरी पाय सध्या 3 प्रकारांमध्ये उपलब्ध आहेत - पूर्ण आकाराचा व्हर्जन, छोटा Pi Zero, आणि एक कंप्युट मॉड्यूल जो तुमच्या अंतिम IoT डिव्हाइसमध्ये तयार केला जाऊ शकतो.
पूर्ण आकाराच्या रास्पबेरी पायची नवीनतम आवृत्ती रास्पबेरी पाय 4B आहे. यामध्ये 1.5GHz वर चालणारा क्वाड-कोर (4 कोर) CPU, 2, 4 किंवा 8GB RAM, गिगाबिट ईथरनेट, WiFi, 2 HDMI पोर्ट्स 4k स्क्रीनला समर्थन देणारे, ऑडिओ आणि कंपोझिट व्हिडिओ आउटपुट पोर्ट, USB पोर्ट्स (2 USB 2.0, 2 USB 3.0), 40 GPIO पिन्स, रास्पबेरी पाय कॅमेरा मॉड्यूलसाठी कॅमेरा कनेक्टर, आणि SD कार्ड स्लॉट आहे. हे सर्व 88mm x 58mm x 19.5mm बोर्डवर आहे आणि 3A USB-C पॉवर सप्लायद्वारे चालते. हे US$35 पासून सुरू होते, PC किंवा Mac पेक्षा खूप स्वस्त.
💁 Pi400 हे एक ऑल-इन-वन संगणक आहे ज्यामध्ये कीबोर्डमध्ये Pi4 समाविष्ट आहे.
Pi Zero खूपच लहान आहे, कमी पॉवरसह. यामध्ये सिंगल कोर 1GHz CPU, 512MB RAM, WiFi (Zero W मॉडेलमध्ये), एक HDMI पोर्ट, एक मायक्रो-USB पोर्ट, 40 GPIO पिन्स, रास्पबेरी पाय कॅमेरा मॉड्यूलसाठी कॅमेरा कनेक्टर, आणि SD कार्ड स्लॉट आहे. याचे मोजमाप 65mm x 30mm x 5mm आहे आणि खूप कमी पॉवर वापरतो. Zero US$5 आहे, तर WiFi असलेला W व्हर्जन US$10 आहे.
🎓 दोन्हीमध्ये असलेले CPU ARM प्रोसेसर आहेत, जे Intel/AMD x86 किंवा x64 प्रोसेसरपेक्षा वेगळे आहेत जे तुम्हाला बहुतेक PC आणि Mac मध्ये सापडतात. हे मायक्रोकंट्रोलरमधील CPU प्रमाणेच आहेत, तसेच जवळजवळ सर्व मोबाइल फोन, Microsoft Surface X, आणि नवीन Apple Silicon आधारित Apple Macs मध्ये आहेत.
रास्पबेरी पायच्या सर्व प्रकारांमध्ये Debian Linux ची आवृत्ती चालते ज्याला रास्पबेरी पाय OS म्हणतात. हे डेस्कटॉप नसलेल्या लाइट व्हर्जनमध्ये उपलब्ध आहे, जे 'हेडलस' प्रकल्पांसाठी योग्य आहे जिथे तुम्हाला स्क्रीनची आवश्यकता नाही, किंवा पूर्ण डेस्कटॉप वातावरणासह पूर्ण आवृत्ती, ज्यामध्ये वेब ब्राउझर, ऑफिस अॅप्लिकेशन्स, कोडिंग टूल्स आणि गेम्स आहेत. OS Debian Linux ची आवृत्ती असल्याने, तुम्ही Debian वर चालणारे आणि Pi मध्ये असलेल्या ARM प्रोसेसरसाठी तयार केलेले कोणतेही अॅप्लिकेशन किंवा टूल इंस्टॉल करू शकता.
कार्य
रास्पबेरी पायचा अभ्यास करा.
जर तुम्ही या धड्यांसाठी रास्पबेरी पाय वापरत असाल, तर बोर्डवरील वेगवेगळ्या हार्डवेअर घटकांबद्दल वाचा.
- तुम्ही रास्पबेरी पाय हार्डवेअर दस्तऐवजीकरण पृष्ठ वर प्रोसेसरबद्दल तपशील शोधू शकता. तुम्ही वापरत असलेल्या पायमध्ये वापरलेल्या प्रोसेसरबद्दल वाचा.
- GPIO पिन्स शोधा. रास्पबेरी पाय GPIO दस्तऐवजीकरण वर त्याबद्दल अधिक वाचा. GPIO पिन वापर मार्गदर्शक वापरून तुमच्या पायवरील वेगवेगळ्या पिन्स ओळखा.
सिंगल-बोर्ड संगणक प्रोग्रामिंग
सिंगल-बोर्ड संगण
व्यावसायिक IoT उपयोजनांमध्ये सिंगल-बोर्ड संगणकांचा वापर
सिंगल-बोर्ड संगणकांचा वापर व्यावसायिक IoT उपयोजनांमध्ये केला जातो, फक्त डेव्हलपर किट म्हणून नाही. हे हार्डवेअर नियंत्रित करण्यासाठी आणि मशीन लर्निंग मॉडेल्स चालवण्यासारख्या जटिल कार्ये चालवण्यासाठी एक शक्तिशाली मार्ग प्रदान करू शकतात. उदाहरणार्थ, Raspberry Pi 4 compute module आहे, जो Raspberry Pi 4 ची सर्व शक्ती एका कॉम्पॅक्ट आणि स्वस्त स्वरूपात प्रदान करतो, ज्यामध्ये बहुतेक पोर्ट्स नसतात आणि कस्टम हार्डवेअरमध्ये स्थापित करण्यासाठी डिझाइन केलेला आहे.
🚀 आव्हान
मागील धड्यातील आव्हान होते की तुमच्या घरात, शाळेत किंवा कार्यस्थळावर असलेल्या IoT उपकरणांची यादी तयार करा. या यादीतील प्रत्येक उपकरणासाठी, तुम्हाला वाटते का की ती मायक्रोकंट्रोलर्स, सिंगल-बोर्ड संगणक किंवा दोघांचे मिश्रण वापरून तयार केली गेली आहेत?
व्याख्यानानंतरचा प्रश्नमंजूषा
पुनरावलोकन आणि स्व-अभ्यास
- Arduino प्लॅटफॉर्मबद्दल अधिक जाणून घेण्यासाठी Arduino सुरुवातीचा मार्गदर्शक वाचा.
- Raspberry Pis बद्दल अधिक जाणून घेण्यासाठी Raspberry Pi 4 ची ओळख वाचा.
- Electrical Engineering Journal मधील "What the FAQ are CPUs, MPUs, MCUs, and GPUs" लेख मध्ये काही संकल्पना आणि संक्षेप शब्दांबद्दल अधिक जाणून घ्या.
✅ या मार्गदर्शकांचा वापर करा, तसेच हार्डवेअर मार्गदर्शक मधील लिंकद्वारे दाखवलेल्या खर्चाचा विचार करून तुम्हाला कोणता हार्डवेअर प्लॅटफॉर्म वापरायचा आहे हे ठरवा, किंवा तुम्हाला आभासी उपकरण वापरणे अधिक योग्य वाटते का ते ठरवा.
असाइनमेंट
मायक्रोकंट्रोलर्स आणि सिंगल-बोर्ड संगणकांची तुलना आणि विरोधाभास
अस्वीकरण:
हा दस्तऐवज AI भाषांतर सेवा Co-op Translator वापरून भाषांतरित करण्यात आला आहे. आम्ही अचूकतेसाठी प्रयत्नशील असलो तरी कृपया लक्षात ठेवा की स्वयंचलित भाषांतरांमध्ये त्रुटी किंवा अचूकतेचा अभाव असू शकतो. मूळ भाषेतील दस्तऐवज हा अधिकृत स्रोत मानला जावा. महत्त्वाच्या माहितीसाठी व्यावसायिक मानवी भाषांतराची शिफारस केली जाते. या भाषांतराचा वापर करून निर्माण होणाऱ्या कोणत्याही गैरसमज किंवा चुकीच्या अर्थासाठी आम्ही जबाबदार राहणार नाही.