সুচিপত্র:

রাস্পবেরি পাই দ্বারা স্মার্ট হোম: 5 টি ধাপ (ছবি সহ)
রাস্পবেরি পাই দ্বারা স্মার্ট হোম: 5 টি ধাপ (ছবি সহ)

ভিডিও: রাস্পবেরি পাই দ্বারা স্মার্ট হোম: 5 টি ধাপ (ছবি সহ)

ভিডিও: রাস্পবেরি পাই দ্বারা স্মার্ট হোম: 5 টি ধাপ (ছবি সহ)
ভিডিও: 4 ক্যামেরা / 3 ক্যামেরা কিভাবে চালাবেন? | How to use all camera in phone bangla | Imrul Hasan Khan 2024, জুলাই
Anonim
রাস্পবেরি পাই দ্বারা স্মার্ট হোম
রাস্পবেরি পাই দ্বারা স্মার্ট হোম

ইতিমধ্যে সেখানে বেশ কয়েকটি পণ্য রয়েছে যা আপনার সমতলকে স্মার্ট করে তোলে, তবে সেগুলির বেশিরভাগই মালিকানাধীন সমাধান। কিন্তু আপনার স্মার্টফোনের সাথে লাইট স্যুইচ করার জন্য আপনার ইন্টারনেট সংযোগের প্রয়োজন কেন? এটি আমার নিজের স্মার্ট হোম সমাধান তৈরি করার একটি কারণ ছিল।

আমি একটি সার্ভার অ্যাপ্লিকেশন প্রোগ্রাম করেছি যা রাস্পবেরি পাইতে চলে। এটি একটি জাভা ভিত্তিক ওপেন সোর্স প্রজেক্ট যা আপনাকে আপনার ফ্ল্যাট কনফিগার করতে এবং বিভিন্ন ক্লায়েন্ট এবং 'নিয়ন্ত্রণযোগ্য ইউনিট' সংযুক্ত করতে দেয়। আমি একটি সমাধান দেখাই যা আরসি পাওয়ার সাপ্লাই সুইচগুলি পরিচালনা করে, রাস্পবেরি পাইতে সঙ্গীত এবং ভিডিও চালায়, স্মার্ট মিররে স্থিতি দেখায় এবং একটি অ্যান্ড্রয়েড অ্যাপ এবং দুটি নুড়ি অ্যাপ্লিকেশন দ্বারা নিয়ন্ত্রণ করা যায়। উৎস github https://github.com/dabastynator/SmartHome এ হোস্ট করা হয়

ধাপ 1: আপনার প্রয়োজনীয় জিনিসগুলি

জিনিস আপনার প্রয়োজন
জিনিস আপনার প্রয়োজন

স্মার্ট হোম সেট-আপ করতে, আপনার নিম্নলিখিত 'উপাদান' প্রয়োজন

  • রাস্পবেরি পাই কমপক্ষে মডেল 2 বি
  • 433 MHz প্রেরক, এরকম কিছু
  • রাস্পবেরি পাই এবং প্রেরকের সংযোগকারী 3 টি জাম্পার কেবল
  • 433 MHz এ কিছু রেডিও কন্ট্রোল সকেট
  • ক্লায়েন্ট অ্যাপ চালানোর জন্য অ্যান্ড্রয়েড স্মার্টফোন

উপরন্তু, আপনি আরও alচ্ছিক ক্লায়েন্ট এবং এই ধরনের ইউনিটগুলির সাথে স্মার্ট হোম প্রসারিত করতে পারেন

  • নুড়ি স্মার্টওয়াচ
  • স্মার্ট মিরর, এই প্রকল্পটি দেখুন
  • 433 MHz নিয়ন্ত্রিত LED স্ট্রিপ, এটি দেখুন

ধাপ 2: 433 MHz এর জন্য রাস্পবেরি পাই প্রস্তুত করুন

433 MHz এর জন্য রাস্পবেরি পাই প্রস্তুত করুন
433 MHz এর জন্য রাস্পবেরি পাই প্রস্তুত করুন
433 MHz এর জন্য রাস্পবেরি পাই প্রস্তুত করুন
433 MHz এর জন্য রাস্পবেরি পাই প্রস্তুত করুন

নিম্নলিখিত ধাপগুলিতে আপনার রাস্পবেরি পাইতে কমান্ড লাইনে অ্যাক্সেস প্রয়োজন। অ্যাক্সেস পেতে আপনি এই নির্দেশযোগ্য https://www.instructables.com/id/Remote-SSH-access… পড়তে পারেন

433 MHz প্রেরককে রাস্পবেরি পাই এর সাথে উপরের ছবিতে দেখানো হিসাবে সংযুক্ত করুন

  • GND (প্রেরক) 6 GND (রাস্পি)
  • VCC (প্রেরক) 2 +5V (রাস্পি)
  • ডেটা (প্রেরক) 11 জিপিআইও 17 (রাস্পি)

অনুগ্রহ করে ANT (প্রেরক) পিনের সাথে একটি 17cm অ্যান্টেনা সংযুক্ত করুন। এটি উল্লেখযোগ্য সংকেত বৃদ্ধি করে।

যেহেতু আমাদের অন্যান্য গিট রিপোজিটরি থেকে কিছু লাইব্রেরি দরকার, তাই আমাদের গিট ইনস্টল করতে হবে

sudo apt-get git-core -y ইনস্টল করুন

433 মেগাহার্টজ যোগাযোগের জন্য রাস্পবেরি পাই সেট আপ করার জন্য আমাদের জিপিআইওগুলিকে ভালভাবে পরিচালনার জন্য ওয়্যারিং পাই লাইব্রেরির প্রয়োজন।

git ক্লোন git: //git.drogon.net/wiringPi

cd wiringPi./build

তারপরে আমাদের একটি লাইব্রেরি দরকার যা সাধারণত আরসি পাওয়ার সাপ্লাই প্রোটোকল প্রয়োগ করে।

git clone git: //github.com/dabastynator/rcswitch-pi.git

cd rcswitch-pi সিপি পাঠান/usr/bin/

'প্রেরণ' এক্সিকিউটেবল আপনাকে উপলব্ধ বিদ্যুৎ সরবরাহের বেশিরভাগ স্যুইচ করার জন্য কোড পাঠাতে দেয়।

আমার স্মার্ট হোম সেটআপে আমার কাছে এই নির্দেশাবলীর দ্বারা বর্ণিত একটি আরসি এলইডি স্ট্রিপ রয়েছে: https://www.instructables.com/id/RC-controlled-LED… এই LED স্ট্রিপের জন্য রং সেট করতে আপনার আরেকটি পাঠানো এক্সিকিউটেবল দরকার যা আপনাকে অনুমতি দেয় যে কোন পূর্ণসংখ্যা মান পাঠাতে (এটি রঙকে এনকোড করে)।

অতএব, rcswitch-pi রেপোতে sendInt.cpp কম্পাইল করুন এবং এটি

sudo g ++ sendInt.cpp -o/usr/bin/sendInt /home/pi/rcswitch-pi/RCSwitch.o -I/home/pi/rcswitch -pi -lwiringPi

এখন আপনি দুটি এক্সিকিউটেবল/usr/bin/send এবং/usr/bin/sendInt দিয়ে rc কমান্ড পাঠাতে সক্ষম হবেন

ধাপ 3: স্মার্ট হোম সার্ভার সেটআপ করুন

প্রথমে আপনাকে বেশ কয়েকটি প্যাকেজ ইনস্টল করতে হবে। স্মার্ট হোম অ্যাপ্লিকেশনটি জাভা ভিত্তিক এবং ওপেনজেডিকে -11 এর সাথে ভালভাবে চলে। আমি অন্যান্য জাভা রানটাইম পরিবেশ সম্পর্কে নিশ্চিত নই। এমপ্লেয়ার একজন মিনিমালিস্ট কমান্ড-লাইন মিউজিক প্লেয়ার। ওমক্সপ্লেয়ার ভিডিও এনকোডিংয়ের জন্য রাস্পবেরি পাই গ্রাফিক্স ব্যবহার করে, তাই এটি ভিডিওর জন্য ব্যবহার করা উচিত। জাভা অ্যাপ্লিকেশন তৈরির জন্য প্রোগ্রাম পিঁপড়ার প্রয়োজন।

sudo apt-get mplayer omxplayer openjdk-11-jdk ant -y ইনস্টল করুন

জার ফাইলের জন্য এবং লগগুলির জন্য ডিরেক্টরি সেটআপ করুন।

sudo mkdir /opt /neo

sudo chown pi: pi/opt/neo mkdir/home/pi/logs

বুট করার সময় স্বয়ংক্রিয়ভাবে অ্যাপ্লিকেশন শুরু করার জন্য স্টার্ট স্ক্রিপ্ট কনফিগার করুন। অতএব সংযুক্ত স্মার্ট-হোম স্ক্রিপ্টটি ডিরেক্টরীতে অনুলিপি করুন ।

sudo cp smart-home /etc/init.d/smart-home

sudo chmod +x /etc/init.d/smart-home sudo sh -c "echo '#!/bin/bash'>/usr/bin/smart -home" sudo sh -c "echo '/etc/init। d/smart-home / $ 1 '>>/usr/bin/smart-home "sudo chmod +x/usr/bin/smart-home sudo update-rc.d স্মার্ট-হোম ডিফল্ট

এখন সময় এসেছে সংগ্রহস্থল চেকআউট করার এবং অ্যাপ্লিকেশনটি তৈরি করার। আপনি যদি এটি নিজে সংকলন করতে না চান, আপনি কেবল সংযুক্ত smarthome.jar ডাউনলোড করতে পারেন এবং/opt/neo/এ সরিয়ে নিতে পারেন

git clone [email protected]: dabastynator/SmartHome.git

ant -f SmartHome/de.neo.smarthome.build/build.ant build_remote cp SmartHome/de.neo.smarthome.build/build/jar/*/opt/neo/

স্মার্ট-হোম শুরু করার চেষ্টা করুন এবং লগ ফাইলটি পরীক্ষা করুন। জিপিআইওগুলির জন্য অ্যাক্সেস পেতে, আবেদনটি সুডো দ্বারা শুরু করা আবশ্যক।

সুডো স্মার্ট-হোম শুরু

বিড়ালের লগ/smarthome.log

আপনাকে দেখতে হবে ত্রুটি বার্তা কনফিগারেশন ফাইল বিদ্যমান নেই যা আমাদের পরবর্তী ধাপে নির্দেশ করে। সংগ্রহস্থলে একটি রিডমে রয়েছে যা কনফিগারেশন ফাইল ব্যাখ্যা করে। আপনি github এ সুন্দরভাবে রেন্ডার করা দেখতে পারেন:

এই xml কে /home/pi/controlcenter.xml এ কপি করুন, তারপর আপনার মিডিয়া সার্ভারের জন্য লোকেশন সেট করুন এবং আপনার প্রয়োজন অনুযায়ী কন্টেন্ট পরিবর্তন করুন। একবার আপনি কনফিগারেশন শেষ করে স্মার্ট-হোম (সুডো স্মার্ট-হোম রিস্টার্ট) পুনরায় চালু করলে আপনাকে smarthome.log এ নিম্নলিখিত বিষয়বস্তু দেখতে হবে

24.05-08: 26 de.neo.smarthome.cronjob. CronJob@15aeb7ab দ্বারা রিমোট ইনফরমেশন: ক্রোন কাজের সময়সূচী

24.05-08: 26 [trigger.light] দ্বারা রিমোট ইনফরমেশন: এক্সিকিউশনের জন্য 79391760 ms অপেক্ষা করুন 24.05-08: 26 RMI ইনফরমেশন অ্যাড ওয়েব-হ্যান্ডলার (5061/ledstrip) 24.05-08: 26 ওয়েব-হ্যান্ডলার যোগ করে RMI ইনফরমেশন (5061 /কর্ম) 24.05-08: 26 ওয়েব-হ্যান্ডলার যোগ করে RMI তথ্য (5061/মিডিয়া সার্ভার) 24.05-08: 26 ওয়েব-হ্যান্ডলার যোগ করে RMI তথ্য 5061/controlcenter) 24.05-08: 26 RMI ইনফরমেশন স্টার্ট ওয়েব সার্ভার দ্বারা 5 হ্যান্ডলার (লোকালহোস্ট: 5061) 24.05-08: 26 কন্ট্রোল সেন্টার দ্বারা রিমোট ইনফরমেশন: 1. কন্ট্রোল ইউনিট যোগ করুন: MyUnit (xyz)…

ওয়েব সার্ভার এখন চলছে:-)

ধাপ 4: ক্লায়েন্ট সেটআপ করুন

সেটআপ ক্লায়েন্ট
সেটআপ ক্লায়েন্ট
সেটআপ ক্লায়েন্ট
সেটআপ ক্লায়েন্ট
সেটআপ ক্লায়েন্ট
সেটআপ ক্লায়েন্ট

স্মার্টফোন অ্যান্ড্রয়েড ক্লায়েন্ট

স্মার্ট-হোম অ্যাপ্লিকেশনের জন্য গিট সংগ্রহস্থলটিতে অ্যান্ড্রয়েড ক্লায়েন্টের উত্সও রয়েছে, যাতে আপনি এটি নিজেই সংকলন করতে পারেন। কিন্তু আমি এই ধাপের জন্য APK সংযুক্ত করেছি, এটি সহজ করে তোলে। আপনি যখন প্রথমবার অ্যাপটি শুরু করবেন, এটি আপনাকে উপরের সার্ভারের মতো সার্ভারের জন্য জিজ্ঞাসা করবে। সার্ভারের url এবং নিরাপত্তা টোকেন লিখুন।

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

স্মার্টওয়াচ নুড়ি ক্লায়েন্ট

দুটি নুড়ি ক্লায়েন্টের উৎস github এ হোস্ট করা হয়। একটি অ্যাপ বর্তমান চলমান মিউজিক ফাইলটি দেখায়: https://github.com/dabastynator/PebbleRemoteMusic… এটি আপনাকে বিরতি/প্লে এবং ভলিউম আপ/ডাউন করতে দেয়।

দ্বিতীয় অ্যাপটি তিনটি কাজকে ট্রিগার করে: https://github.com/dabastynator/PebbleControl ট্রিগার-নামগুলো হল: mobile.come_home mobile.leaving এবং mobile.go_to_bed। আপনি যদি আপনার কনফিগারেশন-এক্সএমএল-এ এই ট্রিগারের জন্য ইভেন্ট-রুলস সংজ্ঞায়িত করেন তবে আপনি সেগুলি আপনার ঘড়ি দ্বারা ট্রিগার করেন।

এটি সবই ওপেন-সোর্স, কিন্তু আপনি নিজে এটি কম্পাইল করার প্রয়োজন নেই, আমি নুড়ি অ্যাপস সংযুক্ত করেছি। আপনার স্মার্টফোন দিয়ে PBW ডাউনলোড করুন, আপনার ফোনে সেগুলো আপনার ঘড়িতে ইনস্টল করা উচিত। সার্ভারের সাথে কথা বলার জন্য নুড়ি অ্যাপ্লিকেশনগুলির কনফিগারেশন প্রয়োজন। আমি আমার সেটিংস কেমন দেখতে একটি স্ক্রিনশট সংযুক্ত করেছি।

স্মার্টওয়াচ গারমিন ক্লায়েন্ট

গারমিন স্মার্টওয়াচগুলির জন্য একটি ক্লায়েন্টও উপলব্ধ। অ্যাপটি গারমিন কানেক্ট অ্যাপ-স্টোরে পাওয়া যায় এবং এখানে ইনস্টল করা যাবে:

apps.garmin.com/en-US/apps/c745527d-f2af-4…

স্মার্ট মিরর ক্লায়েন্ট

আমি ইতিমধ্যে একটি নির্দেশযোগ্য তৈরি করেছি যা ব্যাখ্যা করে কিভাবে স্মার্ট মিরর তৈরি করা যায়, এটি দেখুন https://www.instructables.com/id/Smart-Mirror-by-R…। সোর্স কোডটি গিথুব এও হোস্ট করা হয়: https:// github.com/dabastynator/SmartMirror স্মার্ট মিররের সফটওয়্যারটি স্মার্ট_কনফিগ.জেএস ফাইল থেকে কনফিগারেশন পড়ে যা গিট রিপোজিটরির অংশ নয়। কনফিগারেশন ফাইলের বিষয়বস্তু এই তালিকার মতো হওয়া উচিত:

var mOpenWeatherKey = 'your-open-wheather-key';

var mSecurity = 'your-security-token';

সঠিক আবহাওয়া পেতে স্মার্ট হোম সার্ভার আইপি ঠিকানা এবং লোকেশন নির্দিষ্ট করার জন্য আপনাকে স্মার্ট_মিরর.জেএস ফাইলের প্রথম দুটি লাইন সমন্বয় করতে হবে।

আরো ক্লায়েন্ট

সার্ভার অ্যাপ্লিকেশন একটি সাধারণ ওয়েব সার্ভার। এটি আপনাকে সাধারণ ক্লায়েন্টের কাছ থেকে সাধারণ ওয়েব-কলগুলির মাধ্যমে কর্মগুলি ট্রিগার করতে সক্ষম করে। ডেমো-ভিডিওতে আমি অটোভয়েসের সাথে সমন্বয়ে অ্যান্ড্রয়েড অ্যাপ টাস্কার দেখাই। এটি আমাকে সহজ ভয়েস কমান্ড দিয়ে ইভেন্টগুলি ট্রিগার করতে সক্ষম করে। উদাহরণস্বরূপ "ঠিক আছে গুগল, ঘুমানোর সময়" mobile.go_to_bed ট্রিগার করতে পারে। কিন্তু আপনি IFTTT থেকে উদাহরণস্বরূপ ওয়েব কল করতে পারেন। ইমেইল বিজ্ঞপ্তির জন্য হলুদ ঝলকানো LED স্ট্রিপ কেমন?

আপনি নিম্নলিখিত লিঙ্কগুলির মতো সম্ভাব্য ওয়েব-কলগুলির জন্য সার্ভারকে জিজ্ঞাসা করতে পারেন (আপনার কনফিগারেশন দ্বারা আইপি, পোর্ট এবং টোকেন প্রতিস্থাপন করুন)

localhost: 5061/controlcenter/api? token = secu…

localhost: 5061/action/api? token = security-to…

localhost: 5061/mediaserver/api? token = securi…

localhost: 5061/switch/api? token = security-to…

localhost: 5061/ledstrip/api? token = security-…

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

বাস্তবায়নের জন্য এখনও কিছু বৈশিষ্ট্য রয়েছে: যেহেতু সার্ভার কেবল একটি সহজ ওয়েব-এপিআই ক্লায়েন্ট প্রদান করে অনেক ভোট দেয়। ভোট কমাতে আমি আরও ভাল বিজ্ঞপ্তির জন্য একটি MQTT ইন্টিগ্রেশন চাই। এছাড়াও ওয়াইফাই পাওয়ার সাপ্লাইগুলি আরসি পাওয়ার সাপ্লাইয়ের চেয়ে বেশি নির্ভরযোগ্য হওয়া উচিত কারণ আরসি কেবল একটি উপায় যোগাযোগ।

এটা এই প্রকল্পের জন্য উন্নয়নশীল অনেক মজা করে তোলে। এবং ইন্টারনেট সংযোগ বিচ্ছিন্ন হয়ে গেলেও বেশ কয়েকটি ডিভাইস দ্বারা ফ্ল্যাট নিয়ন্ত্রণ করা বেশ চমৎকার।

প্রস্তাবিত: