व्हिक्ट्रॉन एनर्जी रिमोटGPIO कम्युनिकेशन मॉड्यूल

उत्पादन माहिती
तपशील
- उत्पादनाचे नाव: रिमोटजीपीआयओ कम्युनिकेशन मॉड्यूल
- सुसंगतता: व्हिक्ट्रॉनच्या व्हीनस ओएससह कार्य करते.
- आर्किटेक्चर: कोर इंजिन आणि कम्युनिकेशन मॉड्यूल्स
- कम्युनिकेशन प्रोटोकॉल: एमक्यूटीटी, मॉडबस, इ.
- स्थानिक एमक्यूटीटी ब्रोकर: लोकलहोस्ट:१८८३
हे दस्तऐवज रिमोटजीपीआयओ ड्रायव्हर आर्किटेक्चरचे वर्णन करते आणि व्हिक्ट्रॉनच्या व्हीनस ओएससह कोणत्याही आय/ओ डिव्हाइसला एकत्रित करण्यासाठी कस्टम कम्युनिकेशन मॉड्यूल कसे विकसित करायचे ते स्पष्ट करते.
सिस्टम आर्किटेक्चर
स्थिरता आणि मॉड्यूलरिटी सुनिश्चित करण्यासाठी रिमोटजीपीआयओ सिस्टम दोन वेगवेगळ्या भागांमध्ये डिझाइन केली आहे:
- कोअर इंजिन (dbus-rgpio.py): हे सिस्टमचे हृदय आहे, जे सतत चालणारी सेवा म्हणून काम करते. त्याला विशिष्ट हार्डवेअर प्रोटोकॉलबद्दल काहीही माहिती नाही. त्याच्या एकमेव जबाबदाऱ्या आहेत:
- व्हर्च्युअल GPIO साठी कर्नल मॉड्यूल व्यवस्थापित करणे.
- डी-बस सेवा तयार करणे आणि व्यवस्थापित करणे (com.victronenergy.switch.*).
- इतर व्हीनस ओएस सेवांद्वारे डिजिटल इनपुट डिस्कव्हरीसाठी /run/io-ext/ रचना तयार करणे.
- मॉड्यूल्सशी संवाद साधण्यासाठी एक साधे अंतर्गत MQTT API प्रदान करणे.
- कम्युनिकेशन मॉड्यूल्स (उदा., dingtian_mqtt_bridge.py): हे स्वतंत्र स्क्रिप्ट आहेत, प्रत्येक स्क्रिप्ट स्वतःच्या सेवेप्रमाणे चालते. कम्युनिकेशन मॉड्यूल यासाठी जबाबदार असते:
- विशिष्ट हार्डवेअरशी (उदा. डिंगटियन, वेव्हशेअर) त्याच्या मूळ प्रोटोकॉल (एमक्यूटीटी, मॉडबस, इ.) वापरून संवाद साधणे.
- हार्डवेअर स्टेट्सचे API मध्ये भाषांतर करण्यासाठी कोअर इंजिनची आवश्यकता असते.
- कोअर इंजिनमधील API कमांडचे हार्डवेअर कमांडमध्ये भाषांतर करणे.
File रचना आणि सेवा व्यवस्थापन
नवीन कम्युनिकेशन मॉड्यूल एकत्रित करण्यासाठी, तुम्हाला ही रचना आणि कॉन्फिगरेशन पाळावे लागेल.
A. File स्थाने
- मॉड्यूल स्क्रिप्ट: तुमची पायथॉन स्क्रिप्ट /data/RemoteGPIO/modules/ मध्ये ठेवली पाहिजे.
- कॉन्फिगरेशन File: तुमच्या मॉड्यूलचे .ini file /data/RemoteGPIO/conf/ मध्ये असणे आवश्यक आहे.
- सेवा निर्देशिका: तुमची डेमंटूल्स सेवा व्याख्या /service/ मध्ये असणे आवश्यक आहे. उदा.ampतर, my_new_bridge नावाच्या नवीन मॉड्यूलची सेवा/service/my_new_bridge वर असेल.
ब. setup_rgpio सह सेवा नियंत्रण
setup_rgpio.py मॉड्यूल व्हीनस ओएस GUI वरून थेट संप्रेषण मॉड्यूल सुरू करण्याचा आणि थांबवण्याचा वापरकर्ता-अनुकूल मार्ग प्रदान करतो. तुमचे मॉड्यूल नियंत्रित करण्यायोग्य बनवण्यासाठी, तुम्ही ते /data/RemoteGPIO/conf/setup_rgpio.ini मध्ये जोडणे आवश्यक आहे.
Example: रिले ४ द्वारे नियंत्रित my_new_bridge नावाचे नवीन मॉड्यूल जोडण्यासाठी, तुम्ही setup_rgpio.ini खालीलप्रमाणे संपादित कराल:
रिले४ = माझे नवीन मॉड्यूल
सेवा४ = माझा_नवीन_पुल
- रिले४: हे त्या रिलेसाठी व्हीनस ओएस जीयूआय मध्ये दिसणारे अनुकूल नाव आहे.
- सेवा४: हे /service/ मधील तुमच्या सेवा निर्देशिकेचे नेमके नाव आहे.
जेव्हा वापरकर्ता GUI मध्ये “Relay 4” टॉगल करतो, तेव्हा setup_rgpio मॉड्यूल svc -u /service/my_new_bridge (सुरू करण्यासाठी) किंवा svc -d /service/my_new_bridge (थांबवण्यासाठी) कार्यान्वित करेल.
अंतर्गत API तपशील
(MQTT द्वारे)
कोअर इंजिनशी सर्व संवाद स्थानिक MQTT ब्रोकर द्वारे localhost:1883 वर केला जातो.
अ. डिव्हाइस नोंदणी आणि नोंदणी रद्द करणे
हा सर्वात महत्त्वाचा कॉल आहे. तो कोअर इंजिनला सांगतो की डिव्हाइस अस्तित्वात आहे आणि ते कसे कॉन्फिगर केले आहे.
- विषय: rgpio/api/डिव्हाइस/रजिस्टर/
- नोंदणीसाठी पेलोड: डिव्हाइसचे वर्णन करणारी JSON स्ट्रिंग.
- नोंदणी रद्द करण्यासाठी पेलोड: “UNREGISTER” ही स्ट्रिंग.
Example: डिव्हाइसची नोंदणी करणे
४ इनपुट आणि ८ रिले असलेल्या सिरीयल MYDEVICE_001 सह नवीन डिव्हाइसची नोंदणी करण्यासाठी:
- विषय: rgpio/api/डिव्हाइस/रजिस्टर/MYDEVICE_001
- पेलोड: {“सिरियल”: “MYDEVICE_001”, “num_inputs”: “4”, “num_relays”: “8”, “device_instance”: “260”}
- रिटेन फ्लॅग: खरे असले पाहिजे.
हे मिळाल्यावर, कोअर इंजिन हे करेल:
- डी-बस सेवा com.victronenergy.switch.MYDEVICE_001 तयार करा.
- योग्य सिमलिंक्स वापरून /run/io-ext/MYDEVICE_001 ही निर्देशिका तयार करा.
Example: डिव्हाइसची नोंदणी रद्द करणे
जेव्हा तुमचे मॉड्यूल सुबकपणे बंद होते तेव्हा हे केले पाहिजे.
- विषय: rgpio/api/डिव्हाइस/रजिस्टर/MYDEVICE_001
- पेलोड: “नोंदणी रद्द करा”
- रिटेन फ्लॅग: खरे असले पाहिजे.
ब. डिव्हाइस स्थिती (कनेक्शन)
हे कोअर इंजिनला सांगते की कम्युनिकेशन मॉड्यूल भौतिक हार्डवेअरशी सक्रियपणे जोडलेले आहे का. हे डी-बस सेवेतील /State आणि /Connected पथ अद्यतनित करते.
- विषय: rgpio/api/डिव्हाइस/स्टेटस/
- पेलोड: “कनेक्ट केलेले” किंवा “डिस्कनेक्ट केलेले”.
- रिटेन फ्लॅग: खरे असले पाहिजे.
Example: डिव्हाइस कनेक्ट केलेले म्हणून चिन्हांकित करणे
- विषय: rgpio/api/डिव्हाइस/स्टेटस/MYDEVICE_001
- पेलोड: “कनेक्टेड”
C. डिजिटल इनपुट (मॉड्यूल -> इंजिन)
हे संप्रेषण एकतर्फी आहे: तुमच्या मॉड्यूलपासून थेट Linux कर्नलच्या sysfs पर्यंत. ते MQTT API वापरत नाही.
जेव्हा तुमचे मॉड्यूल भौतिक इनपुटमध्ये बदल शोधते, तेव्हा ते कोअर इंजिनने तयार केलेल्या सिमलिंकवर नवीन स्थिती (OFF साठी 0, ON साठी 1) लिहावे.
Example: इनपुट २ अपडेट करत आहे
तुमच्या मॉड्यूलला MYDEVICE_001 मधील इनपुट २ चालू असल्याचे आढळले.
- लिहिण्याचा मार्ग /run/io-ext/MYDEVICE_001/input_2 आहे.
- लिहिण्यासाठी मूल्य "1" आहे.
- लिहिण्यासाठी तुम्ही sysfs नियमांचे पालन केले पाहिजे:

D. रिले कमांड (इंजिन -> मॉड्यूल)
अशाप्रकारे कोअर इंजिन तुमच्या मॉड्यूलला भौतिक रिलेची स्थिती बदलण्यास सांगते.
तुमच्या मॉड्यूलने या विषयावर सदस्यता घेतली पाहिजे.
- विषय: rgpio/api/रिले/सेट/ / (१-आधारित)
- पेलोड: “चालू” किंवा “बंद”
Example: रिले ४ चालू करण्याची आज्ञा
- विषय: rgpio/api/relay/set/MYDEVICE_001/4
- पेलोड: “चालू”
तुमच्या मॉड्यूलला हा संदेश मिळेल आणि तो तुमच्या हार्डवेअरसाठी योग्य कमांडमध्ये अनुवादित करावा लागेल.
ई. रिले स्टेट फीडबॅक (मॉड्यूल -> इंजिन)
हे तुमच्या मॉड्यूलला रिलेच्या वास्तविक स्थितीची माहिती कोर इंजिनला देण्यास अनुमती देते, उदा.ampकिंवा, जर ते डिव्हाइसवरच मॅन्युअली बदलले असेल तर.
- विषय: rgpio/api/डिव्हाइस/रिले/रीड/ / (१-आधारित)
- पेलोड: “चालू” किंवा “बंद”
Example: रिले १ आता बंद आहे असे कळवणे
- विषय: rgpio/api/डिव्हाइस/रिले/रीड/MYDEVICE_001/1
- पेलोड: “बंद”
कोअर इंजिन हे प्राप्त करेल आणि DBus मधील /SwitchableOutput/relay_1/State पथ 0 वर अपडेट करेल.
F. रिले नावे सेट करणे (पर्यायी)
तुमचा मॉड्यूल व्हीनस ओएस जीयूआय मध्ये दिसणाऱ्या रिलेची डीफॉल्ट नावे सेट करू शकतो.
- विषय: rgpio/api/डिव्हाइस/ /रिले_ (१-आधारित)
- पेलोड: इच्छित नाव (स्ट्रिंग).
Exampले: रिले १ ला "वॉटर पंप" असे नाव देणे
- विषय: rgpio/api/device/MYDEVICE_001/Relay_1
- पेलोड: "वॉटर पंप"
हे DBus मधील /SwitchableOutput/relay_1/Name पथ अपडेट करेल.
वारंवार विचारले जाणारे प्रश्न
मी नवीन कम्युनिकेशन मॉड्यूल कसे जोडू?
नवीन कम्युनिकेशन मॉड्यूल जोडण्यासाठी, खालील गोष्टींचे अनुसरण करा file setup_rgpio.ini मध्ये मॉड्यूलची रचना मार्गदर्शक तत्त्वे आणि कॉन्फिगर करा.
मी कोअर इंजिनमध्ये नवीन डिव्हाइस कसे नोंदणीकृत करू शकतो?
मी कोअर इंजिनमध्ये नवीन डिव्हाइस कसे नोंदणीकृत करू शकतो?
कागदपत्रे / संसाधने
![]() |
व्हिक्ट्रॉन एनर्जी रिमोटGPIO कम्युनिकेशन मॉड्यूल [pdf] सूचना रिमोटजीपीआयओ कम्युनिकेशन मॉड्यूल, रिमोटजीपीआयओ, कम्युनिकेशन मॉड्यूल, मॉड्यूल |

