Агуулгын хүснэгт:

Raspberry Pi болон MQTT протоколыг ашигладаг дижитал мэдээллийн самбар: 8 алхам
Raspberry Pi болон MQTT протоколыг ашигладаг дижитал мэдээллийн самбар: 8 алхам

Видео: Raspberry Pi болон MQTT протоколыг ашигладаг дижитал мэдээллийн самбар: 8 алхам

Видео: Raspberry Pi болон MQTT протоколыг ашигладаг дижитал мэдээллийн самбар: 8 алхам
Видео: 5. Установка MQTT Broker на Raspberry Pi. Умный Дом | Room31 2024, Арваннэгдүгээр
Anonim
Image
Image
Raspberry Pi болон MQTT протоколыг ашиглан дижитал мэдээллийн самбар
Raspberry Pi болон MQTT протоколыг ашиглан дижитал мэдээллийн самбар

Мэдээллийн самбарыг оффис, сургууль, эмнэлэг, зочид буудал гэх мэт хаа сайгүй ашигладаг. Тэднийг чухал мэдэгдэл үзүүлэх эсвэл удахгүй болох үйл явдал, уулзалтыг сурталчлахад дахин дахин ашиглаж болно. Гэхдээ мэдэгдэл эсвэл зарыг цаасан дээр хэвлээд зарлалын самбар дээр бэхлэх ёстой.

Энэхүү зааварчилгаанд Raspberry Pi ашиглан дижитал зарлалын самбараа бүтээж, олон цаас, тонер хэмнэхийг сурцгаая!

Алхам 1: Дижитал зарлалын самбар хэрхэн ажилладаг вэ?

Дижитал зарлалын самбар хэрхэн ажилладаг вэ?
Дижитал зарлалын самбар хэрхэн ажилладаг вэ?
  • Raspberry Pi нь манай дижитал зарлалын самбар болох HDMI дэлгэцтэй холбогддог.
  • Windows PC нь интернэтээр дамжуулан дижитал зарлалын самбарт мэдэгдэл нийтлэхэд ашиглагддаг.
  • Windows PC -ээс гаргасан мэдэгдлийг CloudMQTT брокероор дамжуулан Digital Notice Board хүлээн авдаг.
  • Windows PC болон Дижитал Мэдээллийн Зөвлөлийн хоорондох холболтыг MQTT протоколоор гүйцэтгэдэг.

Алхам 2: Шаардлагатай зүйл:

  1. Rasbian OS бүхий Raspberry Pi
  2. HDMI порттой дэлгэц
  3. Windows PC
  4. Интернет холболт
  5. CloudMQTT данс

Алхам 3: Мэдэгдэл харуулах GUI дизайн:

Image
Image
Мэдэгдэл харуулах GUI дизайн
Мэдэгдэл харуулах GUI дизайн

Бид Raspberry Pi -гийн мэдэгдлийг HDMI дэлгэц дээр харуулахын тулд хоёр GUI -ийг зохион бүтээх ёстой бөгөөд нөгөө нь Windows PC -ийн хувьд CloudMQTT брокероор дамжуулан Raspberry Pi -д мэдэгдэл нийтлэх болно.

GUI дизайн нь дижитал зарлалын самбар байрлуулах газраас хамаарна. Жишээлбэл, ажилчдыг хамгийн сүүлийн үеийн мэдээллээр шинэчлэхийн тулд удахгүй болох үйл явдал, уулзалтыг харуулах Instructables Office -ийн GUI -ийг зохион бүтээе.

Windows PC дээр GUI зохион бүтээхэд хялбар байдаг тул Windows PC дээрх Digital Notice Board GUI -ийг зохион бүтээж кодыг Raspberry Pi руу хуулж авцгаая.

Шаардлагатай програм хангамж:

Анаконда (үүнд python 2.7, Qt Designer багц болон Spyder IDE орно).

Qt Designer бол GUI дизайн хийхэд ашигладаг хэрэгсэл юм. Qt Designer -ийн гаралт нь.ui файл байх бөгөөд дараа нь цаашид боловсруулахын тулд.py болгон хөрвүүлж болно.

Видео бичлэг дээр юу болж байна вэ?

  • Python 2.7 -д зориулсан Anaconda Windows Installer програмыг татаж аваад Windows компьютерт суулгаарай (ердийн суулгах процесс).
  • Суулгасны дараа та 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 командыг нээгээд дараах тушаалыг бичнэ үү.

install_directory / Library / bin / pyuic5.bat -x RPi_UI.ui -o RPi_UI.py

миний хувьд энэ нь, C: / Anaconda2 / Номын сан / bin / pyuic5.bat -x RPi_UI.ui -o RPi_UI.py

Энэ тушаал нь Rpi_UI.ui файлыг toRpi_UI.py файл руу хөрвүүлж, ижил директорт байрлуулах болно.

  • Anaconda -д багтсан Spyder IDE ашиглан Rpi_UI.py файлыг нээнэ үү.
  • Скриптийг ажиллуулахад бидний өмнө нь зохион бүтээсэн GUI гарч ирэх болно.

Дараа нь CloudMQTT дансаа тохируулцгаая.

Алхам 4: CloudMQTT данс тохируулах:

Image
Image
  • Энэ линкээр орж үзнэ үү.
  • Имэйлээр акаунт үүсгээд бүртгэлдээ нэвтэрнэ үү.
  • Шинэ жишээ үүсгэх (би үүнийг TEST_1 гэж нэрлэсэн).
  • Instance мэдээллийг нээнэ үү.
  • Сервер, Хэрэглэгч, Нууц үг, Портод анхаарлаа хандуулаарай.
  • CloudMQTT Python Documentation -ийг үзээд скриптийг CloudMQTT.py хэлбэрээр хадгална уу.
  • Баримт бичгийн жишээ код нь paho номын сан, Paho Python Client -ийг pip хэрэгсэл ашиглан суулгаж, cmd командыг администратороор нээж дараах тушаалыг оруулна.

paho-mqtt-ийг суулгах

Алхам 5: Raspberry Pi -ийн эцсийн кодыг тайлбарлав:

Энд би RPi_UI.py файлыг CloudMQTT.py -тэй хослуулан RPi_UI.py болгон хадгалснаа тайлбарлая.

Номын санг импортлох, хэрэв суулгаагүй бол зүгээр л суулгаарай

paho.mqtt.client -ийг mqtt болгон импортлох

PyQt5 -аас urlparse импортлох QtGui, QtWidgets, QtCore PyQt5. QtCore импортлох QTimer, QTime импортлох урсгал

Googledrivedownloader суулгахын тулд командыг ашиглана уу

pip googledrivedownloader суулгах

Хувьсагчдыг эхлүүлэх,

дүрс = "[email protected]"

CompetImg = "black" Meeting1 = "Meeting1:" venue1 = "Цаг ба байр1." Meeting2 = "Уулзалт2:" venue2 = "Цаг ба байр2." Meeting3 = "Meeting3:" venue3 = "Цаг ба байр3."

Ui_MainWindow анги дагаж байна

анги Ui_MainWindow (объект):

def setupUi (өөрөө, MainWindow):… def retranslateUi (өөрөө, MainWindow):… def _update (өөрөө):…

SetupUi функцын дараах мөрүүд _update функцийг дуудаж GUI -ийг 3 секунд тутамд шинэчилдэг

self.retranslateUi (MainWindow)

QtCore. QMetaObject.connectSlotsByName (MainWindow) self.timer = QTimer () self.timer.timeout.connect (self._update) self.timer.start (3000)

On_message функц нь брокероос ирсэн мессежийг хүлээдэг бөгөөд зурвасыг хүлээн авмагц Google драйваас зургийг google drive хуваалцах холбоос ID ашиглан татаж аваад дэлхийн хувьсагчдын утгыг өөрчилдөг

def on_message (үйлчлүүлэгч, obj, msg):

print (str (msg.payload)) if (str (msg.payload)): noteReceived = str (msg.payload) result = дахин хайх ('%1 (.*)%2 (.*)%3 (. *)%4 (.*)%5 (.*)%6 (.*)%7 (.*)%8 ', мэдэгдэл Хүлээн авсан) дэлхийн уралдаан Imm дэлхийн уулзалт1 дэлхийн газар 1 дэлхийн уулзалт2 дэлхийн уулзалт2 дэлхийн уулзалт2 дэлхийн уулзалт3 дэлхийн байр3 fileId = "" +result.group (1)+"" path = "/home/pi/Desktop/Instructables/RPi UI/ContestImages/"+result.group (1)+". jpg" gdd.download_from_google_drive (file_id = fileId, dest_path = зам) CompetImg = result.group (1) уулзалт1 = үр дүн.group (2) байр1 = үр дүн.group (3) уулзалт2 = үр дүн.group (4) байр2 = үр дүн.group (5) уулзалт3 = үр дүн.group (6) байр 3 = үр дүн. бүлэг (7)

Код нь 2 хязгааргүй гогцооноос бүрдэнэ

rc = mqttc.loop ()

ба

sys.exit (app.exec_ ())

Эдгээр гогцоог нэгэн зэрэг ажиллуулахын тулд би Threading гэсэн ойлголтыг ашигласан

def sqImport (tId): if tId == 0: while 1: rc = 0 байхад rc == 0: rc = mqttc.loop () хэвлэх ("rc:" + str (rc)) хэрэв tId == 1: while 1: app = QtWidgets. QApplication (sys.argv) MainWindow = QtWidgets. QMainWindow () ui = Ui_MainWindow () ui.setupUi (MainWindow) MainWindow.show () sys.exit (app.exec_ ()) threadA = Thread (зорилтот = sqImport, args = [0]) threadB = Thread (target = sqImport, args = [1]) threadA.start () threadB.start () threadA.join () threadB.join ()

Гайхалтай, бид Raspberry Pi -ийн тохиргоог хийж дуусгасан бөгөөд дараа нь Raspberry Pi руу мессеж нийтлэхийн тулд Windows PC -ийн GUI -ийг боловсруулцгаая.

Алхам 6: Windows PC GUI:

Windows PC GUI
Windows PC GUI
  • Windows -д зориулсан GUI зохиож Windows_UI.ui хэлбэрээр хадгална уу.
  • Үүнийг python файл болгон хөрвүүлэх.
  • Үүнийг CloudMQTT.py файлтай хослуулан Windows_UI.py хэлбэрээр хадгална уу.
  • Windows_UI.

Алхам 7: Windows PC -ийн эцсийн кодыг тайлбарлав:

  • Windows_UI.py файл нь цөөн хэдээс бусад RPi_UI.ui -ийн бүх анги, функцтэй.
  • On_message функцийн оронд мессежийг нийтлэх on_publish функцтэй.
  • RetanslateUi функцын дараах код нь PUBLISH товчлуурыг дарахад нийтлэх функцийг дуудна.

self.pushButton.clicked.connect (өөрөө хэвлэх)

  • Нийтлэх функц нь google drive хуваалцах холбоос ID болон уулзалтын мэдээллийг нэгтгэж, "мэдэгдэл" сэдвийн дор нийтэлдэг.
  • Энэ мессежийг Raspberry Pi хүлээн авах болно.

Алхам 8: Дижитал мэдэгдлийн самбарыг тохируулна уу

  • Raspberry Pi -г HDMI дэлгэцтэй холбоно уу, би Sony телевизээ дижитал самбарын дэлгэц болгон ашиглаж байсан.
  • Raspi Pi дээр RPi_UI.py файлыг ажиллуулна уу.
  • Windows PC дээр Windows_UI.py файлыг ажиллуулна уу.
  • Уралдааны зураг болон уулзалтын зарын Google драйвын холбоосын ID оруулна уу.
  • PUBLISH товчийг дарна уу.
  • Одоо та хэдхэн секундын дотор шинэчилсэн дижитал зарлалын самбарыг харах боломжтой боллоо.

Зөвлөмж:

  • Та хүссэн тооны дижитал самбарыг үүсгэж, самбарыг өөр өөр сэдвээр захиалах боломжтой.
  • Windows_UI.

Баярлалаа

САБАРИ КАННАН М.

Зөвлөмж болгож буй: