ዝርዝር ሁኔታ:
- ደረጃ 1 የዲጂታል ማስታወቂያ ቦርድ እንዴት ይሠራል?
- ደረጃ 2: የሚያስፈልጉ ነገሮች
- ደረጃ 3 ማሳወቂያዎችን ለማሳየት GUI ዲዛይን
- ደረጃ 4 የ CloudMQTT መለያ ያዋቅሩ
- ደረጃ 5: Raspberry Pi የመጨረሻ ኮድ ተብራርቷል
- ደረጃ 6: ዊንዶውስ ፒሲ GUI:
- ደረጃ 7 የዊንዶውስ ፒሲ የመጨረሻ ኮድ ተብራርቷል
- ደረጃ 8 የዲጂታል ማስታወቂያ ሰሌዳውን ያዋቅሩ
ቪዲዮ: Raspberry Pi እና MQTT ፕሮቶኮል በመጠቀም የዲጂታል ማስታወቂያ ሰሌዳ 8 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:32
የማስታወቂያ ሰሌዳዎች እንደ ቢሮ ፣ ትምህርት ቤቶች ፣ ሆስፒታሎች እና ሆቴሎች ባሉ በሁሉም ቦታዎች ጥቅም ላይ ይውላሉ። አስፈላጊ ማስታወቂያዎችን ለማሳየት ወይም መጪ ዝግጅቶችን ወይም ስብሰባዎችን ለማስተዋወቅ ደጋግመው ሊጠቀሙባቸው ይችላሉ። ግን ማስታወቂያው ወይም ማስታወቂያዎቹ በወረቀት ላይ መታተም እና በማስታወቂያ ሰሌዳዎች ላይ መሰካት አለባቸው።
በዚህ መመሪያ ውስጥ ብዙ ወረቀቶችን እና ቶነር ለማዳን የእኛን የዲጂታል ማስታወቂያ ሰሌዳ በ Raspberry Pi መገንባት እንማር!
ደረጃ 1 የዲጂታል ማስታወቂያ ቦርድ እንዴት ይሠራል?
- የእኛ ዲጂታል ማስታወቂያ ቦርድ ከሆነው ከኤችዲኤምአይ ማሳያ ጋር የተገናኘ Raspberry Pi።
- የዊንዶውስ ፒሲ ማስታወቂያውን በበይነመረብ በኩል በዲጂታል ማስታወቂያ ሰሌዳ ላይ ለማተም ያገለግላል።
- በዊንዶውስ ፒሲ የታተመው ማስታወቂያ በዲጂታል ማሳወቂያ ቦርድ በ CloudMQTT ደላላ በኩል ይቀበላል።
- በዊንዶውስ ፒሲ እና በዲጂታል ማስታወቂያ ቦርድ መካከል ያለው ግንኙነት በ MQTT ፕሮቶኮል የተገኘ ነው።
ደረጃ 2: የሚያስፈልጉ ነገሮች
- Raspberry Pi ከ Rasbian OS ጋር
- ከኤችዲኤምአይ ወደብ ጋር ማሳያ
- ዊንዶውስ ፒሲ
- የበይነመረብ ግንኙነት
- የ CloudMQTT መለያ
ደረጃ 3 ማሳወቂያዎችን ለማሳየት GUI ዲዛይን
ማሳወቂያውን በኤችዲኤምአይ ማሳያ ላይ ለማሳየት አንድ ለ Raspberry Pi እና ሌላ ለዊንዶውስ ፒሲ ማሳወቂያውን ለ Raspberry Pi በ CloudMQTT ደላላ በኩል ማተም አለብን።
የ GUI ንድፍ የዲጂታል ማስታወቂያ ሰሌዳውን በሚያስቀምጡበት ቦታ ላይ የተመሠረተ ነው። ለምሳሌ ፣ ሠራተኞቹ በአዲሱ መረጃ እንዲዘመኑ መጪ ዝግጅቶችን እና ስብሰባዎችን ለማሳየት GUI ን ለመምህራን ጽ / ቤት (ዲዛይነር) ዲዛይን ላድርግ።
በዊንዶውስ ፒሲ ውስጥ GUI ን መንደፍ ቀላል ነው ፣ ስለሆነም በዊንዶውስ ፒሲ ውስጥ የዲጂታል ማስታወቂያ ቦርድ GUI ን ዲዛይን በማድረግ ኮዱን ወደ Raspberry Pi እንገልብጠው።
ሶፍትዌር ያስፈልጋል ፦
አናኮንዳ (ፓይዘን 2.7 ፣ የ Qt ዲዛይነር ጥቅል እና ስፓይደር አይዲኢን ያጠቃልላል)።
Qt ዲዛይነር GUI ን ለመንደፍ የሚያገለግል መሣሪያ ነው። የ Qt ዲዛይነር ውፅዓት የ.ui ፋይል ይሆናል ፣ በኋላ ለተጨማሪ ሂደት ወደ.py ሊቀየር ይችላል።
በቪዲዮው ውስጥ ምን እየሆነ ነው?
- አናኮንዳ ዊንዶውስ ጫኝ ለፓይዘን 2.7 ያውርዱ እና በዊንዶውስ ፒሲ ውስጥ (በመደበኛ የመጫን ሂደት) ውስጥ ይጫኑት።
- ከተጫነ በኋላ የ “Qt Designer” መሣሪያን በ “installation_directory / Library / bin / designer.exe” ውስጥ ማግኘት ይችላሉ (ለእኔ ‹C: / Anaconda2 / Library / bin / designer.exe›)
- ለ “designer.exe” አቋራጭ ይፍጠሩ እና በዴስክቶፕ ላይ ያስቀምጡት።
- "designer.exe" ን ይክፈቱ።
- አዲስ ዋና መስኮት ይፍጠሩ።
- አቀማመጦቹን እና አስፈላጊዎቹን እይታዎች (የጽሑፍ እይታ ፣ የመለያ እይታ ፣ ወዘተ) ይምረጡ እና ያስቀምጡ።
- እንደ Rpi_UI.ui ፋይል አስቀምጥ።
- ወደ.py ፋይል ለመለወጥ የ Rpi_UI.ui ፋይል ባለበት በአሁኑ አቃፊ ውስጥ የ cmd ጥያቄን ይክፈቱ እና የሚከተለውን ትዕዛዝ ይተይቡ
installation_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 ፋይልን በአናኮንዳ ውስጥ በተካተተው በ Spyder IDE ይክፈቱ።
- ስክሪፕቱን ማስኬድ ቀደም ብለን ያዘጋጀነውን GUI ያሳያል።
በመቀጠል ፣ የ CloudMQTT መለያ እናዘጋጃለን።
ደረጃ 4 የ CloudMQTT መለያ ያዋቅሩ
- ይህንን አገናኝ ይጎብኙ።
- በኢሜል አካውንት ይፍጠሩ እና ወደ መለያዎ ይግቡ።
- አዲስ ምሳሌ ይፍጠሩ (እኔ TEST_1 ብዬ ሰይሜዋለሁ)።
- የፈጣን መረጃን ይክፈቱ።
- የአገልጋዩን ፣ የተጠቃሚውን ፣ የይለፍ ቃሉን እና ወደቡን ልብ ይበሉ።
- CloudMQTT Python ሰነድን ይመልከቱ እና ስክሪፕቱን እንደ CloudMQTT.py ያስቀምጡ።
- በሰነዶቹ ውስጥ ያለው የምሳሌ ኮድ የፓሆ ቤተ -መጽሐፍት ፣ የፓሆ መሣሪያን በመጠቀም የፓሆ ፓይዘን ደንበኛን ይጫኑ ፣ የ cmd ጥያቄን እንደ አስተዳዳሪ ይክፈቱ እና የሚከተለውን ትዕዛዝ ያስገቡ።
pip install paho-mqtt
ደረጃ 5: Raspberry Pi የመጨረሻ ኮድ ተብራርቷል
እዚህ ፣ የ RPi_UI.py ፋይልን ከ CloudMQTT.py ጋር በማጣመር እና እንደ RPi_UI.py ያጠራቀምኩበትን መንገድ ላብራራ።
ቤተመጽሐፍት ያስመጡ ፣ ካልተጫነ ይጫኑት።
paho.mqtt.client እንደ mqtt ያስመጡ
urlparse ን ከ PyQt5 አስመጣ QtGui ፣ QtWidgets ፣ QtCore ከ PyQt5።
Googledrivedownloader ን ለመጫን ትዕዛዙን ይጠቀሙ
pip install googledrivedownloader
ተለዋዋጮችን ማስጀመር ፣
icon = "[email protected]"
contestImg = "black" meeting1 = "Meeting1:" venue1 = "Time andvenue1." meeting2 = "Meeting2:" venue2 = "ሰዓት እና ቦታ 2"። meeting3 = "Meet3:" venue3 = "ጊዜ እና ቦታ 3"።
በክፍል Ui_MainWindow ተከታትሏል
ክፍል Ui_MainWindow (ነገር)
def setupUi (ራስ ፣ MainWindow):… def retranslateUi (self, MainWindow):… def _update (self):…
በተግባሩ ማዋቀር ውስጥ የሚከተሉት መስመሮች የ ‹Udate› ተግባርን በመደወል GUI ን በየ 3 ሰከንዶች ያዘምኑ
ራስን ማስተርጎም ዩአይ (ዋና መስኮት)
QtCore. QMetaObject.connectSlotsByName (MainWindow) self.timer = QTimer () self.timer.timeout.connect (self._update) self.timer.start (3000)
የ on_message ተግባሩ ከደብዳቤው መልዕክቱን ይጠብቃል ፣ መልዕክቱ ከተቀበለ በኋላ የጉግል ድራይቭ ተከፋፋይ አገናኝ መታወቂያ በመጠቀም ምስሉን ከጉግል ድራይቭ ያውርዳል እንዲሁም የአለምአቀፍ ተለዋዋጮችን እሴቶች ይለውጣል።
def on_message (ደንበኛ ፣ obj ፣ msg) ፦
ህትመት (str (msg.payload)) ከሆነ (str (msg.payload)): noticeReceived = str (msg.payload) result = re.search ('%1 (.*)%2 (.*)%3 (. *)%4 (.*)%5 (.*)%6 (.*)%7 (.*)%8 '፣ ማሳወቂያ ተቀብሏል) ዓለም አቀፍ ውድድር Img ዓለም አቀፍ ስብሰባ 1 ዓለም አቀፍ ቦታ 1 ዓለም አቀፍ ስብሰባ 2 ዓለም አቀፍ ቦታ 2 ዓለም አቀፍ ስብሰባ 3 ዓለም አቀፍ ቦታ 3 ፋይልId = "" +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 = መንገድ) ውድድርImg = result.group (1) meeting1 = result.group (2) ዌብ 1 = result.group (3) meeting2 = result.group (4) venue2 = result.group (5) meeting3 = result.group (6) venue3 = result.group (7)
ኮዱ 2 ማለቂያ የሌላቸውን ቀለበቶች ያቀፈ ነው ፣
rc = mqttc.loop ()
እና
sys.exit (app.exec_ ())
እነዚህን ቀለበቶች በአንድ ጊዜ ለማሄድ ፣ የክርን ጽንሰ -ሀሳብን ተጠቅሜአለሁ
def sqImport (tId): tId == 0: 1: rc = 0 እያለ rc == 0: rc = mqttc.loop () ህትመት ("rc:" + str (rc)) tId == 1: ሳለ 1: መተግበሪያ = QtWidgets. Q ትግበራ (sys.argv) MainWindow = QtWidgets. QMainWindow () ui = Ui_MainWindow () ui.setupUi (MainWindow) MainWindow.show () sys.exit (app.exec_ ()) threadA = ክር (ዒላማ) = sqImport ፣ args = [0]) threadB = ክር (ዒላማ = sqImport ፣ args = [1]) threadA.start () threadB.start () threadA.join () threadB.join ()
አሪፍ ፣ Raspberry Pi ማዋቀሩን አጠናቅቀናል ፣ ቀጥሎ መልዕክቱን ወደ Raspberry Pi ለማተም GUI ን ለዊንዶውስ ፒሲ እንቀይስ።
ደረጃ 6: ዊንዶውስ ፒሲ GUI:
- ለዊንዶውስ GUI ን ይንደፉ እና እንደ Windows_UI.ui አድርገው ያስቀምጡት።
- ወደ ፓይዘን ፋይል ይለውጡት።
- ከ CloudMQTT.py ፋይል ጋር ያዋህዱት እና እንደ Windows_UI.py አድርገው ያስቀምጡት።
- የዊንዶውስ_UI.py ፋይል ተግባር ከ RPi_UI.py ፋይል ጋር ተመሳሳይ ነው ፣ ብቸኛው ልዩነት የ Windows_UI.py ፋይል መልዕክቱን ሲያተም RPi_UI.py መልዕክቱን ይቀበላል።
ደረጃ 7 የዊንዶውስ ፒሲ የመጨረሻ ኮድ ተብራርቷል
- የ Windows_UI.py ፋይል ከጥቂቶች በስተቀር ሁሉም የ RPi_UI.ui ክፍሎች እና ተግባራት አሉት።
- በ on_message ተግባር ፋንታ መልዕክቱን ለማተም የ on_publish ተግባር አለው።
- በድጋሜ የመተርጎም ተግባር ውስጥ ያለው የሚከተለው ኮድ የአታሚ አዝራሩ አንዴ ጠቅ ከተደረገ በኋላ የህትመት ተግባሩን ይጠራል።
self.pushButton.clicked.connect (ራስን ማተም)
- የህትመት ተግባሩ የጉግል ድራይቭ ሊጋራ የሚችል የአገናኝ መታወቂያ እና የስብሰባውን መረጃ ያጣምራል እና “ማስታወቂያ” በሚለው ርዕስ ስር ያትመዋል።
- ይህ መልእክት በ Raspberry Pi ይቀበላል።
ደረጃ 8 የዲጂታል ማስታወቂያ ሰሌዳውን ያዋቅሩ
- Raspberry Pi ን ከኤችዲኤምአይ ማሳያ ጋር ያገናኙት ፣ የእኔን ሶኒ ቲቪ እንደ ዲጂታል ማስታወቂያ ቦርድ ማሳያ አድርጌዋለሁ።
- በ Raspberry Pi ውስጥ የ RPi_UI.py ፋይልን ያሂዱ።
- በዊንዶውስ ፒሲ ውስጥ የዊንዶውስ_UI.py ፋይልን ያሂዱ።
- የውድድር ምስል የ Google ድራይቭ አገናኝ መታወቂያ እና የስብሰባ ማስታወቂያውን ያስገቡ።
- የህትመት አዝራሩን ጠቅ ያድርጉ።
- አሁን የተዘመነውን የዲጂታል ማስታወቂያ ሰሌዳ በጥቂት ሰከንዶች ውስጥ ማየት ይችላሉ።
ፍንጮች ፦
- የሚፈለገውን የዲጂታል ማስታወቂያ ሰሌዳዎችን ቁጥር መፍጠር ይችላሉ እና ቦርዶች ለተለያዩ ርዕሶች መመዝገብ ይችላሉ።
- የ Windows_UI.py ፋይሉን ተንቀሳቃሽ ለማድረግ ፒሲንታልለር በመጠቀም ፋይሉን ወደ አስፈፃሚ ፋይል መለወጥ ይችላሉ ፣ ይህም በፒሲው ውስጥ አስፈላጊውን ቤተመፃህፍት ሳይጭኑ በማንኛውም የዊንዶውስ ፒሲ ውስጥ ሊሠራ የሚችል ፋይልን ማሄድ ይችላሉ።
አመሰግናለሁ
ሳባሪ ካናን ኤም
የሚመከር:
በብሉቱዝ ቁጥጥር የሚደረግበት መልእክተኛ ኤልሲዲ -- 16x2 ኤልሲዲ -- Hc05 -- ቀላል -- የገመድ አልባ ማስታወቂያ ሰሌዳ - 8 ደረጃዎች
በብሉቱዝ ቁጥጥር የሚደረግበት መልእክተኛ ኤልሲዲ || 16x2 ኤልሲዲ || Hc05 || ቀላል || የገመድ አልባ ማስታወቂያ ቦርድ ፦ …………………………. እባክዎን ለተጨማሪ ቪዲዮዎች የዩቲዩብ ቻናሌን ሰብስክራይብ ያድርጉ …… …………………………………. የማስታወቂያ ሰሌዳው ሰዎችን በአዲስ መረጃ ለማዘመን ያገለግላል ወይም በክፍል ውስጥ ወይም በግማሽ መልእክት ለመላክ ከፈለጉ
Gen4 ULCD-43DCT-CLB ን በመጠቀም የዲጂታል ስዕል ፍሬም 3 ደረጃዎች
Gen4 ULCD-43DCT-CLB ን በመጠቀም የዲጂታል ስዕል ፍሬም ዲጂታል የምስል ፍሬም የማይክሮ ኤስዲ ካርድ መዳረሻ ያላቸውን ምስሎች ማሳየት ይችላል። ይህ ፕሮጀክት 4D Systems ፣ Gen4 uLCD-43DCT-CLB ን ለ ማሳያ ሞጁሉ ይጠቀማል። የዲጂታል ስዕል ፍሬም ለቤት ወይም ለቢሮዎች ማሳያ ሆኖ ሊያገለግል የሚችል ቀላል ፕሮጀክት ነው። ተጠቃሚዎች ማየት ይችላሉ
የገመድ አልባ ማስታወቂያ ሰሌዳ (ብሉቱዝ) - 5 ደረጃዎች (ከስዕሎች ጋር)
የገመድ አልባ የማስታወቂያ ሰሌዳ (ብሉቱዝ) - ሁሉም ነገር ዲጂታል በሆነበት በዚህ ዘመናዊ ዓለም ውስጥ ፣ የተለመደው የማስታወቂያ ሰሌዳ ለምን አዲስ መልክ አያገኝም። ስለዚህ ፣ በብሉቱዝ ቁጥጥር የሚደረግበት የማሳወቂያ ሰሌዳ እንዲሠራ ያስችለናል። እንደ ኮሌጆች/ውስጥ ያሉ ቦርድ
የበይነመረብ ሰዓት - ESP8266 NodeMCU ን ከ NTP ፕሮቶኮል ጋር በመጠቀም - 6 ደረጃዎች ከ OLED ጋር ቀን እና ሰዓት ያሳዩ።
የበይነመረብ ሰዓት - ESP8266 NodeMCU ን ከ NTP ፕሮቶኮል ጋር በመጠቀም ከ OLED ጋር ቀን እና ሰዓት ያሳዩ - ሠላም በዚህ አስተማሪዎች ውስጥ እኛ ከበይነመረቡ ጊዜ የሚያገኝ የበይነመረብ ሰዓት እንሠራለን ስለዚህ ይህ ፕሮጀክት ለማሄድ ምንም RTC አያስፈልገውም ፣ እሱ ብቻ ይፈልጋል የሚሰራ የበይነመረብ ግንኙነት እና ለዚህ ፕሮጀክት esp8266 ያስፈልግዎታል
በስልክ Nodemcu ን በመጠቀም (ለማንኛውም ነገር) IoT የግፊት ማስታወቂያ 5 ደረጃዎች (ከስዕሎች ጋር)
IoT የግፋ ማሳወቂያ Nodemcu ን በስልክ (ለማንኛውም ነገር) በመጠቀም - ለመልዕክቶች ማሳወቂያ መላክ ፣ ኢሜይሎች ያረጁ ናቸው … ስለዚህ በጣም ቀላል እና ቀላል የሆነ አዲስ ነገር እንዲያደርግ ያስችለናል። የውሃ ፓምፕ ደረጃ ፣ የአትክልት ውሃ ማጠጣት ፣ አውቶማቲክ የቤት እንስሳት f