সুচিপত্র:

আপনার গার্ডেন মনিটর: 16 টি ধাপ (ছবি সহ)
আপনার গার্ডেন মনিটর: 16 টি ধাপ (ছবি সহ)

ভিডিও: আপনার গার্ডেন মনিটর: 16 টি ধাপ (ছবি সহ)

ভিডিও: আপনার গার্ডেন মনিটর: 16 টি ধাপ (ছবি সহ)
ভিডিও: স্বামীর মৃত্যুর খবর নিজেকেই বলতে হচ্ছে ব্রেকিং নিউজে। 2024, জুলাই
Anonim
আপনার বাগান পর্যবেক্ষণ করুন
আপনার বাগান পর্যবেক্ষণ করুন

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

ধাপ 1: উপাদান:

  1. Arduino uno
  2. নোডেমকু
  3. তাপমাত্রা ও আর্দ্রতা সেন্সর DHT 11
  4. মৃত্তিকা আর্দ্রতা সেন্সর - FC28
  5. ব্যাটারি ব্যাংক 10000mah (arduino এবং nodemcu পাওয়ার জন্য)
  6. নোকিয়া এলসিডি 5110
  7. প্রতিরোধক (5 x 10k, 1 x 330ohms)
  8. Potentiometer ঘূর্ণমান টাইপ (LCD উজ্জ্বলতা সামঞ্জস্য করতে) 0-100K
  9. জাম্পার তার
  10. ব্রেডবোর্ড

ধাপ 2: বেসিক সেন্সর: মৃত্তিকা আর্দ্রতা FC 28

বেসিক সেন্সর: মৃত্তিকা আর্দ্রতা এফসি 28
বেসিক সেন্সর: মৃত্তিকা আর্দ্রতা এফসি 28

আর্দ্রতা পরিমাপ করার জন্য, আমরা মাটির আর্দ্রতা সেন্সর FC 28 ব্যবহার করছি, যার মূল নীতি নিম্নরূপ:-

FC-28 মৃত্তিকা আর্দ্রতা সেন্সরের স্পেসিফিকেশন নিম্নরূপ: ইনপুট ভোল্টেজ: 3.3-5V

আউটপুট ভোল্টেজ: 0 - 4.2V

ইনপুট বর্তমান: 35mA

আউটপুট সিগন্যাল: এনালগ এবং ডিজিটাল উভয়ই

FC-28 মাটির আর্দ্রতা সেন্সরের চারটি পিন রয়েছে: VCC: পাওয়ার

A0: এনালগ আউটপুট

D0: ডিজিটাল আউটপুট

GND: স্থল

এনালগ মোড সেন্সরকে এনালগ মোডে সংযুক্ত করতে, আমাদের সেন্সরের এনালগ আউটপুট ব্যবহার করতে হবে। মাটির আর্দ্রতা সেন্সর FC-28 থেকে এনালগ আউটপুট নেওয়ার সময়, সেন্সর আমাদের 0 থেকে 1023 পর্যন্ত মান দেয়। আর্দ্রতা শতাংশে পরিমাপ করা হয়, তাই আমরা 0 থেকে 100 পর্যন্ত এই মানগুলি মানি এবং তারপর আমরা এই মানগুলি দেখাব সিরিয়াল মনিটর। আপনি আর্দ্রতার মানগুলির বিভিন্ন রেঞ্জ সেট করতে পারেন এবং সে অনুযায়ী পানির পাম্প চালু বা বন্ধ করতে পারেন।

মডিউলটিতে একটি পোটেন্টিওমিটারও রয়েছে যা থ্রেশহোল্ড মান নির্ধারণ করবে। এই থ্রেশহোল্ড মান LM393 তুলনাকারী দ্বারা তুলনা করা হবে। আউটপুট LED এই থ্রেশহোল্ড মান অনুযায়ী আপ এবং ডাউন হবে।

মাটির আর্দ্রতা সেন্সরের সাথে ইন্টারফেস করার কোডটি পরবর্তী ধাপে নেওয়া হয়েছে

ধাপ 3: MQTT বোঝা: দূরবর্তী ডেটা প্রকাশনার জন্য

এমকিউটিটি বোঝা: দূরবর্তী ডেটা প্রকাশনার জন্য
এমকিউটিটি বোঝা: দূরবর্তী ডেটা প্রকাশনার জন্য

আমরা আরও শুরু করার আগে, প্রথমে আইওটির জন্য রিমোট ডেটা পাবলিশিংয়ের মধ্য দিয়ে যাই

MQTT মানে MQ Telemetry Transport। এটি একটি পাবলিশ/সাবস্ক্রাইব, অত্যন্ত সহজ এবং লাইটওয়েট মেসেজিং প্রোটোকল, যা সীমিত ডিভাইস এবং লো-ব্যান্ডউইথ, হাই-লেটেন্সি বা অবিশ্বস্ত নেটওয়ার্কের জন্য ডিজাইন করা হয়েছে। ডিজাইনের নীতিগুলি হল নেটওয়ার্ক ব্যান্ডউইথ এবং ডিভাইস রিসোর্সের প্রয়োজনীয়তা কমিয়ে আনা, যখন নির্ভরযোগ্যতা নিশ্চিত করার চেষ্টা করা এবং ডেলিভারির কিছু ডিগ্রী নিশ্চিত করা। এই নীতিগুলি প্রবর্তিত "মেশিন-টু-মেশিন" (এম 2 এম) বা "ইন্টারনেট অফ থিংস" সংযুক্ত ডিভাইসের জগতের প্রোটোকলকে আদর্শ করে তোলে, এবং মোবাইল অ্যাপ্লিকেশনগুলির জন্য যেখানে ব্যান্ডউইথ এবং ব্যাটারি পাওয়ার প্রিমিয়ামে থাকে।

সূত্র:

MQTT [1] (MQ টেলিমেট্রি ট্রান্সপোর্ট বা মেসেজ কুইং টেলিমেট্রি ট্রান্সপোর্ট) হল একটি ISO স্ট্যান্ডার্ড (ISO/IEC PRF 20922) [2] পাবলিশ-সাবস্ক্রাইব-ভিত্তিক মেসেজিং প্রোটোকল। এটি টিসিপি/আইপি প্রোটোকলের উপরে কাজ করে। এটি দূরবর্তী অবস্থানের সাথে সংযোগের জন্য ডিজাইন করা হয়েছে যেখানে একটি "ছোট কোড পদচিহ্ন" প্রয়োজন বা নেটওয়ার্ক ব্যান্ডউইথ সীমিত।

সূত্র:

ধাপ 4: MQTT: MQTT ব্রোকার অ্যাকাউন্ট সেট আপ করা

বিভিন্ন MQTT ব্রোকার অ্যাকাউন্ট আছে, এই টিউটোরিয়ালের জন্য, আমি cloudmqtt ব্যবহার করেছি (https://www.cloudmqtt.com/)

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

ব্রাউকার হিসাবে ক্লাউডএমকিউটিটি অ্যাকাউন্ট স্থাপনের জন্য নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করা প্রয়োজন

  • একটি অ্যাকাউন্ট তৈরি করুন এবং কন্ট্রোল প্যানেলে লগইন করুন
  • একটি নতুন উদাহরণ তৈরি করতে Create+ চাপুন
  • শুরু করার জন্য আমাদের একটি গ্রাহক পরিকল্পনার জন্য সাইন আপ করতে হবে, আমরা কিউটক্যাট প্ল্যানের সাথে বিনামূল্যে ক্লাউডএমকিউটিটি চেষ্টা করতে পারি।
  • "দৃষ্টান্ত" তৈরি করার পর, পরবর্তী ধাপ হল ব্যবহারকারী তৈরি করা এবং বার্তাগুলি অ্যাক্সেস করার জন্য ব্যবহারকারীর অনুমতি প্রদান করা (ACL বিধিগুলির মাধ্যমে)

ক্লাউডএমকিউটি -তে এমকিউটিটি ব্রোকার অ্যাকাউন্ট স্থাপনের সম্পূর্ণ নির্দেশিকা লিঙ্কটি অনুসরণ করে অ্যাক্সেস করা যেতে পারে: -

উপরের সমস্ত ধাপগুলি নিম্নলিখিত স্লাইডগুলিতে একের পর এক স্থাপন করা হয়েছে

ধাপ 5: MQTT: একটি দৃষ্টান্ত তৈরি করা

MQTT: একটি দৃষ্টান্ত তৈরি করা
MQTT: একটি দৃষ্টান্ত তৈরি করা

আমি "myIOT" নামের একটি দৃষ্টান্ত তৈরি করেছি

পরিকল্পনা: সুন্দর পরিকল্পনা

ধাপ 6: MQTT: তাত্ক্ষণিক তথ্য

MQTT: তাত্ক্ষণিক তথ্য
MQTT: তাত্ক্ষণিক তথ্য

সাইন আপ করার পর দৃষ্টান্তটি তাত্ক্ষণিকভাবে সরবরাহ করা হয় এবং আপনি বিবরণ পৃষ্ঠায় উদাহরণের বিবরণ যেমন সংযোগের তথ্য দেখতে পারেন। আপনি সেখান থেকে ম্যানেজমেন্ট ইন্টারফেসেও পৌঁছাতে পারেন। কখনও কখনও আপনাকে একটি নির্দিষ্ট সংযোগ URL ব্যবহার করতে হবে

ধাপ 7: MQTT: ব্যবহারকারী যোগ করা

MQTT: ব্যবহারকারী যোগ করা
MQTT: ব্যবহারকারী যোগ করা

"Nodemcu_12" নামের একটি ব্যবহারকারী তৈরি করুন এবং একটি পাসওয়ার্ড দিন

ধাপ:: MQTT: ACL নিয়ম বরাদ্দ করা

MQTT: ACL নিয়ম বরাদ্দ করা
MQTT: ACL নিয়ম বরাদ্দ করা

নতুন ব্যবহারকারী (nodemcu_12) তৈরির পর নতুন ব্যবহারকারীকে সংরক্ষণ করুন, এখন নতুন ব্যবহারকারীকে আরও ACL প্রদান করা হবে। সংযুক্ত ছবিতে, এটি দেখা যায় যে, আমি ব্যবহারকারীকে পড়া এবং লেখার উভয় অ্যাক্সেস প্রদান করেছি।

অনুগ্রহ করে মনে রাখবেন: বিন্যাসে দেখানো হিসাবে বিষয় যোগ করা হবে (নোড থেকে MQTT ক্লায়েন্টে পড়া এবং লেখার জন্য এটি আরও প্রয়োজন)

ধাপ 9: Nodemcu: কনফিগার করা হচ্ছে

এই বিশেষ প্রকল্পে, আমি Knewron Technologies থেকে nodemcu ব্যবহার করেছি, লিঙ্কটি অনুসরণ করে আরও তথ্য পাওয়া যাবে: -(https://www.dropbox.com/s/73qbh1jfdgkauii/smartWiFi%20Development%20Module%20-%20User% 20Guide.pdf? Dl = 0)

এটা দেখা যেতে পারে যে, NodeMCU হল Espressif থেকে ESP8266 WiFi SOC এর জন্য একটি ইলুয়া ভিত্তিক ফার্মওয়্যার। নোডেমকু থেকে নডেমকু ফার্মওয়্যার দিয়ে প্রি -লোড করা হয়েছে, তাই আমাদের কেবল অ্যাপ সফটওয়্যারটি লোড করতে হবে: -

  • init.lua
  • setup.lua
  • config.lua
  • app.lua

উপরের সমস্ত লুয়া স্ক্রিপ্টগুলি লিঙ্কটি অনুসরণ করে গিথুব থেকে ডাউনলোড করা যেতে পারে: গিথুব থেকে ডাউনলোড করুন

উপরের লুয়া স্ক্রিপ্টগুলি থেকে, MQTT হোস্টের নাম, পাসওয়ার্ড, ওয়াইফাই এসএসআইডি ইত্যাদি দিয়ে config.lua স্ক্রিপ্টগুলি সংশোধন করুন।

নোডেমকুতে উপরের স্ক্রিপ্টগুলি ডাউনলোড করার জন্য, আমাদের "ESPlorer" এর মতো একটি সরঞ্জাম ব্যবহার করতে হবে, আরো তথ্যের জন্য ডক্স দেখুন:

ইএসপ্লোরারের সাথে কাজ করা পরবর্তী ধাপে বর্ণনা করা হয়েছে

ধাপ 10: Nodemcu: ESPlorer_1 দিয়ে Nodemcu তে Lua স্ক্রিপ্ট আপলোড করা হচ্ছে

Nodemcu: ESPlorer_1 দিয়ে Nodemcu তে Lua স্ক্রিপ্ট আপলোড করা হচ্ছে
Nodemcu: ESPlorer_1 দিয়ে Nodemcu তে Lua স্ক্রিপ্ট আপলোড করা হচ্ছে
  • রিফ্রেশ বাটনে ক্লিক করুন
  • COM (কমিউনিকেশন) পোর্ট এবং বড রেট নির্বাচন করুন (সাধারণত ব্যবহৃত 9600)
  • খুলুন ক্লিক করুন

ধাপ 11: Nodemcu: ESPlorer_II দিয়ে Nodemcu তে Lua স্ক্রিপ্ট আপলোড করা হচ্ছে

Nodemcu: ESPlorer_II দিয়ে Nodemcu তে Lua স্ক্রিপ্ট আপলোড করা হচ্ছে
Nodemcu: ESPlorer_II দিয়ে Nodemcu তে Lua স্ক্রিপ্ট আপলোড করা হচ্ছে

ধাপ 12: Nodemcu: ESPlorer_III দিয়ে Nodemcu তে Lua স্ক্রিপ্ট আপলোড করা হচ্ছে

Nodemcu: ESPlorer_III দিয়ে Nodemcu তে Lua স্ক্রিপ্ট আপলোড করা হচ্ছে
Nodemcu: ESPlorer_III দিয়ে Nodemcu তে Lua স্ক্রিপ্ট আপলোড করা হচ্ছে

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

CHIP ID তথ্য সংগ্রহ করা:

প্রতিটি নোডেমকুতে একটি চিপ আইডি থাকে (সম্ভবত কিছু না।), এই চিপ আইডিটি MQTT দালালকে বার্তা প্রকাশ করার জন্য আরও প্রয়োজন হয়, চিপ আইডি সম্পর্কে জানতে "ESPlorer" এ চিপ আইডির বোতামটি ক্লিক করুন।

ধাপ 13: Nodemcu: Nodemcu এর সাথে কথা বলার জন্য Arduino কনফিগার করা

নীচের উল্লিখিত কোডটি মাটির আর্দ্রতা, তাপমাত্রা এবং আর্দ্রতা নির্ধারণ করে এবং নোকিয়া এলসিডি 5110 এবং ক্রমানুসারে ডেটা প্রদর্শন করে।

Arduino কোড

Arduino RX --- Nodemcu TX সংযোগ করার চেয়ে

Arduino TX --- Nodemcu RX

উপরের কোডটিতে সফটসিরিয়াল লাইব্রেরি ব্যবহারের উপায়গুলিও অন্তর্ভুক্ত রয়েছে, যার মাধ্যমে ডিও পিনগুলি সিরিয়াল পিন হিসাবেও কাজ করতে পারে, আমি নোডেমকু সিরিয়াল পোর্টের সাথে সংযোগ স্থাপনের জন্য RX/TX পিন ব্যবহার করেছি।

সতর্কতা: যেহেতু নোডেমকু 3.3V এর সাথে কাজ করে এটি লেভেল শিফটার ব্যবহার করার পরামর্শ দেওয়া হয়, তবে আমি সরাসরি কোন লেভেলশিফ্টার ছাড়াই সংযুক্ত হয়েছি এবং পারফরম্যান্স উপরের অ্যাপ্লিকেশনের জন্য ঠিক মনে হয়।

ধাপ 14: Nodemcu: Android এ MQTT ক্লায়েন্ট সেট আপ করা

Nodemcu: অ্যান্ড্রয়েডে MQTT ক্লায়েন্ট সেট আপ করা হচ্ছে
Nodemcu: অ্যান্ড্রয়েডে MQTT ক্লায়েন্ট সেট আপ করা হচ্ছে

অ্যান্ড্রয়েড ক্লায়েন্টের সাথে মোবাইলে তথ্য দেখার শেষ ধাপ:-

MQTT অ্যান্ড্রয়েড অ্যাপ্লিকেশন বিভিন্ন আছে, আমি নিম্নলিখিত লিঙ্ক সহ গুগল প্লে থেকে একটি ব্যবহার করেছি:

.https://play.google.com/store/apps/details?

অ্যান্ড্রয়েড অ্যাপের কনফিগারেশন বেশ সহজ এবং একজনকে নিম্নলিখিত কনফিগার করতে হবে

  • MQTT হোস্ট ঠিকানা বন্দর নং সহ
  • MQTT ব্যবহারকারীর নাম এবং ঠিকানা
  • MQTT ব্রোকার নোডের ঠিকানা

উপরের বিবরণ যোগ করার পরে, অ্যাপ্লিকেশনটি সংযুক্ত করুন, যদি অ্যাপ্লিকেশনটি MQTT ব্রোকারের সাথে সংযুক্ত থাকে, তাহলে আরডুইনো থেকে সমস্ত ইনপুট স্থিতি / সিরিয়াল যোগাযোগের ডেটা লগ হিসাবে উপস্থিত হয়।

ধাপ 15: অতিরিক্ত পদক্ষেপ: নোকিয়া এলসিডি 5110 এর সাথে কাজ করা

অতিরিক্ত পদক্ষেপ: নোকিয়া এলসিডি 5110 এর সাথে কাজ করা
অতিরিক্ত পদক্ষেপ: নোকিয়া এলসিডি 5110 এর সাথে কাজ করা

এলসিডি 5110 এর জন্য পিন কনফিগারেশন নিম্নরূপ

1) RST - রিসেট করুন

2) সিই - চিপ সক্ষম

3) ডি/সি - ডেটা/কমান্ড নির্বাচন

4) DIN - সিরিয়াল ইনপুট

5) CLK - ক্লক ইনপুট

6) VCC - 3.3V

7) আলো - ব্যাকলাইট নিয়ন্ত্রণ

8) GND - স্থল

উপরে দেখানো হিসাবে উপরের অর্ডিনোকে এলসিডি 5110 এর সাথে 1-10 কে রেসিস্টর দিয়ে সংযুক্ত করুন।

LCD 5110 থেকে Arduino uno- এর জন্য পিন টু পিন সংযোগগুলি নিম্নরূপ

  • CLK - Arduino ডিজিটাল পিন 3
  • DIN - Arduino ডিজিটাল পিন 4
  • ডি/সি - আরডুইনো ডিজিটাল পিন 5
  • আরএসটি - আরডুইনো ডিজিটাল পিন 6
  • সিই - আরডুইনো ডিজিটাল পিন 7

LCD 5110 এর "BL" পিনটি পটেন্টিমিটার (0-100K) সহ LCD এর উজ্জ্বলতা নিয়ন্ত্রণ করতে ব্যবহার করা যেতে পারে

উপরের কোডের জন্য ব্যবহৃত লাইব্রেরি হল: - নীচের উল্লিখিত লিঙ্ক থেকে PCD8544 ডাউনলোড করুন

DHT11, arduino এর সাথে তাপমাত্রা এবং আর্দ্রতা সেন্সরের সংহতকরণ DHT11 নিম্নলিখিত লিঙ্ক থেকে দেখা যেতে পারে।

ধাপ 16: চূড়ান্ত সমাবেশ

চূড়ান্ত সমাবেশ
চূড়ান্ত সমাবেশ

শেষ ধাপটি হল উপরের সবগুলোকে একটি বাক্সে একত্রিত করা, বিশেষ করে সরবরাহের জন্য আমি Arduino এবং Nodemcu উভয়কে পাওয়ার জন্য 10000mah পাওয়ার ব্যাঙ্ক ব্যবহার করেছি।

আমরা ইচ্ছা করলে দীর্ঘ সময় ধরে ওয়াল সকেট চার্জার ব্যবহার করতে পারি।

প্রস্তাবিত: