সুচিপত্র:

রাস্পবেরি পাই এবং এমকিউটিটি প্রোটোকল ব্যবহার করে ডিজিটাল নোটিশ বোর্ড: 8 টি ধাপ
রাস্পবেরি পাই এবং এমকিউটিটি প্রোটোকল ব্যবহার করে ডিজিটাল নোটিশ বোর্ড: 8 টি ধাপ

ভিডিও: রাস্পবেরি পাই এবং এমকিউটিটি প্রোটোকল ব্যবহার করে ডিজিটাল নোটিশ বোর্ড: 8 টি ধাপ

ভিডিও: রাস্পবেরি পাই এবং এমকিউটিটি প্রোটোকল ব্যবহার করে ডিজিটাল নোটিশ বোর্ড: 8 টি ধাপ
ভিডিও: What is Raspberry Pi? Explained Everything About Raspberry Pi In Bangla 2024, নভেম্বর
Anonim
Image
Image
রাস্পবেরি পাই এবং এমকিউটিটি প্রোটোকল ব্যবহার করে ডিজিটাল নোটিশ বোর্ড
রাস্পবেরি পাই এবং এমকিউটিটি প্রোটোকল ব্যবহার করে ডিজিটাল নোটিশ বোর্ড

অফিস, স্কুল, হাসপাতাল এবং হোটেলের মতো প্রায় সব জায়গায় নোটিশ বোর্ড ব্যবহার করা হয়। এগুলি বারবার ব্যবহার করা যেতে পারে গুরুত্বপূর্ণ বিজ্ঞপ্তি প্রদর্শন করতে বা আসন্ন ইভেন্ট বা মিটিংয়ের বিজ্ঞাপন দিতে। কিন্তু বিজ্ঞপ্তি বা বিজ্ঞাপন একটি কাগজে ছাপিয়ে নোটিশ বোর্ডে পিন করতে হয়।

এই নির্দেশনায় আসুন রাস্পবেরি পাই দিয়ে আমাদের ডিজিটাল নোটিশ বোর্ড তৈরি করতে শিখি প্রচুর কাগজপত্র এবং টোনার সংরক্ষণ করতে!

ধাপ 1: ডিজিটাল নোটিশ বোর্ড কিভাবে কাজ করে?

ডিজিটাল নোটিশ বোর্ড কিভাবে কাজ করে?
ডিজিটাল নোটিশ বোর্ড কিভাবে কাজ করে?
  • একটি রাস্পবেরি পাই একটি HDMI ডিসপ্লের সাথে সংযুক্ত যা আমাদের ডিজিটাল নোটিশ বোর্ড।
  • একটি উইন্ডোজ পিসি ইন্টারনেটের মাধ্যমে ডিজিটাল নোটিশ বোর্ডে বিজ্ঞপ্তি প্রকাশ করতে ব্যবহৃত হয়।
  • উইন্ডোজ পিসি দ্বারা প্রকাশিত বিজ্ঞপ্তিটি ডিজিটাল নোটিশ বোর্ড একটি ক্লাউডএমকিউটিটি দালালের মাধ্যমে পেয়েছে।
  • উইন্ডোজ পিসি এবং ডিজিটাল নোটিশ বোর্ডের মধ্যে যোগাযোগ MQTT প্রোটোকল দ্বারা অর্জিত হয়।

পদক্ষেপ 2: প্রয়োজনীয় জিনিসগুলি:

  1. রাসবিয়ান ওএস সহ রাস্পবেরি পাই
  2. HDMI পোর্টের সাথে প্রদর্শন করুন
  3. উইন্ডোজ পিসি
  4. ইন্টারনেট সংযোগ
  5. ক্লাউডএমকিউটিটি অ্যাকাউন্ট

ধাপ 3: বিজ্ঞপ্তি প্রদর্শনের জন্য GUI ডিজাইন:

Image
Image
বিজ্ঞপ্তি প্রদর্শনের জন্য GUI ডিজাইন
বিজ্ঞপ্তি প্রদর্শনের জন্য GUI ডিজাইন

আমাদের 2 টি GUI ডিজাইন করতে হবে, একটি রাস্পবেরি পাইয়ের জন্য HDMI ডিসপ্লেতে বিজ্ঞপ্তি প্রদর্শন করার জন্য এবং আরেকটি উইন্ডোজ পিসির জন্য CloudMQTT ব্রোকারের মাধ্যমে রাস্পবেরি পাইকে বিজ্ঞপ্তি প্রকাশ করার জন্য।

আপনি যেখানে ডিজিটাল নোটিশ বোর্ড স্থাপন করতে যাচ্ছেন তার উপর GUI ডিজাইন নির্ভর করে। উদাহরণস্বরূপ, আমাকে আসন্ন ইভেন্ট এবং মিটিং প্রদর্শন করার জন্য ইন্সট্রাকটেবলস অফিসের জন্য একটি GUI ডিজাইন করতে দিন যাতে কর্মীদের সর্বশেষ তথ্যের সাথে আপডেট করা যায়।

উইন্ডোজ পিসিতে একটি জিইউআই ডিজাইন করা সহজ, তাই আসুন আমরা উইন্ডোজ পিসিতে ডিজিটাল নোটিশ বোর্ড জিইউআই ডিজাইন করি এবং কোডটি রাস্পবেরি পাইতে অনুলিপি করি।

সফ্টওয়্যার প্রয়োজন:

অ্যানাকোন্ডা (যার মধ্যে রয়েছে পাইথন ২.7, কিউটি ডিজাইনার প্যাকেজ এবং স্পাইডার আইডিই)।

QT ডিজাইনার হল GUI ডিজাইন করার জন্য ব্যবহৃত টুল। Qt ডিজাইনারের আউটপুট একটি.ui ফাইল হবে, পরবর্তীতে এটি পরবর্তী প্রক্রিয়ার জন্য.py তে রূপান্তরিত হতে পারে।

ভিডিওতে কি হচ্ছে ?:

  • পাইথন 2.7 এর জন্য অ্যানাকোন্ডা উইন্ডোজ ইনস্টলার ডাউনলোড করুন এবং এটি একটি উইন্ডোজ পিসিতে ইনস্টল করুন (স্বাভাবিক ইনস্টলেশন প্রক্রিয়া)।
  • ইনস্টলেশনের পরে, আপনি "installation_directory / Library / bin / designer.exe" এ Qt ডিজাইনার টুলটি খুঁজে পেতে পারেন (আমার জন্য এটি "C: / Anaconda2 / Library / bin / designer.exe")
  • "Designer.exe" এর জন্য একটি শর্টকাট তৈরি করুন এবং ডেস্কটপে রাখুন।
  • "designer.exe" খুলুন।
  • একটি নতুন প্রধান উইন্ডো তৈরি করুন।
  • লেআউট এবং প্রয়োজনীয় ভিউ (টেক্সট ভিউ, লেবেল ভিউ, ইত্যাদি) বাছুন এবং রাখুন।
  • Rpi_UI.ui ফাইল হিসাবে সংরক্ষণ করুন।
  • এটিকে.py ফাইলে রূপান্তর করতে বর্তমান ফোল্ডারে cmd প্রম্পট খুলুন যেখানে Rpi_UI.ui ফাইলটি বিদ্যমান এবং নিম্নলিখিত কমান্ডটি টাইপ করুন

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 ফাইলে রূপান্তর করবে এবং একই ডিরেক্টরিতে রাখবে।

  • Spyder IDE সহ Rpi_UI.py ফাইলটি খুলুন যা অ্যানাকোন্ডায় অন্তর্ভুক্ত।
  • স্ক্রিপ্ট চালানো আমাদের আগে ডিজাইন করা GUI প্রদর্শন করবে।

এরপরে, আসুন আমরা ক্লাউডএমকিউটিটি অ্যাকাউন্ট সেট আপ করি।

ধাপ 4: একটি ক্লাউডএমকিউটিটি অ্যাকাউন্ট সেট আপ করুন:

Image
Image
  • এই লিংকে যান।
  • ই-মেইল দিয়ে একটি অ্যাকাউন্ট তৈরি করুন এবং আপনার অ্যাকাউন্টে লগ ইন করুন।
  • নতুন উদাহরণ তৈরি করুন (আমি এটিকে TEST_1 নাম দিয়েছি)।
  • ইনস্ট্যান্স তথ্য খুলুন।
  • সার্ভার, ব্যবহারকারী, পাসওয়ার্ড এবং পোর্ট নোট করুন।
  • CloudMQTT পাইথন ডকুমেন্টেশন দেখুন এবং স্ক্রিপ্টটি CloudMQTT.py হিসাবে সংরক্ষণ করুন।
  • ডকুমেন্টেশনে উদাহরণ কোডের জন্য পাহো লাইব্রেরি প্রয়োজন, পাইপ টুল ব্যবহার করে পাহো পাইথন ক্লায়েন্ট ইনস্টল করুন, অ্যাডমিনিস্ট্রেটর হিসাবে cmd প্রম্পট খুলুন এবং নিম্নলিখিত কমান্ডটি লিখুন।

পাইপ ইনস্টল paho-mqtt

ধাপ 5: রাস্পবেরি পাই ফাইনাল কোড ব্যাখ্যা করা হয়েছে:

এখানে, আমি RPi_UI.py ফাইলটি CloudMQTT.py এর সাথে সংযুক্ত করে এবং RPi_UI.py হিসাবে সংরক্ষণ করার উপায়টি ব্যাখ্যা করি।

লাইব্রেরি আমদানি করুন, যদি এটি ইনস্টল না থাকে তবে এটি ইনস্টল করুন।

paho.mqtt.client mqtt হিসাবে আমদানি করুন

PyQt5 থেকে urlparse আমদানি QtGui, QtWidgets, QtCore থেকে PyQt5. QtCore আমদানি QTimer, QTime আমদানি থ্রেডিং থেকে থ্রেড আমদানি sys আমদানি google_drive_downloader থেকে আমদানি করুন GoogleDriveDownloader gdd আমদানি ওএস হিসাবে

Googledrivedownloader ইনস্টল করতে কমান্ডটি ব্যবহার করুন

পিপ googledrivedownloader ইনস্টল করুন

ভেরিয়েবল শুরু করা,

icon = "[email protected]"

competitionImg = "কালো" meeting1 = "Meeting1:" venue1 = "সময় এবং ভেন্যু 1।" meeting2 = "Meeting2:" venue2 = "সময় এবং ভেন্যু 2।" meeting3 = "Meeting3:" venue3 = "সময় এবং ভেন্যু 3।"

ক্লাস Ui_MainWindow দ্বারা অনুসরণ করা হয়

ক্লাস Ui_MainWindow (বস্তু):

def setupUi (self, MainWindow):… def retranslateUi (self, MainWindow):… def _update (self):…

ফাংশন সেটআপের নিচের লাইনগুলি _update ফাংশন কল করে প্রতি 3 সেকেন্ডে GUI আপডেট করে

self.retranslateUi (MainWindow)

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

On_message ফাংশন ব্রোকারের বার্তার জন্য অপেক্ষা করে, একবার বার্তা পেলে এটি গুগল ড্রাইভ থেকে ইমেজ ডাউনলোড করে গুগল ড্রাইভ শেয়ারযোগ্য লিংক আইডি ব্যবহার করে এবং গ্লোবাল ভেরিয়েবলের মান পরিবর্তন করে।

def on_message (ক্লায়েন্ট, obj, msg):

print (str (msg.payload)) if (str (msg.payload)): noticeReceived = str (msg.payload) result = re.search ('%1 (।*)%2 (।*)%3 (। *)%4 (।*)%5 (।*)%6 (। +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 = path) competitionImg = result.group (1) meeting1 = result.group (2) venue1 = 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): if tId == 0: while 1: rc = 0 while rc == 0: rc = mqttc.loop () print ("rc:" + str (rc)) if tId == 1: while 1: app = QtWidgets। = sqImport, args = [0]) threadB = থ্রেড (target = sqImport, args = [1]) threadA.start () threadB.start () threadA.join () threadB.join ()

কুল, আমরা রাস্পবেরি পাই সেট -আপ সম্পন্ন করেছি, এরপরে আসুন আমরা রাস্পবেরি পাই -তে বার্তাটি প্রকাশ করার জন্য উইন্ডোজ পিসির জন্য GUI ডিজাইন করি।

ধাপ 6: উইন্ডোজ পিসি GUI:

উইন্ডোজ পিসি GUI
উইন্ডোজ পিসি GUI
  • উইন্ডোজের জন্য একটি 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 ফাংশন রয়েছে।
  • RetranslateUi ফাংশনের মধ্যে নিচের কোডটি PUBLISH বাটনে ক্লিক করার পর পাবলিশ ফাংশনকে কল করে।

self.pushButton.clicked.connect (self.publish)

  • পাবলিশ ফাংশনটি গুগল ড্রাইভ শেয়ারযোগ্য লিংক আইডি এবং মিটিংয়ের তথ্য সংযোজিত করে এবং "নোটিশ" বিষয়টির অধীনে প্রকাশ করে।
  • এই বার্তাটি রাস্পবেরি পাই দ্বারা প্রাপ্ত হবে।

ধাপ 8: ডিজিটাল নোটিশ বোর্ড সেট আপ করুন:

  • রাস্পবেরি পাইকে একটি এইচডিএমআই ডিসপ্লেতে সংযুক্ত করুন, আমি আমার সনি টিভিকে ডিজিটাল নোটিশ বোর্ড ডিসপ্লে হিসাবে ব্যবহার করেছি।
  • রাস্পবেরি পাইতে RPi_UI.py ফাইলটি চালান।
  • উইন্ডোজ পিসিতে Windows_UI.py ফাইলটি চালান।
  • একটি প্রতিযোগিতার চিত্র এবং মিটিং ঘোষণার গুগল ড্রাইভ লিঙ্ক আইডি লিখুন।
  • PUBLISH বাটনে ক্লিক করুন।
  • এখন আপনি কয়েক সেকেন্ডের মধ্যে আপডেট হওয়া ডিজিটাল নোটিশ বোর্ড দেখতে পাবেন।

ইঙ্গিত:

  • আপনি ডিজিটাল নোটিশ বোর্ডের পছন্দসই সংখ্যা তৈরি করতে পারেন এবং বোর্ডগুলি বিভিন্ন বিষয়গুলিতে সাবস্ক্রাইব করা যেতে পারে।
  • Windows_UI.py ফাইলকে পোর্টেবল করার জন্য, আপনি pyinstaller ব্যবহার করে ফাইলটিকে এক্সিকিউটেবল ফাইলে রূপান্তর করতে পারেন, যাতে আপনি পিসিতে প্রয়োজনীয় লাইব্রেরি ইনস্টল না করে যেকোনো উইন্ডোজ পিসিতে এক্সিকিউটেবল ফাইল চালাতে পারেন।

ধন্যবাদ

শবরী কানন এম

প্রস্তাবিত: