विषयसूची:
- चरण 1: डिजिटल नोटिस बोर्ड कैसे काम करता है?
- चरण 2: आवश्यक चीजें:
- चरण 3: नोटिस प्रदर्शित करने के लिए जीयूआई डिजाइन:
- चरण 4: CloudMQTT खाता सेट करें:
- चरण 5: रास्पबेरी पाई अंतिम कोड समझाया गया:
- चरण 6: विंडोज पीसी जीयूआई:
- चरण 7: विंडोज पीसी फाइनल कोड समझाया गया:
- चरण 8: डिजिटल नोटिस बोर्ड स्थापित करें:
वीडियो: रास्पबेरी पाई और एमक्यूटीटी प्रोटोकॉल का उपयोग करते हुए डिजिटल नोटिस बोर्ड: 8 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:21
कार्यालय, स्कूल, अस्पताल और होटल जैसे लगभग हर जगह नोटिस बोर्ड का उपयोग किया जाता है। महत्वपूर्ण नोटिस प्रदर्शित करने या आने वाली घटनाओं या बैठकों का विज्ञापन करने के लिए उनका बार-बार उपयोग किया जा सकता है। लेकिन नोटिस या विज्ञापनों को एक कागज पर छापकर नोटिस बोर्ड पर चिपकाना होता है।
इस निर्देश में आइए जानें कि रास्पबेरी पाई के साथ हमारे डिजिटल नोटिस बोर्ड का निर्माण बहुत सारे कागजात और टोनर को बचाने के लिए है!
चरण 1: डिजिटल नोटिस बोर्ड कैसे काम करता है?
- एक रास्पबेरी पाई एक एचडीएमआई डिस्प्ले से जुड़ा है जो हमारा डिजिटल नोटिस बोर्ड है।
- इंटरनेट के माध्यम से डिजिटल नोटिस बोर्ड पर नोटिस प्रकाशित करने के लिए एक विंडोज पीसी का उपयोग किया जाता है।
- विंडोज पीसी द्वारा प्रकाशित नोटिस क्लाउडएमक्यूटीटी ब्रोकर के माध्यम से डिजिटल नोटिस बोर्ड द्वारा प्राप्त किया जाता है।
- विंडोज पीसी और डिजिटल नोटिस बोर्ड के बीच संचार एमक्यूटीटी प्रोटोकॉल द्वारा हासिल किया जाता है।
चरण 2: आवश्यक चीजें:
- रासबियन ओएस के साथ रास्पबेरी पाई
- एचडीएमआई पोर्ट के साथ प्रदर्शित करें
- विंडोज पीसी
- इंटरनेट कनेक्शन
- CloudMQTT खाता
चरण 3: नोटिस प्रदर्शित करने के लिए जीयूआई डिजाइन:
हमें 2 जीयूआई डिजाइन करने होंगे, एक रास्पबेरी पाई के लिए एचडीएमआई डिस्प्ले पर नोटिस प्रदर्शित करने के लिए और दूसरा विंडोज पीसी के लिए क्लाउडएमक्यूटीटी ब्रोकर के माध्यम से रास्पबेरी पाई को नोटिस प्रकाशित करने के लिए।
जीयूआई डिजाइन उस स्थान पर निर्भर करता है जहां आप डिजिटल नोटिस बोर्ड लगाने जा रहे हैं। उदाहरण के लिए, मैं आगामी कार्यक्रमों और बैठकों को प्रदर्शित करने के लिए अनुदेशक कार्यालय के लिए एक जीयूआई डिजाइन करता हूं ताकि कर्मचारियों को नवीनतम जानकारी के साथ अद्यतन किया जा सके।
विंडोज पीसी में जीयूआई डिजाइन करना आसान है, तो आइए विंडोज पीसी में डिजिटल नोटिस बोर्ड जीयूआई डिजाइन करें और कोड को रास्पबेरी पाई में कॉपी करें।
सॉफ्टवेयर की आवश्यकता:
एनाकोंडा (जिसमें अजगर 2.7, क्यूटी डिजाइनर पैकेज और स्पाइडर आईडीई शामिल है)।
क्यूटी डिजाइनर जीयूआई डिजाइन करने के लिए इस्तेमाल किया जाने वाला उपकरण है। Qt Designer का आउटपुट एक.ui फ़ाइल होगा, बाद में इसे आगे की प्रक्रिया के लिए.py में परिवर्तित किया जा सकता है।
वीडियो में क्या हो रहा है?:
- अजगर 2.7 के लिए एनाकोंडा विंडोज इंस्टालर डाउनलोड करें और इसे विंडोज पीसी (सामान्य स्थापना प्रक्रिया) में स्थापित करें।
- स्थापना के बाद, आप "installation_directory\Library\bin\designer.exe" में Qt डिज़ाइनर टूल पा सकते हैं (मेरे लिए यह "C:\Anaconda2\Library\bin\designer.exe" है)
- "Designer.exe" के लिए एक शॉर्टकट बनाएं और इसे डेस्कटॉप पर रखें।
- "डिजाइनर.exe" खोलें।
- एक नई मुख्य विंडो बनाएं।
- लेआउट और आवश्यक दृश्य (पाठ दृश्य, लेबल दृश्य, आदि) चुनें और रखें।
- Rpi_UI.ui फ़ाइल के रूप में सहेजें।
- इसे.py फ़ाइल में बदलने के लिए वर्तमान फ़ोल्डर में cmd प्रॉम्प्ट खोलें जहाँ Rpi_UI.ui फ़ाइल मौजूद है और निम्न कमांड टाइप करें
install_directory\Library\bin\pyuic5.bat -x RPi_UI.ui -o RPi_UI.py
मेरे लिए यह, C:\Anaconda2\Library\bin\pyuic5.bat -x RPi_UI.ui -o RPi_UI.py
यह आदेश Rpi_UI.ui फ़ाइल को Rpi_UI.py फ़ाइल में कनवर्ट करेगा और इसे उसी निर्देशिका में रखेगा।
- Rpi_UI.py फ़ाइल को स्पाइडर आईडीई के साथ खोलें जो एनाकोंडा में शामिल है।
- स्क्रिप्ट चलाने से हमारे द्वारा पहले डिज़ाइन किया गया GUI प्रदर्शित होगा।
इसके बाद, हम CloudMQTT खाता सेट करते हैं।
चरण 4: CloudMQTT खाता सेट करें:
- इस लिंक पर जाएं।
- ई-मेल से एक अकाउंट बनाएं और अपने अकाउंट में लॉग इन करें।
- नया उदाहरण बनाएं (मैंने इसे TEST_1 नाम दिया है)।
- इंस्टेंस जानकारी खोलें।
- सर्वर, उपयोगकर्ता, पासवर्ड और पोर्ट पर ध्यान दें।
- CloudMQTT Python Documentation देखें और स्क्रिप्ट को CloudMQTT.py के रूप में सहेजें।
- दस्तावेज़ीकरण में उदाहरण कोड के लिए पाहो लाइब्रेरी की आवश्यकता होती है, पाइप टूल का उपयोग करके पाहो पायथन क्लाइंट स्थापित करें, व्यवस्थापक के रूप में cmd प्रॉम्प्ट खोलें और निम्न कमांड दर्ज करें।
पाइप स्थापित पाहो-mqtt
चरण 5: रास्पबेरी पाई अंतिम कोड समझाया गया:
यहाँ, मैं RPi_UI.py फ़ाइल को CloudMQTT.py के साथ संयोजित करने और इसे RPi_UI.py के रूप में सहेजने का तरीका बताता हूँ।
पुस्तकालयों को आयात करें, अगर यह स्थापित नहीं है तो बस इसे स्थापित करें।
आयात paho.mqtt.client के रूप में mqtt
PyQt5 से urlparse आयात करें PyQt5 से QtGui, QtWidgets, QtCore आयात करें।
googledrivedownloader स्थापित करने के लिए, कमांड का उपयोग करें
पिप googledrivedownloader स्थापित करें
प्रारंभिक चर,
आइकन = "निर्देश-लोगो@2x.png"
प्रतियोगिता आईएमजी = "ब्लैक" मीटिंग1 = "मीटिंग1:" वेन्यू1 = "समय और स्थान1।" बैठक २ = "मीटिंग २:" स्थल २ = "समय और स्थान २।" बैठक ३ = "मीटिंग ३:" स्थल ३ = "समय और स्थान ३।"
Ui_MainWindow वर्ग द्वारा अनुसरण किया गया
कक्षा Ui_MainWindow (वस्तु):
def setupUi(self, MainWindow): … def retranslateUi(self, MainWindow): … def _update(self): …
फंक्शन सेटअप में निम्नलिखित पंक्तियाँ _update फंक्शन को कॉल करके हर 3 सेकंड में GUI को अपडेट करती हैं
self.retranslateUi (मेनविंडो)
QtCore. QMetaObject.connectSlotsByName(MainWindow) self.timer = QTimer() self.timer.timeout.connect(self._update) self.timer.start(3000)
on_message फ़ंक्शन ब्रोकर से संदेश की प्रतीक्षा करता है, एक बार संदेश प्राप्त होने के बाद यह Google ड्राइव से छवि को डाउनलोड करने के लिए Google ड्राइव साझा करने योग्य लिंक आईडी का उपयोग करता है और वैश्विक चर के मूल्यों को भी बदलता है।
def on_message (क्लाइंट, obj, msg):
Print(str(msg.payload)) if(str(msg.payload)): नोटिस प्राप्त = str(msg.payload) परिणाम = re.search('%1(.*)%2(.*)%3(. *)%4(.*)%5(.*)%6(.*)%7(.*)%8', नोटिस प्राप्त) वैश्विक प्रतियोगिताImg वैश्विक बैठक1 वैश्विक स्थल1 वैश्विक बैठक2 वैश्विक स्थल2 वैश्विक बैठक3 वैश्विक स्थल3 फाइलआईडी = "" +result.group(1)+"" path = "/home/pi/Desktop/Instructables/RPi UI/ContestImages/"+result.group(1)+.jpg" gdd.download_file_from_google_drive(file_id = fileId, dest_path= पथ) प्रतियोगिताआईएमजी = परिणाम। समूह (1) बैठक 1 = परिणाम समूह (2) स्थल 1 = परिणाम समूह (3) बैठक 2 = परिणाम समूह (4) स्थल 2 = परिणाम समूह (5) बैठक 3 = परिणाम समूह (6) स्थल3 = परिणाम समूह(7)
कोड में 2 अनंत लूप होते हैं,
आरसी = mqttc.loop ()
तथा
sys.exit (app.exec_ ())
इन लूपों को एक साथ चलाने के लिए, मैंने थ्रेडिंग अवधारणा का उपयोग किया है
def sqImport (tId): यदि tId == 0: जबकि 1: rc = 0 जबकि rc == 0: rc = mqttc.loop () प्रिंट ("आरसी:" + स्ट्र (आरसी)) यदि टीआईडी == 1: जबकि 1: ऐप = QtWidgets. QApplication(sys.argv) MainWindow = QtWidgets. QMainWindow() ui = Ui_MainWindow() ui.setupUi(MainWindow) MainWindow.show() sys.exit(app.exec_()) threadA = थ्रेड (लक्ष्य) = sqImport, args=[0]) थ्रेडबी = थ्रेड (लक्ष्य = sqImport, args=[1]) थ्रेडए.स्टार्ट () थ्रेडबी.स्टार्ट () थ्रेडए.जॉइन () थ्रेडबी.जॉइन ()
कूल, हमने रास्पबेरी पाई सेट अप पूरा कर लिया है, इसके बाद हम रास्पबेरी पाई को संदेश प्रकाशित करने के लिए विंडोज पीसी के लिए जीयूआई डिजाइन करते हैं।
चरण 6: विंडोज पीसी जीयूआई:
- विंडोज़ के लिए GUI डिज़ाइन करें और इसे Windows_UI.ui के रूप में सहेजें।
- इसे एक पायथन फ़ाइल में कनवर्ट करें।
- इसे CloudMQTT.py फ़ाइल के साथ संयोजित करें और इसे Windows_UI.py के रूप में सहेजें।
- Windows_UI.py फ़ाइल का कार्य RPi_UI.py फ़ाइल के समान है, केवल अंतर यह है कि Windows_UI.py फ़ाइल संदेश प्रकाशित करती है जबकि RPi_UI.py संदेश प्राप्त करता है।
चरण 7: विंडोज पीसी फाइनल कोड समझाया गया:
- Windows_UI.py फ़ाइल में कुछ को छोड़कर RPi_UI.ui के सभी वर्ग और कार्य हैं।
- on_message फ़ंक्शन के बजाय, इसमें संदेश प्रकाशित करने के लिए एक on_publish फ़ंक्शन है।
- एक बार PUBLISH बटन पर क्लिक करने के बाद retranslateUi फ़ंक्शन के भीतर निम्न कोड प्रकाशित फ़ंक्शन को कॉल करता है।
self.pushButton.clicked.connect(self.publish)
- पब्लिश फंक्शन गूगल ड्राइव को शेयर करने योग्य लिंक आईडी और मीटिंग की जानकारी को जोड़ता है और इसे "नोटिस" विषय के तहत प्रकाशित करता है।
- यह संदेश रास्पबेरी पाई को प्राप्त होगा।
चरण 8: डिजिटल नोटिस बोर्ड स्थापित करें:
- रास्पबेरी पाई को एचडीएमआई डिस्प्ले से कनेक्ट करें, मैंने अपने सोनी टीवी को डिजिटल नोटिस बोर्ड डिस्प्ले के रूप में इस्तेमाल किया है।
- रास्पबेरी पाई में RPi_UI.py फ़ाइल चलाएँ।
- Windows PC में Windows_UI.py फ़ाइल चलाएँ।
- प्रतियोगिता छवि और मीटिंग घोषणा की Google ड्राइव लिंक आईडी दर्ज करें।
- पब्लिश बटन पर क्लिक करें।
- अब आप कुछ ही सेकंड में अपडेटेड डिजिटल नोटिस बोर्ड देख सकते हैं।
संकेत:
- आप वांछित संख्या में डिजिटल नोटिस बोर्ड बना सकते हैं और बोर्डों को विभिन्न विषयों की सदस्यता दी जा सकती है।
- Windows_UI.py फ़ाइल को पोर्टेबल बनाने के लिए, आप pyinstaller का उपयोग करके फ़ाइल को एक निष्पादन योग्य फ़ाइल में परिवर्तित कर सकते हैं, ताकि आप पीसी में आवश्यक लाइब्रेरी स्थापित किए बिना किसी भी विंडोज पीसी में निष्पादन योग्य फ़ाइल चला सकें।
शुक्रिया
सबरी कन्नन मो
सिफारिश की:
MPL3115A2 के साथ रास्पबेरी पाई का उपयोग करते हुए ऊंचाई, दबाव और तापमान: 6 कदम
MPL3115A2 के साथ रास्पबेरी पाई का उपयोग करते हुए ऊंचाई, दबाव और तापमान: दिलचस्प लगता है। यह इस समय में काफी संभव है जब हम सभी IoT जनरेशन में जा रहे हैं। एक इलेक्ट्रॉनिक्स फ्रीक के रूप में, हम रास्पबेरी पाई के साथ खेल रहे हैं, और इस ज्ञान का उपयोग करके दिलचस्प प्रोजेक्ट बनाने का फैसला किया है। इस परियोजना में, हम
अजगर में SHT25 के साथ रास्पबेरी पाई का उपयोग करते हुए आर्द्रता और तापमान प्रेक्षक: 6 कदम
पायथन में SHT25 के साथ रास्पबेरी पाई का उपयोग करते हुए आर्द्रता और तापमान पर्यवेक्षक: रास्पबेरी पाई के लिए एक उत्साही होने के नाते, हमने इसके साथ कुछ और शानदार प्रयोगों के बारे में सोचा। इस अभियान में, हम एक आर्द्रता और तापमान पर्यवेक्षक बनाएंगे जो रास्पबेरी पाई का उपयोग करके सापेक्ष आर्द्रता और तापमान को मापता है। और SHT25, Humidi
रास्पबेरी पाई का उपयोग करते हुए सरल समय चूक कैमरा: 3 कदम
रास्पबेरी पाई का उपयोग करके सरल समय चूक कैमरा: यह पोस्ट आपको दिखाएगा कि आप रास्पबेरी पाई का उपयोग करके एक साधारण समय चूक कैमरा कैसे बना सकते हैं। संकल्प, अवधि और समय को स्क्रिप्ट में आसानी से अपडेट किया जा सकता है। हमने ESP32-CAM बोर्ड का उपयोग करके कुछ ऐसा ही बनाया है लेकिन रास्पबेरी पाई कैमरा
रास्पबेरी पाई 3 बी में एचडीएमआई के बिना रास्पियन स्थापित करना - रास्पबेरी पाई 3बी के साथ शुरुआत करना - अपना रास्पबेरी पाई सेट करना 3: 6 कदम
रास्पबेरी पाई 3 बी में एचडीएमआई के बिना रास्पियन स्थापित करना | रास्पबेरी पाई 3बी के साथ शुरुआत करना | अपना रास्पबेरी पाई 3 सेट करना: जैसा कि आप में से कुछ लोग जानते हैं कि रास्पबेरी पाई कंप्यूटर काफी शानदार हैं और आप पूरे कंप्यूटर को सिर्फ एक छोटे बोर्ड पर प्राप्त कर सकते हैं। रास्पबेरी पाई 3 मॉडल बी में क्वाड-कोर 64-बिट एआरएम कोर्टेक्स ए 53 है। 1.2 गीगाहर्ट्ज़ पर क्लॉक किया गया। यह पाई 3 को लगभग 50
प्रारंभिक* पाई पर एसपीआई: रास्पबेरी पाई का उपयोग करते हुए एसपीआई 3-अक्ष एक्सेलेरोमीटर के साथ संचार करना: 10 कदम
प्रारंभिक* पाई पर एसपीआई: रास्पबेरी पाई का उपयोग करके एसपीआई 3-अक्ष एक्सेलेरोमीटर के साथ संचार बहुत प्रारंभिक… मुझे भौतिक हुकअप की बेहतर तस्वीरें जोड़ने और कुछ अजीब कोड के माध्यम से काम करने की आवश्यकता है