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.1 KiB
93 lines
8.1 KiB
<!--
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
{
|
|
"original_hash": "90fb93446e03c38f3c0e4009c2471906",
|
|
"translation_date": "2025-08-27T12:32:04+00:00",
|
|
"source_file": "1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md",
|
|
"language_code": "ne"
|
|
}
|
|
-->
|
|
# इन्टरनेटमार्फत आफ्नो नाइटलाइट नियन्त्रण गर्नुहोस् - भर्चुअल IoT हार्डवेयर र रास्पबेरी पाई
|
|
|
|
IoT उपकरणलाई *test.mosquitto.org* सँग MQTT प्रयोग गरेर टेलिमेट्री मानहरू पठाउन र प्रकाश सेन्सरको पढाइको साथमा LED नियन्त्रण गर्न आदेशहरू प्राप्त गर्न कोड गर्न आवश्यक छ।
|
|
|
|
यस पाठको यस भागमा, तपाईं आफ्नो रास्पबेरी पाई वा भर्चुअल IoT उपकरणलाई MQTT ब्रोकरसँग जडान गर्नुहुनेछ।
|
|
|
|
## MQTT क्लाइन्ट प्याकेज स्थापना गर्नुहोस्
|
|
|
|
MQTT ब्रोकरसँग संवाद गर्न, तपाईंले आफ्नो पाईमा वा यदि तपाईं भर्चुअल उपकरण प्रयोग गर्दै हुनुहुन्छ भने भर्चुअल वातावरणमा MQTT लाइब्रेरी पिप प्याकेज स्थापना गर्न आवश्यक छ।
|
|
|
|
### कार्य
|
|
|
|
पिप प्याकेज स्थापना गर्नुहोस्
|
|
|
|
1. VS Code मा नाइटलाइट प्रोजेक्ट खोल्नुहोस्।
|
|
|
|
1. यदि तपाईं भर्चुअल IoT उपकरण प्रयोग गर्दै हुनुहुन्छ भने, सुनिश्चित गर्नुहोस् कि टर्मिनल भर्चुअल वातावरण चलिरहेको छ। यदि तपाईं रास्पबेरी पाई प्रयोग गर्दै हुनुहुन्छ भने तपाईं भर्चुअल वातावरण प्रयोग गर्नुहुने छैन।
|
|
|
|
1. MQTT पिप प्याकेज स्थापना गर्न निम्न आदेश चलाउनुहोस्:
|
|
|
|
```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) प्रयोग गरेर अनुवाद गरिएको छ। हामी शुद्धताको लागि प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादहरूमा त्रुटि वा अशुद्धता हुन सक्छ। यसको मूल भाषा मा रहेको मूल दस्तावेज़लाई आधिकारिक स्रोत मानिनुपर्छ। महत्वपूर्ण जानकारीको लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याको लागि हामी जिम्मेवार हुने छैनौं। |