সুচিপত্র:

TextPlayBulb: Raspberry Pi 3, BLE এবং Telegram ব্যবহার করে REST Enabled PlayBulb: 3 ধাপ
TextPlayBulb: Raspberry Pi 3, BLE এবং Telegram ব্যবহার করে REST Enabled PlayBulb: 3 ধাপ

ভিডিও: TextPlayBulb: Raspberry Pi 3, BLE এবং Telegram ব্যবহার করে REST Enabled PlayBulb: 3 ধাপ

ভিডিও: TextPlayBulb: Raspberry Pi 3, BLE এবং Telegram ব্যবহার করে REST Enabled PlayBulb: 3 ধাপ
ভিডিও: Sıcacık Lavaş ile Acılı Ezmeli Et Dürüm Hazırladım ! 2024, নভেম্বর
Anonim
TextPlayBulb: রাস্পবেরি পাই 3, BLE এবং টেলিগ্রাম ব্যবহার করে REST সক্রিয় PlayBulb
TextPlayBulb: রাস্পবেরি পাই 3, BLE এবং টেলিগ্রাম ব্যবহার করে REST সক্রিয় PlayBulb

এই নির্দেশাবলী দেখায় কিভাবে পাইথন, একটি রাস্পবেরি পাই 3 এবং ব্লুটুথ লাইব্রেরি ব্যবহার করে একটি প্লেবুলবর্ণ ব্লুটুথ LED ল্যাম্পের সাথে সংযোগ স্থাপন করা যায় এবং একটি আইওটি দৃশ্যের জন্য একটি REST API এর মাধ্যমে নিয়ন্ত্রণগুলি প্রসারিত করা যায় এবং একটি বাউন্স হিসাবে, প্রকল্পটিও দেখায় কিভাবে একটি IM টেক্সট ক্লায়েন্টের উপর আপনার PlayBulb নিয়ন্ত্রণ করতে REST API যেমন টেলিগ্রাম, যেমন পাঠ্যের মাধ্যমে আপনার স্বয়ংক্রিয় বাড়িতে কথা বলা।

এই প্রকল্পটি 3 টি মডিউলে নির্মিত:

  1. pyBulbDriver: BLE gatttool এবং python এর মাধ্যমে PlayBulb এর সাথে সংযোগ স্থাপন করুন।
  2. pyBulbServer: REST API এর মাধ্যমে প্লেবুল নিয়ন্ত্রণ প্রকাশ করার জন্য pyBulbDriver ব্যবহার করে।
  3. pyBulbMessenger: যেকোনো স্মার্ট ফোনে ইনস্টল করা টেলিগ্রাম ক্লায়েন্টের মাধ্যমে কমান্ড প্রেরণ ও গ্রহণের জন্য একটি টেলিগ্রাম বটের সাথে সংযোগ স্থাপন এবং PlayBulb- এ কমান্ড ইস্যু করার জন্য REST API ব্যবহার করে।

আপনি গিট রিপোজিটরির মাধ্যমে প্রকল্পটি ক্লোন করতে পারেন:

প্রকল্পের লক্ষ্য:

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

এই নির্দেশযোগ্য তৈরি করতে ব্যবহৃত অন্যান্য সম্পদ:

  • PlayBulb কালার ব্লুটুথ প্রোটোকল:
  • ব্লুটুথের মাধ্যমে পাইথনকে প্লেব্লবের সাথে সংযুক্ত করা হচ্ছে:
  • টেলিগ্রাম বট স্থাপন করা হচ্ছে:

অবদান

pyBulbDriver আরও নমনীয় এবং ভবিষ্যতের এক্সটেনশনের সুবিধার্থে প্যারামিটারাইজ করা হয়েছে, যাতে আপনি আপনার ল্যাম্পে টেক্সট পাঠাতে পারেন। চারপাশে টেস্টিং এবং ফিডলিংয়ের জন্য সহজ ইন্টারফেস।

সীমাবদ্ধতা

ড্রাইভারটি PlayBulb কালারের জন্য লেখা আছে, অন্যান্য ধরনের PlayBulb- এর জন্য মূল বা মোমবাতি, pyBulbDriver এর ব্লুটুথ কোডটি পূর্বোক্ত প্রোটোকল অনুযায়ী পরিবর্তন করা প্রয়োজন।

আপনাকে একটি টেলিগ্রাম অ্যাকাউন্ট নিবন্ধন করতে হবে, এবং একটি api কী পেতে হবে, যা আপনি pyBulbMessenger.py এ যোগ করবেন, O থের রিসোর্সে টেলিগ্রাম বট স্থাপনের অনুসরণ করুন।

ধাপ 1: প্রকল্প স্থাপন

1. টেলিগ্রাম থেকে আপনার API কী পাওয়া

> আপনার API কী পেতে বর্তমান নির্দেশনা অনুসরণ করুন

> pyBulbMessenger.py এ ভেরিয়েবল এপিআইতে আপনার এপিআই কী যুক্ত করুন

2. PyBulbDriver এ আপনার PlayBulb নাম সেট করা

> লেখার যন্ত্র খুঁজে পাওয়ার জন্য গ্যাটটুল, pyBulbDriver.scanForBulb ("PLAYBULB COLOR") ব্যবহার করে আপনার ডিভাইসের নাম স্ক্যান করার জন্য সেট করুন। আপনার REST সার্ভার সেট আপ করার জন্য pyBulbServer.py এ উদাহরণ পাওয়া যাবে

3. প্রকল্প শুরু করতে

> আপনাকে প্রথমে pyBulbServer.py শুরু করতে হবে, তারপর টেক্সটিং এর জন্য pyBulbMessenger.py অনুসরণ করতে হবে। আপনি CURL ব্যবহার করে pyBulbServer কমান্ড পরীক্ষা করতে পারেন।

4. প্রয়োজনীয় উপাদান:

> রাস্পবেরি পাই 3 এবং প্লেবালব কালার বা প্লেবুল ক্যান্ডেল

> অ্যান্ড্রয়েড বা আইওএসের জন্য টেলিগ্রাম ইনস্টল করা

5. রাসবেরি পাই 3 LE ব্লুটুথ ইনস্টলেশন:

www.elinux.org/RPi_Bluetooth_LE

ধাপ 2: কোডের মাধ্যমে হাঁটা

pyBulbDriver.py

pyBulbDriver BLE এর মাধ্যমে PlayBulb এর সাথে সংযোগ স্থাপনের জন্য ড্রাইভার ক্লাস রয়েছে

pyBulbDriver অন্য যে কোন জেনেরিক প্রজেক্টের জন্যও ব্যবহার করা যেতে পারে, কারণ এতে কেবল প্লেবালব সংযোগগুলি স্ক্যান এবং সেটআপ করার কোড রয়েছে।

ইউজার অ্যাপ্লিকেশন ইন্টারফেসের জন্য প্রধান API গুলি:

  • স্ক্যানফরবুল্ব (ডেভিসেনাম: স্ট্রিং)> প্লেবালব বা প্লেবালবস তাদের ডিভাইসের নামের মাধ্যমে স্ক্যান করতে
  • setBulbColor (গুলি: int, r: int, g: int, b: int)> উজ্জ্বলতা এবং RGB রঙ (0 থেকে 255) মান নির্ধারণ করতে
  • setBulbEffect (গুলি: int, r: int, g: int, b: int, mode: int, onbeat: int, offbeat: int)> setBulbColor এর অনুরূপ, কিন্তু প্রভাব এবং গতির ধরন অন্তর্ভুক্ত করে। আরও জানতে রঙ প্রোটোকল প্রভাব বিভাগ দেখুন

এই ক্লাসে আপনি ডেটা অখণ্ডতা যাচাই করার জন্য ব্যবহারকারী ইন্টারফেসের জন্য নয় অন্যান্য সহায়ক পদ্ধতিও পাবেন

  • রূপান্তর RGBToHexaCmd (গুলি, আর, জি, বি)
  • convertIntToHex (সংখ্যা)
  • checkModeAndSpeed (মোড, অফবিট, অনবিট)
  • চেক RGBInBounds (গুলি, আর, জি, বি)

pyBulbServer.py

pyBulbServer ব্যবহারকারীর অ্যাপ্লিকেশন ইন্টারফেসকে RESTful হাইপারলিঙ্কগুলিতে PUT এবং JSON ব্যবহার করে pyBulbDriver- এ ডেটা প্রেরণ এবং গ্রহণের জন্য প্রকাশ করে। এছাড়াও সার্ভার সক্রিয় হলে BLE সংযোগের স্ক্যান এবং আরম্ভ করা হয়।

pyBulbResource (রিসোর্স) বাল্ব কমান্ড সংজ্ঞায়িত করতে রঙ এবং প্রভাব ব্যবহার করে REST সার্ভারে কলগুলি চ্যানেল করে।

একটি প্রভাব কমান্ড করার জন্য উদাহরণ:

127.0.0.1/bulb/effect

JSON POST> {data ':' {"s": 0, "r": 255, "g": 255, "b": 255, "m": 1, "on": 15, "off": 15 } '}

pyBulbMessenger.py

অবশেষে pyBulbMessenger আপনার টেলিগ্রাম স্মার্ট ফোন ক্লায়েন্টের সাথে সংযুক্ত টেলিগ্রাম বটকে ইন্টারফেস করার জন্য দায়ী। কীভাবে টেলিগ্রাম বট চেক করবেন এবং কীভাবে সংযুক্ত করবেন সে সম্পর্কে আরও তথ্যের জন্য https://www.instructables.com/id/Set-up-Telegram-Bo… দেখুন।

cmdHandler (বট, আপডেট) যেখানে টেক্সট কমান্ডগুলি RESTful API এর মাধ্যমে PlayBulb- এর সাথে সংজ্ঞায়িত এবং সংযুক্ত করা হয়।

বর্তমানে প্রকল্পটিতে শুধুমাত্র পাঠ্য রয়েছে, আরেকটি লক্ষ্য হল রেকর্ড করা ভয়েস বার্তা পাঠানো যা অন্য কমান্ডগুলি সক্রিয় করার জন্য একটি বক্তৃতা সনাক্তকারীকে পাঠানো হবে (এখনো বাস্তবায়িত হয়নি)।

ধাপ 3: উপসংহার

বর্তমান স্থাপত্য নকশা স্কেলেবিলিটির চেয়ে সরলীকরণ সম্পর্কে ছিল। এখনও গ্রুপ কানেক্টিভিটি অনুপস্থিত, বাল্ব পাঠানোর বিষয়ে আরও অ্যাপ্লিকেশনগুলি সরাসরি কমান্ড বা খেলাধুলার মিথস্ক্রিয়ার জন্য এখনও গবেষণা চলছে।

গিট রেপোতে সাবস্ক্রাইব করে বা অনুসরণ করে, এই আপডেটগুলিতে আরও বিশদ আসবে। এই ধরনের একটি প্রকল্পের কারণ ছিল প্লেব্লবকে ইন্টারফেস করা এবং একটি আইওটি (ইন্টারনেট অফ থিংস দৃশ্যকল্প) -এ উন্নয়নের জন্য একটি আরএসটিফুল ইন্টারফেস তৈরি করা কিন্তু আইএম ক্লায়েন্ট টেলিগ্রামের মাধ্যমে বিভিন্ন পদ্ধতি ব্যবহার করার সুযোগ যেমন ছবি, ভয়েস এবং একটি গবেষণা দৃষ্টিকোণ থেকে যন্ত্রপাতিগুলির সাথে ইন্টারঅ্যাক্ট করার জন্য পাঠ্য।

প্রস্তাবিত: