Mündəricat:
- Addım 1: Rəqəmsal Bildiriş Paneli necə işləyir?
- Addım 2: Lazım olan şeylər:
- Addım 3: Bildirişləri Göstərmək üçün GUI Dizaynı:
- Addım 4: CloudMQTT Hesabı qurun:
- Addım 5: Raspberry Pi Final Kodu Açıqlandı:
- Addım 6: Windows PC GUI:
- Addım 7: Windows PC Son Kodu Açıqlandı:
- Addım 8: Rəqəmsal Bildiriş Paneli qurun:
Video: Raspberry Pi və MQTT Protokolundan istifadə edərək rəqəmsal bildiriş lövhəsi: 8 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Bildiriş lövhələri ofis, məktəblər, xəstəxanalar və otellər kimi demək olar ki, hər yerdə istifadə olunur. Önəmli bildirişləri göstərmək və ya qarşıdan gələn hadisələri və ya görüşləri reklam etmək üçün dəfələrlə istifadə edilə bilər. Ancaq bildiriş və ya reklam kağız üzərində çap olunmalı və lövhələrə yapışdırılmalıdır.
Bu Təlimat kitabında bir çox sənəd və tonerə qənaət etmək üçün Raspberry Pi ilə Rəqəmsal Bildirişlər Lövhəmizi qurmağı öyrənək!
Addım 1: Rəqəmsal Bildiriş Paneli necə işləyir?
- Raspberry Pi, rəqəmsal bildiriş lövhəmiz olan bir HDMI ekranına qoşuldu.
- Bir Windows PC, İnternet üzərindən Rəqəmsal Bildirişlər Lövhəsində elanı dərc etmək üçün istifadə olunur.
- Windows PC tərəfindən yayımlanan bildiriş, Digital Notice Board tərəfindən CloudMQTT brokeri vasitəsi ilə alınır.
- Windows PC ilə Digital Notice Board arasındakı əlaqə MQTT protokolu ilə əldə edilir.
Addım 2: Lazım olan şeylər:
- Rasbian OS ilə Raspberry Pi
- HDMI portu ilə ekran
- Windows kompüter
- İnternet bağlantısı
- CloudMQTT hesabı
Addım 3: Bildirişləri Göstərmək üçün GUI Dizaynı:
Birini Raspberry Pi üçün HDMI Ekranında, digəri isə Windows PC üçün CloudMQTT broker vasitəsilə Raspberry Pi -yə bildiriş göndərmək üçün 2 GUI dizayn etməliyik.
GUI dizaynı, Rəqəmsal Bildiriş Panosunu yerləşdirəcəyiniz yerdən asılıdır. Məsələn, işçilərin ən son məlumatlarla yenilənməsi üçün qarşıdakı hadisələri və görüşləri göstərmək üçün Instructables Office üçün bir GUI dizayn etməyimə icazə verin.
Windows PC -də bir GUI dizayn etmək asandır, buna görə də Windows PC -də Digital Notice Board GUI -ni tərtib edək və kodu Raspberry Pi -yə kopyalayaq.
Proqram tələb olunur:
Anaconda (python 2.7, Qt Designer paketi və Spyder IDE daxildir).
Qt Designer, GUI dizayn etmək üçün istifadə olunan bir vasitədir. Qt Designer -in çıxışı.ui faylı olacaq, sonrakı proses üçün.py -ə çevrilə bilər.
Videoda nə baş verir?:
- Python 2.7 üçün Anaconda Windows Installer proqramını yükləyin və Windows PC -yə quraşdırın (normal quraşdırma prosesi).
- Quraşdırıldıqdan sonra "install_directory / Library / bin / designer.exe" də Qt Designer alətini tapa bilərsiniz (mənim üçün "C: / Anaconda2 / Library / bin / designer.exe")
- "Designer.exe" üçün qısa yol yaradın və onu masaüstünə yerləşdirin.
- "dizayner.exe" faylını açın.
- Yeni bir əsas pəncərə yaradın.
- Layihələri və lazımi görünüşləri seçin və yerləşdirin (mətn görünüşü, etiket görünüşü və s.).
- Rpi_UI.ui faylı olaraq qeyd edin.
- Onu.py faylına çevirmək üçün Rpi_UI.ui faylının mövcud olduğu qovluqda cmd əmrini açın və aşağıdakı əmri yazın.
install_directory / Library / bin / pyuic5.bat -x RPi_UI.ui -o RPi_UI.py
mənim üçün belədir, C: / Anaconda2 / Kitabxana / bin / pyuic5.bat -x RPi_UI.ui -o RPi_UI.py
bu əmr Rpi_UI.ui faylını toRpi_UI.py faylına çevirəcək və eyni qovluğa yerləşdirəcək.
- Anaconda -ya daxil olan Spyder IDE ilə Rpi_UI.py faylını açın.
- Skriptin işə salınması əvvəllər hazırladığımız GUI -ni göstərəcək.
Sonra, CloudMQTT hesabını quraq.
Addım 4: CloudMQTT Hesabı qurun:
- Bu linki ziyarət edin.
- E-poçt ilə bir hesab yaradın və hesabınıza daxil olun.
- Yeni bir nümunə yaradın (TEST_1 olaraq adlandırdım).
- Instance məlumatlarını açın.
- Server, İstifadəçi, Şifrə və Limanı qeyd edin.
- CloudMQTT Python Sənədlərinə baxın və skripti CloudMQTT.py olaraq qeyd edin.
- Sənədlərdəki nümunə kodu üçün paho kitabxanası, pip alətindən istifadə edərək Paho Python Müştərisini quraşdırın, administrator olaraq cmd əmrini açın və aşağıdakı əmri daxil edin.
paho-mqtt quraşdırın
Addım 5: Raspberry Pi Final Kodu Açıqlandı:
Burada, RPi_UI.py faylını CloudMQTT.py ilə necə birləşdirdiyimi və RPi_UI.py olaraq saxladığımı izah edim.
Kitabxanaları idxal edin, əgər quraşdırılmayıbsa, onu quraşdırın
paho.mqtt.client mqtt olaraq idxal edin
PyQt5 -dən urlparse idxal edin QtGui, QtWidgets, Pyqt5 -dən QtCore. QtCore idxal QTimer, QTime idxal etməkdən Thread idxal sys idxal google_drive_downloader -dən idxal GoogleDriveDownloader gdd import os kimi
Googledrivedownloader qurmaq üçün əmrdən istifadə edin
pip googledrivedownloader yükləyin
Dəyişənləri işə salmaq,
icon = "[email protected]"
CompetImg = "qara" görüş1 = "Toplantı1:" məkan1 = "Zaman və məkan1." Meeting2 = "Meeting2:" venue2 = "Time and place2." Meeting3 = "Meeting3:" venue3 = "Zaman və mekan3."
Ui_MainWindow sinfi izlədi
sinif Ui_MainWindow (obyekt):
def setupUi (özünü, MainWindow):… def retranslateUi (özünü, MainWindow):… def _update (özünü):…
SetupUi funksiyasındakı aşağıdakı sətirlər _update funksiyasını çağıraraq GUI -ni hər 3 saniyədə bir yeniləyir
self.retranslateUi (MainWindow)
QtCore. QMetaObject.connectSlotsByName (MainWindow) self.timer = QTimer () self.timer.timeout.connect (self._update) self.timer.start (3000)
On_message funksiyası brokerdən gələn mesajı gözləyir, mesaj alındıqdan sonra google sürücüsünün paylaşılan link identifikatorundan istifadə edərək görüntünü google sürücüsündən yükləyir və qlobal dəyişənlərin dəyərlərini dəyişir
def on_message (müştəri, obj, msg):
print (str (msg.payload)) if (str (msg.payload)): noteReceived = str (msg.payload) result = re.search ('%1 (.*)%2 (.*)%3 (. *)%4 (.*)%5 (.*)%6 (.*)%7 (.*)%8 ', bildiriş Alındı) qlobal yarışmaImg qlobal görüş1 qlobal məkan1 qlobal görüş2 qlobal məkan2 qlobal görüş3 qlobal məkan3 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 = yol) CompetitionImg = result.group (1) Meeting1 = result.group (2) mekan1 = result.group (3) Meeting2 = result.group (4) mekan2 = result.group (5) Meeting3 = result.group (6) yer3 = nəticə. qrup (7)
Kod 2 sonsuz döngədən ibarətdir,
rc = mqttc.loop ()
və
sys.exit (app.exec_ ())
Bu döngələri eyni anda işlətmək üçün Threading konsepsiyasından istifadə etdim
def sqImport (tId): if tId == 0: while 1: rc = 0 while rc == 0: rc = mqttc.loop () print ("rc:" + str (rc)) if 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 = Mövzu (hədəf) = sqImport, args = [0]) threadB = Thread (target = sqImport, args = [1]) threadA.start () threadB.start () threadA.join () threadB.join ()
Sərin, Raspberry Pi quruluşunu tamamladıq, sonra mesajı Raspberry Pi -yə yayımlamaq üçün Windows PC üçün GUI dizayn edək.
Addım 6: Windows PC GUI:
- Windows üçün bir GUI dizayn edin və Windows_UI.ui olaraq qeyd edin.
- Bir python faylına çevirin.
- CloudMQTT.py faylı ilə birləşdirin və Windows_UI.py olaraq qeyd edin.
- Windows_UI.py faylının funksiyası RPi_UI.py faylına bənzəyir, yeganə fərq Windows_UI.py faylının mesajı dərc etməsidir, RPi_UI.py isə mesajı alır.
Addım 7: Windows PC Son Kodu Açıqlandı:
- Windows_UI.py faylı, bir neçə istisna olmaqla, RPi_UI.ui -nin bütün siniflərinə və funksiyalarına malikdir.
- On_message funksiyası əvəzinə mesajı dərc etmək üçün on_publish funksiyası var.
- RetanslateUi funksiyasındakı aşağıdakı kod, YAYIM düyməsini basdıqdan sonra dərc funksiyasını çağırır.
self.pushButton.clicked.connect (self.publish)
- Yayımlama funksiyası, Google sürücüsünün paylaşıla bilən əlaqələndirici kimliyi və görüş məlumatlarını birləşdirir və "bildiriş" mövzusunda dərc edir.
- Bu mesaj Raspberry Pi tərəfindən alınacaq.
Addım 8: Rəqəmsal Bildiriş Paneli qurun:
- Raspberry Pi -ni bir HDMI ekranına bağlayın, Sony TV -ni Rəqəmsal Bildiriş Paneli Ekranı olaraq istifadə etdim.
- Raspberry Pi -də RPi_UI.py faylını işə salın.
- Windows PC -də Windows_UI.py faylını işə salın.
- Bir yarışma şəklinin və görüş anonsunun Google sürücü bağlantısı kimliyini daxil edin.
- PUBLISH düyməsini basın.
- İndi bir neçə saniyə ərzində yenilənmiş Rəqəmsal Bildiriş Panosunu görə bilərsiniz.
Göstərişlər:
- İstədiyiniz sayda rəqəmsal bildiriş lövhəsi yarada bilərsiniz və lövhələr fərqli mövzulara abunə ola bilər.
- Windows_UI.py faylını portativ etmək üçün, pyinstaller istifadə edərək faylı icra edilə bilən bir fayla çevirə bilərsiniz, belə ki, PC -də lazımi kitabxanaları quraşdırmadan istənilən Windows PC -də icra olunan faylı işə sala bilərsiniz.
Çox sağ ol
SABARI KANNAN M
Tövsiyə:
Bluetooth nəzarətli Messenger LCD -- 16x2 LCD -- Hc05 -- Sadə -- Simsiz bildiriş lövhəsi: 8 addım
Bluetooth nəzarətli Messenger LCD || 16x2 LCD || Hc05 || Sadə || Simsiz Bildiriş Paneli: …………………………. Daha çox video üçün YouTube kanalıma ABUNƏ OLUN …… ………………………………… Xəbər lövhəsi insanları yeni məlumatlarla yeniləmək üçün istifadə olunur və ya otaqda və ya yarımda mesaj göndərmək istəyirsinizsə
Simsiz bildiriş lövhəsi (Bluetooth): 5 addım (şəkillərlə)
Simsiz Bildiriş Paneli (Bluetooth): Hər şeyin rəqəmsallaşdırıldığı bu müasir dünyada niyə adi Bildiriş lövhəsi yeni bir görünüşə malik deyil. kolleclərdə olduğu kimi idarə heyəti
Paperclips istifadə edərək evdə hazırlanan çörək lövhəsi: 16 addım
Paperclips istifadə edərək Ev Yapımı Breadboard: Karton içərisinə yerləşdirilən Paperclips istifadə edərək Ev Yapımı Breadboard edirik. Daha sonra Elektronik Bileşenlerimizi Paperclip Raylarına bağlamaq üçün Paperclips istifadə edirik. Buna Paperclip Crimping deyirik. Heç bir lehimə ehtiyac yoxdur! Bunlar ÇOX GÜÇLÜ BAĞLANTILARDIR
PIR, 3D Çaplı Balqabaq və Troll Arduino Uyğun Audio Pranker/praktik zarafat lövhəsi istifadə edərək Halloween Qorxu Maşını .: 5 addım
PIR, 3D Çaplı Balqabaq və Troll Arduino Uyğun Səs Prankeri/praktik zarafat lövhəsi istifadə edərək Halloween Qorxu Maşını: EngineeringShock Electronics şirkətindən Patrick Thomas Mitchell tərəfindən yaradılan və tam olaraq Kickstarter tərəfindən maliyyələşdirilən Troll lövhəsi. Mükafatımı bir neçə həftə erkən aldım ki, bəzi istifadə nümunələri yazım və bir Arduino kitabxanası qurum
Python istifadə edərək Raspberry Pi və AIS328DQTR istifadə edərək sürətlənməni izləyin: 6 addım
Python istifadə edərək Raspberry Pi və AIS328DQTR istifadə edərək Sürətləndirməni izləyin: Sürətləndirmə sonsuzdur, düşünürəm ki, Fizikanın bəzi qanunlarına görə. Sahilə çıxan ən sürətli məxluq, bir anda ən yüksək sürətindən istifadə edərək ovunu tutur