সুচিপত্র:

প্রতিক্রিয়াশীল ওয়েবসাইট সহ RPi ওয়েদারস্টেশন: 5 টি ধাপ
প্রতিক্রিয়াশীল ওয়েবসাইট সহ RPi ওয়েদারস্টেশন: 5 টি ধাপ

ভিডিও: প্রতিক্রিয়াশীল ওয়েবসাইট সহ RPi ওয়েদারস্টেশন: 5 টি ধাপ

ভিডিও: প্রতিক্রিয়াশীল ওয়েবসাইট সহ RPi ওয়েদারস্টেশন: 5 টি ধাপ
ভিডিও: Make responsive website using html css and javascript from scratch Bangla - Portfolio Website 2022 2024, জুলাই
Anonim
প্রতিক্রিয়াশীল ওয়েবসাইট সহ RPi ওয়েদারস্টেশন
প্রতিক্রিয়াশীল ওয়েবসাইট সহ RPi ওয়েদারস্টেশন
প্রতিক্রিয়াশীল ওয়েবসাইট সহ RPi ওয়েদারস্টেশন
প্রতিক্রিয়াশীল ওয়েবসাইট সহ RPi ওয়েদারস্টেশন

একটি স্কুল প্রজেক্টের জন্য আমাদের একটি IoT ডিভাইস তৈরি করতে হয়েছিল যাতে একটি ভাল উপায়ে সংগৃহীত তথ্য ভিজ্যুয়ালাইজ করা যায়। এবং আমার সমস্ত সেন্সরের সাথে তথ্য সংগ্রহের জন্য একটি পাইথন স্ক্রিপ্ট। শুরু থেকে শেষ করতে প্রায় 2 সপ্তাহ সময় লেগেছে।

আমরা DIY সম্প্রদায়ের বাকিদের সাথে আমাদের অগ্রগতি ভাগ করে নেওয়ার জন্য একটি নির্দেশযোগ্য করতে উত্সাহিত হয়েছিল, তাই এটি এখানে!

ধাপ 1: অংশ নির্বাচন, সরঞ্জাম এবং উপকরণ

প্রথমে আমি একটি আবহাওয়া কেন্দ্রের জন্য কি ধরনের সেন্সর অপরিহার্য ছিল তা বের করার প্রয়োজন ছিল আমি সিদ্ধান্ত নিলাম আমি নিম্নলিখিত সমস্ত ডেটা পরিমাপ করতে চাই

  • তাপমাত্রা
  • বায়ু চাপ
  • আর্দ্রতা
  • বাতাসের গতি
  • এই UV সূচক

এখানে আমার ব্যবহৃত সমস্ত সরঞ্জাম, উপকরণ এবং যন্ত্রাংশ রয়েছে।

অংশ:

  • তাপমাত্রা এবং আর্দ্রতা রিডিং এর জন্য DHT22/AM2302। (15 EUR)
  • ব্যারোমেট্রিক চাপ এবং তাপমাত্রার জন্য Adafruit BMP280। (12 ইউরো)
  • UV সূচক পরিমাপের জন্য Adafruit SI1145। (10 ইউরো)
  • বাতাসের গতি পরিমাপের জন্য অ্যাডাফ্রুট অ্যানালগ অ্যানিমোমিটার (50 EUR)
  • এনজাল সিগন্যালকে ডিজিটালে রূপান্তর করার জন্য একটি MCP3008।
  • আমার AM2302 এর জন্য পুল-আপ হিসাবে 10kOhm প্রতিরোধক।
  • অ্যানিমোমিটারকে 'পাওয়ার' করার জন্য একটি 9V অ্যাডাপ্টার
  • রাস্পবেরি পাই এর জন্য একটি 5V অ্যাডাপ্টার
  • রাস্পবেরি পাই 3 (যে কোনও পাই যথেষ্ট হওয়া উচিত)

উপকরণ:

একটি প্লাস্টিকের কন্টেইনার যা কিছু সংরক্ষণ করে এবং বৃষ্টির প্রমাণ দেয়।

সরঞ্জাম:

  • সোল্ডারিং লোহা এবং টিন
  • মাল্টিমিটার
  • সিলিকন
  • কিছু টেপ

তাই মোট সব সেন্সর আমার প্রায় 85 ইউরো খরচ করে, যা বেশ খাড়া কিন্তু আমি সত্যিই একটি সঠিক বায়ুচলাচল মিটার অন্তর্ভুক্ত করতে চেয়েছিলাম তাই আমি মনে করি এটি ভাল।

আপনি দোকানগুলির সাথে আরও বিস্তারিত তালিকা খুঁজে পেতে পারেন যেখানে আপনি সবকিছু কিনতে পারেন, নীচের পিডিএফ এ:)

পদক্ষেপ 2: আমাদের হার্ডওয়্যার সংযুক্ত করা

আমাদের হার্ডওয়্যার সংযুক্ত করা
আমাদের হার্ডওয়্যার সংযুক্ত করা
আমাদের হার্ডওয়্যার সংযুক্ত করা
আমাদের হার্ডওয়্যার সংযুক্ত করা

অবশ্যই আমরা আমাদের সেন্সরগুলিকে আমাদের রাস্পবেরি পাই এর সাথে সংযুক্ত করতে যাচ্ছি উপরে আপনি দেখতে পাবেন যে ফ্রিজিং স্কিম্যাটিক আপনি অনুসরণ করতে পারেন সবকিছু সঠিকভাবে সংযুক্ত করতে।

পরিকল্পিতভাবে আপনি দেখতে পারেন যে একটি 9V ব্যাটারি আমাদের অ্যানিমোমিটারের শক্তি উৎস হিসাবে ব্যবহৃত হয়, এটি সঠিকভাবে শুধুমাত্র পরীক্ষার জন্য ব্যবহার করা হয় কারণ এটি খুব বেশি সময় ধরে চলবে না, আপনি যে কোন 7-12V পাওয়ার সোর্সের জন্য 9V ব্যাটারি প্রতিস্থাপন করতে পারেন। পছন্দ করা.

আমাদের SI1145 এবং BMP280 সেন্সর দুটোই I2C প্রোটোকল ব্যবহার করে নিয়ন্ত্রিত হবে কারণ এটি কাজ করা সবচেয়ে সহজ এবং কম তারের প্রয়োজন।

পরিকল্পিত এনিমোমিটারটি এখানে একটি এলডিআর হিসাবে দেখানো হয়েছে কারণ এটি অ্যানিমোমিটারের মতো অনেকটা অনুরূপ তারের আছে এবং আমি আমার ফ্রিজিং স্কিম্যাটিক লাগানোর জন্য একটি বাস্তব অ্যানিমোমিটার খুঁজে পাইনি:)

ধাপ 3: এভারথিং সংযুক্ত করা: পাই সেট আপ করা

এভারথিং সংযোগ করা: পাই সেট আপ করা
এভারথিং সংযোগ করা: পাই সেট আপ করা

প্রথমত, আমাদের নিশ্চিত করতে হবে যে আমরা ইন্টারনেটের সাথে সংযুক্ত।

টার্মিনালে এটি করার জন্য আপনি নিম্নলিখিত কমান্ডটি চালিয়ে আপনার wpa_supplicant ফাইলে যেতে পারেন: sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

ফাইলে আপনি এটি যুক্ত করতে পারেন:

নেটওয়ার্ক = {ssid = "Your_Wifi_SSID" psk = "Your_Wifi_Password" key_mgmt = WPA-PSK

}

আপনি ভবিষ্যতে সহজ অ্যাক্সেসের জন্য আপনার আইপি-ঠিকানাকে স্ট্যাটিক সেট করতেও বেছে নিতে পারেন। এটি করার জন্য আপনাকে এই কমান্ডটি চালিয়ে dhcpcd.conf ফাইলে যেতে হবে: sudo nano /etc/dhcpcd.conf

ফাইলটিতে এটি যুক্ত করুন:

ইন্টারফেস wlan0static ip_address = 192.168.0.100/24

তারপরে আমরা নিশ্চিত করতে যাচ্ছি যে প্যাকেজগুলি ইতিমধ্যে আমাদের পাইতে ইনস্টল করা আছে তা সম্পূর্ণরূপে আপডেট হয়েছে:

sudo apt-get update && sudo apt-get upgrade

এটি কিছু সময় নিতে পারে, তাই চিন্তা করবেন না

আপনাকে রাস্পি কনফিগের ভিতরে I2C এবং SPI প্রোটোকল সক্ষম করতে হবে। আপনি এই কমান্ডটি চালানোর মাধ্যমে এটি করতে পারেন:

sudo raspi-config

তারপরে ইন্টারফেসিং বিকল্পগুলিতে যান এবং I2C এবং SPI উভয়ই সক্ষম করুন

প্রথমে আপনাকে একটি ডিরেক্টরি তৈরি করতে হবে যা আপনি আপনার প্রকল্পে রাখতে চান (আমরা এটিকে 'ওয়েদারস্টেশন' নাম দেব):

cd ~ mkdir weatherstation সিডি ওয়েদারস্টেশন

তারপরে আমরা আমাদের পাইথন 3 ভার্চুয়াল পরিবেশ স্থাপন করেছি:

python3 -m pip install --upgrade pip setuptools wheel virtualenvpython3 -m venv --system-site-package envsource env/bin/activatepython -m pip install mysql-connector-python Flask flask-mysql mysql-connector-python passlib mysql -পাইথন-আরএফ

তারপরে আমাদের কিছু অন্যান্য প্যাকেজ ইনস্টল করতে হবে যা সঠিকভাবে কাজ করার জন্য প্রয়োজনীয়:

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

এখন আমরা আমাদের ডাটাবেস তৈরি করতে যাচ্ছি:

আমরা এখনও আমাদের ডাটাবেস সেট আপ করতে হবে।

sudo mariadb <sql/db_init.sql

এসকিউএল ক্যোয়ারী আমাদের প্রয়োজনীয় টেবিলগুলি তৈরি করবে এবং আমাদের ডাটাবেসকে আরও নিরাপদ করার জন্য কয়েকজন ব্যবহারকারীও তৈরি করবে।

এটি আমাদের ডেটাবেসে কিছু নমুনা ইতিহাসের ডেটাও রাখবে যাতে নিশ্চিত করা যায় যে আমাদের ওয়েবসাইট সবকিছু সঠিকভাবে দেখায় যখন এখনও কোন বাস্তব তথ্য সংগ্রহ করা হয়নি।

Adafruit_GPIO এবং MyPyDHT ইনস্টল করার জন্য আপনাকে আরো কিছু কাজ করতে হবে প্রথমে আপনার ব্যবহারের ফোল্ডারে ফিরে যান এবং তারপর:

git clone https://github.com/adafruit/Adafruit_Python_GPIO.gitcd Adafruit_Python_GPIO sudo python3 setup.py install

cd..git clone --recursive https://github.com/freedom27/MyPyDHTsudo python3 setup.py install

ধাপ 4: সফটওয়্যার / কোড

সফটওয়্যার / কোড
সফটওয়্যার / কোড
সফটওয়্যার / কোড
সফটওয়্যার / কোড
সফটওয়্যার / কোড
সফটওয়্যার / কোড

আমাদের আবহাওয়া কেন্দ্রের জন্য ব্যাক-এন্ড সেট আপ করতে হবে, যার মধ্যে রয়েছে:

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

আপনি এগিয়ে যেতে পারেন এবং গিথুব থেকে আপনার প্রকল্পের ফোল্ডারে আমার প্রকল্পের কোড ক্লোন করতে পারেন। আপনার ব্যবহারকারী ফোল্ডারে যান এবং চালান: গিট ক্লোন

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

আপনার ব্যবহারকারীর নাম 'USERNAME' এর সমস্ত ঘটনা পরিবর্তন করুন

আপনাকে উভয়.service ফাইলগুলি systemd এ অনুলিপি করতে হবে এবং তাদের এইভাবে পরীক্ষা করতে হবে:

sudo cp conf/weatherstation-*। service/etc/systemd/system/sudo systemctl daemon-reloadsudo systemctl start Weatherstation-flask

sudo systemctl স্ট্যাটাস ওয়েদারস্টেশন-*

আমরা তারপর nginx কনফিগার সম্পাদনা করতে হবে।

sudo cp conf/nginx/etc/nginx/sites-available/weatherstationsudo rm/etc/nginx/sites-enabled/defaultsudo ln -s/etc/nginx/sites-available/weatherstation/etc/nginx/sites-enabled/weatherstationsudo systemctl nginx.servicesudo systemctl স্ট্যাটাস nginx.service পুনরায় চালু করুন

যদি কিছু ভাল হয় তবে আপনি এটি চালাতে সক্ষম হবেন এবং টার্মিনালে কিছু এইচটিএমএল প্রিন্ট আউট পাবেন:

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

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

ধাপ 5: ঘের

ঘের
ঘের
ঘের
ঘের
ঘের
ঘের

এখন যেহেতু সবকিছু কাজ করে, আমাদের পুরো জিনিসটাকে কিছু একটাতে ুকিয়ে দিতে হবে।

আমি ট্রান্সপারেন্ট lাকনা সহ একটি সাধারণ প্লাস্টিকের বাক্স বেছে নিয়েছি।এর উপরে অ্যানিমোমিটার লাগানো আছে, এবং তাই সেকেন্ডারি ক্ষুদ্র পাত্রে যা DHT22 এবং BMP280 সেন্সর ধারণ করে।

এই সেন্সরগুলি একটি পৃথক পাত্রে ভিতরে মাউন্ট করা হয় কারণ তাদের খোলা বাতাসে থাকা প্রয়োজন (বৃষ্টি না করে), কিন্তু রাস্পবেরি পাই হওয়ার দরকার নেই।

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

আমি আশা করি কিভাবে আপনি একটি আবহাওয়া কেন্দ্র নির্মাণ করতে আমার গাইড উপভোগ করেছেন, এটি প্রান্তের চারপাশে একটু রুক্ষ হতে পারে কারণ এটি আমার প্রথমবারের মতো এইরকম একটি গাইড লিখছে, কিন্তু আমি আশা করি তবুও আপনি এটি পছন্দ করেছেন:)

প্রস্তাবিত: