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.
93 lines
8.2 KiB
93 lines
8.2 KiB
<!--
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
{
|
|
"original_hash": "90fb93446e03c38f3c0e4009c2471906",
|
|
"translation_date": "2025-08-27T12:31:50+00:00",
|
|
"source_file": "1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md",
|
|
"language_code": "mr"
|
|
}
|
|
-->
|
|
# इंटरनेटद्वारे तुमचा नाईटलाइट नियंत्रित करा - व्हर्च्युअल IoT हार्डवेअर आणि रास्पबेरी पाय
|
|
|
|
IoT डिव्हाइसला *test.mosquitto.org* शी MQTT वापरून संवाद साधण्यासाठी कोड करणे आवश्यक आहे, ज्यामध्ये लाइट सेन्सर वाचनासह टेलीमेट्री मूल्ये पाठवणे आणि LED नियंत्रित करण्यासाठी कमांड्स प्राप्त करणे समाविष्ट आहे.
|
|
|
|
या धड्याच्या भागामध्ये, तुम्ही तुमचा रास्पबेरी पाय किंवा व्हर्च्युअल IoT डिव्हाइस MQTT ब्रोकरशी जोडाल.
|
|
|
|
## MQTT क्लायंट पॅकेज स्थापित करा
|
|
|
|
MQTT ब्रोकरशी संवाद साधण्यासाठी, तुम्हाला MQTT लायब्ररी pip पॅकेज तुमच्या Pi वर किंवा तुम्ही व्हर्च्युअल डिव्हाइस वापरत असल्यास तुमच्या व्हर्च्युअल वातावरणात स्थापित करणे आवश्यक आहे.
|
|
|
|
### कार्य
|
|
|
|
pip पॅकेज स्थापित करा
|
|
|
|
1. VS Code मध्ये नाईटलाइट प्रोजेक्ट उघडा.
|
|
|
|
1. जर तुम्ही व्हर्च्युअल IoT डिव्हाइस वापरत असाल, तर टर्मिनल व्हर्च्युअल वातावरण चालू असल्याची खात्री करा. जर तुम्ही रास्पबेरी पाय वापरत असाल तर तुम्ही व्हर्च्युअल वातावरण वापरणार नाही.
|
|
|
|
1. MQTT pip पॅकेज स्थापित करण्यासाठी खालील कमांड चालवा:
|
|
|
|
```sh
|
|
pip3 install paho-mqtt
|
|
```
|
|
|
|
## डिव्हाइस कोड करा
|
|
|
|
डिव्हाइस कोड करण्यासाठी तयार आहे.
|
|
|
|
### कार्य
|
|
|
|
डिव्हाइस कोड लिहा.
|
|
|
|
1. `app.py` फाइलच्या शीर्षस्थानी खालील आयात जोडा:
|
|
|
|
```python
|
|
import paho.mqtt.client as mqtt
|
|
```
|
|
|
|
`paho.mqtt.client` लायब्ररी तुमच्या अॅपला MQTT वर संवाद साधण्याची परवानगी देते.
|
|
|
|
1. लाइट सेन्सर आणि LED च्या व्याख्यानांनंतर खालील कोड जोडा:
|
|
|
|
```python
|
|
id = '<ID>'
|
|
|
|
client_name = id + 'nightlight_client'
|
|
```
|
|
|
|
`<ID>` च्या जागी एक अद्वितीय ID बदला, जे या डिव्हाइस क्लायंटचे नाव म्हणून वापरले जाईल आणि नंतर या डिव्हाइसने प्रकाशित आणि सबस्क्राइब केलेल्या विषयांसाठी वापरले जाईल. *test.mosquitto.org* ब्रोकर सार्वजनिक आहे आणि अनेक लोक वापरतात, ज्यामध्ये या असाइनमेंटवर काम करणारे इतर विद्यार्थी देखील समाविष्ट आहेत. अद्वितीय MQTT क्लायंट नाव आणि विषयांची नावे सुनिश्चित करतात की तुमचा कोड इतर कोणाच्याही कोडशी टक्कर होणार नाही. तुम्हाला नंतर या असाइनमेंटमध्ये सर्व्हर कोड तयार करताना देखील हा ID आवश्यक असेल.
|
|
|
|
> 💁 तुम्ही [GUIDGen](https://www.guidgen.com) सारख्या वेबसाइटचा वापर करून अद्वितीय ID तयार करू शकता.
|
|
|
|
`client_name` हा ब्रोकरवरील या MQTT क्लायंटसाठी एक अद्वितीय नाव आहे.
|
|
|
|
1. MQTT क्लायंट ऑब्जेक्ट तयार करण्यासाठी आणि MQTT ब्रोकरशी कनेक्ट करण्यासाठी या नवीन कोडखाली खालील कोड जोडा:
|
|
|
|
```python
|
|
mqtt_client = mqtt.Client(client_name)
|
|
mqtt_client.connect('test.mosquitto.org')
|
|
|
|
mqtt_client.loop_start()
|
|
|
|
print("MQTT connected!")
|
|
```
|
|
|
|
हा कोड क्लायंट ऑब्जेक्ट तयार करतो, सार्वजनिक MQTT ब्रोकरशी कनेक्ट करतो आणि बॅकग्राउंड थ्रेडमध्ये चालणारा प्रोसेसिंग लूप सुरू करतो जो कोणत्याही सबस्क्राइब केलेल्या विषयांवरील संदेश ऐकतो.
|
|
|
|
1. असाइनमेंटच्या मागील भागातील कोड चालविल्याप्रमाणे कोड चालवा. जर तुम्ही व्हर्च्युअल IoT डिव्हाइस वापरत असाल, तर CounterFit अॅप चालू असल्याची खात्री करा आणि लाइट सेन्सर आणि LED योग्य पिनवर तयार केले आहेत.
|
|
|
|
```output
|
|
(.venv) ➜ nightlight python app.py
|
|
MQTT connected!
|
|
Light level: 0
|
|
Light level: 0
|
|
```
|
|
|
|
> 💁 तुम्हाला हा कोड [code-mqtt/virtual-device](../../../../../1-getting-started/lessons/4-connect-internet/code-mqtt/virtual-device) फोल्डरमध्ये किंवा [code-mqtt/pi](../../../../../1-getting-started/lessons/4-connect-internet/code-mqtt/pi) फोल्डरमध्ये सापडेल.
|
|
|
|
😀 तुम्ही तुमचे डिव्हाइस यशस्वीरित्या MQTT ब्रोकरशी जोडले आहे.
|
|
|
|
---
|
|
|
|
**अस्वीकरण**:
|
|
हा दस्तऐवज AI भाषांतर सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) वापरून भाषांतरित करण्यात आला आहे. आम्ही अचूकतेसाठी प्रयत्नशील असलो तरी कृपया लक्षात ठेवा की स्वयंचलित भाषांतरांमध्ये त्रुटी किंवा अचूकतेचा अभाव असू शकतो. मूळ भाषेतील दस्तऐवज हा अधिकृत स्रोत मानला जावा. महत्त्वाच्या माहितीसाठी व्यावसायिक मानवी भाषांतराची शिफारस केली जाते. या भाषांतराचा वापर करून निर्माण होणाऱ्या कोणत्याही गैरसमज किंवा चुकीच्या अर्थासाठी आम्ही जबाबदार राहणार नाही. |