Mục lục:
- Bước 1: Bảng thông báo kỹ thuật số hoạt động như thế nào?
- Bước 2: Những điều cần thiết:
- Bước 3: Thiết kế GUI để hiển thị thông báo:
- Bước 4: Thiết lập tài khoản CloudMQTT:
- Bước 5: Giải thích mã cuối cùng của Raspberry Pi:
- Bước 6: Windows PC GUI:
- Bước 7: Giải thích mã cuối cùng của Windows PC:
- Bước 8: Thiết lập Bảng thông báo kỹ thuật số:
Video: Bảng thông báo kỹ thuật số sử dụng giao thức Raspberry Pi và MQTT: 8 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
Bảng thông báo hầu như được sử dụng ở mọi nơi, chẳng hạn như văn phòng, trường học, bệnh viện và khách sạn. Chúng có thể được sử dụng nhiều lần để hiển thị các thông báo quan trọng hoặc quảng cáo các sự kiện hoặc cuộc họp sắp tới. Nhưng thông báo hoặc quảng cáo phải được in trên giấy và ghim trên bảng thông báo.
Trong phần Có thể hướng dẫn này, hãy cùng tìm hiểu cách xây dựng Bảng thông báo kỹ thuật số của chúng tôi với Raspberry Pi để tiết kiệm nhiều giấy tờ và mực in!
Bước 1: Bảng thông báo kỹ thuật số hoạt động như thế nào?
- Raspberry Pi được kết nối với Màn hình HDMI là Bảng thông báo kỹ thuật số của chúng tôi.
- Máy tính Windows được sử dụng để xuất bản thông báo trên Bảng thông báo kỹ thuật số thông qua internet.
- Thông báo do Windows PC xuất bản sẽ được Bảng thông báo kỹ thuật số nhận được thông qua nhà môi giới CloudMQTT.
- Giao tiếp giữa PC Windows và Bảng thông báo kỹ thuật số được thực hiện bằng giao thức MQTT.
Bước 2: Những điều cần thiết:
- Raspberry Pi với Hệ điều hành Rasbian
- Hiển thị với cổng HDMI
- Windows PC
- Kết nối Internet
- Tài khoản CloudMQTT
Bước 3: Thiết kế GUI để hiển thị thông báo:
Chúng tôi phải thiết kế 2 GUI, một cho Raspberry Pi để hiển thị thông báo trên Màn hình HDMI và một cho Windows PC để xuất bản thông báo lên Raspberry Pi thông qua nhà môi giới CloudMQTT.
Thiết kế GUI phụ thuộc vào nơi bạn sắp đặt Bảng thông báo kỹ thuật số. Ví dụ: hãy để tôi thiết kế GUI cho Văn phòng hướng dẫn để hiển thị các sự kiện và cuộc họp sắp tới để các nhân viên có thể được cập nhật thông tin mới nhất.
Thật dễ dàng để thiết kế GUI trong PC chạy Windows, vì vậy hãy để chúng tôi thiết kế GUI Bảng thông báo kỹ thuật số trong PC Windows và sao chép mã vào Raspberry Pi.
Phần mềm yêu cầu:
Anaconda (bao gồm python 2.7, gói Qt Designer và Spyder IDE).
Qt Designer là công cụ được sử dụng để thiết kế GUI. Đầu ra của Qt Designer sẽ là tệp.ui, sau này nó có thể được chuyển đổi thành.py để xử lý tiếp.
Điều gì đang xảy ra trong video ?:
- Tải xuống Anaconda Windows Installer cho python 2.7 và cài đặt nó trong PC Windows (quá trình cài đặt bình thường).
- Sau khi cài đặt, bạn có thể tìm thấy công cụ Qt Designer trong "install_directory / Library / bin / Designer.exe" (đối với tôi đó là "C: / Anaconda2 / Library / bin / Designer.exe")
- Tạo một lối tắt cho "Designer.exe" và đặt nó trên màn hình nền.
- mở "Designer.exe".
- Tạo một cửa sổ chính mới.
- Chọn và đặt các bố cục và các chế độ xem cần thiết (chế độ xem văn bản, chế độ xem nhãn, v.v.).
- Lưu dưới dạng tệp Rpi_UI.ui.
- Để chuyển đổi nó thành tệp.py, hãy mở dấu nhắc cmd trong thư mục hiện tại nơi tệp Rpi_UI.ui tồn tại và gõ lệnh sau
install_directory / Library / bin / pyuic5.bat -x RPi_UI.ui -o RPi_UI.py
Đối với tôi nó là, C: / Anaconda2 / Library / bin / pyuic5.bat -x RPi_UI.ui -o RPi_UI.py
lệnh này sẽ chuyển đổi tệp Rpi_UI.ui thành tệp Rpi_UI.py và đặt nó trong cùng một thư mục.
- Mở tệp Rpi_UI.py bằng Spyder IDE được bao gồm trong Anaconda.
- Chạy script sẽ hiển thị GUI mà chúng tôi đã thiết kế trước đó.
Tiếp theo, chúng ta hãy thiết lập tài khoản CloudMQTT.
Bước 4: Thiết lập tài khoản CloudMQTT:
- Truy cập liên kết này.
- Tạo một tài khoản với E-mail và đăng nhập vào tài khoản của bạn.
- Tạo phiên bản mới (tôi đặt tên là TEST_1).
- Mở thông tin Phiên bản.
- Ghi lại Máy chủ, Người dùng, Mật khẩu và Cổng.
- Tham khảo Tài liệu Python của CloudMQTT và lưu tập lệnh dưới dạng CloudMQTT.py.
- Mã ví dụ trong tài liệu yêu cầu thư viện paho, Cài đặt Paho Python Client bằng công cụ pip, mở dấu nhắc cmd với tư cách quản trị viên và nhập lệnh sau.
pip cài đặt paho-mqtt
Bước 5: Giải thích mã cuối cùng của Raspberry Pi:
Sau đây, hãy để tôi giải thích cách tôi kết hợp tệp RPi_UI.py với CloudMQTT.py và lưu nó dưới dạng RPi_UI.py.
Nhập thư viện, nếu nó chưa được cài đặt, chỉ cần cài đặt nó
nhập paho.mqtt.client dưới dạng mqtt
nhập urlparse từ PyQt5 nhập QtGui, QtWidgets, QtCore từ PyQt5. QtCore nhập QTimer, QTime từ nhập phân luồng Hệ thống nhập chuỗi nhập lại từ google_drive_downloader nhập GoogleDriveDownloader dưới dạng hệ điều hành nhập gdd
Để cài đặt googledrivedownloader, hãy sử dụng lệnh
pip cài đặt googledrivedownloader
Khởi tạo các biến,
icon = "[email protected]"
ContestImg = "black" meeting1 = "Meeting1:" venue1 = "Thời gian và địa điểm1." meeting2 = "Meeting2:" venue2 = "Thời gian và địa điểm2." meeting3 = "Meeting3:" venue3 = "Thời gian và địa điểm3."
Tiếp theo là lớp Ui_MainWindow
lớp Ui_MainWindow (đối tượng):
def setupUi (self, MainWindow):… def retranslateUi (self, MainWindow):… def _update (self):…
Các dòng sau trong thiết lập chức năng Tôi cập nhật GUI cứ 3 giây một lần bằng cách gọi hàm _update
self.retranslateUi (MainWindow)
QtCore. QMetaObject.connectSlotsByName (MainWindow) self.timer = QTimer () self.timer.timeout.connect (self._update) self.timer.start (3000)
Hàm on_message đợi thông báo từ nhà môi giới, sau khi nhận được thông báo, nó sẽ tải hình ảnh từ google drive xuống bằng cách sử dụng ID liên kết có thể chia sẻ của google drive và cũng thay đổi giá trị của các biến toàn cục
def on_message (client, obj, msg):
print (str (msg.payload)) if (str (msg.payload)): notificationReceive = str (msg.payload) result = re.search ('% 1 (. *)% 2 (. *)% 3 (. *)% 4 (. *)% 5 (. *)% 6 (. *)% 7 (. *)% 8 ', thông báoNhận xét) cuộc thi toàn cầuImg cuộc họp toàn cầu1 địa điểm toàn cầu1 cuộc họp toàn cầu2 địa điểm toàn cầu2 cuộc họp toàn cầu3 địa điểm toàn cầu3 fileId = "" + result.group (1) + "" path = "/ home / pi / Desktop / Guiductables / RPi UI / ContestImages /" + result.group (1) + ". jpg" gdd.download_file_from_google_drive (file_id = fileId, dest_path = path) thiImg = result.group (1) meeting1 = result.group (2) venue1 = result.group (3) meeting2 = result.group (4) venue2 = result.group (5) meeting3 = result.group (6) Location3 = result.group (7)
Mã bao gồm 2 vòng lặp vô hạn,
rc = mqttc.loop ()
và
sys.exit (app.exec_ ())
Để chạy đồng thời các vòng lặp này, tôi đã sử dụng khái niệm Luồng
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 = Thread (target = sqImport, args = [0]) threadB = Thread (target = sqImport, args = [1]) threadA.start () threadB.start () threadA.join () threadB.join ()
Tuyệt vời, chúng tôi đã hoàn thành thiết lập Raspberry Pi, tiếp theo hãy thiết kế GUI cho Windows PC để xuất bản thông báo tới Raspberry Pi.
Bước 6: Windows PC GUI:
- Thiết kế GUI cho các cửa sổ và lưu nó dưới dạng Windows_UI.ui.
- Chuyển đổi nó thành một tệp python.
- Kết hợp nó với tệp CloudMQTT.py và lưu nó dưới dạng Windows_UI.py.
- Chức năng của tệp Windows_UI.py tương tự như tệp RPi_UI.py, điểm khác biệt duy nhất là tệp Windows_UI.py xuất bản thông báo trong khi RPi_UI.py nhận thông báo.
Bước 7: Giải thích mã cuối cùng của Windows PC:
- Tệp Windows_UI.py có tất cả các lớp và chức năng của RPi_UI.ui ngoại trừ một số ít.
- Thay vì hàm on_message, nó có một hàm on_publish để xuất bản tin nhắn.
- Đoạn mã sau trong hàm retranslateUi gọi hàm xuất bản sau khi bấm vào nút PUBLISH.
self.pushButton.clicked.connect (self.publish)
- Chức năng xuất bản kết hợp ID liên kết có thể chia sẻ của google drive và thông tin cuộc họp và xuất bản nó theo chủ đề "thông báo".
- Raspberry Pi sẽ nhận được thông báo này.
Bước 8: Thiết lập Bảng thông báo kỹ thuật số:
- Kết nối Raspberry Pi với màn hình HDMI, tôi đã sử dụng TV Sony của mình làm Màn hình bảng thông báo kỹ thuật số.
- Chạy tệp RPi_UI.py trong Raspberry Pi.
- Chạy tệp Windows_UI.py trong PC Windows.
- Nhập ID liên kết Google drive của hình ảnh cuộc thi và thông báo cuộc họp.
- Nhấp vào nút XUẤT BẢN.
- Bây giờ bạn có thể thấy Bảng thông báo kỹ thuật số được cập nhật trong vòng vài giây.
Gợi ý:
- Bạn có thể tạo số lượng Bảng thông báo kỹ thuật số mong muốn và các Bảng có thể được đăng ký cho các Chủ đề khác nhau.
- Để làm cho tệp Windows_UI.py có thể di động, bạn có thể chuyển đổi tệp thành tệp thực thi bằng pyinstaller, để bạn có thể chạy tệp thực thi trong bất kỳ PC Windows nào mà không cần cài đặt các thư viện bắt buộc trong PC.
Cảm ơn bạn
SABARI KANNAN M
Đề xuất:
Đánh thức tôi - Đồng hồ báo thức thông minh: 6 bước
Wake Me Up - Đồng hồ báo thức thông minh: Hãy đánh thức tôi là một chiếc đồng hồ báo thức thông minh cũng có thể được sử dụng như một chiếc đèn thông minh. Đèn led tích hợp mô phỏng ánh sáng tự nhiên chiếu vào phòng của bạn. Điều này cho phép bạn bắt đầu ngày mới một cách bình tĩnh và tự nhiên. Đồng hồ báo thức cũng được trang bị segme 4 * 7
Đồng hồ báo thức thông minh: Đồng hồ báo thức thông minh được làm bằng Raspberry Pi: 10 bước (có hình ảnh)
Đồng hồ báo thức thông minh: Đồng hồ báo thức thông minh được làm bằng Raspberry Pi: Bạn đã bao giờ muốn có một chiếc đồng hồ thông minh chưa? Nếu vậy, đây là giải pháp cho bạn! Tôi đã làm Đồng hồ báo thức thông minh, đây là đồng hồ mà bạn có thể thay đổi thời gian báo thức theo trang web. Khi chuông báo thức kêu, sẽ có một âm thanh (còi) và 2 đèn sẽ
Hệ thống thông báo mã thông báo: 5 bước
Hệ thống thông báo mã thông báo: Trong phần hướng dẫn trước, chúng ta đã biết cách làm cho Arduino của bạn có thể nói. Hôm nay chúng ta sẽ khám phá thêm một chút về chủ đề tương tự. Tất cả chúng ta đều phải có một lúc nào đó trong đời bắt gặp hệ thống Thông báo có thể là trong ngân hàng hoặc nhà ga xe lửa. Bạn đã bao giờ chiến thắng
Đồng hồ báo thức LED Sunrise với Báo thức bài hát có thể tùy chỉnh: 7 bước (có hình ảnh)
Đồng hồ báo thức LED Sunrise với báo thức bài hát có thể tùy chỉnh: Động lực của tôi Mùa đông này bạn gái tôi gặp rất nhiều khó khăn khi thức dậy vào buổi sáng và dường như đang bị SAD (Rối loạn cảm xúc theo mùa). Tôi thậm chí còn nhận thấy rằng việc thức dậy vào mùa đông khó khăn hơn bao nhiêu vì mặt trời chưa ló dạng
KỸ THUẬT VIKING! Sừng LED trên mũ bảo hiểm Viking Space: Chỉ báo âm lượng + Mũ bảo hiểm Viking Transucent: 6 bước
KỸ THUẬT VIKING! Sừng LED trên mũ bảo hiểm Viking Space: Chỉ báo âm lượng + Mũ bảo hiểm Viking Transucent: Có! Đây là mũ bảo hiểm dành cho người Viking không gian. *** Cập nhật, Cái này nên được đổi tên thành Techno Viking Helmet *** Nhưng nó là tháng 10 năm 2010 và tôi chỉ mới biết về Techno Viking hôm nay. Ẩn sau đường cong meme. Whateva 'Anh ấy đang ở đây với năng suất cao hơn