সুচিপত্র:

হোম অটোমেশন ইন্টিগ্রেশন, ওয়াইফাই এবং ইএসপি-সহ ব্যাটারি চালিত ডোর সেন্সর: 5 টি ধাপ (ছবি সহ)
হোম অটোমেশন ইন্টিগ্রেশন, ওয়াইফাই এবং ইএসপি-সহ ব্যাটারি চালিত ডোর সেন্সর: 5 টি ধাপ (ছবি সহ)

ভিডিও: হোম অটোমেশন ইন্টিগ্রেশন, ওয়াইফাই এবং ইএসপি-সহ ব্যাটারি চালিত ডোর সেন্সর: 5 টি ধাপ (ছবি সহ)

ভিডিও: হোম অটোমেশন ইন্টিগ্রেশন, ওয়াইফাই এবং ইএসপি-সহ ব্যাটারি চালিত ডোর সেন্সর: 5 টি ধাপ (ছবি সহ)
ভিডিও: INTRODUCTION TO RASPBERRY PI-I 2024, জুলাই
Anonim
Image
Image

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

আমার লক্ষ্য:

  • একটি সেন্সর যা সনাক্ত করে এবং একটি দরজা দ্রুত খোলার রিপোর্ট করে (<5 সেকেন্ড)
  • একটি সেন্সর যা দরজা বন্ধ সনাক্ত করে
  • একটি সেন্সর যা ব্যাটারি চালিত এবং কয়েক মাস ব্যাটারিতে চলে

হার্ডওয়্যার এবং সফ্টওয়্যার দ্বারা অনুপ্রাণিত

  • কেভিন দারার ট্রিগবোর্ড (TPL5111 এবং TPS73733)।
  • এই ভিডিও

আমি আমার সামনের দরজা এবং আমার পিছনের দরজার জন্য একটি সেন্সর তৈরি করেছি। একমাত্র পার্থক্য হল নেতৃত্বাধীন অবস্থান এবং বাহ্যিক শক্তি সুইচ (ব্যাকডোর সেন্সরে)।

আমি হার্ডওয়্যার এবং সফটওয়্যারের উন্নয়নের সময় বেশ কিছু উন্নতি করেছি, এটি ফটোতে দেখা যায়।

সরবরাহ

আমি Aliexpress, প্রধান অংশ থেকে ইলেকট্রনিক উপাদান কিনেছি:

  • LiPo ব্যাটারি
  • TPS73733 LDO
  • TPL5111
  • খাগড়া সুইচ
  • পি-চ্যানেল মসফেট: IRLML6401TRPBF
  • চুম্বক
  • SMD কম্পোনেন্টের জন্য PCB অ্যাডাপ্টার প্লেট এবং অন্যটি।

ধাপ 1: হার্ডওয়্যার - সার্কিট

হার্ডওয়্যার - সার্কিট
হার্ডওয়্যার - সার্কিট
হার্ডওয়্যার - সার্কিট
হার্ডওয়্যার - সার্কিট
হার্ডওয়্যার - সার্কিট
হার্ডওয়্যার - সার্কিট

সার্কিটের জন্য সংযুক্ত স্কিমগুলি দেখুন। আমি একটি অ্যাডাপ্টার পিসিবি প্লেটে SMD অংশগুলি বিক্রি করেছি এবং একটি ডবল পার্শ্বযুক্ত পারফ বোর্ডে সমস্ত উপাদান বিক্রি করেছি। আমি মহিলা হেডারের মাধ্যমে ESP-01 সংযুক্ত করেছি, তাই আমি এই নির্দেশের ধাপ 3 এ দেখানো অ্যাডাপ্টারের মাধ্যমে এটিকে প্রোগ্রাম থেকে সরিয়ে ফেলতে পারি।

সার্কিট নিম্নরূপ কাজ করে:

  • যখন দরজা খোলা হয়, TPL5111 DELAY/M_DRV পিনে একটি শট গ্রহণ করে এবং TPS73733 LDO সক্ষম করে যা ESP-01 কে ক্ষমতা দেয়। এই ক্রিয়াকলাপের জন্য, EN/ONE_SHOT অবশ্যই কম টানতে হবে, TPL5111 এর ডেটশীট দেখুন।
  • প্রোগ্রামটি চলার পর (ধাপ সফটওয়্যার দেখুন), ESP-01 TPL5111 এ একটি সম্পন্ন সংকেত পাঠায় যা TPS73733 নিষ্ক্রিয় করে যার ফলে TPL5111 এবং TPS73733 এর জন্য খুব কম বিদ্যুৎ অবস্থা হয়।

আমি NO এবং NC উভয় সংযোগের সাথে রিড সুইচ ব্যবহার করি। আমি NC সীসা সংযুক্ত করেছি, যেহেতু চুম্বক সরানো হলে রিড সুইচটি সার্কিট বন্ধ করতে হবে (দরজা খোলা) এবং চুম্বকের কাছাকাছি হলে (দরজা বন্ধ) খুলুন।

ব্যাকডোর সেন্সরের জন্য যখন আমি কিছু অস্থিরতা আবিষ্কার করি তখন আমি কিছু কনডেনসেটর এবং প্রতিরোধক যোগ করি, তবে সফ্টওয়্যার (esp_now_init) এর কারণে অস্থিরতা ঘটেছিল যেমনটি আমি পরে আবিষ্কার করেছি।

ধাপ 2: হার্ডওয়্যার - ঘের

হার্ডওয়্যার - ঘের
হার্ডওয়্যার - ঘের
হার্ডওয়্যার - ঘের
হার্ডওয়্যার - ঘের
হার্ডওয়্যার - ঘের
হার্ডওয়্যার - ঘের

আমি অটোডেস্ক ফিউশন 360 এ ঘেরটি ডিজাইন করেছি, এই ভিডিওটি 'সুইস অ্যাকসেন্ট সহ লোক' দ্বারা অনুপ্রাণিত।

তিনটি অংশের STL ফাইল:

  • বাক্স
  • ঢাকনা
  • চুম্বক ধারক

আমার Thingiverse পৃষ্ঠায় প্রকাশিত হয়।

ধাপ 3: সফটওয়্যার

সফটওয়্যার
সফটওয়্যার

প্রোগ্রামটি আমার গিথুবে রয়েছে।

প্রোগ্রামের প্রবাহ ছবিতে দেখানো হয়েছে। আমি কিভাবে ESP- এখন ব্যবহার করি তা ব্যাখ্যা করার জন্য আমার অন্যান্য নির্দেশাবলী দেখুন।

যখন মডিউলটি চালিত হয়, তখন এটি প্রথম ESP- NOW এর মাধ্যমে 'OPEN' বার্তা পাঠানোর চেষ্টা করে। যদি এটি সফল না হয় তবে এটি একটি ওয়াইফাই এবং এমকিউটিটি সংযোগে স্যুইচ করে।

আমি জানতে পেরেছি যে, অন্তত আমার সেটআপের মধ্যে, 'বন্ধ' বার্তাটি ESP-NOW এর মাধ্যমে সফলভাবে পাঠানো হয়নি, তাই আমি এটি প্রোগ্রাম থেকে সরিয়ে দিয়েছি এবং শুধুমাত্র ওয়াইফাই এবং MQTT ব্যবহার করি।

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

প্রোগ্রামটি চেক করে যে বন্ধ করা বার্তাটি রিসিভারের দ্বারা সঠিক বিষয়ে MQTT বার্তা শোনার মাধ্যমে প্রাপ্ত হয়েছে কিনা।

ধাপ 4: হোম অটোমেশন এবং টেলিগ্রাম

হোম অটোমেশন এবং টেলিগ্রাম
হোম অটোমেশন এবং টেলিগ্রাম
হোম অটোমেশন এবং টেলিগ্রাম
হোম অটোমেশন এবং টেলিগ্রাম
হোম অটোমেশন এবং টেলিগ্রাম
হোম অটোমেশন এবং টেলিগ্রাম

আমার দরজা সেন্সর আমার রাস্পবেরি পাই জিরোতে আমার ওপেনহাব হোম অটোমেশনের সাথে যোগাযোগ করে।

প্রধান অ্যাপ্লিকেশন:

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

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

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

ওপেনহ্যাবে টেলিগ্রাম অ্যাকশন কীভাবে ব্যবহার করবেন তা এখানে বর্ণিত হয়েছে।

ধাপ 5: উন্নতি এবং আরও উন্নতি

উন্নতি এবং আরও উন্নতি
উন্নতি এবং আরও উন্নতি
উন্নতি এবং আরও উন্নতি
উন্নতি এবং আরও উন্নতি

গত মাসগুলিতে আমি নিম্নলিখিত উন্নতি করেছি।

একটি স্ব-সুইচিং পালস সংকেতের মাধ্যমে দীর্ঘ দরজা খোলা পরিচালনা করুন

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

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

অতএব আমি একটি পূর্বনির্ধারিত সময় (1 মিনিট) মডিউল চালু থাকার পরে সফ্টওয়্যারের মাধ্যমে মডিউল বন্ধ করতে সক্ষম হতে চেয়েছিলাম।

যাইহোক, যেখানে ESP-01 এর 'DONE' পালসটি TPL5111 বন্ধ করে দিয়েছিল যখন দরজা বন্ধ ছিল, আমি জানতে পারলাম যে TPL5111 একটি 'DONE' পালস দ্বারা স্যুইচ করা হয়নি যখন DELAY/M_DRV পিনটি উচ্চ ছিল। DELAY/M_DRV পিনের এই উচ্চ সংকেতটি খোলা দরজা এবং ব্যাটারি ভোল্টেজের সাথে সংযুক্ত রিড সুইচের NC যোগাযোগের কারণে হয়েছিল।

সুতরাং, DELAY/M_DRV পিনের সংকেতটি ক্রমাগত উচ্চ হওয়া উচিত নয়, তবে স্পন্দিত হওয়া উচিত। TPL5111 ডেটশীটে আপনি দেখতে পাবেন যে এটি> 20 ms এর পালস হওয়া উচিত। আমি একটি P- চ্যানেল মোসফেট, একটি ক্যাপাসিটর এবং একটি 10K এবং 300K প্রতিরোধকের মাধ্যমে এই স্ব-স্যুইচিং সংকেত তৈরি করেছি, অন্তর্ভুক্ত স্কিমটি দেখুন।

এটি নিম্নরূপ কাজ করে:

  • যদি রিড সুইচের এনসি যোগাযোগ বন্ধ থাকে, গেটটি নিম্ন এবং মোসফেট চালু থাকে, ফলে DELAY/M_DRV পিনে একটি উচ্চ সংকেত পাওয়া যায় যা মডিউলটি সক্রিয় করে।
  • ক্যাপাসিটর দ্রুত চার্জ হয়, ফলে গেটে ভোল্টেজ বৃদ্ধি পায়।
  • আনুমানিক 20 ms এর পরে, গেটে ভোল্টেজ ব্যাটারির ভোল্টেজের 97% (300K/(300K+10K) যা উচ্চ এবং মোসফেট বন্ধ হয়ে যায়, ফলে DELAY/M_DRV পিনে LOW সিগন্যাল হয়।
  • যখন DELAY/M_DRV পিন কম হয়, ESP-01 এর DONE সংকেত মডিউল বন্ধ হয়ে যায়।

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

একটি পি-চ্যানেল মোসফেট ব্যবহার করা গুরুত্বপূর্ণ যা এখানে ব্যবহৃত ভোল্টেজ পরিসরের জন্য উপযুক্ত। মোসফেট সম্পূর্ণরূপে - 3.8V এবং প্রায় -0.2 V এর VGS এ সম্পূর্ণরূপে বন্ধ থাকতে হবে। । 1 ইউএফের একটি ক্যাপাসিটর প্রায় 20 এমএসের নাড়ি দৈর্ঘ্য পেতে সূক্ষ্ম কাজ করে। একটি বড় ক্যাপাসিটরের ফলাফল একটি দীর্ঘ পালস, যা প্রয়োজন হয় না, যেহেতু TPL5111 সক্রিয় করা হয়েছিল। আমি আমার DSO150 অসিলোস্কোপ ব্যবহার করে ভোল্টেজ এবং নাড়ির দৈর্ঘ্য পরীক্ষা করেছিলাম।

পরিকল্পিত উন্নতি: ওটিএ আপডেট

আমি নিম্নলিখিত পদ্ধতির মাধ্যমে একটি OTA আপডেট অন্তর্ভুক্ত করার পরিকল্পনা করছি, যা ইতিমধ্যেই আংশিকভাবে বর্তমান সফ্টওয়্যারের অন্তর্ভুক্ত

  • NodeRed এর Openhab এর মাধ্যমে আমি একটি 'আপডেট' বার্তা একটি 'আপডেট বিষয়' প্রকাশ করি।
  • যদি মডিউলটি চালু করা হয় এবং MQTT সার্ভারের সাথে সংযুক্ত করা হয় এবং 'আপডেট টপিক' -এ সাবস্ক্রাইব করা হয়, তাহলে এটি আপডেট বার্তা পায়।
  • আপডেট বার্তাটি মডিউলটিকে বন্ধ করা থেকে বিরত করবে এবং HTTPUpdateServer শুরু করবে।
  • HTTPUpdateServer এর ওয়েবসাইটের মাধ্যমে, আপনি সফ্টওয়্যারটি আপডেট করতে পারেন।
  • NodeRed এর Openhab এর মাধ্যমে আমি একটি 'খালি' বার্তা একটি 'আপডেট বিষয়' প্রকাশ করি।

পরিকল্পিত উন্নতি: একটি পূর্বনির্ধারিত সময়ের পরে হার্ডওয়্যার বন্ধ।

বর্তমান স্কিমে, আমি TPL5111 এর DELAY/M_DRV এবং GND এর মধ্যে 200K রোধক ব্যবহার করি। এটি 2 ঘন্টারও বেশি সময় ধরে মডিউলটি চালু করে (TPL5111 ডেটশীটের 7.5.3 দেখুন)। যাইহোক, আমি চাই না যে মডিউলটি এতক্ষণ চালু থাকে, কারণ ব্যাটারিটি তখন নিষ্কাশিত হয়। যদি সফ্টওয়্যার সমাধান (উপরে দেখুন) মডিউলটি বন্ধ করতে ব্যর্থ হয়, বা আপডেট বার্তাটি অনিচ্ছাকৃতভাবে মডিউলটি আপডেট মোডে সেট করে, মডিউলটি দীর্ঘ সময় ধরে চালিত থাকে।

তাই TPL5111 এর DELAY/M_DRV এবং GND এর মধ্যে একটি ছোট প্রতিরোধক ব্যবহার করা ভাল, তাই মডিউলটি অল্প সময়ের পরে বন্ধ হয়ে যায়, উদাহরণস্বরূপ 50K রোধকারী যার ফলে 7 মিনিটের সময় হয়।

প্রস্তাবিত: