সুচিপত্র:

বিয়ারগার্ডিয়ান: 5 টি ধাপ
বিয়ারগার্ডিয়ান: 5 টি ধাপ

ভিডিও: বিয়ারগার্ডিয়ান: 5 টি ধাপ

ভিডিও: বিয়ারগার্ডিয়ান: 5 টি ধাপ
ভিডিও: Как спрятать данные в ячейках Excel? 2024, নভেম্বর
Anonim
বিয়ারগার্ডিয়ান
বিয়ারগার্ডিয়ান

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

বৈশিষ্ট্য

  • অ্যাডজাস্টেবল কালারের সাথে একটু লাইট শো
  • একটি ক্যামেরা যা আপনাকে লাইভ ছবি দেখায়
  • সঙ্গীত বাজানোর জন্য একজন স্পিকার
  • বাচ্চার নড়াচড়া ক্যাপচার করার জন্য সেন্সর
  • যে সব একটি ওয়েবসাইটে দেখাচ্ছে

সংক্ষিপ্ত তথ্য

আসুন এটি একটি সংক্ষিপ্ত সংস্করণে ব্যাখ্যা করি। সুতরাং আমাদের একটি ওয়েবসাইট দরকার এবং এই প্রকল্পের জন্য আমি ফ্লাস্ক ব্যবহার করছি, আমাদের একটি ডাটাবেসও দরকার এবং আমি মাইএসকিউএল ব্যবহার করছি, এছাড়াও একটি স্ক্রিপ্ট যা হার্ডওয়্যার চালায় এবং এটি পাইথন (3) এবং শেষ পর্যন্ত আমাদের একটি সার্ভার সেটআপ দরকার যে PI- তে nginx হবে।

আমাদের কি চাই

  • রাস্পবেরি পাই 3
  • স্টেপমোটর 28BYJ
  • স্টেপমোটর ড্রাইভারচিপ ULN2003 স্টেপার মডিউল
  • একটি rgb 3 প্রতিরোধক 330Ohm সঙ্গে নেতৃত্বে
  • Pi NoIR ক্যামেরা V2
  • অতিস্বনক সেন্সর HC-SR04
  • Ardiuno থেকে মাইক্রো মডিউল
  • MAX98357A
  • একটি স্পিকার 8Ohm
  • এবং একটি ভালুক কিনতে ভুলবেন না

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

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

প্যাকেজ ইনস্টল করুন

sudo apt আপডেট

sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3

ভার্চুয়াল পরিবেশ

python3 -m pip install --up pipde setuptools wheel verualenv

mkdir {your project foldername} && cd {your project foldername} python3 -m venv --system-site-package env source env/bin/active python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask- মাইএসকিউএল মাইএসকিউএল-সংযোগকারী-পাইথন পাসলিব

এখন আপনাকে আপনার প্রকল্প ফোল্ডারে গিট রিপোজিটরি ক্লোন করতে হবে

github.com/NMCT-S2-Project-I/Project-I.git

আপনি যদি আপনার প্রজেক্ট ফোল্ডারে দেখেন তাহলে আপনাকে 5 টি ফোল্ডার দেখতে হবে

  • conf
  • env
  • সেন্সর
  • বর্গ
  • ওয়েব

তথ্যশালা

sudo systemctl অবস্থা mysql

ss -lt | grep mysql sudo mysql

সমস্ত সুযোগ -সুবিধা সহ ডাটাবেজে একটি ব্যবহারকারী তৈরি করুন এবং আপনার ডাটাবেস তৈরি করুন

'পাসওয়ার্ড' দ্বারা চিহ্নিত ব্যবহারকারী 'ব্যবহারকারী' local 'লোকালহোস্ট' তৈরি করুন;

আপনার ডাটাবেসের নাম ডাটাবেস তৈরি করুন; আপনার ডেটাবেসনামে সমস্ত সুবিধা প্রদান করুন।

সার্ভারের জন্য কনফ ফাইল

Uwsgi-flask.ini এ আপনি 'module =…' কে 'module = web: app' এবং আপনার তৈরি ভার্চুয়ালেনভের পথ পরিবর্তন করুন। অন্যান্য ফাইলগুলিতে আপনাকে আপনার ডিরেক্টরিটির প্রকৃত পরম পাথগুলির পথ পরিবর্তন করতে হবে।

একবার আপনি বুঝতে পেরেছেন যে আপনি ফাইলগুলিকে সঠিক জায়গায় সেট করতে পারেন।

sudo cp conf/project1-*। service/etc/systemd/system/

sudo systemctl ডেমন-রিলোড sudo systemctl start project1-* sudo systemctl status project1-*

এখন আমরা এই উপলব্ধ সেট করতে হবে

sudo cp conf/nginx/etc/nginx/sites-available/project1

sudo rm/etc/nginx/sites-enabled/default sudo ln -s/etc/nginx/sites-available/project1/etc/nginx/sites-enabled/project1 sudo systemctl পুনartসূচনা nginx.service sudo nginx -t

যদি সবকিছু ঠিকঠাক হয় তবে আপনাকে এই আদেশের সাথে হ্যালো ওয়ার্ল্ড থাকতে হবে

wget -qO - লোকালহোস্ট

সম্পন্ন ! ঠিক আছে যে অংশটি আপনার সিস্টেম চালাতে দেয় …

ধাপ 1: পাইতে হার্ডওয়্যার যুক্ত করা

হার্ডওয়্যারের পাই -তে ওয়্যারিং
হার্ডওয়্যারের পাই -তে ওয়্যারিং

BCM ব্যবহার করে

অডিও MAX98357A

  • BCK থেকে GPIO 18
  • GPIO -এ ডেটা 21
  • LRCK থেকে GPIO 19

আলো

  • GPIO 17 তে লাল
  • সবুজ থেকে GPIO 27
  • নীল থেকে GPIO 22

মোটর মডিউল ULN2003

  • GPIO 5 এ 1 পিন করুন
  • GPIO 6 এ 2 পিন করুন
  • GPIO 13 এ 3 পিন করুন
  • পিন 4 থেকে জিপিআইও 26

মাইক্রো

D0 থেকে GPIO 21

অতিস্বনক সেন্সর

  • GPIO 16 তে ট্রিগ করুন
  • GPIO 20 এ প্রতিধ্বনি করুন

ধাপ 2: প্রধান প্রোগ্রাম কোডিং

আমি এখানে বিস্তারিত জানছি না কিন্তু আপনি গিথুব এ আমার কোড চেকআউট করতে পারেন।

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

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

# প্রথমে ফ্লাস্ক আমদানি করুন

ফ্লাস্ক আমদানি * @app.route ('/') ডিফ ইনডেক্স () থেকে:

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

ধাপ 3: ডাটাবেস তৈরি করা

ডাটাবেস তৈরি করা
ডাটাবেস তৈরি করা

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

সুতরাং প্রথমে আমাদের ডাটাবেস তৈরি করতে হবে যদি আপনি প্রথম ধাপে না থাকেন।

ডাটাবেস বিয়ারগার্ডিয়ান তৈরি করুন;

একবার আপনি এটি করার পরে আপনি mysql workbench বা phpadmin এ টেবিল তৈরি করুন

ব্যবহারকারীর টেবিলে আছে

  • ব্যবহারকারীর প্রমানপত্র
  • নামের প্রথম অংশ
  • নামের শেষাংশ
  • ইমেইল
  • শিশুর নাম
  • sha1 সহ পাসওয়ার্ড
  • ব্যবহারকারীর ফোল্ডার
  • প্লেমিউজিক (int)
  • প্লেলাইট (int)
  • প্লে রেকর্ডিং (int)

সঙ্গীত টেবিলে আছে

  • মিউজিক আইডি
  • গান
  • পথ
  • ব্যবহারকারীর ফোল্ডার
  • অবস্থা
  • আয়তন

রেকর্ডিং টেবিলে আছে

  • রেকর্ডিং আইডি
  • পথ
  • ব্যবহারকারীর ফোল্ডার
  • সময়
  • দিন

রঙের টেবিলে আছে

  • colorID
  • লাল
  • সবুজ
  • নীল
  • উজ্জ্বলতা
  • ব্যবহারকারীর প্রমানপত্র

বিয়ার টেবিল আছে

  • bearID (দশমিক (8))
  • userID ডিফল্ট নাল
  • জন্মের নাম

সেন্সর টেবিল আছে

  • সেন্সর আইডি
  • দূরত্ব
  • মাইক্রো
  • bearID
  • সময়
  • দিন
  • ঘুমের সময়

সুতরাং এখন আপনি সফলভাবে ডাটাবেস তৈরি করেছেন, আসুন হার্ডওয়্যারে যাই।

ধাপ 4: হার্ডওয়্যার কোডিং

আমি একটু কোড দেখাবো এবং আপনাকে বলব কেন আমি এইভাবে করেছি।

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

আমদানি করুন _threaddef function_name (something, something_else): কোড চালানোর জন্য

_thread.start_new_thread (function_name, tuple_with_the_functions_variables)

আপনি যদি আমার প্রোগ্রামের দিকে তাকান তাহলে আপনি logger.info ('…') দেখেছেন। এটি প্রিন্ট ফাংশন কিন্তু অনেক ভালো, কারণ Pi তে আপনি স্টাফ আউট প্রিন্ট করতে পারবেন না তাই আমি একটি ফাইল বানাই এবং সেখানে প্রিন্ট করি। Yoe এই কোড দিয়ে লগ ফাইল সেট করতে পারেন।

logger = logging.getLogger (_ নাম _) logger.setLevel (logging. INFO) # একটি ফাইল হ্যান্ডলার তৈরি করুন handler = logging. FileHandler ('logger.log') handler.setLevel (logging. INFO)

# একটি লগিং ফরম্যাট তৈরি করুন

ফরম্যাটার = লগিং।

# লগারে হ্যান্ডলার যুক্ত করুন

logger.addHandler (হ্যান্ডলার)

logger.info ('হার্ডওয়্যার শুরু করুন / n ---------------------------------------')

আরও কোড নিজেই আমি সবকিছু ব্যাখ্যা।

প্রস্তাবিত: