فهرست مطالب:

شبیه ساز حضور در خانه و دستگاه کنترل امنیت: 6 مرحله (همراه با تصاویر)
شبیه ساز حضور در خانه و دستگاه کنترل امنیت: 6 مرحله (همراه با تصاویر)

تصویری: شبیه ساز حضور در خانه و دستگاه کنترل امنیت: 6 مرحله (همراه با تصاویر)

تصویری: شبیه ساز حضور در خانه و دستگاه کنترل امنیت: 6 مرحله (همراه با تصاویر)
تصویری: لزبازی لیلا اوتادی چه لبی میگیره (نبینی از دستت رفته) 2024, جولای
Anonim
شبیه ساز حضور در خانه و دستگاه کنترل امنیتی
شبیه ساز حضور در خانه و دستگاه کنترل امنیتی
شبیه ساز حضور در خانه و دستگاه کنترل امنیتی
شبیه ساز حضور در خانه و دستگاه کنترل امنیتی
شبیه ساز حضور در خانه و دستگاه کنترل امنیتی
شبیه ساز حضور در خانه و دستگاه کنترل امنیتی
شبیه ساز حضور در خانه و دستگاه کنترل امنیتی
شبیه ساز حضور در خانه و دستگاه کنترل امنیتی

این پروژه به ما امکان شبیه سازی حضور و تشخیص حرکات در خانه را می دهد.

ما می توانیم شبکه ای از دستگاه های نصب شده در اتاق های مختلف خانه خود را تنظیم کنیم که همه آنها توسط یک دستگاه اصلی کنترل می شوند.

این پروژه این ویژگی ها را در یک دستگاه واحد (تصویر 1) ترکیب می کند:

  1. این یک شبیه ساز حضور است: دستگاه یک لامپ را روشن و خاموش می کند (تصویر 1) و از فرستنده مادون قرمز (تصویر 2) برای ارسال 38 کیلوهرتز کد کنترل IR به دستگاه های کنترل شده با IR (تلویزیون ، VCR ، لامپ ها ، …)
  2. این یک آشکارساز حرکت است: دستگاه دارای سنسور PIR برای تشخیص حرکات است (تصویر 3)

کل سیستم توسط یک دستگاه اصلی کنترل می شود که سیگنال هایی را برای سایر دستگاه های برده موجود در شبکه ارسال می کند تا چراغ ها را خاموش و روشن کرده و دستگاه های IR کنترل شده را مطابق شبیه سازی حضور برنامه ریزی شده فعال کند.

ویژگی های اصلی دستگاه اصلی به شرح زیر است:

  • برای کنترل هر دستگاه برده از یک دستور برنامه زمانبندی شده استفاده می کند. به عنوان مثال: چراغ در ایستگاه برده 1 هر روز در یک دوره زمانی تصادفی روشن می شود یا ایستگاه برده 2 تلویزیون را روشن می کند و پس از مدتی کانال را تغییر می دهد.
  • هنگامی که حرکتی تشخیص داده می شود ، سیگنال ها را از ایستگاه های برده دریافت می کند و برای ما و ایمیل ارسال می کند
  • این یک سرور وب را برای کنترل و به روز رسانی کل سیستم از راه دور از Cloud پیکربندی می کند

امیدوارم دوست داشته باشید و برای کسی مفید باشید.

مرحله 1: ساختن یک دستگاه برده

ساختن یک دستگاه برده
ساختن یک دستگاه برده
ساختن یک دستگاه برده
ساختن یک دستگاه برده
ساختن یک دستگاه برده
ساختن یک دستگاه برده

برای ساختن یک دستگاه برده به موارد زیر نیاز داریم:

  • جعبه الکتریکی
  • میکروکنترلر ARDUINO NANO یا سازگار ARDUINO NANO
  • Protoboard 480
  • رله
  • فرستنده IR 38 کیلوهرتز
  • سنسور PIR
  • ماژول nRF24L01 + آنتن
  • آداپتور برای ماژول nRF24L01
  • منبع تغذیه 5 ولت ، 0.6 آمپر
  • جا لامپ
  • لامپ روشنایی
  • کابل ها
  • بلوک ترمینال

مراحل نصب آن به شرح زیر است (برای هر اتصال پین به نقشه Fritzing مراجعه کنید):

  1. تصویر 1: یک سوراخ در جعبه برقی برای نگهدارنده لامپ باز کنید
  2. تصویر 2: نصب protoboard 480 با میکروکنترلر NANO ، فرستنده IR و منبع تغذیه
  3. تصویر 3: هادی فاز نگهدارنده لامپ را به ترمینال NC رله و هادی خنثی را به ورودی خنثی در بلوک ترمینال وصل کنید. پس از آن ، ترمینال مشترک رله را به هادی فاز ورودی در بلوک ترمینال وصل کنید
  4. تصویر 4: فرستنده IR و سنسور PIR را به میکروکنترلر NANO وصل کنید. مرحله 3 را برای پیکربندی کدهای IR دستگاهی که می خواهید کنترل کنید ، مشاهده کنید
  5. تصویر 5: آداپتور nRF24L01 را خارج از جعبه برقی نصب کرده و آن را به میکروکنترلر NANO وصل کنید. همانطور که در این تصویر مشاهده می کنید ، کابل ها از طریق سوراخی وارد جعبه برقی می شوند که از آن برای اتصال کابل برنامه نویسی USB به میکروکنترلر NANO استفاده می شود.

مرحله 2: ساختن دستگاه اصلی

ساختن دستگاه اصلی
ساختن دستگاه اصلی
ساختن دستگاه اصلی
ساختن دستگاه اصلی
ساختن دستگاه اصلی
ساختن دستگاه اصلی

برای ساختن دستگاه اصلی به موارد زیر نیاز داریم:

  • جعبه الکتریکی
  • میکروکنترلر ARDUINO MEGA 2560 R3 یا سازگار ARDUINO MEGA 2560 R3
  • ماژول WiFi NodeMCU Lua Amica V2 ESP8266
  • RTC DS3231
  • صفحه اولیه 170
  • رله
  • فرستنده IR 38 کیلوهرتز
  • سنسور PIR
  • ماژول nRF24L01 + آنتن
  • آداپتور برای ماژول nRF24L01
  • منبع تغذیه 5 ولت ، 0.6 آمپر
  • جا لامپ
  • لامپ روشنایی
  • کابل ها
  • بلوک ترمینال

مراحل نصب آن بسیار شبیه قبلی است زیرا دستگاه اصلی در اصل یک دستگاه برده با ویژگی های بیشتر است (برای هر اتصال پین به نقشه Fritzing مراجعه کنید):

  • تصویر 1: یک سوراخ در جعبه برقی برای نگهدارنده لامپ باز کنید
  • تصویر 2 ، تصویر 3: ماژول ESP8266 را در صفحه اولیه 170 نصب کرده و همانطور که در تصاویر مشاهده می کنید ، روی میکروکنترلر MEGA 2560 قرار دهید.
  • تصویر 4: یک تکه چوب را داخل جعبه الکترونیکی بچسبانید. روی قطعه چوب میکروکنترلر MEGA 2560 را با ESP8266 ، ماژول ساعت DS3231 و آداپتور nRF24L01 نصب کنید
  • تصویر 5: منبع تغذیه و واقعی را نصب کنید. هادی فاز نگهدارنده لامپ را به پایانه NC رله و هادی خنثی را به ورودی خنثی در بلوک ترمینال وصل کنید. پس از آن ، ترمینال مشترک رله را به هادی فاز ورودی در بلوک ترمینال وصل کنید.

مرحله 3: پیکربندی Master و Slave Devices

پیکربندی دستگاههای Master و Slave
پیکربندی دستگاههای Master و Slave

برای پیکربندی دستگاه ها باید مراحل زیر را انجام دهید:

مرحله 3.1 (هر دو دستگاه)

کتابخانه های IRremote ، RF24Network ، RF24 ، DS3231 و Time را در ARDUINO IDE خود نصب کنید

مرحله 3.2 (فقط برای دستگاه برده)

آدرس را در شبکه پیکربندی کنید. فقط کافی است کد زیر را در طرح "present_slave.ino" جستجو کنید و آدرسی را در قالب هشت ضلعی وارد کنید. فقط از آدرسهای بزرگتر از 0 استفاده کنید زیرا آدرس 0 برای دستگاه اصلی محفوظ است

const uint16_t this_node = 01؛ // آدرس دستگاه برده ما در قالب Octal

طرح "present_slave.ino" را در میکروکنترلر بارگذاری کنید.

مرحله 3.3 (فقط برای دستگاه اصلی) (معرفی کدهای کنترل IR)

اگر می خواهید از دستگاهی برای کنترل شبیه سازی حضور با کدهای کنترل IR 38KHz استفاده کنید ، باید برخی از آنها را بشناسید.

در غیر این صورت ، باید کدهای کنترل IR را از دستگاه خود دریافت کنید.

برای انجام این کار ، به یک گیرنده IR 38KHz نیاز دارید ، طرح "ir_codes.ino" را در یک میکروکنترلر NANO بارگذاری کرده و همه چیز را همانطور که در تصویر 1 مشاهده می کنید وصل کنید.

سپس ، کنترل از راه دور خود را به گیرنده IR نشان دهید ، هر دکمه ای را فشار دهید و در مانیتور سریال چیزی شبیه به زیر را مشاهده خواهید کرد:

(12 بیت) رمزگشایی SONY: A90 (HEX) ، 101010010000 (BIN) // دکمه POWER

(12 بیت) رمزگشایی SONY: C10 (HEX) ، 110000010000 (BIN) // دکمه 4 (12 بیت) SONY رمزگشایی: 210 (HEX) ، 1000010000 (BIN) // دکمه 5

در این حالت ، کنترل از راه دور از پروتکل SONY IR استفاده می کند و وقتی دکمه روشن / خاموش را روی کنترل از راه دور فشار می دهیم ، کد IR "0xA90" به طول 12 بیت را دریافت می کنیم یا وقتی دکمه 4 را روی کنترل از راه دور فشار می دهیم ، IR را به دست می آوریم. کد "0xC10".

توصیه می کنم برای شبیه سازی حضور حداقل به دنبال کد کنترل قدرت IR و شماره های دکمه باشید.

پس از به دست آوردن کدهای IR قبلاً ، باید آنها را به روش زیر معرفی کنید:

راه اول

اگر شبکه wifi را پیکربندی کرده اید ، می توانید آن را با استفاده از صفحه وب انجام دهید (مرحله را ببینید: سرور وب)

راه دوم

در غیر این صورت ، باید کد بعدی را در فایل "ir_codes.ino" جستجو کرده و اطلاعات را به روز کنید. در کد زیر می بینید که چگونه می توانیم اطلاعات به دست آمده در بالا را فقط برای دستگاه اصلی معرفی کنیم (آدرس = 0)

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

/******* کدهای کنترل IR ***************** / /******************* ********************** // // Protocol_id ، number_of_bits ، 10 کد کنترل IR برای دستگاه اصلی (آدرس = 0) SONY ، 12 ، 0xA90 ، 0xC10 ، 0x210 ، 0 ، 0 ، 0 ، 0 ، 0 ، 0 ، 0 ، // protocol_id ، number_of_bits ، 10 کد کنترل IR برای دستگاه برده (آدرس = 1) ناشناخته ، 0 ، 0 ، 0 ، 0 ، 0 ، 0 ، 0 ، 0 ، 0 ، 0 ، 0 ، / 0 ، / ، 10 کد کنترل IR برای دستگاه برده (آدرس = 4) ناشناخته ، 0 ، 0 ، 0 ، 0 ، 0 ، 0 ، 0 ، 0 ، 0 ، 0 ، 0 /************ ******************************* / / ********* پایان کدهای کنترل IR ** ************ / / ********************************** *********/

این طرح با پروتکل های IR زیر کار می کند:

  • NEC
  • سونی
  • RC5
  • RC6
  • LG
  • JVC
  • چرا
  • سامسونگ
  • تیز
  • ظرف
  • دنون
  • LEGO_PF

در فایل "ir_codes.ino" می توانید برخی از کدهای کنترل IR را برای پروتکل های SAMSUNG و SONY پیدا کنید.

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

// برخی از IR_PROTOCOLS و CODES // (SAMSUNG ، number_of_bits ، دکمه POWER ، دکمه 1 ، 2 ، 3) // SAMSUNG ، 32 ، 0xE0E010EF ، 0xE0E020DF ، 0xE0E0609F ، 0xE0E0A05_F ، دکمه SONY ، ، 3 ، 4 ، 5 ، 6 ، 7 ، 8 ، 9 ، 0) // SONY ، 12 ، 0xA90 ، 0x010 ، 0x810 ، 0x410 ، 0xC10 ، 0x210 ، 0xA10 ، 0x610 ، 0xE10 ، 0x110 ، 0x910 /***** ************************************************* *******************/

مهم: اولین کد کنترل IR معرفی شده باید کد کنترل IR باشد تا دستگاه خاموش شود. هنگامی که هیچ اقدامی برای آن دستگاه برنامه ریزی نشده باشد ، توسط استاد برای برده ها ارسال می شود

اگر برخی از افراد می دانند یا کسی برخی از کدهای کنترل IR برخی از پروتکل های ذکر شده در بالا را دریافت کرده است ، لطفاً نظر خود را در این قسمت با اطلاعات زیر ارسال کنید: شناسه پروتکل ، طول پروتکل و کدهای کنترل IR.

مرحله 3.4 (فقط برای دستگاه اصلی) (معرفی برنامه شبیه سازی حضور)

شما می توانید برنامه ریزی شبیه سازی حضور را به روش زیر معرفی کنید:

راه اول

اگر شبکه wifi را پیکربندی کرده اید ، می توانید آن را با استفاده از صفحه وب انجام دهید (مرحله را ببینید: سرور وب)

راه دوم

شما باید کد بعدی را در فایل "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، // دستگاه برده (آدرس = 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 بعد از ظهر آغاز می شود. هر روز
  • (hour_end_interval2 = 3) شبیه سازی بازه زمانی دوم ساعت 3 صبح روز بعد به پایان می رسد
  • (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 آغاز می شود. هر روز
  • (hour_end_interval2 = 23) شبیه سازی ساعت 23:00 شب به پایان می رسد. از همان روز
  • (min_delay_ir = 3)

    (max_delay_ir

    = 30) زمان تأخیر در دقیقه بین ارسال تصادفی کدهای کنترل IR یک عدد تصادفی بین 3 تا 30 است

    (min_delay_light = 5)

    (max_delay_light

    = 10) زمان تأخیر در دقیقه بین روشن و خاموش شدن چراغ یک عدد تصادفی بین 5 تا 10 است

مرحله 3.5 (فقط برای دستگاه اصلی) (پیکربندی ساعت واقعی)

یکی از کلیدهای این پروژه زمان است. ما باید زمان ARDUINO را هنگام شروع اجرای طرح تنظیم کنیم. برای انجام این کار ما به یک ماژول ساعت زمان واقعی نیاز داریم. یک ماژول ساعت DS3231 است که از یک شارژر باتری پشتیبان پشتیبانی می کند ، که می تواند مورد استفاده قرار گیرد مگر اینکه با سه کابل داده با استفاده از پروتکل I2C به میکروکنترلر متصل شود.

برای استفاده از DS3231 باید زمان را در این ماژول تنظیم کنید. برای انجام این کار ، باید طرح "DS3231_set.ino" را در دستگاه اصلی اجرا کنید.

مرحله 3.6 (فقط برای دستگاه اصلی) (پیکربندی ماژول ESP8266)

طرح موردنظر در این ماژول سعی کنید به شبکه wifi محلی خود متصل شوید و یک سرور وب را پیکربندی کنید.

بنابراین برای دسترسی به شبکه wifi محلی شما و پیکربندی آدرس ایمیل Gmail از جایی که ESP8266 قصد دارد حرکت های شناسایی شده توسط همه دستگاه های موجود در شبکه را ارسال کند ، باید اطلاعات زیر را در طرح "حضور_و وب.ینو" به روز کنیم. و آدرس ایمیلی که می خواهید اعلان ها را در آن دریافت کنید (ESP8266 Gmail Sender قابل آموزش)

const char* ssid = "ssid شبکه wifi محلی شما"؛

const char* گذرواژه = "رمز عبور شبکه wifi محلی شما" ؛ const char* to_email = "نامه الکترونیکی که در آن می خواهید اعلان های تشخیص حرکت را دریافت کنید"؛ سرور WiFiServer (80) ؛ // پورت مورد استفاده برای گوش دادن

و اطلاعات زیر در طرح "Gsender.h".

const char*EMAILBASE64_LOGIN = "*** رمز ورود Gmail شما در BASE64 ***"؛

const char*EMAILBASE64_PASSWORD = "*** رمز عبور Gmail شما در BASE64 *** رمزگذاری می شود"؛ const char*FROM = "*** آدرس gmail شما ***"؛

مهم: این کد با هسته ESP8266 برای نسخه 2.5.0 آردوینو کار نمی کند. برای راه حل موقت از نسخه اصلی 2.4.2 استفاده کنید

مرحله 3.7 (فقط برای دستگاه اصلی)

پس از انجام مراحل قبلی 3.3 ، 3.4 ، 3.5 و 3.6 ، طرح "حضور_معلوم.ینو" را در میکروکنترلر NANO و طرح "حضور_ وب.ینو" را در ماژول ESP8266 بارگذاری کنید.

مرحله 4: آزمایش سیستم

برای بررسی اینکه آیا همه چیز آنطور که ما می خواهیم کار می کند ، طرح "حضور_مستری.ینو" می تواند در حالت آزمایشی اجرا شود.

شما می توانید یک دستگاه خاص را به دو روش آزمایش کنید:

روش FIRST: اگر از شبکه wifi استفاده نمی کنید ، باید کد بعدی را در فایل "present_master.ino" جستجو کنید ، مقدار اولیه را برای متغیر "bool_test_activated" به "true" تغییر دهید و آدرس یکی را به روز کنید دستگاه را در خط کد بعدی آزمایش کرده و طرح را در میکروکنترلر ARDUINO در دستگاه اصلی بارگذاری کنید.

بولی bool_test_activated = false؛ // تغییر حالت true به حالت تست اولیه

int device_to_test = 0؛ // آدرس دستگاه برده برای آزمایش

فراموش نکنید که وقتی می خواهید از حالت آزمایشی خارج شوید و طرح را بارگذاری کنید ، مقدار را به false تغییر دهید

SECOND WAY: اگر از شبکه wifi استفاده می کنید ، می توانید از صفحه وب برای فعال کردن حالت تست استفاده کنید. مرحله "سرور وب" را مشاهده کنید

اگر دستگاه مورد آزمایش قرار است کدهای کنترل IR را ارسال کند ، دستگاه اصلی یا برده را در مقابل دستگاه تحت کنترل IR (تلویزیون ، رادیو …) قرار دهید.

این حالت به روش زیر عمل می کند:

  • آزمایش نور چراغ دستگاه خاص باید هر 10 ثانیه روشن و خاموش شود.
  • آزمایش کدهای IR این طرح به طور تصادفی یک کد IR را که قبلاً معرفی شده بود انتخاب می کند و هر 10 ثانیه به دستگاه کنترل شده با IR ارسال می کند. بنابراین شما باید آزمایش کنید که آیا دستگاه مطابق با کد IR دریافت شده عمل می کند یا خیر
  • آزمایش آشکارساز حرکت. اگر دستگاه حرکت در مقابل سنسور PIR خود را تشخیص دهد ، سیگنال را به دستگاه اصلی ارسال می کند و نور آن باید چندین بار شروع به چشمک زدن کند

در ویدئوی انتهای این دستورالعمل می توانید حالت آزمایش در حال اجرا را مشاهده کنید.

مرحله 5: سرور وب

سرور وب
سرور وب
سرور وب
سرور وب
سرور وب
سرور وب

برای کنترل سیستم و آزمایش اینکه آیا همه چیز به درستی کار می کند ، ماژول ESP8266 به عنوان یک سرور وب پیکربندی شده است. برای دسترسی از راه دور به شبکه به هیچ نرم افزار اضافی دیگری نیاز ندارید ، فقط IP مرورگر وب خود را در مرورگر وب تایپ کنید. در روتر خود قبلاً انتقال پورت را برای دسترسی به ماژول ESP8266 با استفاده از IP محلی ثابت تنظیم شده توسط شما پیکربندی کرده اید.

این ماژول با استفاده از پروتکل I2C به میکروکنترلر ARDUINO متصل می شود.

شما می توانید صفحه وب اولیه را در تصویر 1 مشاهده کنید:

  • بخش SYSTEM STATE اطلاعات مربوط به سیستم را به ما نشان می دهد:

    • تاریخ و زمان سیستم بسیار مهم است که تاریخ و زمان به موقع باشد
    • وضعیت شبیه ساز حضور (فعال یا غیرفعال) ، تاریخ و زمان آخرین اقدام حضور و آدرس دستگاهی که اقدام را انجام داده است (تصویر 2)
    • وضعیت آشکارساز حرکت (فعال یا غیرفعال) و سابقه تشخیص حرکت بر اساس دستگاه: شمارنده و تاریخ و زمان آخرین حرکت تشخیص (تصویر 3) در این تصویر می بینیم که در دستگاه با آدرس 1 1 شناسایی شده است حرکت و آخرین آن ساعت 16:50:34 بود
  • بخش COMMANDS به ما اجازه می دهد موارد زیر را انجام دهیم:

    • برای فعال سازی شبیه ساز حضور
    • برای فعال کردن آشکارساز حرکت
    • برای انتخاب دستگاه برای شروع و توقف آزمایش (تصویر 4)
  • بخش PRESENCE COMMAND به ما اجازه می دهد موارد زیر را انجام دهیم:

    برای معرفی یا به روز رسانی برنامه ریزی شبیه سازی حضور برای یک دستگاه خاص. در تصویر 5 می توانید نحوه به روزرسانی برنامه شبیه سازی حضور برای دستگاه آدرس 1 را مشاهده کنید. فرمت رشته به شرح زیر است: ، (max_delay_ir) ، (min_delay_light) ، (max_delay_light). همه اعداد اعداد صحیح هستند. اگر یک رشته معتبر معرفی کرده اید ، برنامه شبیه سازی حضور جدید را قبل از متن "LAST" مشاهده خواهید کرد ، در غیر این صورت پیام "LAST: NOT VALID" را مشاهده خواهید کرد

  • بخش IR CODE COMMAND به ما اجازه می دهد موارد زیر را انجام دهیم:

    برای معرفی یا به روز رسانی یک کد کنترل IR برای یک دستگاه خاص. در تصویر 6 نحوه آپدیت یا معرفی کد کنترل IR جدید برای دستگاه آدرس 1 را مشاهده می کنید. قالب رشته به شرح زیر است: (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 کد کنترل IR تنظیم شده است ، (index_IR_control_code) یک عدد صحیح بین 1 تا 10 است. مانند قبل ، اگر یک قالب رشته معتبر را معرفی کرده باشید ، کد کنترل IR جدید را قبل از متن "LAST" مشاهده خواهید کرد ، در غیر این صورت پیام "LAST: NOT VALID" را مشاهده خواهید کرد

برای دسترسی به این صفحه وب از شبکه wifi محلی خود ، فقط IP ای را که روتر شما به ESP8266 اختصاص داده است در یک مرورگر وب تایپ کنید. در تمام تصاویر می بینید که IP تعیین شده توسط روتر من 192.168.43.120 است.

برای دسترسی از راه دور به خارج از شبکه wifi محلی خود ، باید در روتر خود پورت مورد نظر خود را برای گوش دادن به داده های دریافتی و هدایت مجدد آن به ESP8266 در شبکه محلی خود پیکربندی کنید. پس از آن فقط IP روتر خود را در یک مرورگر وب تایپ کنید.

مرحله 6: یک مثال برای شفاف سازی همه

Image
Image
نمونه ای برای شفاف سازی همه
نمونه ای برای شفاف سازی همه

من یک مثال خاص برای روشن شدن همه چیز طراحی کرده ام

من دستگاه های زیر را ساخته ام (تصویر 2)

  • یک دستگاه تحت کنترل IR با استفاده از میکروکنترلر NANO ، یک RGB در داخل یک توپ پینگ پنگ و یک ماژول گیرنده IR (تصویر 1). وقتی دکمه کنترل را از 1 تا 7 از راه دور IR فشار می دهیم ، توپ پینگ پنگ رنگ خود را تغییر می دهد.
  • دستگاه اصلی (آدرس 0)
  • یک دستگاه برده (آدرس 1)

با همه موارد فوق ما قصد داریم تمام ویژگی های پروژه را آزمایش کنیم. برنامه ریزی شبیه سازی حضور می تواند به شرح زیر باشد:

  1. توپ کنترل شده توسط دستگاه برده از ساعت 17 بعد از ظهر رنگ خود را تغییر می دهد. تا 23:00 شب و صبح از 7:00 صبح تا 8:00 صبح هر فاصله تصادفی دقیقه بین 1 تا 1.
  2. چراغ کنترل شده توسط دستگاه برده از ساعت 17 بعد از ظهر روشن و خاموش می شود. تا 23:00 شب و صبح از 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

شما می توانید سیستم را به دو روش پیکربندی کنید:

روش اول: استفاده از صفحه وب (ویدیو را در انتهای این دستورالعمل مشاهده کنید)

SECOND WAY: به روز رسانی فایل "ir_codes.ino" و بارگذاری آن پس از:

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

/******* کدهای کنترل IR ***************** / /******************* ********************** // // protocol_id، number_of_bits، 10 کد کنترل IR برای دستگاه اصلی (آدرس = 0) NEC، 32، 0xFF30CF، 0xFF18E7، 0xFF7A85، 0xFF10EF، 0xFF38C7، 0xFF5AA5، 0xFF42BD، 0، 0، 0، // protocol_id، number_of_bits، 10 کد کنترل IR برای دستگاه برده (آدرس = 1) ناشناخته، 0، 0، 0، 0، 0، 0، 0 ، 0 ، 0 ، 0 ، 0 ، / 0 ، / ، 10 کد کنترل IR برای دستگاه برده (آدرس = 4) ناشناخته ، 0 ، 0 ، 0 ، 0 ، 0 ، 0 ، 0 ، 0 ، 0 ، 0 ، 0 /************ ******************************* / / ********* پایان کدهای کنترل IR ** ************ / / ********************************* *********/

/************ برنامه ریزی شبیه سازی حضور ************/

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) /************ شبیه ساز پایان حضور ******** *************/

توصیه شده: