সুচিপত্র:

রাস্পবেরি পাই ব্যবহার করে আউটলেটগুলি কীভাবে নিয়ন্ত্রণ করবেন: 6 টি ধাপ
রাস্পবেরি পাই ব্যবহার করে আউটলেটগুলি কীভাবে নিয়ন্ত্রণ করবেন: 6 টি ধাপ

ভিডিও: রাস্পবেরি পাই ব্যবহার করে আউটলেটগুলি কীভাবে নিয়ন্ত্রণ করবেন: 6 টি ধাপ

ভিডিও: রাস্পবেরি পাই ব্যবহার করে আউটলেটগুলি কীভাবে নিয়ন্ত্রণ করবেন: 6 টি ধাপ
ভিডিও: সবচেয়ে ছোট কম্পিউটার Raspberry Pi 3 Model B+ Full Setup 2024, জুলাই
Anonim
রাস্পবেরি পাই ব্যবহার করে আউটলেটগুলি কীভাবে নিয়ন্ত্রণ করবেন
রাস্পবেরি পাই ব্যবহার করে আউটলেটগুলি কীভাবে নিয়ন্ত্রণ করবেন
রাস্পবেরি পাই ব্যবহার করে আউটলেটগুলি কীভাবে নিয়ন্ত্রণ করবেন
রাস্পবেরি পাই ব্যবহার করে আউটলেটগুলি কীভাবে নিয়ন্ত্রণ করবেন
রাস্পবেরি পাই ব্যবহার করে আউটলেটগুলি কীভাবে নিয়ন্ত্রণ করবেন
রাস্পবেরি পাই ব্যবহার করে আউটলেটগুলি কীভাবে নিয়ন্ত্রণ করবেন

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

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

এই প্রকল্পটি 433MHz এ রেডিও ফ্রিকোয়েন্সি নিয়ন্ত্রিত আউটলেটগুলি ব্যবহার করে এবং আপনার রাস্পবেরি পাইয়ের সাথে সংযুক্ত একটি আরএফ ট্রান্সমিটারের সাথে সংযুক্ত। আউটলেটগুলি রিমোট নিয়ে আসে যা আউটলেটগুলি চালু/বন্ধ করতে পারে, তবে এটি কোনও মজা নয়! আমরা পরিবর্তে রাস্পবেরি পাইতে চলমান একটি ওয়েব সার্ভার ব্যবহার করব যা নেটওয়ার্কের সাথে সংযুক্ত কাউকে নির্দিষ্ট আউটলেট চালু বা বন্ধ করতে দেয়। এই প্রকল্পের একটি ওয়েব ফ্রন্ট-এন্ড আদর্শ কারণ আপনার নেটওয়ার্কে যেকোনো ওয়েব-সংযুক্ত ডিভাইস আপনার রিমোট হিসাবে ব্যবহার করা যেতে পারে।

এটি এমন একটি প্রকল্প যা আমি বছরের পর বছর পূর্ণ করার স্বপ্ন দেখেছি, এবং যদিও এখনও সংযোজন করার জায়গা আছে, প্রকল্পটি নিম্নরূপ বর্ণিত হল একটি কার্যকরী সিস্টেম।

সরবরাহ

  • একটি রাস্পবেরি পাই (আমি একটি RPi 3 মডেল B+ব্যবহার করেছি)
  • একটি 433MHz ট্রান্সমিটার এবং রিসিভার (আমি এটি ব্যবহার করেছি)
  • 433MHz আউটলেট (আমি এটি ব্যবহার করেছি)
  • মহিলা থেকে মহিলা জাম্পার (আমি এই গুচ্ছ কিনেছি)
  • একটি কম্পিউটার বা হ্যান্ডহেল্ড ডিভাইস যা ইন্টারনেট অ্যাক্সেস করতে সক্ষম

ধাপ 1: আপনার রাস্পবেরি পাই সেট করুন

আপনার রাস্পবেরি পাই সেট আপ করুন
আপনার রাস্পবেরি পাই সেট আপ করুন

আপনার নতুন রাস্পবেরি পাইতে রাস্পবিয়ানের সর্বশেষ সংস্করণ ইনস্টল করে শুরু করুন। যদি আপনি একটি বিদ্যমান Pi (যা আপনি সম্পূর্ণরূপে করতে পারেন) ব্যবহার করার পরিকল্পনা করেন, তাহলে আপনার Pi তে Python 3 আছে কিনা তা নিশ্চিত করতে হবে, যেহেতু আমি যে সমস্ত সোর্স কোড প্রদান করেছি সেটাই লেখা আছে। এটি করার জন্য, টাইপ করুন

পাইথন 3

কমান্ড লাইনে। যদি আপনার পাইথন 3 থাকে, তাহলে আপনাকে পাইথন টার্মিনাল খোলা দেখতে হবে। বন্ধ করে বা টাইপ করে টার্মিনাল থেকে প্রস্থান করুন

প্রস্থান ()

একবার আপনি এটি নিশ্চিত করার পরে, আপনাকে আপনার পাইতে ফ্লাস্ক ইনস্টল করতে হবে। ফ্লাস্ক আমাদের ওয়েব সার্ভার তৈরি করতে দেয়। পাই কমান্ড লাইন থেকে, টাইপ করুন

sudo pip3 ফ্লাস্ক ইনস্টল করুন

যদি আপনার পাইতে পিপ ইনস্টল না থাকে তবে আপনাকে টাইপ করতে হবে

sudo apt-get python3-pip ইনস্টল করুন

আমি আমার ডেস্কটপ কম্পিউটারের আরাম থেকে আমার রাস্পবেরি পাইতে বিকাশ করতে পছন্দ করি। যদি আপনিও এই বিকল্পটি পছন্দ করেন, তাহলে আপনাকে এসআইএসএইচ -এ পাই -তে কিছু ধরণের পরিবেশ ইনস্টল করতে হবে। PuTTY কাজ করবে, কিন্তু আমি একটি GUI (গ্রাফিকাল ইউজার ইন্টারফেস) থাকতে পছন্দ করি, যা দেখে মনে হচ্ছে আপনি সরাসরি Pi তে আছেন। GUI বিকল্পের জন্য, আপনি যে কম্পিউটারে কাজ করার পরিকল্পনা করছেন তাতে VNC ভিউয়ার ইনস্টল করতে চাইবেন। এমন কিছু সেটিংসও রয়েছে যা আপনাকে আপনার পাইতে সামঞ্জস্য করতে হবে। সেটিংস পরিবর্তন করার নির্দেশনা এখানে পাওয়া যাবে।

ধাপ 2: আপনার হার্ডওয়্যার সংযুক্ত করা

আপনার হার্ডওয়্যার হুকিং
আপনার হার্ডওয়্যার হুকিং

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

পিনআউট

নিচের কানেকশনগুলো আমার করা। যদি আপনি ভূমিকাতে নির্দেশিত থেকে ভিন্ন ট্রান্সমিটার/রিসিভার হার্ডওয়্যার কিনে থাকেন তবে আপনার একটি ভিন্ন কনফিগারেশন থাকতে পারে। যদি আমি নীচে নির্দেশিত সংখ্যার চেয়ে ভিন্ন পিন নম্বর বেছে নেওয়ার সিদ্ধান্ত নিই, তাহলে ভয় নেই! যখন আপনি সোর্স কোড ডাউনলোড করেন, তখন RxTx.py ফাইলে প্রয়োজনীয় পিন নম্বরগুলি পরিবর্তন করুন।

রিসিভার (বড় চিপ):

  • GND - কোন নির্ধারিত গ্রাউন্ড পিন
  • ডেটা - পিন 11
  • DER - সংযুক্ত নয়
  • +5V - কোন মনোনীত +5V পিন
  • ------
  • +5V - কোন মনোনীত +5V পিন
  • GND - কোন নির্ধারিত গ্রাউন্ড পিন
  • GND - সংযুক্ত নয়
  • ANT - সংযুক্ত নয়

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

ট্রান্সমিটার:

  • পি - 3.3V পিন
  • ডিএ - পিন 7
  • জি - কোন নির্ধারিত গ্রাউন্ড পিন
  • AN - সংযুক্ত নয়

দ্রষ্টব্য: আবার, আপনি প্রয়োজনে ট্রান্সমিটারের সাথে একটি অ্যান্টেনা সংযুক্ত করতে পারেন, কিন্তু আমি দেখেছি যে আমার প্রয়োজন নেই। পরিসীমা পর্যাপ্ত (50+ফুট) বেশি।

ধাপ 3: কোড যোগ করা

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

এখানে যেসব ভাষা জড়িত তা হল:

  • পাইথন
  • সিএসএস
  • জাভাস্ক্রিপ্ট
  • এইচটিএমএল
  • JQuery/Ajax

ফ্লাস্ক সার্ভারে এবং। এ পাইথন ব্যবহার করা হয়

RxTx.py

ফাইল, যা কোড ট্রান্সমিশন এবং রসিদ পরিচালনা করে। ওয়েব পেজের স্টাইল তৈরিতে CSS ব্যবহার করা হয়। কে একটি বিরক্তিকর ওয়েবসাইট চায়!? জাভাস্ক্রিপ্ট ইভেন্ট হ্যান্ডলিং (বোতাম চাপানো, ইত্যাদি) ব্যবহার করা হয়। এইচটিএমএল হল ওয়েবপেজের মূল বিল্ডিং ব্লক। অবশেষে, JQuery/Ajax ওয়েবপেজ এবং পাইথন ব্যাকএন্ডের মধ্যে যোগাযোগের জন্য ব্যবহৃত হয়।

যদি এই সমস্ত ভাষা ভয়ঙ্কর মনে হয়, চিন্তা করবেন না! আমি কেবল পাইথনকে এই প্রকল্পে যেতে জানতাম, যা এমন একটি ভাষা ছিল যা কোডিংয়ের সর্বনিম্ন পরিমাণে জড়িত ছিল, চিত্রটি বলুন … এটা বলার জন্য যথেষ্ট, যদি আপনি যা করতে চান তা কোডের মাধ্যমে আপনার সময় নিয়ে যান। যদি আপনি না চান, তাহলে আপনাকে করতে হবে না!

এই ওয়েবপৃষ্ঠার সাথে নিযুক্ত ডিরেক্টরি কাঠামোটি নিম্নরূপ। এই ধাপে সংযুক্ত জিপ করা ফোল্ডারটিতে নিম্নলিখিত কাঠামোর সমস্ত সোর্স কোড রয়েছে।

আউটলেট সুইচ-> comm-- DataRW.py-- keys.py-- RxTx.py-> ওয়েবপেজ-স্ট্যাটিক ----- favicon.ico ----- style.css-- টেমপ্লেট ----- index.html ----- schedule.html-- app.py-- data.file

আপনি আউটলেট সুইচ ফোল্ডারটি আপনার পাইতে যে কোন জায়গায় রাখতে পারেন। যখন আপনি আপনার ওয়েব সার্ভার চালানোর জন্য প্রস্তুত হন, তখন আপনার Pi এ টার্মিনাল খুলুন এবং

সিডি

(ডিরেক্টরি পরিবর্তন করুন) ওয়েবপেজ ডিরেক্টরিতে। তারপর টাইপ করুন

python3 app.py

টার্মিনালে। যদি কোন ত্রুটি না থাকে, তাহলে আপনাকে যেতে হবে!

পুনশ্চ. যদি আপনি কোন বাগের মধ্যে যান তবে দয়া করে ধৈর্য ধরুন। আমি আপলোড করার আগে তাদের সবাইকে স্কোয়াশ করার চেষ্টা করেছি।

ধাপ 4: এটি একটি শট দিন

ইহাকে একটি লাথি দাও!
ইহাকে একটি লাথি দাও!

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

  • আপনি ওয়েব ইন্টারফেস ব্যবহার করে যত খুশি আউটলেট যোগ করতে পারেন।
  • মুছে ফেলা যতটা সহজ সম্পাদনা ক্লিক করুন, আপনি যে আউটলেটগুলি মুছতে চান তা নির্বাচন করুন এবং মুছুন ক্লিক করুন।

উপরের ইউটিউব ভিডিওটি দেখায় যে কীভাবে আপনার তালিকায় একটি নতুন আউটলেট যুক্ত করা যায়। এটি কী দেখায় তা সংক্ষিপ্ত করতে:

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

ভূমিকাতে উল্লেখ করা হয়েছে, প্রকল্পটি আমার নিজের ব্যবহারের জন্য 100% সম্পূর্ণ নয়। সবচেয়ে বড় উপাদান যা আমি এখনও সম্পূর্ণ এবং বাস্তবায়ন করতে পারি তা হল সময় নির্ধারণের ক্ষমতা। আমি ব্যবহারকারীকে একটি সময়সূচী তৈরির অনুমতি দেওয়ার পরিকল্পনা করছি যা নির্ধারিত সময়ে স্বয়ংক্রিয়ভাবে আউটলেটগুলি চালু এবং বন্ধ করার অনুমতি দেবে।

ধাপ 5: ডিবাগিং এবং RxTx.py ফাইল

ডিবাগিং এবং RxTx.py ফাইল
ডিবাগিং এবং RxTx.py ফাইল
ডিবাগিং এবং RxTx.py ফাইল
ডিবাগিং এবং RxTx.py ফাইল
ডিবাগিং এবং RxTx.py ফাইল
ডিবাগিং এবং RxTx.py ফাইল
ডিবাগিং এবং RxTx.py ফাইল
ডিবাগিং এবং RxTx.py ফাইল

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

  • আপনার Pi তে matplotlib ইনস্টল করা আছে তা নিশ্চিত করুন। আপনি Pi এর টার্মিনালে নিম্নলিখিতটি লিখে এটি করতে পারেন:

    • পাইথন 3

    • matplotlib আমদানি করুন

    • যদি আপনি একটি ত্রুটি পান, তাহলে আপনাকে matplotlib ইনস্টল করতে হবে।
    • পাইথন শেল ব্যবহার করে প্রস্থান করুন

      প্রস্থান ()

  • Matplotlib ইনস্টল করতে, টাইপ করুন

    sudo pip3 matplotlib ইনস্টল করুন

  • টার্মিনালে
  • সংযুক্ত test.py ফাইলটি ডাউনলোড করুন এবং এটি আপনার Pi- এ RxTx.py ফাইলের পাশে রাখুন
  • পাইথন টার্মিনাল খুলুন এবং ডিরেক্টরিকে কম ফোল্ডারে পরিবর্তন করুন।
  • প্রকার

    python3 test.py

  • যখন এটি বলে "** রেকর্ডিং শুরু হয়েছে **", রেকর্ডিং শেষ না হওয়া পর্যন্ত আপনার রিমোটের অন বা অফ বোতাম টিপুন এবং ধরে রাখুন।
  • প্রোগ্রামটি একটি ম্যাটপ্লটলিব চিত্রটি লোড করবে যা উপরেরটির মতো দেখায়। উপরের ছবিতে দেখানো পর্যন্ত পুনরাবৃত্তিমূলক সংকেত না দেখা পর্যন্ত জুম ইন করুন।
  • প্রতিটি বার্তার জন্য মোট লজিক্যাল 1 এবং লজিক্যাল 0 গণনা করুন, যেখানে একটি বার্তা উপরে দেখা পুনরাবৃত্ত সংকেতের একটি পুনরাবৃত্তি। যদি মোট 25 হয়, RxTx.py ফাইলটি সম্ভবত দোষের নয়। যদি আপনি 25 ছাড়া অন্য কিছু সম্মুখীন হন, নীচে মন্তব্য করতে ভুলবেন না, এবং আমি RxTx.py ফাইলটি আরও উন্মুক্ত (অথবা এটিতে আপনার হাত চেষ্টা করে দেখুন) পুনরায় চালু করব।

যদি আমি একটি পুনরাবৃত্তিমূলক সংকেত না দেখি?

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

ধাপ 6: উপভোগ করুন

আপনি জানেন যে আপনার ফোন, ট্যাবলেট, কম্পিউটার বা অন্যান্য ওয়েব-সক্ষম ডিভাইস থেকে আউটলেট চালু/বন্ধ করার ক্ষমতা আছে! কমেন্টে আপনার মতামত আমাকে জানান!

প্রস্তাবিত: