You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/hi/1-getting-started/lessons/1-introduction-to-iot/pi.md

35 KiB

रास्पबेरी पाई

रास्पबेरी पाई एक सिंगल-बोर्ड कंप्यूटर है। आप विभिन्न उपकरणों और इकोसिस्टम का उपयोग करके सेंसर और एक्टुएटर्स जोड़ सकते हैं, और इन पाठों के लिए Grove नामक हार्डवेयर इकोसिस्टम का उपयोग करेंगे। आप अपने पाई को कोड करेंगे और Grove सेंसर का उपयोग Python के माध्यम से करेंगे।

रास्पबेरी पाई 4

सेटअप

यदि आप रास्पबेरी पाई को अपने IoT हार्डवेयर के रूप में उपयोग कर रहे हैं, तो आपके पास दो विकल्प हैं - आप इन सभी पाठों को पूरा कर सकते हैं और सीधे पाई पर कोड कर सकते हैं, या आप 'हेडलैस' पाई से दूरस्थ रूप से कनेक्ट कर सकते हैं और अपने कंप्यूटर से कोड कर सकते हैं।

शुरू करने से पहले, आपको Grove बेस हैट को अपने पाई से कनेक्ट करना होगा।

कार्य - सेटअप

अपने पाई पर Grove बेस हैट इंस्टॉल करें और पाई को कॉन्फ़िगर करें।

  1. Grove बेस हैट को अपने पाई से कनेक्ट करें। हैट का सॉकेट पाई के सभी GPIO पिन्स पर फिट होता है, पिन्स पर पूरी तरह से नीचे स्लाइड करता है और बेस पर मजबूती से बैठता है। यह पाई को कवर करता है।

    Grove हैट फिट करना

  2. तय करें कि आप अपने पाई को कैसे प्रोग्राम करना चाहते हैं, और नीचे दिए गए संबंधित सेक्शन पर जाएं:

पाई पर सीधे काम करें

यदि आप अपने पाई पर सीधे काम करना चाहते हैं, तो आप रास्पबेरी पाई OS का डेस्कटॉप संस्करण उपयोग कर सकते हैं और सभी आवश्यक टूल्स इंस्टॉल कर सकते हैं।

कार्य - पाई पर सीधे काम करें

डेवलपमेंट के लिए अपने पाई को सेटअप करें।

  1. रास्पबेरी पाई सेटअप गाइड में दिए गए निर्देशों का पालन करें ताकि आप अपने पाई को सेटअप कर सकें, इसे कीबोर्ड/माउस/मॉनिटर से कनेक्ट कर सकें, इसे अपने वाईफाई या ईथरनेट नेटवर्क से कनेक्ट कर सकें, और सॉफ़्टवेयर को अपडेट कर सकें।

पाई को Grove सेंसर और एक्टुएटर्स का उपयोग करके प्रोग्राम करने के लिए, आपको एक एडिटर इंस्टॉल करना होगा ताकि आप डिवाइस कोड लिख सकें, और विभिन्न लाइब्रेरी और टूल्स इंस्टॉल कर सकें जो Grove हार्डवेयर के साथ इंटरैक्ट करते हैं।

  1. जब आपका पाई रीबूट हो जाए, तो टर्मिनल लॉन्च करें। इसे टर्मिनल आइकन पर क्लिक करके या मेनू -> एक्सेसरीज़ -> टर्मिनल चुनकर खोलें।

  2. यह सुनिश्चित करने के लिए कि OS और इंस्टॉल किए गए सॉफ़्टवेयर अपडेट हैं, निम्नलिखित कमांड चलाएं:

    sudo apt update && sudo apt full-upgrade --yes
    
  3. Grove हार्डवेयर के लिए आवश्यक सभी लाइब्रेरी इंस्टॉल करने के लिए निम्नलिखित कमांड चलाएं:

    sudo apt install git python3-dev python3-pip --yes
    
    git clone https://github.com/Seeed-Studio/grove.py
    cd grove.py
    sudo pip3 install .
    
    sudo raspi-config nonint do_i2c 0
    

    यह Git और Python पैकेज इंस्टॉल करने के लिए Pip को इंस्टॉल करने से शुरू होता है।

    Python की एक शक्तिशाली विशेषता Pip पैकेज इंस्टॉल करने की क्षमता है - ये इंटरनेट पर प्रकाशित अन्य लोगों द्वारा लिखे गए कोड के पैकेज हैं। आप एक कमांड के साथ अपने कंप्यूटर पर Pip पैकेज इंस्टॉल कर सकते हैं और फिर उस पैकेज का उपयोग अपने कोड में कर सकते हैं।

    Seeed Grove Python पैकेज को स्रोत से इंस्टॉल करने की आवश्यकता होती है। ये कमांड उस पैकेज के स्रोत कोड को क्लोन करेंगे और फिर इसे लोकली इंस्टॉल करेंगे।

    💁 डिफ़ॉल्ट रूप से जब आप कोई पैकेज इंस्टॉल करते हैं, तो वह आपके कंप्यूटर पर हर जगह उपलब्ध होता है, और यह पैकेज संस्करणों के साथ समस्याएं पैदा कर सकता है - जैसे कि एक एप्लिकेशन एक पैकेज के एक संस्करण पर निर्भर करता है जो दूसरे एप्लिकेशन के लिए एक नया संस्करण इंस्टॉल करने पर टूट जाता है। इस समस्या को हल करने के लिए, आप Python वर्चुअल एनवायरनमेंट का उपयोग कर सकते हैं, जो कि एक समर्पित फ़ोल्डर में Python की एक कॉपी है, और जब आप Pip पैकेज इंस्टॉल करते हैं तो वे केवल उस फ़ोल्डर में इंस्टॉल होते हैं। पाई का उपयोग करते समय आप वर्चुअल एनवायरनमेंट का उपयोग नहीं करेंगे। Grove इंस्टॉल स्क्रिप्ट Grove Python पैकेज को ग्लोबली इंस्टॉल करती है, इसलिए वर्चुअल एनवायरनमेंट का उपयोग करने के लिए आपको वर्चुअल एनवायरनमेंट सेटअप करना होगा और फिर मैन्युअल रूप से Grove पैकेज को उस एनवायरनमेंट के अंदर पुनः इंस्टॉल करना होगा। ग्लोबल पैकेज का उपयोग करना आसान है, खासकर क्योंकि कई पाई डेवलपर्स प्रत्येक प्रोजेक्ट के लिए एक साफ़ SD कार्ड को फिर से फ्लैश करते हैं।

    अंत में, यह I2C इंटरफ़ेस को सक्षम करता है।

  4. पाई को रीबूट करें, या तो मेनू का उपयोग करके या टर्मिनल में निम्नलिखित कमांड चलाकर:

    sudo reboot
    
  5. जब पाई रीबूट हो जाए, तो टर्मिनल को फिर से लॉन्च करें और निम्नलिखित कमांड चलाएं ताकि Visual Studio Code (VS Code) इंस्टॉल हो सके - यह वह एडिटर है जिसे आप Python में डिवाइस कोड लिखने के लिए उपयोग करेंगे।

    sudo apt install code
    

    जब यह इंस्टॉल हो जाए, तो VS Code टॉप मेनू से उपलब्ध होगा।

    💁 आप इन पाठों के लिए किसी भी Python IDE या एडिटर का उपयोग कर सकते हैं यदि आपके पास कोई पसंदीदा टूल है, लेकिन पाठ VS Code का उपयोग करने के निर्देश देंगे।

  6. Pylance इंस्टॉल करें। यह VS Code के लिए एक एक्सटेंशन है जो Python भाषा समर्थन प्रदान करता है। Pylance एक्सटेंशन दस्तावेज़ में दिए गए निर्देशों का पालन करके इस एक्सटेंशन को VS Code में इंस्टॉल करें।

पाई को कोड करने के लिए रिमोट एक्सेस

पाई पर सीधे कोडिंग करने के बजाय, इसे 'हेडलैस' चलाया जा सकता है, यानी कीबोर्ड/माउस/मॉनिटर से कनेक्ट नहीं किया गया है, और इसे आपके कंप्यूटर से कॉन्फ़िगर और कोड किया जा सकता है, Visual Studio Code का उपयोग करके।

पाई OS सेटअप करें

रिमोट कोडिंग के लिए, पाई OS को SD कार्ड पर इंस्टॉल करने की आवश्यकता होती है।

कार्य - पाई OS सेटअप करें

हेडलैस पाई OS सेटअप करें।

  1. रास्पबेरी पाई OS सॉफ़्टवेयर पेज से रास्पबेरी पाई इमेजर डाउनलोड करें और इसे इंस्टॉल करें।

  2. SD कार्ड को अपने कंप्यूटर में डालें, यदि आवश्यक हो तो एडॉप्टर का उपयोग करें।

  3. रास्पबेरी पाई इमेजर लॉन्च करें।

  4. रास्पबेरी पाई इमेजर से CHOOSE OS बटन चुनें, फिर Raspberry Pi OS (Other) और उसके बाद Raspberry Pi OS Lite (32-bit) चुनें।

    रास्पबेरी पाई इमेजर में Raspberry Pi OS Lite चयनित

    💁 Raspberry Pi OS Lite रास्पबेरी पाई OS का एक संस्करण है जिसमें डेस्कटॉप UI या UI आधारित टूल्स नहीं होते हैं। ये हेडलैस पाई के लिए आवश्यक नहीं हैं और इंस्टॉल को छोटा और बूट अप समय को तेज बनाते हैं।

  5. CHOOSE STORAGE बटन चुनें, फिर अपने SD कार्ड को चुनें।

  6. Advanced Options लॉन्च करें, Ctrl+Shift+X दबाकर। ये विकल्प रास्पबेरी पाई OS को SD कार्ड पर इमेज करने से पहले कुछ प्री-कॉन्फ़िगरेशन की अनुमति देते हैं।

    1. Enable SSH चेक बॉक्स को चेक करें और pi उपयोगकर्ता के लिए पासवर्ड सेट करें। यह वह पासवर्ड है जिसका उपयोग आप बाद में पाई में लॉग इन करने के लिए करेंगे।

    2. यदि आप पाई को वाईफाई के माध्यम से कनेक्ट करने की योजना बना रहे हैं, तो Configure WiFi चेक बॉक्स को चेक करें और अपना वाईफाई SSID और पासवर्ड दर्ज करें, साथ ही अपना वाईफाई देश चुनें। यदि आप ईथरनेट केबल का उपयोग करेंगे तो आपको यह करने की आवश्यकता नहीं है। सुनिश्चित करें कि आप जिस नेटवर्क से कनेक्ट करते हैं वह वही है जिस पर आपका कंप्यूटर है।

    3. Set locale settings चेक बॉक्स को चेक करें और अपना देश और टाइमज़ोन सेट करें।

    4. SAVE बटन चुनें।

  7. WRITE बटन चुनें ताकि OS SD कार्ड पर लिखा जा सके। यदि आप macOS का उपयोग कर रहे हैं, तो आपसे पासवर्ड पूछा जाएगा क्योंकि डिस्क इमेज लिखने वाला टूल विशेषाधिकार प्राप्त एक्सेस की आवश्यकता रखता है।

OS SD कार्ड पर लिखा जाएगा, और पूरा होने पर कार्ड को OS द्वारा इजेक्ट कर दिया जाएगा, और आपको सूचित किया जाएगा। SD कार्ड को अपने कंप्यूटर से निकालें, इसे पाई में डालें, पाई को पावर दें और इसे ठीक से बूट होने के लिए लगभग 2 मिनट तक प्रतीक्षा करें।

पाई से कनेक्ट करें

अगला कदम पाई तक रिमोट एक्सेस प्राप्त करना है। आप इसे ssh का उपयोग करके कर सकते हैं, जो macOS, Linux और Windows के हाल के संस्करणों पर उपलब्ध है।

कार्य - पाई से कनेक्ट करें

पाई तक रिमोट एक्सेस प्राप्त करें।

  1. टर्मिनल या कमांड प्रॉम्प्ट लॉन्च करें, और पाई से कनेक्ट करने के लिए निम्नलिखित कमांड दर्ज करें:

    ssh pi@raspberrypi.local
    

    यदि आप Windows पर हैं और पुराने संस्करण का उपयोग कर रहे हैं जिसमें ssh इंस्टॉल नहीं है, तो आप OpenSSH का उपयोग कर सकते हैं। OpenSSH इंस्टॉलेशन दस्तावेज़ में इंस्टॉलेशन निर्देश पाए जा सकते हैं।

  2. यह आपको पाई से कनेक्ट करना चाहिए और पासवर्ड पूछना चाहिए।

    <hostname>.local का उपयोग करके अपने नेटवर्क पर कंप्यूटर खोजने में सक्षम होना Linux और Windows में एक अपेक्षाकृत हालिया जोड़ है। यदि आप Linux या Windows का उपयोग कर रहे हैं और आपको होस्टनेम न मिलने के बारे में कोई त्रुटि मिलती है, तो आपको ZeroConf नेटवर्किंग (Apple द्वारा Bonjour के रूप में संदर्भित) को सक्षम करने के लिए अतिरिक्त सॉफ़्टवेयर इंस्टॉल करना होगा:

    1. यदि आप Linux का उपयोग कर रहे हैं, तो निम्नलिखित कमांड का उपयोग करके Avahi इंस्टॉल करें:

      sudo apt-get install avahi-daemon
      
    2. यदि आप Windows का उपयोग कर रहे हैं, तो ZeroConf को सक्षम करने का सबसे आसान तरीका Bonjour Print Services for Windows इंस्टॉल करना है। आप iTunes for Windows भी इंस्टॉल कर सकते हैं ताकि उपयोगिता का नया संस्करण प्राप्त किया जा सके (जो स्टैंडअलोन उपलब्ध नहीं है)।

    💁 यदि आप raspberrypi.local का उपयोग करके कनेक्ट नहीं कर सकते हैं, तो आप पाई का IP पता उपयोग कर सकते हैं। रास्पबेरी पाई IP पता दस्तावेज़ में IP पता प्राप्त करने के कई तरीकों के निर्देश दिए गए हैं।

  3. वह पासवर्ड दर्ज करें जिसे आपने रास्पबेरी पाई इमेजर एडवांस्ड ऑप्शंस में सेट किया था।

पाई पर सॉफ़्टवेयर कॉन्फ़िगर करें

एक बार जब आप पाई से कनेक्ट हो जाएं, तो आपको यह सुनिश्चित करना होगा कि OS अपडेट है, और Grove हार्डवेयर के साथ इंटरैक्ट करने के लिए विभिन्न लाइब्रेरी और टूल्स इंस्टॉल करें।

कार्य - पाई पर सॉफ़्टवेयर कॉन्फ़िगर करें

इंस्टॉल किए गए पाई सॉफ़्टवेयर को कॉन्फ़िगर करें और Grove लाइब्रेरी इंस्टॉल करें।

  1. अपने ssh सत्र से, पाई को अपडेट करने और फिर रीबूट करने के लिए निम्नलिखित कमांड चलाएं:

    sudo apt update && sudo apt full-upgrade --yes && sudo reboot
    

    पाई अपडेट हो जाएगा और रीबूट हो जाएगा। जब पाई रीबूट होता है, तो ssh सत्र समाप्त हो जाएगा, इसलिए इसे लगभग 30 सेकंड के लिए छोड़ दें और फिर से कनेक्ट करें।

  2. पुनः कनेक्ट किए गए ssh सत्र से, Grove हार्डवेयर के लिए आवश्यक सभी लाइब्रेरी इंस्टॉल करने के लिए निम्नलिखित कमांड चलाएं:

    sudo apt install git python3-dev python3-pip --yes
    
    git clone https://github.com/Seeed-Studio/grove.py
    cd grove.py
    sudo pip3 install .
    
    sudo raspi-config nonint do_i2c 0
    

    यह Git और Python पैकेज इंस्टॉल करने के लिए Pip को इंस्टॉल करने से शुरू होता है।

    Python की एक शक्तिशाली विशेषता Pip पैकेज इंस्टॉल करने की क्षमता है - ये इंटरनेट पर प्रकाशित अन्य लोगों द्वारा लिखे गए कोड के पैकेज हैं। आप एक कमांड के साथ अपने कंप्यूटर पर Pip पैकेज इंस्टॉल कर सकते हैं और फिर उस पैकेज का उपयोग अपने कोड में कर सकते हैं।

    Seeed Grove Python पैकेज को स्रोत से इंस्टॉल करने की आवश्यकता होती है। ये कमांड उस पैकेज के स्रोत कोड को क्लोन करेंगे और फिर इसे लोकली इंस्टॉल करेंगे।

    💁 डिफ़ॉल्ट रूप से जब आप कोई पैकेज इंस्टॉल करते हैं, तो वह आपके कंप्यूटर पर हर जगह उपलब्ध होता है, और यह पैकेज संस्करणों के साथ समस्याएं पैदा कर सकता है - जैसे कि एक एप्लिकेशन एक पैकेज के एक संस्करण पर निर्भर करता है जो दूसरे एप्लिकेशन के लिए एक नया संस्करण इंस्टॉल करने पर टूट जाता है। इस समस्या को हल करने के लिए, आप Python वर्चुअल एनवायरनमेंट का उपयोग कर सकते हैं, जो कि एक समर्पित फ़ोल्डर में Python की एक कॉपी है, और जब आप Pip पैकेज इंस्टॉल करते हैं तो वे केवल उस फ़ोल्डर में इंस्टॉल होते हैं। पाई का उपयोग करते समय आप वर्चुअल एनवायरनमेंट का उपयोग नहीं करेंगे। Grove इंस्टॉल स्क्रिप्ट Grove Python पैकेज को ग्लोबली इंस्टॉल करती है, इसलिए वर्चुअल एनवायरनमेंट का उपयोग करने के लिए आपको वर्चुअल एनवायरनमेंट सेटअप करना होगा और फिर मैन्युअल रूप से Grove पैकेज को उस एनवायरनमेंट के अंदर पुनः इंस्टॉल करना होगा। ग्लोबल पैकेज का उपयोग करना आसान है, खासकर क्योंकि कई पाई डेवलपर्स प्रत्येक प्रोजेक्ट के लिए एक साफ़ SD कार्ड को फिर से फ्लैश करते हैं।

    अंत में, यह I2C इंटरफ़ेस को सक्षम करता है।

  3. निम्नलिखित कमांड चलाकर पाई को रीबूट करें:

    sudo reboot
    

    जब पाई रीबूट होता है, तो ssh सत्र समाप्त हो जाएगा। फिर से कनेक्ट करने की आवश्यकता नहीं है।

रिमोट एक्सेस के लिए VS Code कॉन्फ़िगर करें

एक बार जब पाई कॉन्फ़िगर हो जाए, तो आप अपने कंप्यूटर से Visual Studio Code (VS Code) का उपयोग करके पाई से कनेक्ट कर सकते हैं - यह एक मुफ्त डेवलपर टेक्स्ट एडिटर है जिसे आप Python में डिवाइस कोड लिखने के लिए उपयोग करेंगे।

कार्य - रिमोट एक्सेस के लिए VS Code कॉन्फ़िगर करें

आवश्यक सॉफ़्टवेयर इंस्टॉल करें और अपने पाई से रिमोटली कनेक्ट करें।

  1. VS Code दस्तावेज़ का पालन करके अपने कंप्यूटर पर VS Code इंस्टॉल करें।

  2. VS Code रिमोट डेवलपमेंट SSH दस्तावेज़ में दिए गए निर्देशों का पालन करके आवश्यक घटक इंस्टॉल करें।

  3. उन्हीं निर्देशों का पालन करते हुए, VS Code को पाई से कनेक्ट करें।

  4. एक बार कनेक्ट होने के बाद, एक्सटेंशन प्रबंधन निर्देशों का पालन करके [Pylance एक्सटेंशन](https://marketplace.visualstudio.com/items?WT.mc_id=academic-17441-jabenn&itemName=ms-python.v नए प्रोग्रामिंग भाषा या तकनीक के साथ शुरुआत करते समय, एक 'Hello World' एप्लिकेशन बनाना पारंपरिक है - एक छोटा एप्लिकेशन जो कुछ ऐसा टेक्स्ट जैसे "Hello World" आउटपुट करता है, यह सुनिश्चित करने के लिए कि सभी टूल सही तरीके से कॉन्फ़िगर किए गए हैं।

Pi के लिए Hello World ऐप यह सुनिश्चित करेगा कि आपके पास Python और Visual Studio Code सही तरीके से इंस्टॉल हैं।

यह ऐप nightlight नामक एक फ़ोल्डर में होगा, और इसे इस असाइनमेंट के बाद के हिस्सों में अलग-अलग कोड के साथ पुनः उपयोग किया जाएगा ताकि nightlight एप्लिकेशन बनाया जा सके।

कार्य - Hello World

Hello World ऐप बनाएं।

  1. VS Code लॉन्च करें, या तो सीधे Pi पर, या अपने कंप्यूटर पर और Remote SSH एक्सटेंशन का उपयोग करके Pi से कनेक्ट करें।

  2. VS Code टर्मिनल लॉन्च करें Terminal -> New Terminal चुनकर, या CTRL+` दबाकर। यह pi उपयोगकर्ता के होम डायरेक्टरी में खुलेगा।

  3. अपने कोड के लिए एक डायरेक्टरी बनाने और उस डायरेक्टरी के अंदर app.py नामक एक Python फ़ाइल बनाने के लिए निम्नलिखित कमांड चलाएं:

    mkdir nightlight
    cd nightlight
    touch app.py
    
  4. इस फ़ोल्डर को VS Code में खोलें File -> Open... चुनकर और nightlight फ़ोल्डर को चुनें, फिर OK पर क्लिक करें।

    VS Code ओपन डायलॉग जो nightlight फ़ोल्डर दिखा रहा है

  5. VS Code एक्सप्लोरर से app.py फ़ाइल खोलें और निम्नलिखित कोड जोड़ें:

    print('Hello World!')
    

    print फ़ंक्शन जो भी इसे पास किया जाता है उसे कंसोल में प्रिंट करता है।

  6. VS Code टर्मिनल से, अपने Python ऐप को चलाने के लिए निम्नलिखित कमांड चलाएं:

    python app.py
    

    💁 यदि आपके पास Python 2 के साथ-साथ Python 3 (नवीनतम संस्करण) इंस्टॉल है, तो आपको इस कोड को चलाने के लिए स्पष्ट रूप से python3 कॉल करना पड़ सकता है। यदि आपके पास Python 2 इंस्टॉल है तो python कॉल करने पर Python 2 का उपयोग होगा बजाय Python 3 के। डिफ़ॉल्ट रूप से, नवीनतम Raspberry Pi OS संस्करणों में केवल Python 3 इंस्टॉल होता है।

    टर्मिनल में निम्नलिखित आउटपुट दिखाई देगा:

    pi@raspberrypi:~/nightlight $ python3 app.py
    Hello World!
    

💁 आप इस कोड को code/pi फ़ोल्डर में पा सकते हैं।

😀 आपका 'Hello World' प्रोग्राम सफल रहा!

अस्वीकरण:
यह दस्तावेज़ AI अनुवाद सेवा Co-op Translator का उपयोग करके अनुवादित किया गया है। जबकि हम सटीकता सुनिश्चित करने का प्रयास करते हैं, कृपया ध्यान दें कि स्वचालित अनुवाद में त्रुटियां या अशुद्धियां हो सकती हैं। मूल भाषा में उपलब्ध मूल दस्तावेज़ को प्रामाणिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सिफारिश की जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम उत्तरदायी नहीं हैं।