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/mr/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md

245 lines
25 KiB

<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "52b4de6144b2efdced7797a5339d6035",
"translation_date": "2025-08-27T13:01:19+00:00",
"source_file": "1-getting-started/lessons/1-introduction-to-iot/virtual-device.md",
"language_code": "mr"
}
-->
# व्हर्च्युअल सिंगल-बोर्ड संगणक
IoT डिव्हाइस, सेन्सर्स आणि अ‍ॅक्ट्युएटर्स खरेदी करण्याऐवजी, तुम्ही तुमच्या संगणकाचा वापर IoT हार्डवेअरचे अनुकरण करण्यासाठी करू शकता. [CounterFit प्रकल्प](https://github.com/CounterFit-IoT/CounterFit) तुम्हाला स्थानिकपणे एक अ‍ॅप चालवण्याची परवानगी देतो, जे सेन्सर्स आणि अ‍ॅक्ट्युएटर्ससारख्या IoT हार्डवेअरचे अनुकरण करते आणि स्थानिक Python कोडमधून सेन्सर्स आणि अ‍ॅक्ट्युएटर्समध्ये प्रवेश करते, जसे तुम्ही भौतिक हार्डवेअर वापरून Raspberry Pi वर कोड लिहाल.
## सेटअप
CounterFit वापरण्यासाठी, तुम्हाला तुमच्या संगणकावर काही मोफत सॉफ्टवेअर स्थापित करावे लागेल.
### कार्य
आवश्यक सॉफ्टवेअर स्थापित करा.
1. Python स्थापित करा. Python ची नवीनतम आवृत्ती कशी स्थापित करायची यासाठी [Python डाउनलोड्स पृष्ठ](https://www.python.org/downloads/) पहा.
1. Visual Studio Code (VS Code) स्थापित करा. Python मध्ये तुमचे व्हर्च्युअल डिव्हाइस कोड लिहिण्यासाठी तुम्ही वापरणार असलेला संपादक आहे. VS Code कसे स्थापित करायचे यासाठी [VS Code दस्तऐवज](https://code.visualstudio.com?WT.mc_id=academic-17441-jabenn) पहा.
> 💁 तुम्हाला आवडत असलेले कोणतेही Python IDE किंवा संपादक वापरण्यास मोकळे आहात, परंतु या धड्यांमध्ये VS Code वापरण्याच्या सूचनांवर आधारित निर्देश दिले जातील.
1. VS Code Pylance विस्तार स्थापित करा. Python भाषा समर्थन प्रदान करणारा VS Code साठी हा एक विस्तार आहे. VS Code मध्ये हा विस्तार कसा स्थापित करायचा यासाठी [Pylance विस्तार दस्तऐवज](https://marketplace.visualstudio.com/items?WT.mc_id=academic-17441-jabenn&itemName=ms-python.vscode-pylance) पहा.
CounterFit अ‍ॅप स्थापित आणि कॉन्फिगर करण्याच्या सूचना संबंधित वेळेस असाइनमेंट सूचनांमध्ये दिल्या जातील कारण ते प्रति-प्रकल्प आधारावर स्थापित केले जाते.
## हेलो वर्ल्ड
नवीन प्रोग्रामिंग भाषा किंवा तंत्रज्ञानासह सुरुवात करताना 'हेलो वर्ल्ड' अ‍ॅप्लिकेशन तयार करणे पारंपारिक आहे - एक लहान अ‍ॅप्लिकेशन जे `"Hello World"` सारखा मजकूर आउटपुट करते, हे दर्शविण्यासाठी की सर्व साधने योग्यरित्या कॉन्फिगर केलेली आहेत.
व्हर्च्युअल IoT हार्डवेअरसाठी हेलो वर्ल्ड अ‍ॅप सुनिश्चित करेल की तुमच्याकडे Python आणि Visual Studio Code योग्यरित्या स्थापित आहे. हे CounterFit शी कनेक्ट होईल, जे व्हर्च्युअल IoT सेन्सर्स आणि अ‍ॅक्ट्युएटर्ससाठी आहे. हे कोणतेही हार्डवेअर वापरणार नाही, फक्त कनेक्ट होईल हे सिद्ध करण्यासाठी की सर्वकाही कार्यरत आहे.
हे अ‍ॅप `nightlight` नावाच्या फोल्डरमध्ये असेल आणि नंतरच्या असाइनमेंटच्या भागांमध्ये नाइटलाइट अ‍ॅप्लिकेशन तयार करण्यासाठी वेगळ्या कोडसह पुन्हा वापरले जाईल.
### Python व्हर्च्युअल वातावरण कॉन्फिगर करा
Python चे एक शक्तिशाली वैशिष्ट्य म्हणजे [Pip पॅकेजेस](https://pypi.org) स्थापित करण्याची क्षमता - ही इंटरनेटवर प्रकाशित केलेल्या इतर लोकांनी लिहिलेल्या कोडची पॅकेजेस आहेत. तुम्ही तुमच्या संगणकावर एक कमांडसह Pip पॅकेज स्थापित करू शकता आणि नंतर तुमच्या कोडमध्ये ते पॅकेज वापरू शकता. तुम्ही CounterFit शी संवाद साधण्यासाठी पॅकेज स्थापित करण्यासाठी Pip वापरणार आहात.
डिफॉल्टनुसार, जेव्हा तुम्ही पॅकेज स्थापित करता तेव्हा ते तुमच्या संगणकावर सर्वत्र उपलब्ध असते, आणि यामुळे पॅकेज आवृत्त्यांसह समस्या निर्माण होऊ शकतात - जसे की एका अ‍ॅप्लिकेशनला पॅकेजच्या एका आवृत्तीवर अवलंबून असणे जे दुसऱ्या अ‍ॅप्लिकेशनसाठी नवीन आवृत्ती स्थापित केल्यावर खराब होते. या समस्येवर उपाय म्हणून, तुम्ही [Python व्हर्च्युअल वातावरण](https://docs.python.org/3/library/venv.html) वापरू शकता, मूलत: एका समर्पित फोल्डरमध्ये Python ची प्रत, आणि जेव्हा तुम्ही Pip पॅकेजेस स्थापित करता तेव्हा ती फक्त त्या फोल्डरमध्ये स्थापित होतात.
> 💁 जर तुम्ही Raspberry Pi वापरत असाल तर तुम्ही Pip पॅकेजेस व्यवस्थापित करण्यासाठी त्या डिव्हाइसवर व्हर्च्युअल वातावरण सेट केले नाही, त्याऐवजी तुम्ही ग्लोबल पॅकेजेस वापरत आहात, कारण Grove पॅकेजेस इंस्टॉलर स्क्रिप्टद्वारे ग्लोबलरी स्थापित केले जातात.
#### कार्य - Python व्हर्च्युअल वातावरण कॉन्फिगर करा
Python व्हर्च्युअल वातावरण कॉन्फिगर करा आणि CounterFit साठी Pip पॅकेजेस स्थापित करा.
1. तुमच्या टर्मिनल किंवा कमांड लाइनवरून, नवीन डिरेक्टरी तयार करण्यासाठी आणि त्यामध्ये नेव्हिगेट करण्यासाठी खालील कमांड चालवा:
```sh
mkdir nightlight
cd nightlight
```
1. आता `.venv` फोल्डरमध्ये व्हर्च्युअल वातावरण तयार करण्यासाठी खालील कमांड चालवा:
```sh
python3 -m venv .venv
```
> 💁 तुम्हाला Python 2 व्यतिरिक्त Python 3 (नवीनतम आवृत्ती) स्थापित असल्यास, व्हर्च्युअल वातावरण तयार करण्यासाठी `python3` स्पष्टपणे कॉल करणे आवश्यक आहे. जर तुम्ही `python` कॉल केला तर Python 2 वापरले जाईल.
1. व्हर्च्युअल वातावरण सक्रिय करा:
* Windows वर:
* जर तुम्ही Command Prompt किंवा Windows Terminal मधून Command Prompt वापरत असाल, तर खालील चालवा:
```cmd
.venv\Scripts\activate.bat
```
* जर तुम्ही PowerShell वापरत असाल, तर खालील चालवा:
```powershell
.\.venv\Scripts\Activate.ps1
```
> जर तुम्हाला स्क्रिप्ट चालवणे या सिस्टमवर अक्षम असल्याचा त्रुटी संदेश मिळाला, तर तुम्हाला योग्य कार्यकारी धोरण सेट करून स्क्रिप्ट चालवणे सक्षम करावे लागेल. तुम्ही हे PowerShell प्रशासक म्हणून लॉन्च करून आणि खालील कमांड चालवून करू शकता:
```powershell
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
```
पुष्टी करण्यासाठी विचारले असता `Y` प्रविष्ट करा. नंतर PowerShell पुन्हा लॉन्च करा आणि पुन्हा प्रयत्न करा.
तुम्हाला आवश्यक असल्यास नंतरच्या तारखेला हे कार्यकारी धोरण रीसेट करता येईल. याबद्दल अधिक वाचण्यासाठी तुम्ही [Microsoft Docs वरील कार्यकारी धोरणे पृष्ठ](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_execution_policies?WT.mc_id=academic-17441-jabenn) पाहू शकता.
* macOS किंवा Linux वर, खालील चालवा:
```cmd
source ./.venv/bin/activate
```
> 💁 हे कमांड तुम्ही व्हर्च्युअल वातावरण तयार करण्यासाठी चालवलेल्या स्थानावरून चालवले पाहिजेत. तुम्हाला `.venv` फोल्डरमध्ये नेव्हिगेट करण्याची कधीही गरज नाही, तुम्ही नेहमी सक्रिय कमांड आणि पॅकेजेस स्थापित करण्यासाठी किंवा कोड चालवण्यासाठी कमांड त्या फोल्डरमधून चालवली पाहिजे जिथे तुम्ही व्हर्च्युअल वातावरण तयार केले होते.
1. एकदा व्हर्च्युअल वातावरण सक्रिय झाल्यावर, डिफॉल्ट `python` कमांड व्हर्च्युअल वातावरण तयार करण्यासाठी वापरलेली Python आवृत्ती चालवेल. आवृत्ती मिळवण्यासाठी खालील चालवा:
```sh
python --version
```
आउटपुटमध्ये खालील समाविष्ट असले पाहिजे:
```output
(.venv) ➜ nightlight python --version
Python 3.9.1
```
> 💁 तुमची Python आवृत्ती वेगळी असू शकते - जोपर्यंत ती आवृत्ती 3.6 किंवा उच्च आहे, तुम्ही चांगले आहात. जर तसे नसेल, तर हा फोल्डर हटवा, Python ची नवीन आवृत्ती स्थापित करा आणि पुन्हा प्रयत्न करा.
1. CounterFit साठी Pip पॅकेजेस स्थापित करण्यासाठी खालील कमांड चालवा. या पॅकेजेसमध्ये मुख्य CounterFit अ‍ॅप तसेच Grove हार्डवेअर साठी शिम्स समाविष्ट आहेत. हे शिम्स तुम्हाला भौतिक सेन्सर्स आणि अ‍ॅक्ट्युएटर्ससह कोड लिहिल्यासारखे कोड लिहिण्याची परवानगी देतात, परंतु व्हर्च्युअल IoT डिव्हाइसशी कनेक्ट केलेले.
```sh
pip install CounterFit
pip install counterfit-connection
pip install counterfit-shims-grove
```
हे Pip पॅकेजेस फक्त व्हर्च्युअल वातावरणात स्थापित केले जातील आणि बाहेर उपलब्ध असणार नाहीत.
### कोड लिहा
एकदा Python व्हर्च्युअल वातावरण तयार झाल्यावर, तुम्ही 'हेलो वर्ल्ड' अ‍ॅप्लिकेशनसाठी कोड लिहू शकता.
#### कार्य - कोड लिहा
कन्सोलवर `"Hello World"` प्रिंट करण्यासाठी Python अ‍ॅप्लिकेशन तयार करा.
1. व्हर्च्युअल वातावरणात, टर्मिनल किंवा कमांड लाइनवरून खालील चालवा, ज्यामुळे `app.py` नावाचा Python फाइल तयार होईल:
* Windows वरून चालवा:
```cmd
type nul > app.py
```
* macOS किंवा Linux वर चालवा:
```cmd
touch app.py
```
1. वर्तमान फोल्डर VS Code मध्ये उघडा:
```sh
code .
```
> 💁 जर तुमच्या टर्मिनलने macOS वर `command not found` परत केले, तर याचा अर्थ VS Code तुमच्या PATH मध्ये जोडले गेले नाही. तुम्ही [VS Code दस्तऐवजातील कमांड लाइन विभागातून लॉन्चिंग](https://code.visualstudio.com/docs/setup/mac?WT.mc_id=academic-17441-jabenn#_launching-from-the-command-line) च्या सूचनांचे अनुसरण करून VS Code तुमच्या PATH मध्ये जोडू शकता आणि नंतर कमांड चालवू शकता. Windows आणि Linux वर VS Code तुमच्या PATH मध्ये डीफॉल्टनुसार स्थापित केले जाते.
1. जेव्हा VS Code लॉन्च होते, तेव्हा ते Python व्हर्च्युअल वातावरण सक्रिय करेल. निवडलेले व्हर्च्युअल वातावरण तळाच्या स्टेटस बारमध्ये दिसेल:
![VS Code निवडलेले व्हर्च्युअल वातावरण दर्शवित आहे](../../../../../translated_images/vscode-virtual-env.8ba42e04c3d533cf677e16cbe5ed9a3b80f62c6964472dc84b6f940800f0909f.mr.png)
1. जर VS Code टर्मिनल VS Code सुरू झाल्यावर आधीच चालू असेल, तर त्यात व्हर्च्युअल वातावरण सक्रिय नसेल. सर्वात सोपी गोष्ट म्हणजे **Kill the active terminal instance** बटण वापरून टर्मिनल बंद करणे:
![VS Code Kill the active terminal instance बटण](../../../../../translated_images/vscode-kill-terminal.1cc4de7c6f25ee08f423f0ead714e61d069fac1eb2089e97b8a7bbcb3d45fe5e.mr.png)
तुम्ही टर्मिनलमध्ये व्हर्च्युअल वातावरण सक्रिय आहे की नाही हे सांगू शकता कारण टर्मिनल प्रॉम्प्टवर व्हर्च्युअल वातावरणाचे नाव उपसर्ग म्हणून असेल. उदाहरणार्थ, ते असे असू शकते:
```sh
(.venv) ➜ nightlight
```
जर प्रॉम्प्टवर `.venv` उपसर्ग म्हणून नसेल, तर टर्मिनलमध्ये व्हर्च्युअल वातावरण सक्रिय नाही.
1. *Terminal -> New Terminal* निवडून किंवा `` CTRL+` `` दाबून नवीन VS Code टर्मिनल लॉन्च करा. नवीन टर्मिनल व्हर्च्युअल वातावरण लोड करेल आणि टर्मिनलमध्ये हे सक्रिय करण्यासाठी कॉल दिसेल. प्रॉम्प्टमध्ये व्हर्च्युअल वातावरणाचे नाव (`.venv`) असेल:
```output
➜ nightlight source .venv/bin/activate
(.venv) ➜ nightlight
```
1. VS Code एक्सप्लोररमधून `app.py` फाइल उघडा आणि खालील कोड जोडा:
```python
print('Hello World!')
```
`print` फंक्शन कन्सोलवर जे काही दिले जाते ते प्रिंट करते.
1. VS Code टर्मिनलमधून, तुमचे Python अ‍ॅप चालवण्यासाठी खालील चालवा:
```sh
python app.py
```
आउटपुटमध्ये खालील असेल:
```output
(.venv) ➜ nightlight python app.py
Hello World!
```
😀 तुमचा 'हेलो वर्ल्ड' प्रोग्राम यशस्वी झाला!
### 'हार्डवेअर' कनेक्ट करा
दुसऱ्या 'हेलो वर्ल्ड' पायरी म्हणून, तुम्ही CounterFit अ‍ॅप चालवून तुमच्या कोडला त्याशी कनेक्ट कराल. हे IoT हार्डवेअर काही डेव्ह किटशी जोडण्याच्या व्हर्च्युअल समतुल्य आहे.
#### कार्य - 'हार्डवेअर' कनेक्ट करा
1. VS Code टर्मिनलमधून, खालील कमांडसह CounterFit अ‍ॅप लॉन्च करा:
```sh
counterfit
```
अ‍ॅप चालू होईल आणि तुमच्या वेब ब्राउझरमध्ये उघडेल:
![ब्राउझरमध्ये चालू असलेले Counter Fit अ‍ॅप](../../../../../translated_images/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.mr.png)
ते *Disconnected* म्हणून चिन्हांकित केले जाईल, आणि वरच्या उजव्या कोपऱ्यातील LED बंद असेल.
1. `app.py` च्या शीर्षस्थानी खालील कोड जोडा:
```python
from counterfit_connection import CounterFitConnection
CounterFitConnection.init('127.0.0.1', 5000)
```
हा कोड `counterfit_connection` मॉड्यूलमधून `CounterFitConnection` वर्ग आयात करतो, जो तुम्ही पूर्वी स्थापित केलेल्या `counterfit-connection` Pip पॅकेजमधून येतो. नंतर तो `127.0.0.1` वर चालू असलेल्या CounterFit अ‍ॅपशी कनेक्शन सुरू करतो, जो तुमच्या स्थानिक संगणकावर प्रवेश करण्यासाठी तुम्ही नेहमी वापरू शकता (सामान्यतः *localhost* म्हणून संदर्भित), पोर्ट 5000 वर.
> 💁 जर तुमच्या पोर्ट 5000 वर इतर अ‍ॅप्स चालू असतील, तर तुम्ही कोडमध्ये पोर्ट अपडेट करून आणि `CounterFit --port <port_number>` वापरून CounterFit चालवून हे बदलू शकता, `<port_number>` पोर्टसह बदलून.
1. तुम्हाला **Create a new integrated terminal** बटण निवडून नवीन VS Code टर्मिनल लॉन्च करावे लागेल. कारण CounterFit अ‍ॅप सध्याच्या टर्मिनलमध्ये चालू आहे.
![VS Code नवीन एकत्रित टर्मिनल बटण तयार करा](../../../../../translated_images/vscode-new-terminal.77db8fc0f9cd31824b0e49a201beafe4ae4616d6c7339992cb2819e789b3eff9.mr.png)
1. या नवीन टर्मिनलमध्ये, पूर्वीप्रमाणे `app.py` फाइल चालवा. CounterFit ची स्थिती **Connected** मध्ये बदलेल आणि LED चालू होईल.
![Counter Fit कनेक्टेड दर्शवित आहे](../../../../../translated_images/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.mr.png)
> 💁 तुम्ही हा कोड [code/virtual-device](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/virtual-device) फोल्डरमध्ये शोधू शकता.
😀 तुमचे हार्डवेअरशी कनेक्शन यशस्वी झाले!
---
**अस्वीकरण**:
हा दस्तऐवज AI भाषांतर सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) वापरून भाषांतरित करण्यात आला आहे. आम्ही अचूकतेसाठी प्रयत्नशील असलो तरी कृपया लक्षात ठेवा की स्वयंचलित भाषांतरांमध्ये त्रुटी किंवा अचूकतेचा अभाव असू शकतो. मूळ भाषेतील दस्तऐवज हा अधिकृत स्रोत मानला जावा. महत्त्वाच्या माहितीसाठी व्यावसायिक मानवी भाषांतराची शिफारस केली जाते. या भाषांतराचा वापर करून उद्भवलेल्या कोणत्याही गैरसमज किंवा चुकीच्या अर्थासाठी आम्ही जबाबदार राहणार नाही.