সুচিপত্র:

হোম প্রেজেন্স সিমুলেটর এবং সিকিউরিটি কন্ট্রোল ডিভাইস: Ste টি ধাপ (ছবি সহ)
হোম প্রেজেন্স সিমুলেটর এবং সিকিউরিটি কন্ট্রোল ডিভাইস: Ste টি ধাপ (ছবি সহ)
Anonim
হোম প্রেজেন্স সিমুলেটর এবং সিকিউরিটি কন্ট্রোল ডিভাইস
হোম প্রেজেন্স সিমুলেটর এবং সিকিউরিটি কন্ট্রোল ডিভাইস
হোম প্রেজেন্স সিমুলেটর এবং সিকিউরিটি কন্ট্রোল ডিভাইস
হোম প্রেজেন্স সিমুলেটর এবং সিকিউরিটি কন্ট্রোল ডিভাইস
হোম প্রেজেন্স সিমুলেটর এবং সিকিউরিটি কন্ট্রোল ডিভাইস
হোম প্রেজেন্স সিমুলেটর এবং সিকিউরিটি কন্ট্রোল ডিভাইস
হোম প্রেজেন্স সিমুলেটর এবং সিকিউরিটি কন্ট্রোল ডিভাইস
হোম প্রেজেন্স সিমুলেটর এবং সিকিউরিটি কন্ট্রোল ডিভাইস

এই প্রকল্পটি আমাদের উপস্থিতি অনুকরণ করতে এবং আমাদের বাড়িতে চলাফেরা সনাক্ত করতে দেয়।

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

এই প্রকল্পটি একক ডিভাইসে এই বৈশিষ্ট্যগুলিকে একত্রিত করে (ছবি 1):

  1. এটি একটি উপস্থিতি সিমুলেটর: ডিভাইসটি একটি লাইট বাল্ব (ছবি 1) চালু এবং বন্ধ করে এবং IR নিয়ন্ত্রিত ডিভাইসে 38 KHz আইআর কন্ট্রোল কোড পাঠাতে একটি IR ট্রান্সমিটার (ছবি 2) ব্যবহার করে (টিভি, ভিসিআর, ল্যাম্প, …)
  2. এটি একটি মুভমেন্ট ডিটেক্টর: ডিভাইসটি মুভমেন্ট সনাক্ত করার জন্য একটি PIR সেন্সর পেয়েছে (ছবি 3)

পুরো সিস্টেমটি একটি মাস্টার ডিভাইস দ্বারা নিয়ন্ত্রিত হয় যা নেটওয়ার্কে উপস্থিত অন্যান্য স্লেভ ডিভাইসগুলিকে সিগন্যাল পাঠায় যাতে লাইট চালু এবং বন্ধ করা যায় এবং নিয়ন্ত্রিত উপস্থিতি সিমুলেশন অনুযায়ী নিয়ন্ত্রিত আইআর ডিভাইসগুলি সক্রিয় করা যায়।

মাস্টার ডিভাইসের প্রধান বৈশিষ্ট্যগুলি নিম্নরূপ:

  • এটি প্রতিটি স্লেভ ডিভাইস নিয়ন্ত্রণ করতে কমান্ডের একটি নির্ধারিত নিরাপত্তা ব্যবহার করে। উদাহরণস্বরূপ: স্লেভ স্টেশন 1 এর আলো প্রতিদিন এলোমেলো সময়ের মধ্যে স্যুইচ করবে অথবা স্লেভ স্টেশন 2 টিভি চালু করবে এবং নির্দিষ্ট সময়ের পরে চ্যানেল পরিবর্তন করবে।
  • এটি স্লেভ স্টেশন থেকে সিগন্যাল গ্রহণ করে যখন কোন আন্দোলন ধরা পড়ে এবং আমাদের এবং ই-মেইল পাঠায়
  • এটি ক্লাউড থেকে দূর থেকে পুরো সিস্টেম নিয়ন্ত্রণ এবং আপডেট করার জন্য একটি ওয়েব সার্ভার কনফিগার করে

আমি আশা করি আপনি কারও জন্য পছন্দ করবেন এবং উপকারী হবেন।

ধাপ 1: একটি স্লেভ ডিভাইস তৈরি করা

একটি স্লেভ ডিভাইস তৈরি করা
একটি স্লেভ ডিভাইস তৈরি করা
একটি স্লেভ ডিভাইস তৈরি করা
একটি স্লেভ ডিভাইস তৈরি করা
একটি স্লেভ ডিভাইস তৈরি করা
একটি স্লেভ ডিভাইস তৈরি করা

একটি দাস ডিভাইস তৈরি করতে আমাদের নিম্নলিখিতগুলির প্রয়োজন হবে:

  • বৈদ্যুতিক বাক্স
  • ARDUINO NANO বা সামঞ্জস্যপূর্ণ ARDUINO NANO মাইক্রোকন্ট্রোলার
  • Protoboard 480
  • রিলে
  • 38 KHz IR ট্রান্সমিটার
  • পিআইআর সেন্সর
  • nRF24L01 মডিউল + অ্যান্টেনা
  • NRF24L01 মডিউলের জন্য অ্যাডাপ্টার
  • পাওয়ার সাপ্লাই 5V, 0.6 A
  • বাতি ধারক
  • হালকা বাল্ব
  • তারগুলি
  • টার্মিনাল ব্লক

এটি মাউন্ট করার ধাপগুলি নিম্নরূপ (প্রতিটি পিন সংযোগের জন্য ফ্রিজিং অঙ্কন দেখুন):

  1. ছবি 1: বাতি ধারকের জন্য বৈদ্যুতিক বাক্সে একটি গর্ত খুলুন
  2. ছবি 2: ন্যানো মাইক্রোকন্ট্রোলার, আইআর ট্রান্সমিটার এবং পাওয়ার সাপ্লাই দিয়ে প্রোটোবোর্ড 480 ইনস্টল করুন
  3. ছবি 3: ল্যাম্প হোল্ডারের ফেজ কন্ডাক্টরকে রিলে এনসি টার্মিনালে এবং নিরপেক্ষ কন্ডাক্টরকে টার্মিনাল ব্লকের নিরপেক্ষ ইনপুটের সাথে সংযুক্ত করুন। এর পরে, টার্মিনাল ব্লকে ইনপুটের ফেজ কন্ডাক্টরের সাথে রিলে এর সাধারণ টার্মিনাল সংযুক্ত করুন
  4. ছবি 4: IR ট্রান্সমিটার এবং PIR সেন্সরকে NANO মাইক্রোকন্ট্রোলারের সাথে সংযুক্ত করুন। আপনি যে ডিভাইসটি নিয়ন্ত্রণ করতে চান তার জন্য IR কোড কনফিগার করার জন্য ধাপ 3 দেখুন
  5. ছবি 5: বৈদ্যুতিক বাক্সের বাইরে nRF24L01 অ্যাডাপ্টার ইনস্টল করুন এবং এটি NANO মাইক্রোকন্ট্রোলারের সাথে সংযুক্ত করুন। আপনি এই ছবিতে দেখতে পাচ্ছেন যে তারগুলি একটি গর্তের মাধ্যমে বৈদ্যুতিক বাক্সে যায় যা এটি ইউএসবি প্রোগ্রামিং কেবলকে ন্যানো মাইক্রোকন্ট্রোলারের সাথে সংযুক্ত করতে ব্যবহৃত হয়

ধাপ 2: মাস্টার ডিভাইস তৈরি করা

মাস্টার ডিভাইস নির্মাণ
মাস্টার ডিভাইস নির্মাণ
মাস্টার ডিভাইস নির্মাণ
মাস্টার ডিভাইস নির্মাণ
মাস্টার ডিভাইস নির্মাণ
মাস্টার ডিভাইস নির্মাণ

মাস্টার ডিভাইসটি তৈরি করতে আমাদের নিম্নলিখিতগুলির প্রয়োজন হবে:

  • বৈদ্যুতিক বাক্স
  • ARDUINO MEGA 2560 R3 বা সামঞ্জস্যপূর্ণ ARDUINO MEGA 2560 R3 মাইক্রোকন্ট্রোলার
  • WiFi NodeMCU Lua Amica V2 ESP8266 মডিউল
  • RTC DS3231
  • প্রোটোবোর্ড 170
  • রিলে
  • 38 KHz IR ট্রান্সমিটার
  • পিআইআর সেন্সর
  • nRF24L01 মডিউল + অ্যান্টেনা
  • NRF24L01 মডিউলের জন্য অ্যাডাপ্টার
  • পাওয়ার সাপ্লাই 5V, 0.6 A
  • বাতি ধারক
  • হালকা বাল্ব
  • তারগুলি
  • টার্মিনাল ব্লক

এটি মাউন্ট করার ধাপগুলি আগেরটির মতোই কারণ মাস্টার ডিভাইসটি মূলত আরও বৈশিষ্ট্যযুক্ত একটি স্লেভ ডিভাইস (প্রতিটি পিন সংযোগের জন্য ফ্রিজিং অঙ্কন দেখুন):

  • ছবি 1: বাতি ধারকের জন্য বৈদ্যুতিক বাক্সে একটি গর্ত খুলুন
  • ছবি 2, ছবি 3: প্রোটোবোর্ড 170 এ ESP8266 মডিউল ইনস্টল করুন এবং মেগা 2560 মাইক্রোকন্ট্রোলারের উপরে রাখুন যেমন আপনি ছবিতে দেখতে পাচ্ছেন
  • ছবি 4: ইলেক্ট্রিক বক্সের ভিতরে এক টুকরো কাঠ পেস্ট করুন। কাঠের টুকরোর উপরে ESP8266, ঘড়ি মডিউল DS3231 এবং nRF24L01 অ্যাডাপ্টারের সাথে MEGA 2560 মাইক্রোকন্ট্রোলার ইনস্টল করুন
  • ছবি 5: পাওয়ার সাপ্লাই এবং রিয়েলি ইনস্টল করুন। ল্যাম্প হোল্ডারের ফেজ কন্ডাক্টরকে রিলে এনসি টার্মিনালে এবং নিরপেক্ষ কন্ডাক্টরকে টার্মিনাল ব্লকের নিরপেক্ষ ইনপুটের সাথে সংযুক্ত করুন। তারপরে, টার্মিনাল ব্লকে ইনপুটের ফেজ কন্ডাক্টরের সাথে রিলে এর সাধারণ টার্মিনাল সংযুক্ত করুন।

ধাপ 3: মাস্টার এবং স্লেভ ডিভাইস কনফিগার করা

মাস্টার এবং স্লেভ ডিভাইস কনফিগার করা
মাস্টার এবং স্লেভ ডিভাইস কনফিগার করা

ডিভাইসগুলি কনফিগার করতে আপনাকে পরবর্তী পদক্ষেপগুলি করতে হবে:

পদক্ষেপ 3.1 (উভয় ডিভাইস)

আপনার ARDUINO IDE তে IRremote, RF24Network, RF24, DS3231 এবং Time লাইব্রেরি ইনস্টল করুন

পদক্ষেপ 3.2 (শুধুমাত্র একটি স্লেভ ডিভাইসের জন্য)

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

const uint16_t this_node = 01; // অক্টাল ফরম্যাটে আমাদের স্লেভ ডিভাইসের ঠিকানা

মাইক্রোকন্ট্রোলারে "উপস্থিতি_স্লেভ.ইনো" স্কেচ লোড করুন।

পদক্ষেপ 3.3 (শুধুমাত্র একটি মাস্টার ডিভাইসের জন্য) (আইআর নিয়ন্ত্রণ কোড প্রবর্তন)

আপনি যদি উপস্থিতি অনুকরণ করতে 38KHz আইআর কন্ট্রোল কোড দ্বারা নিয়ন্ত্রিত একটি ডিভাইস ব্যবহার করতে যাচ্ছেন, তাহলে আপনাকে তাদের কিছু জানতে হবে।

অন্যথায়, আপনাকে আপনার ডিভাইস থেকে আইআর নিয়ন্ত্রণ কোডগুলি পেতে হবে।

এটি করার জন্য, আপনার একটি 38KHz আইআর রিসিভার লাগবে, একটি ন্যানো মাইক্রোকন্ট্রোলারে স্কেচ "ir_codes.ino" লোড করুন এবং ছবি 1 এ যা দেখতে পাচ্ছেন সবকিছু সংযুক্ত করুন

তারপরে, আপনার রিমোট কন্ট্রোলটি আইআর রিসিভারের দিকে নির্দেশ করুন, যে কোনও বোতাম চাপুন এবং আপনি সিরিয়াল মনিটরে অনুরূপ কিছু দেখতে পাবেন:

(12 বিট) ডিকোড সনি: A90 (HEX), 101010010000 (BIN) // পাওয়ার বোতাম

(12 বিট) ডিকোড সনি: C10 (HEX), 110000010000 (BIN) // 4 বোতাম (12 বিট) ডিকোড সনি: 210 (HEX), 1000010000 (BIN) // 5 বোতাম

এই ক্ষেত্রে রিমোট কন্ট্রোল SONY IR প্রোটোকল ব্যবহার করে এবং যখন আমরা রিমোট কন্ট্রোলে পাওয়ার বাটন চাপি তখন আমরা 12 বিটের দৈর্ঘ্যের IR কোড "0xA90" পাই বা যখন আমরা রিমোট কন্ট্রোলের 4 বোতাম চাপি, আমরা IR পাই কোড "0xC10"।

আমি উপস্থিতি অনুকরণ করার জন্য কমপক্ষে শক্তি এবং বেশ কয়েকটি বোতাম নম্বর আইআর কন্ট্রোল কোড সন্ধান করার পরামর্শ দিই।

আপনি আগে আইআর কোডগুলি পাওয়ার পরে, আপনাকে সেগুলি নিম্নলিখিত উপায়ে পরিচয় করিয়ে দিতে হবে:

প্রথম উপায়

যদি আপনি একটি ওয়াইফাই নেটওয়ার্ক কনফিগার করে থাকেন তবে আপনি ওয়েব পেজ ব্যবহার করে এটি করতে পারেন (ধাপটি দেখুন: ওয়েব সার্ভার)

দ্বিতীয় উপায়

অন্যথায়, আপনাকে "ir_codes.ino" ফাইলে পরবর্তী কোডটি খুঁজতে হবে এবং তথ্য আপডেট করতে হবে। নীচের কোডে আপনি দেখতে পাবেন কিভাবে আমরা শুধুমাত্র মাস্টার ডিভাইসের জন্য উপরে প্রাপ্ত তথ্য উপস্থাপন করতে পারি (ঠিকানা = 0)

/******************************************/

/******* আইআর কন্ট্রোল কোড ***************** / /******************** ********************* 0x210, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, স্লেভ ডিভাইসের জন্য 10 আইআর কন্ট্রোল কোড (ঠিকানা = 1) অচেনা, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, স্লেভ ডিভাইসের জন্য 10 IR কন্ট্রোল কোড (ঠিকানা = 2) অচেনা, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, স্লেভ ডিভাইসের জন্য 10 IR কন্ট্রোল কোড (ঠিকানা = 3) অচেনা, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, স্লেভ ডিভাইসের জন্য 10 আইআর কন্ট্রোল কোড (ঠিকানা = 4) অচেনা, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /************ *********************************** / / ********* শেষ আইআর নিয়ন্ত্রণ কোড ** ************ / / ************************************** *********/

স্কেচটি নিম্নলিখিত আইআর প্রোটোকলের সাথে কাজ করার জন্য কনফিগার করা হয়েছে:

  • এনইসি
  • সনি
  • RC5
  • RC6
  • এলজি
  • JVC
  • হোয়াইটার
  • স্যামসাং
  • শার্প
  • ডিশ
  • ডেনন
  • লেগো_পিএফ

"Ir_codes.ino" ফাইলে আপনি স্যামসাং এবং সনি প্রোটোকলের জন্য কিছু আইআর নিয়ন্ত্রণ কোড খুঁজে পেতে পারেন।

/***************************************************************************/

// কিছু IR_PROTOCOLS এবং কোডগুলি //, 3, 4, 5, 6, 7, 8, 9, 0) // SONY, 12, 0xA90, 0x010, 0x810, 0x410, 0xC10, 0x210, 0xA10, 0x610, 0xE10, 0x110, 0x910 /***** ****************************************************** *******************/

গুরুত্বপূর্ণ: চালু করা প্রথম আইআর কন্ট্রোল কোডটি অবশ্যই ডিভাইসটি বন্ধ করার জন্য আইআর কন্ট্রোল কোড হতে হবে। মাস্টার কর্তৃক ক্রীতদাসদের কাছে পাঠানো হবে যখন সেই ডিভাইসের জন্য কোন কর্ম পরিকল্পনা করা হবে না।

যদি কিছু শরীর জানে বা কেউ উপরে তালিকাভুক্ত কিছু প্রোটোকলের কিছু আইআর কন্ট্রোল কোড পেয়ে থাকে, অনুগ্রহ করে নিম্নলিখিত নির্দেশাবলীর সাথে এই নির্দেশে একটি মন্তব্য পোস্ট করুন: প্রোটোকল আইডি, প্রোটোকল দৈর্ঘ্য এবং আইআর কন্ট্রোল কোড।

পদক্ষেপ 3.4 (শুধুমাত্র মাস্টার ডিভাইসের জন্য) (বর্তমান সিমুলেশন প্ল্যানিং প্রবর্তন)

আপনি নিম্নলিখিত উপায়ে উপস্থিতি সিমুলেশন পরিকল্পনা চালু করতে পারেন:

প্রথম উপায়

যদি আপনি একটি ওয়াইফাই নেটওয়ার্ক কনফিগার করে থাকেন তবে আপনি ওয়েব পেজ ব্যবহার করে এটি করতে পারেন (ধাপটি দেখুন: ওয়েব সার্ভার)

দ্বিতীয় উপায়

আপনাকে "ir_codes.ino" ফাইলে পরবর্তী কোড খুঁজতে হবে এবং তথ্য আপডেট করতে হবে।

উপস্থিতি সিমুলেশন পরিকল্পনা বিন্যাস নিম্নরূপ:

(hour_init_interval1), (hour_end_interval1), (hour_init_interval2), (hour_end_interval2), (min_delay_ir), (max_delay_ir), (min_delay_light), (max_delay_light)

/************ উপস্থিতি অনুকরণ পরিকল্পনা ************/

7, 8, 17, 3, 5, 60, 10, 40, // মাস্টার ডিভাইস (ঠিকানা = 0) 0, 0, 17, 23, 3, 30, 5, 10, // স্লেভ ডিভাইস (ঠিকানা = 1) 0, 0, 0, 0, 0, 0, 0, 0, // স্লেভ ডিভাইস (ঠিকানা = 2) 0, 0, 0, 0, 0, 0, 0, 0, 0, // স্লেভ ডিভাইস (ঠিকানা = 3) 0, 0, 0, 0, 0, 0, 0, 0 // স্লেভ ডিভাইস (ঠিকানা = 4) /************ শেষ প্রিন্সেন্স সিমুলেটর ********** **********/

উপরের উদাহরণে মাস্টার ডিভাইসের জন্য উপস্থিতি সিমুলেশন পরিকল্পনা নিম্নরূপ:

  • (hour_init_interval1 = 7) প্রথম ব্যবধান সিমুলেশন শুরু হবে প্রতিদিন সকাল 7:00 টায়
  • (hour_end_interval1 = 8) প্রথম ব্যবধান সিমুলেশন একই দিন সকাল 8:00 এ শেষ হবে
  • (hour_init_interval2 = 17) দ্বিতীয় ব্যবধান সিমুলেশন শুরু হবে 17:00 p.m. প্রতিদিন
  • (hour_end_interval2 = 3) দ্বিতীয় ব্যবধান সিমুলেশন শেষ হবে পরের দিন সকাল 3:00 এ
  • (min_delay_ir = 5) (max_delay_ir = 60) IR কন্ট্রোল কোডের এলোমেলো প্রেরণের মধ্যে কয়েক মিনিটের মধ্যে বিলম্বের সময় 5 এবং 60 এর মধ্যে একটি এলোমেলো সংখ্যা
  • (min_delay_light = 10) (max_delay_light = 40) লাইট সুইচ অন এবং অফের মধ্যে মিনিট বিলম্বের সময় 10 থেকে 40 এর মধ্যে একটি এলোমেলো সংখ্যা

এবং ঠিকানা 2 সহ স্লেভ ডিভাইসের উপস্থিতি সিমুলেশন পরিকল্পনা নিম্নরূপ:

  • (hour_init_interval1

    = 0) প্রথম ব্যবধান সিমুলেশন সংজ্ঞায়িত করা হয় না

  • (hour_end_interval1 = 0) প্রথম ব্যবধান সিমুলেশন সংজ্ঞায়িত করা হয় না
  • (hour_init_interval2 = 17) সিমুলেশন শুরু হবে 17:00 p.m. প্রতিদিন
  • (hour_end_interval2 = 23) সিমুলেশন শেষ হবে 23:00 p.m. একই দিনের
  • (min_delay_ir = 3)

    (max_delay_ir

    = 30) আইআর কন্ট্রোল কোডের এলোমেলো প্রেরণের মধ্যে কয়েক মিনিটের মধ্যে বিলম্বের সময় 3 থেকে 30 এর মধ্যে একটি এলোমেলো সংখ্যা

    (min_delay_light = 5)

    (max_delay_light

    = 10) লাইট সুইচ অন এবং অফের মধ্যে মিনিট বিলম্বের সময় 5 এবং 10 এর মধ্যে একটি এলোমেলো সংখ্যা

স্টেপ 3.5 (শুধুমাত্র মাস্টার ডিভাইসের জন্য) (রিয়েল টাইম ক্লক কনফিগার করা)

এই প্রজেক্টের একটি চাবিকাঠি হল সময়। যখন স্কেচ চলতে শুরু করবে তখন আমাদের ARDUINO এর সময় নির্ধারণ করতে হবে। এটি করার জন্য আমাদের একটি বাস্তব সময় ঘড়ি মডিউল প্রয়োজন। একটি ঘড়ি মডিউল হল DS3231 যা সমর্থন করে একটি ব্যাকআপ ব্যাটারি ট্রিকল চার্জার, যা I2C প্রোটোকল ব্যবহার করে তিনটি ডেটা ক্যাবল দিয়ে মাইক্রোকন্ট্রোলারের সাথে সংযুক্ত না হওয়া পর্যন্ত ব্যবহার করা যেতে পারে।

DS3231 ব্যবহার করার পূর্বে আপনাকে এই মডিউলে সময় নির্ধারণ করতে হবে। এটি করার জন্য, আপনাকে মাস্টার ডিভাইসে স্কেচ "DS3231_set.ino" চালাতে হবে।

ধাপ 3.6 (শুধুমাত্র মাস্টার ডিভাইসের জন্য) (ESP8266 মডিউল কনফিগার করা)

এই মডিউলে চলমান স্কেচ আপনার স্থানীয় ওয়াইফাই নেটওয়ার্কের সাথে সংযোগ স্থাপন এবং একটি ওয়েব সার্ভার কনফিগার করার চেষ্টা করে।

তাই আপনার স্থানীয় ওয়াইফাই নেটওয়ার্কে অ্যাক্সেস করতে এবং জিমেইল ই-মেইল অ্যাড্রেস কনফিগার করার জন্য আমাদের স্কেচ "উপস্থিতি_ওয়েব.ইনো" তে আমাদের নিম্নলিখিত তথ্য আপডেট করতে হবে যেখানে ESP8266 নেটওয়ার্কের সমস্ত ডিভাইস দ্বারা সনাক্ত করা মুভমেন্ট পাঠাতে যাচ্ছে এবং ই-মেইল ঠিকানা যেখানে আপনি বিজ্ঞপ্তি পেতে চান (ESP8266 Gmail প্রেরক নির্দেশযোগ্য)

const char* ssid = "আপনার স্থানীয় ওয়াইফাই নেটওয়ার্কের ssid";

const char* password = "আপনার স্থানীয় ওয়াইফাই নেটওয়ার্কের পাসওয়ার্ড"; const char* to_email = "ই-মেইল যেখানে আপনি মুভমেন্ট ডিটেকশনের নোটিফিকেশন পেতে চান"; ওয়াইফাই সার্ভার সার্ভার (80); // বন্দর শুনতে ব্যবহৃত

এবং "Gsender.h" স্কেচে নিম্নলিখিত তথ্য।

const char*EMAILBASE64_LOGIN = "*** আপনার জিমেইল লগইন এনকোড BASE64 ***";

const char*EMAILBASE64_PASSWORD = "*** BASE64 এ আপনার জিমেইল পাসওয়ার্ড এনকোড ***"; const char*FROM = "*** আপনার জিমেইল ঠিকানা ***";

গুরুত্বপূর্ণ: এই কোডটি আরডুইনো সংস্করণ 2.5.0 এর জন্য ESP8266 কোর দিয়ে কাজ করে না। অস্থায়ী সমাধানের জন্য কোর সংস্করণ 2.4.2 ব্যবহার করুন

ধাপ 3.7 (শুধুমাত্র মাস্টার ডিভাইসের জন্য)

আগের ধাপ doing.3, 4.4, and. এবং 6. doing করার পর ন্যানো মাইক্রোকন্ট্রোলারে "উপস্থিতি_মাস্টার.ইনো" স্কেচ এবং ESP8266 মডিউলে "উপস্থিতি_ওয়েব.ইনো" স্কেচ লোড করুন

ধাপ 4: সিস্টেম পরীক্ষা করা

সবকিছু আমাদের ইচ্ছামতো কাজ করে কিনা তা পরীক্ষা করার জন্য, "উপস্থিতি_মাস্টার.ইনো" স্কেচ পরীক্ষা মোডে চলতে পারে।

আপনি দুটি উপায়ে একটি নির্দিষ্ট ডিভাইস পরীক্ষা করতে পারেন:

প্রথম উপায়: আপনি যদি ওয়াইফাই নেটওয়ার্ক ব্যবহার না করেন, তাহলে আপনাকে "উপস্থিতি_মাস্টার.ইনো" ফাইলে পরবর্তী কোডটি খুঁজতে হবে, "bool_test_activated" ভেরিয়েবলের প্রাথমিক মানকে "সত্য" এ পরিবর্তন করতে হবে এবং একজনের ঠিকানা আপডেট করতে হবে। পরবর্তী কোড লাইনে পরীক্ষা করার যন্ত্র এবং মাস্টার ডিভাইসে ARDUINO মাইক্রোকন্ট্রোলারে স্কেচ লোড করুন।

বুলিয়ান bool_test_activated = মিথ্যা; // init পরীক্ষা মোডে সত্যে পরিবর্তন করুন

int device_to_test = 0; // পরীক্ষা করার জন্য স্লেভ ডিভাইসের ঠিকানা

যখন আপনি পরীক্ষা মোড থেকে প্রস্থান করতে চান এবং স্কেচটি পুনরায় লোড করতে চান তখন মানটি মিথ্যাতে পরিবর্তন করতে ভুলবেন না

দ্বিতীয় উপায়: আপনি যদি ওয়াইফাই নেটওয়ার্ক ব্যবহার করেন, তাহলে আপনি পরীক্ষা মোড সক্রিয় করতে ওয়েব পেজ ব্যবহার করতে পারেন। "ওয়েব সার্ভার" ধাপটি দেখুন

যদি পরীক্ষা করার যন্ত্রটি আইআর কন্ট্রোল কোড পাঠাতে যাচ্ছে, তাহলে মাস্টার বা স্লেভ ডিভাইসটিকে আইআর নিয়ন্ত্রিত ডিভাইসের (টিভি, রেডিও …) সামনে রাখুন।

এই মোড নিম্নলিখিত উপায়ে কাজ করে:

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

এই নির্দেশের শেষে ভিডিওতে আপনি পরীক্ষা মোড চলমান দেখতে পারেন।

ধাপ 5: ওয়েব সার্ভার

ওয়েব সার্ভার
ওয়েব সার্ভার
ওয়েব সার্ভার
ওয়েব সার্ভার
ওয়েব সার্ভার
ওয়েব সার্ভার

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

এই মডিউলটি I2C প্রোটোকল ব্যবহার করে ARDUINO মাইক্রোকন্ট্রোলারের সাথে সংযুক্ত।

আপনি ছবি 1 এ প্রাথমিক ওয়েব পেজ দেখতে পারেন:

  • সিস্টেম স্টেট বিভাগ আমাদের সিস্টেম সম্পর্কে তথ্য দেখায়:

    • সিস্টেমের তারিখ এবং সময়। এটা খুবই গুরুত্বপূর্ণ যে তারিখ এবং সময় সময়মত
    • উপস্থিতি সিমুলেটরের অবস্থা (সক্রিয় বা অক্ষম), শেষ উপস্থিতি কর্মের তারিখ এবং সময় এবং যে যন্ত্রটি সম্পাদন করা হয়েছে তার ঠিকানা (ছবি 2)
    • মুভমেন্ট ডিটেক্টরের অবস্থা (সক্রিয় বা অক্ষম) এবং ডিভাইস দ্বারা মুভমেন্ট ডিটেকশনের একটি historicতিহাসিক: কাউন্টার এবং তারিখ এবং শেষ মুভমেন্ট ডিটেকশনের সময় (ছবি 3) এই ছবিতে আমরা দেখতে পাচ্ছি যে ডিভাইসে ঠিকানা 1 সনাক্ত করা হয়েছে আন্দোলন এবং শেষটি 16:50:34 এ ছিল
  • আদেশ বিভাগ আমাদের নিম্নলিখিতগুলি করার অনুমতি দেয়:

    • উপস্থিতি সিমুলেটর সক্রিয় করতে
    • মুভমেন্ট ডিটেক্টর সক্রিয় করতে
    • পরীক্ষা শুরু এবং বন্ধ করার জন্য একটি ডিভাইস নির্বাচন করুন (ছবি 4)
  • উপস্থিতি আদেশ বিভাগ আমাদের নিম্নলিখিতগুলি করার অনুমতি দেয়:

    একটি নির্দিষ্ট ডিভাইসের জন্য উপস্থিতি সিমুলেশন পরিকল্পনা প্রবর্তন বা আপডেট করা। ছবি 5 এ আপনি দেখতে পারেন কিভাবে ঠিকানা ডিভাইসের জন্য উপস্থিতি সিমুলেশন পরিকল্পনা আপডেট করতে হয়। স্ট্রিং ফরম্যাটটি নিম্নরূপ:, (max_delay_ir), (min_delay_light), (max_delay_light)। সমস্ত সংখ্যা পূর্ণসংখ্যা সংখ্যা। যদি আপনি একটি বৈধ স্ট্রিং চালু করেন তবে আপনি "LAST" লেখার আগে নতুন উপস্থিতি সিমুলেশন পরিকল্পনা দেখতে পাবেন, অন্যথায় আপনি "শেষ: ভুল নয়" বার্তাটি দেখতে পাবেন

  • আইআর কোড কমান্ড বিভাগ আমাদের নিম্নলিখিতগুলি করার অনুমতি দেয়:

    একটি নির্দিষ্ট ডিভাইসের জন্য একটি আইআর কন্ট্রোল কোড চালু বা আপডেট করা। ছবি 6 এ আপনি দেখতে পারেন কিভাবে ঠিকানা ডিভাইসের জন্য নতুন আইআর কন্ট্রোল কোড আপডেট বা প্রবর্তন করতে হয়। স্ট্রিং ফরম্যাটটি নিম্নরূপ: (addr_device), (IR_protocol), (protocol_bits_length), (index_IR_control_code), (IR_control_code)। (IR_protocol) একটি কেস সংবেদনশীল স্ট্রিং যা শুধুমাত্র পরবর্তী মানগুলি (SONY, NEC, RC5, RC6, LG, JVC, WHYNTER, SAMSUNG, DISH, DENON, SHARP, LEGO_PF) এবং (IR_control_code) একটি হেক্সাডেসিমাল সংখ্যা গ্রহণ করে। যেহেতু সিস্টেমটি 10 টি আইআর কন্ট্রোল কোড সংরক্ষণের জন্য কনফিগার করা হয়েছে, (index_IR_control_code) হল 1 থেকে 10 এর মধ্যে একটি পূর্ণসংখ্যা সংখ্যা, আগের মতো, যদি আপনি একটি বৈধ স্ট্রিং ফর্ম্যাট চালু করেন তবে আপনি "LAST" লেখার আগে নতুন আইআর কন্ট্রোল কোড দেখতে পাবেন, অন্যথায় আপনি "শেষ: ভুল নয়" বার্তাটি দেখতে পাবেন।

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

আপনার স্থানীয় ওয়াইফাই নেটওয়ার্কের বাইরে দূর থেকে অ্যাক্সেস করার জন্য আপনাকে আপনার রাউটারে কনফিগার করতে হবে যে পোর্টটি আপনি ইনকামিং ডেটা শোনার জন্য ব্যবহার করতে যাচ্ছেন এবং এটি আপনার স্থানীয় নেটওয়ার্কে ESP8266 এ পুন redনির্দেশিত করুন। তারপরে কেবল একটি ওয়েব ব্রাউজারে আপনার রাউটারের আইপি টাইপ করুন।

ধাপ 6: সব স্পষ্ট করার একটি উদাহরণ

Image
Image
সব স্পষ্ট করার একটি উদাহরণ
সব স্পষ্ট করার একটি উদাহরণ

আমি সব স্পষ্ট করার জন্য একটি নির্দিষ্ট উদাহরণ ডিজাইন করেছি

আমি নিম্নলিখিত ডিভাইসগুলি তৈরি করেছি (ছবি 2)

  • একটি ন্যানো মাইক্রোকন্ট্রোলার ব্যবহার করে একটি IR নিয়ন্ত্রিত ডিভাইস, একটি RGB একটি পিং-পং বলের ভিতরে এবং একটি IR রিসিভার মডিউল (ছবি 1)। আমরা যখন আইআর রিমোটের 1 থেকে 7 পর্যন্ত কন্ট্রোল বোতামটি ধাক্কা দিই, তখন পিং-পং বল তার রঙ পরিবর্তন করে।
  • মাস্টার ডিভাইস (ঠিকানা 0)
  • একটি স্লেভ ডিভাইস (ঠিকানা 1)

উপরের সবগুলি দিয়ে আমরা প্রকল্পের সমস্ত বৈশিষ্ট্য পরীক্ষা করতে যাচ্ছি। উপস্থিতি সিমুলেশন পরিকল্পনা হতে পারে:

  1. স্লেভ ডিভাইস দ্বারা নিয়ন্ত্রিত বল সন্ধ্যা 17:00 থেকে তার রং পরিবর্তন করবে। 23:00 p.m. এবং সকাল 7:00 টা থেকে সকাল 8:00 পর্যন্ত প্রতি 1 থেকে 1 মিনিটের মধ্যে এলোমেলো বিরতি।
  2. স্লেভ ডিভাইস দ্বারা নিয়ন্ত্রিত আলো সন্ধ্যা 17:00 থেকে চালু এবং বন্ধ হবে। 23:00 p.m. এবং সকাল 7:00 টা থেকে সকাল 8:00 পর্যন্ত প্রতি 1 থেকে 2 মিনিটের মধ্যে এলোমেলো বিরতি
  3. মাস্টার ডিভাইস দ্বারা নিয়ন্ত্রিত আলো সন্ধ্যা 16:00 থেকে চালু এবং বন্ধ হবে। পরের দিন সকাল 1:00 থেকে প্রতি 1 এবং 2 মিনিটের মধ্যে এলোমেলো বিরতি

"Ir_codes.ino" স্কেচ চালানোর পর আমরা মেনে নিয়েছি যে IR রিমোট দ্বারা ব্যবহৃত IR প্রোটোকল হল "NEC", IR কোডের দৈর্ঘ্য 32 বিট এবং IR নিয়ন্ত্রণ কোড 1 থেকে 7 এর মধ্যে হেক্সাডেসিমাল ফরম্যাটে হয়:

বাটন 1 = FF30CF

বাটন 2 = FF18E7

বাটন 3 = FF7A85

বাটন 4 = FF10EF

বাটন 5 = FF38C7

বাটন 6 = FF5AA5

বাটন 7 = FF42BD

আপনি দুটি উপায়ে সিস্টেম কনফিগার করতে পারেন:

প্রথম উপায়: ওয়েব পেজ ব্যবহার করে (এই নির্দেশের শেষে ভিডিওটি দেখুন)

দ্বিতীয় উপায়: "ir_codes.ino" ফাইলটি আপডেট করা এবং এটি আপলোড করার পরে:

/******************************************/

/******* আইআর কন্ট্রোল কোড ******************* / /******************** *********************** 0xFF7A85, 0xFF10EF, 0xFF38C7, 0xFF5AA5, 0xFF42BD, 0, 0, 0, // protocol_id, number_of_bit, 10 IR কন্ট্রোল কোড স্লেভ ডিভাইসের জন্য (ঠিকানা = 1) UNKNOWN, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, স্লেভ ডিভাইসের জন্য 10 IR কন্ট্রোল কোড (ঠিকানা = 2) অচেনা, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, স্লেভ ডিভাইসের জন্য 10 IR কন্ট্রোল কোড (ঠিকানা = 3) অচেনা, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, স্লেভ ডিভাইসের জন্য 10 আইআর কন্ট্রোল কোড (ঠিকানা = 4) অচেনা, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /************ *********************************** / / ********* শেষ আইআর নিয়ন্ত্রণ কোড ** ************ / / ************************************** *********/

/************ উপস্থিতি অনুকরণ পরিকল্পনা ************/

0, 0, 16, 1, 0, 0, 1, 2, // মাস্টার ডিভাইস (ঠিকানা = 0) 7, 8, 17, 23, 1, 1, 1, 2, // স্লেভ ডিভাইস (ঠিকানা = 1) RGB বল 0, 0, 0, 0, 0, 0, 0, 0, // স্লেভ ডিভাইস (ঠিকানা = 2) 0, 0, 0, 0, 0, 0, 0, 0, // স্লেভ ডিভাইস (ঠিকানা = 3) 0, 0, 0, 0, 0, 0, 0, 0 // স্লেভ ডিভাইস (ঠিকানা = 4) /************ শেষ প্রিন্সেন্স সিমুলেটর ******** ************/

প্রস্তাবিত: