সুচিপত্র:

রাস্পবেরি পাই সহ স্মার্টহোম: 5 টি ধাপ
রাস্পবেরি পাই সহ স্মার্টহোম: 5 টি ধাপ
Anonim
রাস্পবেরি পাই সহ স্মার্টহোম
রাস্পবেরি পাই সহ স্মার্টহোম

এই প্রকল্পের জন্য আমি একটি স্মার্টহোম তৈরি করেছি যা একটি ওয়েবসাইট এবং মোবাইল দ্বারা পরিচালিত হতে পারে। এই জন্য আমি একটি ডাটাবেস এবং ওয়েব সার্ভার হিসাবে রাস্পবেরি পিআই ব্যবহার করি।

সরবরাহ

আপনি যদি এটি শুরু করতে চান তবে আপনার বেশ কয়েকটি জিনিস দরকার:

  • 5 সাদা এলইডি (5 মিমি)
  • 1 এক তারের তাপমাত্রা সেন্সর
  • 1 এলডিআর (হালকা নির্ভরশীল প্রতিরোধক)
  • 2 servo মোটর
  • 1 মাইক্রোএসডি (রাস্পবেরি পাই এর জন্য)
  • 1 ব্রেডবোর্ড পাওয়ার সাপ্লাই
  • 1 রাস্পবেরি পাই 3 মডেল বি+
  • 3 ফোম প্লেট
  • 1 স্টেপার মোটর (5V)
  • 1 RFID-RC522 রিডার
  • 8 প্রতিরোধক (220 ওহম)
  • 1 প্রতিরোধক (10K ওহম)
  • 2 ব্রেডবোর্ড
  • জাম্পারওয়্যারের 2 প্যাক
  • 1 16x2 LCD ডিসপ্লে
  • 1 PCF8574AN
  • 4 টি ছোট জানালা (3D মুদ্রিত)
  • 1 দরজা (3D মুদ্রিত)
  • 2 বড় জানালা (3D মুদ্রিত)
  • 1 গ্যারেজ দরজা (3D মুদ্রিত)

যদি আপনার এই সব কেনার প্রয়োজন হয়, সর্বোচ্চ খরচ হবে প্রায়। 150

ধাপ 1: তারের

তারের
তারের
তারের
তারের
তারের
তারের

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

এই পথে, আপনি দেখতে পারেন রাস্পবেরি পাইতে সবকিছু সংযুক্ত করার জন্য আপনার কাছে পর্যাপ্ত পিন আছে কিনা। এই ক্ষেত্রে আমি কম GPIO পিন দিয়ে আমার LCD নিয়ন্ত্রণ করতে PCF8574AN ব্যবহার করেছি।

স্কিম আঁকতে আমি ফ্রিজিং ব্যবহার করেছি। এটি একটি সহজ প্রোগ্রাম যেখানে আপনি একটি সুসংগঠিত উপায়ে আপনার ক্যাবলিং দেখতে পারেন।

যেহেতু আপনি দ্বিতীয় ছবিতে দেখতে পাচ্ছেন সেখানে অনেকগুলি কেবল রয়েছে তাই আপনাকে এখনও একটি সংগঠিত উপায়ে কাজ করতে হবে।

ধাপ 2: আবাসন

হাউজিং
হাউজিং
হাউজিং
হাউজিং
হাউজিং
হাউজিং
হাউজিং
হাউজিং

আবাসনের জন্য আমি দেয়াল হিসাবে ফোম বোর্ড ব্যবহার করেছি। আমি কাঙ্ক্ষিত আকারে বোর্ডগুলি কাটাতে একটি ছুরি ব্যবহার করেছি। জানালা, দরজা এবং গ্যারেজের দরজা 3D- মুদ্রিত। অবশ্যই আমি বাড়িটি আগে থেকেই আঁকতাম তাই আমি জানতাম যে আমাকে কোন মাত্রা ব্যবহার করতে হবে।

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

ধাপ 3: ডাটাবেস

তথ্যশালা
তথ্যশালা

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

আপনার নেওয়া প্রথম স্ট্যাপটি হল আপনার Pi আপডেট করা আছে কিনা তা পরীক্ষা করা। আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:

sudo apt- আপডেট পান

এবং

sudo apt-get upgrade

এখন আপনি মাইএসকিউএল সার্ভার ইনস্টল করতে পারেন:

sudo apt-get mysql-server ইনস্টল করুন

যদি মাইএসকিউএল সার্ভার ইনস্টল করা থাকে, মাইএসকিউএল ক্লায়েন্ট ইনস্টল করুন

sudo apt-get mysql-client ইনস্টল করুন

যদি আপনি এখন কমান্ড দ্বারা sql সার্ভারের দিকে তাকান:

সুডো মাইএসকিউএল

আপনি এখন এসকিউএল ওয়ার্কবেঞ্চ এবং ফরওয়ার্ড ইঞ্জিনিয়ারের সাথে.mwb ফাইল খোলার মাধ্যমে আপনার ডাটাবেস কোড আমদানি করতে পারেন। আপনি কোডটি অনুলিপি করুন এবং রাস্পবেরি থেকে মাইএসকিউএলে পেস্ট করুন। ডাটাবেস তৈরি করা হয়।

ব্যবহারকারীর সমস্ত অনুমতি পেতে, কেবল টেবিলে আপনার ব্যবহারকারীর নাম যোগ করুন

স্মার্টহোমে সমস্ত সুযোগ -সুবিধা প্রদান করুন।

অবশ্যই আপনাকে এখনই টেবিলটি রিফ্রেশ করতে হবে

ফ্লাশ বিশেষাধিকার;

এটি পরীক্ষা করার জন্য আপনি কেবল চেষ্টা করতে পারেন:

স্মার্টহোম ব্যবহার করুন;

ইতিহাসবিদ থেকে * নির্বাচন করুন;

ব্যবহারকারীর টেবিলে ব্যবহারকারীদের নাম তাদের ব্যাজ সহ আসে, এখানে আপনি নতুন ব্যবহারকারী যোগ করতে পারেন। ডিভাইসের টেবিলে আপনি তাদের আইডি সহ সমস্ত সক্রিয় সেন্সর খুঁজে পেতে পারেন।

ধাপ 4: সেটআপ

রাস্পবেরি পাইতে ছবিটি সেট করতে আপনি পুটি ব্যবহার করতে পারেন, এটি একটি বিনামূল্যে প্রোগ্রাম। আপনি এখানে বেস ইমেজ ফাইলটি খুঁজে পেতে পারেন:

ইন্টারফেস

অবশ্যই আপনাকে পাইতে কিছু ইন্টারফেস সক্ষম করতে হবে। প্রথমে কনফিগ পেজে যান।

sudo raspi-config

এখন আপনি 1-ওয়্যার এবং স্পি বিভাগে যেতে পারেন এবং উভয়ই তাদের সক্ষম করে। তাপমাত্রা সেন্সরের জন্য আপনার প্রয়োজন হবে।

ওয়াইফাই

পাইতে ওয়াইফাই পেতে পরবর্তী ধাপগুলি অনুসরণ করুন।

প্রথমে রুট হিসাবে লগ ইন করুন

sudo-i

তারপর আপনার ওয়াইফাই নেটওয়ার্কের নাম এবং পাসওয়ার্ড পূরণ করুন

wpa_passphrase = "wifiname" "password" >> /etc/wpa_supplicant/wpa_supplicant.conf

তারপর WPA ক্লায়েন্ট লিখুন

wpa_cli

ইন্টারফেস নির্বাচন করুন

ইন্টারফেস wlan0

এখন কনফিগারিটি পুনরায় লোড করুন

পুনর্গঠন

এবং এখন আপনি চেক করতে পারেন আপনি সংযুক্ত কিনা

ip a

প্যাকেজ

প্রথম কাজটি হল সর্বশেষ সংস্করণগুলি আপডেট করা

sudo apt আপডেট

পাইথনের জন্য আমরা ইনস্টল করি এবং নিশ্চিত করি যে পাই সঠিক সংস্করণটি বেছে নিচ্ছে

update-alternatives --install/usr/bin/python python /usr/bin/python2.7 1update-options --install/usr/bin/python python/usr/bin/python3 2

সাইটটি চালানোর জন্য ওয়েব সার্ভারের জন্য, আমাদের Apache2 ইনস্টল করতে হবে

sudo apt apache2 -y ইনস্টল করুন

কিছু পাইথন প্যাকেজও ইনস্টল করা প্রয়োজন

  • ফ্লাস্ক
  • ফ্লাস্ক-কর্স
  • ফ্লাস্ক-মাইএসকিউএল
  • ফ্লাস্ক-সকেটআইও
  • PyMySQL
  • পাইথন-সকেট আইও
  • অনুরোধ
  • পিপ
  • জিপিও
  • Gevent
  • Gevent-websocket

যদি কোন প্যাকেজ পাওয়া না যায় এমন সমস্যা হয়, তবে এটিতে ডান ক্লিক করুন এবং এটি ইনস্টল করতে দিন।

ধাপ 5: কোড

কোড
কোড
কোড
কোড

ব্যাকএন্ড

ব্যাকএন্ডের জন্য, আমরা পাইথনে কোড লিখি এবং পাইচার্ম ব্যবহার করে লিখি। ব্যাকএন্ড থেকে রুটগুলি পোস্টম্যানের সাথে চেক করা সম্ভব। এই অ্যাপের মাধ্যমে আপনি POST এবং GET পদ্ধতি ব্যবহার করতে পারেন। ব্যাকএন্ডে আমি মাল্টিথ্রেডিং ব্যবহার করেছি তাই সবকিছু ব্যাকগ্রাউন্ডে চলছে এবং একসাথে কাজ করতে পারে। রাস্পবেরি পাইতে ছবিটি সেট করতে আপনি পুটি ব্যবহার করতে পারেন, এটি একটি বিনামূল্যে প্রোগ্রাম।

সামনের অংশ

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

আপনি ফ্রন্টএন্ড এবং ব্যাকএন্ড এ কোডটি খুঁজে পেতে পারেন

github.com/NMCT-S2-Project-1/nmct-s2-proje…

প্রস্তাবিত: