সুচিপত্র:

EQ-01: 7 ধাপ সহ MQTT/Google Home Flood/Water WIFI Sensor
EQ-01: 7 ধাপ সহ MQTT/Google Home Flood/Water WIFI Sensor

ভিডিও: EQ-01: 7 ধাপ সহ MQTT/Google Home Flood/Water WIFI Sensor

ভিডিও: EQ-01: 7 ধাপ সহ MQTT/Google Home Flood/Water WIFI Sensor
ভিডিও: Acquire GPS Data for Reference Time and Geo-location 2024, জুলাই
Anonim
EQ-01 সহ MQTT/Google Home Flood/Water WIFI Sensor
EQ-01 সহ MQTT/Google Home Flood/Water WIFI Sensor

এই নির্দেশনায়, আমি আপনাকে দেখাব কিভাবে ন্যূনতম খরচে ওয়াইফাই বন্যা/জল সেন্সর তৈরি করতে হয়। ইবে এবং আমার বিদ্যমান খুচরা যন্ত্রাংশ থেকে অর্জিত অংশগুলির জন্য পুরো প্রকল্পটি আমাকে $ 8 এরও কম খরচ করে।

এই প্রকল্পে, আমরা ESP-01 ব্যবহার করে ওয়াইফাই এবং MQTT ক্লায়েন্টকে জলের উপস্থিতি শনাক্ত করতে এবং স্থানীয়ভাবে অ্যালার্ম প্রদানের জন্য সরাসরি সংযুক্ত স্পিকার/বজার ব্যবহার করব।

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

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

আমি Mosquitto MQTT সার্ভার এবং NodeRED হোস্ট করার জন্য RaspberryPi ZeroW ব্যবহার করি। এটি কোনও সমস্যা ছাড়াই এক বছরেরও বেশি সময় ধরে চলছে।

তথ্যসূত্র: রাস্পবেরি পাই:

ধাপ 1: আপনার প্রয়োজনীয় অংশগুলি

যন্ত্রাংশ যা আপনার প্রয়োজন হবে
যন্ত্রাংশ যা আপনার প্রয়োজন হবে
যন্ত্রাংশ যা আপনার প্রয়োজন হবে
যন্ত্রাংশ যা আপনার প্রয়োজন হবে
যন্ত্রাংশ যা আপনার প্রয়োজন হবে
যন্ত্রাংশ যা আপনার প্রয়োজন হবে

অংশ তালিকা:

(1) ইএসপি -01

(2) 10K ওহম প্রতিরোধক

(1) ছোট সিগন্যাল জেনেরিক এনপিএন ট্রানজিস্টার (আমি 2N3904 ব্যবহার করেছি)

(2) দীর্ঘ তারের

(1) 5V জেনেরিক পাওয়ার সাপ্লাই (এই সার্কিটের জন্য 300mA এর কম কারেন্ট প্রয়োজন)

(1) 3.3V নিয়ন্ত্রক মডিউল AMS1117

(1) মাইক্রো-ইউএসবি থেকে ডিপ অ্যাডাপ্টার মহিলা সংযোগকারী PCB কনভার্টার DIY কিট

(1) ইউএসবি-এ থেকে মাইক্রো ইউএসবি কেবল।

(1) 8-পিন আইসি সকেট-যদি আপনি ESP-01 সরাসরি সার্কিট বোর্ডে সোল্ডার করতে চান তবে বাদ দেওয়া যেতে পারে। প্লাস্টিকের সেতুগুলি কাটা যা সারিগুলির মধ্যে ফাঁক তৈরি করে এবং তারপরে 2 টি সারি একসাথে আঠালো করে, ছবিটি দেখুন।

(1) প্রকল্পের জন্য ছোট ঘের

যদি স্পিকার/বুজার ব্যবহার করে স্থানীয় অ্যালার্মের প্রয়োজন হয় তবে নীচে alচ্ছিক অংশগুলি রয়েছে

(1) জেনেরিক পিএনপি ট্রানজিস্টর, স্পিকার/বজার কারেন্ট/ওয়াটেজের প্রয়োজন অনুযায়ী নির্বাচন করুন। আমার ক্ষেত্রে আমি 2N2907 ব্যবহার করি যেহেতু আমার স্পিকার মাত্র 0.3W (8 ohm), এটি স্পিকার চালানোর জন্য পর্যাপ্ত শক্তি সরবরাহ করবে। আপনি যদি আরও জোরে শব্দ করতে চান তবে আপনি একটি বড় ট্রানজিস্টর এবং স্পিকার চয়ন করতে পারেন।

(1) স্পিকার, উপরের PNP ট্রানজিস্টারে নোট দেখুন

(1) 100 - 110 ওহম প্রতিরোধক

ধাপ 2: সার্কিট ডায়াগ্রাম

বর্তনী চিত্র
বর্তনী চিত্র

প্রথম ধাপে ডায়াগ্রামে দেখানো সার্কিট তৈরি করা হবে।

আমি AMS1117 3.3VDC নিয়ন্ত্রকের সাথে একটি পুরানো 5V সেলফোন চার্জার ব্যবহার করে 3.3VDC পাওয়ার সাপ্লাই তৈরি করেছি। ইএসপি -01 সকেটের জন্য, আমি একটি 8-পিন স্ট্যান্ডার্ড আইসি সকেট ব্যবহার করি, এবং প্লাস্টিকের সেতুগুলি কাটা যা সারিগুলির মধ্যে ব্যবধান তৈরি করে এবং তারপর 2 টি সারি একসাথে আঠালো করে।

আমি যে সার্কিটটি ডিজাইন করেছি তা হল দুটি তারের মধ্যে জলের উপস্থিতি অনুভব করা। যখন জল উভয় তারের ডগায় পৌঁছায়, এটি প্রায় 10K থেকে 20K ওহমের প্রতিরোধ তৈরি করবে। তারপর 10K ওহম R1 এর সাথে ধারাবাহিকভাবে, এটি Q1 এর গোড়ায় একটি ছোট স্রোত সরবরাহ করে যা Q1 কে পরিপূর্ণ করে, GPIO-2 কে মাটিতে আটকে দেয়। সেন্সিং তারের উপর একটি দুর্ঘটনাক্রমে সংক্ষিপ্ত হলে Q1 কে সুরক্ষা প্রদানের জন্য R1 প্রয়োজন।

R2 হল একটি পুল-আপ প্রতিরোধক যা ESP-01 কে ফ্ল্যাশ থেকে বুট করার অনুমতি দেয়।

এখন alচ্ছিক স্পিকার/বাজারের জন্য, যদি আপনার কেবল MQTT বলতে ESP-01 প্রয়োজন হয় এবং এই স্থানীয়করণের বিপজ্জনক বাস্তবায়ন করতে না চান, আপনি R2, Q2, স্পিকার অপসারণ করতে পারেন এবং GPIO-0 এর মধ্যে একটি 10K পুল-আপ প্রতিরোধক রাখতে পারেন এবং ভিসিসি।

যদি আপনি মহিলা মাইক্রো-ইউএসবি থেকে ডিআইপি অ্যাডাপ্টার ব্যবহারের প্রয়োজন অনুভব না করেন, তাহলে আপনি 5V PS থেকে 3.3V রেগুলেটর মডিউলের মধ্যে তারের সোল্ডার করতে পারেন। আমি মহিলা মাইক্রো ইউএসবি অ্যাডাপ্টার ব্যবহার করতে পছন্দ করি যাতে আমি যেকোন জেনেরিক সেলফোন চার্জার এবং মাইক্রো ইউএসবি কেবল ব্যবহার করতে পারি।

ধাপ 3: সার্কিট নির্মাণ

সার্কিট নির্মাণ
সার্কিট নির্মাণ
সার্কিট নির্মাণ
সার্কিট নির্মাণ
সার্কিট নির্মাণ
সার্কিট নির্মাণ

পূর্ববর্তী পৃষ্ঠায় সার্কিট ডায়াগ্রাম অনুসারে সমস্ত উপাদান এবং যন্ত্রাংশকে PCB- এ সোল্ডার করুন এবং PCB কে আকারে কাটুন।

PCB কে একটি ঘেরের ভিতরে রাখুন যা PCB এবং alচ্ছিক স্পিকারের সাথে মানানসই হবে। আমার ক্ষেত্রে, সমস্ত যন্ত্রাংশ একটি ছোট ফোন আউটলেট বক্সের ভিতরে ফিট হবে, যদিও আমাকে একটি কুঁজো তৈরি করতে কভারটি একটু গরম করতে হবে যাতে ESP-01 মডিউলটি ফিট হয়।

ধাপ 4: ESP-01 ফ্ল্যাশ করা

এই ধাপে, আমরা আরডুইনো স্কেচ দিয়ে ESP-01 ফ্ল্যাশ করব। যদি আপনি কখনোই ESP-01 মডিউলটি ফ্ল্যাশ না করেন, তাহলে আপনি শুরু করতে আমার নির্দেশাবলী অনুসরণ করতে পারেন:

আপনি আমার গিথুব পৃষ্ঠায় আমার স্কেচ খুঁজে পেতে পারেন:

স্কেচে, সর্বনিম্ন আপনাকে আপনার হোম নেটওয়ার্ক/সেটআপ সম্পর্কিত নিম্নলিখিত তথ্য পরিবর্তন করতে হবে:

#ডিফাইন MQTT_SERVER "10.0.0.30" const char* ssid1 = "SSID"; const char* password1 = "MYSSIDpassword"; const char* ssid2 = "SSID1"; const char* password2 = "MYSSIDpassword";

আমার হোম নেটওয়ার্কে, আমার 2 টি ভিন্ন অ্যাক্সেস পয়েন্ট আছে যা 2 টি ভিন্ন SSID সম্প্রচার করে, এবং এই স্কেচটি পরবর্তী SSID- এর সাথে সংযোগ স্থাপনের মাধ্যমে অপ্রয়োজনীয়তার অনুমতি দেবে যদি বর্তমান AP- এর সাথে যোগাযোগ হারিয়ে যায়। যদি আপনার শুধুমাত্র একটি SSID থাকে, তাহলে একই মান দিয়ে ssid1 এবং ssid2 উভয়ই পূরণ করুন।

একবার আপনি সংশোধন করে নিলে, স্কেচটি ESP-01 এ আপলোড করুন এবং ESP-01 এ ইন্টারফেস বোর্ডে প্লাগ করুন।

ধাপ 5: টেস্ট রান

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

মশার_সুব -ভি -টি '#'

উপরের কমান্ডটি আমাদের সকল MQTT বার্তা দালালের মধ্যে আসার অনুমতি দেবে।

এখন আমাদের সার্কিটকে শক্তিশালী করুন, এবং যদি সবকিছু কাজ করে, কয়েক সেকেন্ডের মধ্যে আপনাকে অন্তত নিম্নলিখিত MQTT বার্তাটি দেখতে হবে:

stat/SumpWaterSensor/LWT অনলাইন

এখন 2 সেন্সিং তারগুলি এক কাপ পানিতে ডুবিয়ে জল সেন্সরটি পরীক্ষা করুন এবং আপনার এই বার্তাটি দেখা উচিত:

টেলি/সাম্প ওয়াটারসেন্সর ওয়েট

এবং যদি আপনি জল থেকে তারগুলি বের করেন তবে আপনার এই বার্তাটি দেখা উচিত:

টেলি/সাম্প ওয়াটারসেন্সর DRY

যদি আপনি সেই বার্তাগুলি দেখেন, আপনার প্রকল্পটি একটি সাফল্য।

আমি স্কেচে বেশ কয়েকটি দরকারী MQTT বিষয় অন্তর্ভুক্ত করেছি যা আপনি ব্যবহার করতে পারেন:

"stat/SumpWaterSensorInfo": আপটাইম এবং অন্যান্য তথ্য প্রদানের জন্য এই মেসেজটি প্রতি মিনিটে পাঠানো হয়।

"cmnd/SumpWaterSensorInfo": ESP-01 তথ্য পাঠাবে যদি এটি '1' (ascii = 49) এর মান সহ এই বিষয়টি গ্রহণ করে

"cmnd/SumpWaterSensorCPUrestart": ESP-01 পুনরায় চালু হবে যদি এটি '1' এর মান সহ এই বিষয়টি গ্রহণ করে (ascii = 49)

"cmnd/SumpWaterSensorBeep": ইএসপি -01 যদি স্পিকারকে '1' (এএসসিআই = 49) এর মান সহ এই বিষয়টি গ্রহণ করে তবে শব্দ করবে

"cmnd/SumpWaterSensorBeepFreq": স্পিকার অ্যালার্মের ফ্রিকোয়েন্সি সেট করে, ডিফল্ট = 900 (Hz)

"cmnd/SumpWaterSensorDebug": সক্রিয় করুন এবং সিরিয়াল ডিবাগিং স্তর সেট করুন (ডিফল্ট 0 - কোন ডিবাগিং নেই)

ধাপ 6: সেন্সর মাউন্ট করুন

সেন্সর মাউন্ট করুন
সেন্সর মাউন্ট করুন
সেন্সর মাউন্ট করুন
সেন্সর মাউন্ট করুন

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

ধাপ 7: চূড়ান্ত স্পর্শ

চূড়ান্ত স্পর্শ
চূড়ান্ত স্পর্শ

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

আমার প্রকল্পে, আমি "টেলি/সাম্পওয়াটারসেন্সর" এমকিউটিটি বিষয় শুনতে/সাবস্ক্রাইব করার জন্য নোড-রেড ব্যবহার করি এবং জল সনাক্ত হলে বেশ কয়েকটি গুগল হোম স্পিকারের কাছে ঘোষণা করি। তা ছাড়াও, আমি আমার অ্যান্ড্রয়েড ফোনে বিজ্ঞপ্তি পাঠানোর জন্য প্রবাহটিকে একটি পুশবলেট নোডের সাথে সংযুক্ত করেছি।

আমি সেন্সরের অবস্থা (অন/অফলাইন, আপটাইম, ইত্যাদি) দেখতে একটি ওয়েব ফ্রন্ট-এন্ড তৈরি করেছি। কখনও কখনও আমি দেখেছি যে এটি পরিসংখ্যান থেকে 1 সপ্তাহের মধ্যে কয়েকবার অফলাইনে চলে যায়, অনেক সময় এটি ESP-01 এর কারণে ওয়াইফাই বা MQTT থেকে সংযোগ বিচ্ছিন্ন হয়ে যায়। তবে খুব বেশি চিন্তা করবেন না, আমার স্কেচটি ESP-01 পুনরায় চালু করার রুটিন অন্তর্ভুক্ত করেছে যদি এটি WIFI এবং/অথবা MQTT ব্রোকারের সাথে সংযোগ স্থাপনের চেষ্টা চালিয়ে যেতে ব্যর্থ হয়।

এই ধাপে ছবি, এটি সম্পন্ন করার জন্য নোড-রেড প্রবাহ দেখায়। আপনি আমার গিথুব পৃষ্ঠা থেকে আপনার নোড-রেডে প্রবাহটি পেস্ট করতে পারেন:

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

আনন্দ কর…

প্রস্তাবিত: