সুচিপত্র:
- ধাপ 1: তত্ত্ব
- ধাপ 2: নকশা
- ধাপ 3: প্রযুক্তিগত বিবরণ: API
- ধাপ 4: প্রযুক্তিগত বিবরণ: হার্ডওয়্যার
- ধাপ 5: প্রযুক্তিগত বিবরণ: বিন্দু সংযোগ | অধিবাস স্বয়ংক্রিয়তা
- ধাপ 6: মোড়ানো
ভিডিও: রমজান লাইট - হোম অটোমেশন IOT: 6 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:00
রমজান দরজায় কড়া নাড়ার সাথে সাথে বিশ্বব্যাপী শহরগুলি আলোকিত হয় এবং রোজার মাসের জন্য প্রস্তুত হয়। পাবলিক স্কোয়ারে এবং শহরের রাস্তায় এবং রাতের বেলায় ঘরের বাইরের দেয়ালে আলো জ্বালানো হয় যতক্ষণ না সকালে সূর্য ওঠে।
এই প্রকল্পে, আমি আমার অবদান ভাগ করতে চাই, যেখানে আমি এই সজ্জাগুলির আলোকে স্বয়ংক্রিয়ভাবে আধান সময়ের উপর ভিত্তি করে এবং আমার স্মার্ট হোম সিস্টেমে এটি যুক্ত করছি।
ধাপ 1: তত্ত্ব
মূলত, সূর্যালোকের তীব্রতার উপর ভিত্তি করে আলো স্বয়ংক্রিয় করা সহজ এবং আরো প্রযোজ্য, উদাহরণস্বরূপ। যাইহোক, আমি চাই এই পবিত্র মাসের চেতনা থাকতে হবে, যতক্ষণ পর্যন্ত রোজার মাসে মানুষকে খেতে দেওয়া হবে ততক্ষণ লাইট জ্বলবে। বিশেষ করে, মাগরিব আযান থেকে শুরু করে ফজরের আযান পর্যন্ত প্রতিটি দিন কোনো রকম মানুষের যোগাযোগ ছাড়াই লাইট জ্বালানো হয়।
ধাপ 2: নকশা
নীচে আমি এই প্রকল্পের প্রয়োজনীয়তা/ক্ষমতা তালিকাভুক্ত করব:
- সিস্টেম স্বয়ংক্রিয়ভাবে বুট আপ প্রক্রিয়া করতে সক্ষম হওয়া উচিত।
- সিস্টেমটি পর্যায়ক্রমে সিদ্ধান্ত (ON/OFF) অ্যালগরিদম কার্যকর করতে সক্ষম হওয়া উচিত।
- সিস্টেমটি দৈনিক ভিত্তিতে API এ কল করতে সক্ষম হওয়া উচিত।
- সিস্টেমটি অপরিকল্পিত পুনartসূচনা থেকে পুনরুদ্ধার করতে সক্ষম হওয়া উচিত।
- তাত্ক্ষণিকভাবে ডেটা পাওয়ার পরে সিস্টেমের সিদ্ধান্ত (চালু/বন্ধ) অ্যালগরিদম কার্যকর করা উচিত।
- অটোপাইলট মোড (স্বয়ংক্রিয় মোড) চালু করার জন্য সিস্টেমের একটি সুইচ প্রদান করা উচিত।
- সিস্টেমটি ম্যানুয়ালি লাইট চালু/বন্ধ করার জন্য একটি সুইচ প্রদান করা উচিত।
- ম্যানুয়াল সুইচ ট্রিগার করা ম্যানুয়াল মোড বন্ধ করতে হবে।
- যখন স্বয়ংক্রিয় মোড চালু থাকে, সিদ্ধান্ত অ্যালগরিদমের ফলাফল ম্যানুয়াল সুইচ অন/অফে প্রতিফলিত হওয়া উচিত।
ধাপ 3: প্রযুক্তিগত বিবরণ: API
তত্ত্বটি প্রযোজ্য করার জন্য, দৈনিক ভিত্তিতে তার পরিবর্তনশীল সময় থেকে আধানের সময় জানতে হবে এবং লাইট/সজ্জা চালু/বন্ধ করার জন্য এটিতে কাজ করতে হবে।
এই উদ্দেশ্যে, আমি ডেটা পরিবেশন করার জন্য একটি অবস্থান-ভিত্তিক API ব্যবহার করার সিদ্ধান্ত নিয়েছি (আযানের সময়)
muslimsalat.com/api/#location
- এই API বিভিন্ন ডকুমেন্টেশন লিঙ্কে বর্ণিত বিভিন্ন বিকল্প এবং কনফিগারেশন প্যারামিটার সরবরাহ করে।
- আপনার নিজের API_key ব্যবহার করার পরামর্শ দেওয়া হয় যা নিবন্ধনের পরে বিনামূল্যে।
- আমার ডিজাইনে, আমি একটি দৈনিক টাইমলাইনে আগ্রহী।
- ফিরে আসা সময় 12 ঘন্টা ফরম্যাটে (AM/PM)।
- অবস্থানের পরিপ্রেক্ষিতে, আমি কামনা করি যদি এই API স্থানের জন্য আরও সঠিক বিকল্প প্রদান করতে পারে যেমন স্থানাঙ্ক ভৌগলিক স্থানাঙ্ক সিস্টেম (অক্ষাংশ এবং দ্রাঘিমাংশ)। এই পদ্ধতির জন্য, এই API উদাহরণস্বরূপ একটি শহরের নাম প্রদান করা যেতে পারে এবং এটি বেশিরভাগ ক্ষেত্রেই যথেষ্ট। দুর্ভাগ্যক্রমে, আমার নির্দিষ্ট শহরের ফলাফল একাধিক পরীক্ষায় বেশ পক্ষপাতদুষ্ট ছিল এবং এপিআই ফলাফল এবং আমার শহরে আযানের প্রকৃত সময়ের মধ্যে আধনের সময় তুলনা করার সময় কয়েক মিনিটের পার্থক্য ছিল। অন্যদিকে, ফলাফলগুলি পুরোপুরি মিলে গিয়েছিল যখন আমি উত্তরে একটি ঘনিষ্ঠ শহর সরবরাহ করেছিলাম এবং আমি এটিকে আটকে রেখেছিলাম!
- আমি যে API url ব্যবহার করছি তা হল: https://muslimsalat.com/.json? Key =
ধাপ 4: প্রযুক্তিগত বিবরণ: হার্ডওয়্যার
সরলতার জন্য, আমি হার্ডওয়্যারটিকে API- এর সাথে সিঙ্ক করার প্রক্রিয়া থেকে বাদ দিচ্ছি এবং এই অপারেশনগুলিকে আমার হোম অটোমেশন সিস্টেমে অর্পণ করে। যদি আমি API উৎস এবং গণনার অ্যালগরিদম পরিবর্তন করতে চাই তবে এটি আমাকে আরও নিয়ন্ত্রণ দেবে।
এটা বলার পর, আমি একটি ESP8266 (NodeMCU) ব্যবহার করে স্থানীয় নেটওয়ার্কের সাথে ওয়াইফাই এবং একটি রিলে মডিউলকে অ্যাকচুয়েটর হিসাবে সংযুক্ত করতে। NodeMCU MQTT প্রোটোকল ব্যবহার করবে এবং রিলে চালু/বন্ধ করার জন্য একটি নির্দিষ্ট বিষয় শুনবে। এর মত সহজ!
ধাপ 5: প্রযুক্তিগত বিবরণ: বিন্দু সংযোগ | অধিবাস স্বয়ংক্রিয়তা
আমার রাস্পবেরিপি একটি নোডারেড দৃষ্টান্ত ধারণ করে যা এই প্রকল্পের জন্য আমার যা প্রয়োজন তা পরিচালনা করতে সক্ষম। আমাদের বার্তা প্রকাশের জন্য এটিতে একটি MQTT সার্ভারও রয়েছে।
প্রথমে, আমি ভেবেছিলাম যে আমি প্রতিদিন সকাল at টায় এপিআই ডেটা আনতে পারি এবং ফজর এবং মাহগরিব আযান উভয় সময় বের করতে পারি এবং বর্তমান সময়ের সাথে এই ভেরিয়েবলের সাথে তুলনা করতে পারি:
প্রতি 30 সেকেন্ড:
যদি: মাহগরিব <এখন <ফজর সত্য | লাইট জ্বালান | নির্দিষ্ট MQTT বিষয়ের উপর একটি অন মেসেজ প্রকাশ করুন: বন্ধ করুন
সময়ের তুলনা করার জন্য, আমি API দ্বারা প্রদত্ত ঘন্টাগুলি hh: mm (AM/PM) থেকে তারিখের অংশকে ইতিহাসের একটি নগণ্য তারিখ হিসাবে সেট করে পূর্ণ তারিখের ফর্ম্যাট রূপান্তর করছি যেমন (1/1/1970) যেহেতু আমরা সময় তুলনা করছি শুধুমাত্র বর্তমান সময়ে (তারিখ অংশও রূপান্তরিত হয়)।
দুর্ভাগ্যক্রমে, এটি কেবল স্ট্রেইট ফরোয়ার্ড ক্ষেত্রে কাজ করবে। ধরুন যখন বৈদ্যুতিক শক্তি কমে যায় বা অপরিকল্পিত কারণে সিস্টেম পুনরায় চালু হয়। যদি এই ঘটনাটি 12AM এর আগে ঘটে তবে আমরা এখনও নিরাপদ দিকে আছি, কিন্তু 12AM এর পরে এটি আমাদের সহজ অ্যালগরিদমকে ব্যর্থ করবে।
একটি উদাহরণ দিতে, আসুন সন্ধ্যা সাড়ে at টায় মাগরিব আযান এবং ভোর: টা ১০ মিনিটে ফজর। যখন সিস্টেম বুট হবে তখন এটি পূর্বে উল্লেখিত ডেটা আনার জন্য একটি নতুন অনুরোধ পাঠাবে। যদি এখন সময় 1:45 AM হয় তবে আমরা আশা করি আমাদের অ্যালগরিদম সত্য হবে, কিন্তু আসলে তা হবে না কারণ 1:45 AM ফজরের (4:10 AM) থেকে কম কিন্তু মাগরিব (7:30 PM) এর চেয়ে বড় নয়। এর কারণ হল আমরা সমস্ত ভেরিয়েবলের মধ্যে তারিখটি একত্রিত করি। নীচে অ্যালগরিদমের চূড়ান্ত সংস্করণ (এখন পর্যন্ত):
প্রতি 30 সেকেন্ড:
যদি ((magrib.getHours ()> = 12 && fajr.getHours () <= 12) || ফজর <মাগরিব) {fajr.setDate (fajr.getDate ()+1); // হ্যান্ডেল বিস্তৃত দিন শেষ সময় যদি (now.getHours () <= 12) {now.setDate (now.getDate ()+1); // হ্যান্ডেল স্প্যানিং ডে কারেন্টটাইম}} // নিচে পূর্বের কোড ব্লক দেওয়া আছে যদি: মাহগ্রিব <এখন <ফজর সত্য | লাইট জ্বালান | নির্দিষ্ট MQTT বিষয়ের উপর একটি অন মেসেজ প্রকাশ করুন: মিথ্যা | বন্ধ কর
প্রক্রিয়ার সম্পূর্ণ প্রবাহ উপরের ছবিতে টীকা দেওয়া হয়েছে।
UI এর পরিপ্রেক্ষিতে, আমি UI/ইন্টারফেসে 2 টি সুইচ যুক্ত করেছি:
- এই প্রক্রিয়াটি স্বয়ংক্রিয় বা ম্যানুয়াল চালু করার জন্য একটি সুইচ।
- ম্যানুয়ালি লাইট চালু/বন্ধ করার জন্য একটি সুইচ।
ধাপ 6: মোড়ানো
সময় উড়ে যায় কখনই প্রত্যাহার করা যায় না। এই ধরনের 1 দিনের সহজ প্রকল্পগুলি আপনাকে এই দ্রুত গলিতে একটি শ্বাস নিতে এবং সময়ের সাথে সাথে আপনার নরম দক্ষতা পুনরুজ্জীবিত করতে সহায়তা করে।
আমি বিশ্বব্যাপী এটিকে সহজ এবং পুনরায় ব্যবহারযোগ্য করার জন্য এই প্রকল্পে যতটা চেষ্টা করেছি।
যদি আপনি মনে করেন যে এই প্রকল্পটি প্রাপ্য।
শুভ রমযান!
প্রস্তাবিত:
বুক ওয়ার্ম লাইট আপ বুক লাইট এবং বুকমার্ক: 13 টি ধাপ (ছবি সহ)
বুকওয়ার্ম লাইট-আপ বুক লাইট এবং বুকমার্ক: এই মজাদার বুকওয়ার্ম বুকমার্কটি করুন যা বইয়ের আলো হিসাবে দ্বিগুণ! আমরা এটি মুদ্রণ করব, কেটে ফেলব, রঙ করব এবং সাজাবো এবং তারা তাকে রাতের আলোতে ব্যবহার করবে যাতে আপনি অন্ধকারে পড়তে পারেন। তিনি মাত্র কয়েকটি সামগ্রী দিয়ে তৈরি করেছেন এবং একটি দুর্দান্ত প্রথম তৈরি করেছেন
কথোপকথন অটোমেশন -- Arduino থেকে অডিও -- ভয়েস নিয়ন্ত্রিত অটোমেশন -- এইচসি - 05 ব্লুটুথ মডিউল: 9 ধাপ (ছবি সহ)
কথোপকথন অটোমেশন || Arduino থেকে অডিও || ভয়েস নিয়ন্ত্রিত অটোমেশন || এইচসি - 05 ব্লুটুথ মডিউল: …………………………. আরো ভিডিও পেতে দয়া করে আমার ইউটিউব চ্যানেলে সাবস্ক্রাইব করুন …. …. এই ভিডিওতে আমরা একটি টকটিভ অটোমেশন তৈরি করেছি .. যখন আপনি মোবাইলের মাধ্যমে ভয়েস কমান্ড পাঠাবেন তখন এটি হোম ডিভাইস চালু করবে এবং প্রতিক্রিয়া পাঠাবে i
অ্যানিমেটেড মুড লাইট এবং নাইট লাইট: 6 টি ধাপ (ছবি সহ)
অ্যানিমেটেড মুড লাইট অ্যান্ড নাইট লাইট: আলোর প্রতি আবেগের সীমারেখার প্রতি আকৃষ্ট হয়ে আমি ছোট মডিউলার পিসিবিগুলির একটি নির্বাচন তৈরি করার সিদ্ধান্ত নিয়েছি যা যে কোনও আকারের আরজিবি লাইট ডিসপ্লে তৈরি করতে ব্যবহার করা যেতে পারে। মডুলার পিসিবি তৈরি করার পরে আমি তাদের একটিতে সাজানোর ধারণায় হোঁচট খেয়েছি
মিস্ট্রি লাইট বক্স (নাইট লাইট): 4 টি ধাপ
মিস্ট্রি লাইট বক্স (নাইট লাইট): এবং এটি একটি মজার ছোট প্রকল্প যা তৈরি করা সহজ, এই প্রকল্পটি https://www.instructables.com/id/Arduino-Traffic-L… থেকে রেফারেন্স, কিন্তু আমি ইতিমধ্যে মূল সাইটের অনেক কাঠামো বদলেছে, আমি আরো নেতৃত্ব যোগ করি এবং আমি এটি প্যাক করার জন্য জুতার বাক্স ব্যবহার করি
কাস্টম লাইট প্যানেল PCB ব্যবহার করে খুব উজ্জ্বল বাইক লাইট: 8 টি ধাপ (ছবি সহ)
কাস্টম লাইট প্যানেল পিসিবি ব্যবহার করে খুব উজ্জ্বল বাইক লাইট: আপনি যদি একটি বাইকের মালিক হন তবে আপনি জানেন যে আপনার টায়ার এবং আপনার শরীরে কতটা অপ্রীতিকর গর্ত হতে পারে। আমি আমার টায়ার ফুটাতে যথেষ্ট ছিলাম তাই আমি আমার নিজের নেতৃত্বাধীন প্যানেলটি বাইক লাইট হিসাবে ব্যবহার করার অভিপ্রায় দিয়ে ডিজাইন করার সিদ্ধান্ত নিয়েছি। যেটি ই হওয়ার দিকে মনোনিবেশ করে