فهرست مطالب:

شبکه ایستگاه های حسگر برای کنترل روشنایی و امنیت: 5 مرحله (همراه با تصاویر)
شبکه ایستگاه های حسگر برای کنترل روشنایی و امنیت: 5 مرحله (همراه با تصاویر)

تصویری: شبکه ایستگاه های حسگر برای کنترل روشنایی و امنیت: 5 مرحله (همراه با تصاویر)

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

با پیکربندی شبکه ایستگاه های حسگر در حالت اصلی/برده ، می توانید روشنایی و کنترل امنیت را در خانه خود انجام دهید. این ایستگاه های حسگر (Node01 ، Node02 در این پروژه) به یک ایستگاه اصلی (Node00) متصل به شبکه wifi محلی شما متصل هستند. من Node01 را در اتاق ذخیره سازی خود و Node02 را در چراغ ها و حرکات کنترل کننده در گاراژ خود نصب کرده ام. ایستگاه اصلی در اتاق dinig ما متصل به روتر wifi ما نصب شده است. من زنگ را در گاراژ و یک زنگ کوچک را در ایستگاه اصلی نصب کرده ام تا هنگام تشخیص حرکت توسط برخی از ایستگاه های حسگر در شبکه به صدا در آید.

ویژگیهای اصلی شبکه عبارتند از:

  • امکان پیکربندی شبکه ای با بیش از دو ایستگاه حسگر (ایستگاه های برده) وجود دارد (Node01، Node02، Node03،….)
  • از آنجا که استفاده از فرستنده گیرنده های بی سیم با آنتن ، شبکه قادر به پوشش منطقه وسیعی است
  • می توانید کل شبکه را از طریق تلفن همراه کنترل کنید
  • وقتی حرکتی تشخیص داده شد و حالت زنگ هشدار فعال شد ، یک ایمیل (حساب Gmail) ارسال کنید. بنابراین اگر اعلان های فشار Gmail را در تلفن همراه خود فعال کنید ، متوجه می شوید چه زمانی حرکتی در شبکه شما تشخیص داده می شود

برای اهداف داخلی:

  • هنگامی که یک motiont تشخیص داده می شود چراغ ها را روشن کنید / همیشه چراغ ها را روشن کنید (برای کل شبکه یا برای هر ایستگاه برده)
  • پس از تشخیص حرکت برای هر ایستگاه برده ، زمان روشن شدن چراغ ها را در دقیقه تغییر دهید

برای اهداف امنیتی:

  • حالت هشدار را فعال و غیرفعال کنید
  • هنگامی که حالت زنگ هشدار فعال است و یک حرکت تشخیص داده می شود ، هر ایستگاه برده می تواند یک سیگنال به ایستگاه اصلی (Node00) ارسال کند.
  • هنگامی که یکی از این سیگنال ها از هر ایستگاه برده دریافت شود و حالت هشدار فعال باشد ، ایستگاه اصلی می تواند زنگ را فعال کرده و ایمیل ارسال کند. ایستگاه اصلی (Node00) با استفاده از اتصال wifi به اینترنت متصل است تا کل سیستم را با استفاده از تلفن همراه کنترل کند. مانند WifiWebServer پیکربندی شده است

مرحله 1: فهرست مواد

لیست مواد
لیست مواد
لیست مواد
لیست مواد

لیست موادی که من برای ساخت Node01 و Node02 (ایستگاه های برده) استفاده کرده ام به شرح زیر است:

  • برد مگا 2560 R3
  • پشتیبانی پلاستیکی از MEGA 2560 R3
  • سنسور PIR HC-SR501
  • پشتیبانی پلاستیکی برای HC-SR501
  • رله 5 ولت
  • ماژول فرستنده بی سیم 2.4G 1100m NRF24L01+PA+LNA با آنتن LKY67
  • آداپتور 8 پین NRF24L01 (برای بهبود ویژگی های NRF24L01)
  • منبع تغذیه کوچک HLK-PM01 AC DC 220V تا 5V

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

  • برد مگا 2560 R3
  • پشتیبانی پلاستیکی از MEGA 2560 R3
  • ماژول WiFi NodeMCU Lua Amica V2 ESP8266
  • ماژول فرستنده بی سیم 2.4G 1100m NRF24L01+PA+LNA با آنتن LKY67
  • برد آداپتور 5V-3.3v VCC برای NRF24L01 (برای بهبود ویژگی های NRF24L01)
  • آداپتور AC-DC ، 9V ، 1A (2 ، 1 میلی متر در 5 ، 5 میلی متر)

علاوه بر این ، من از مواد زیر استفاده کرده ام:

  • 2 پین اتصال دهنده PCB 5 میلی متری
  • سیم های بلوز
  • Breadboard MB-102 (800 مخاطب)
  • Mini Solderless Breadboard 170 مخاطب
  • مجموعه ای از رهبری ها و مقاومت ها
  • تخته های PCB
  • کیت آهن لحیم کاری قلع
  • تفنگ چسب
  • متاکریلات شفاف
  • بل

مرحله 2: نحوه اتصال و برنامه نویسی Node01 و Node02 (ایستگاه های برده)

نحوه اتصال و برنامه نویسی Node01 و Node02 (ایستگاه های برده)
نحوه اتصال و برنامه نویسی Node01 و Node02 (ایستگاه های برده)
نحوه اتصال و برنامه نویسی Node01 و Node02 (ایستگاه های برده)
نحوه اتصال و برنامه نویسی Node01 و Node02 (ایستگاه های برده)

برای برنامه ریزی طرح "SlaveSation.ino" ، من به کتابخانه RF24 و کتابخانه شبکه RF24 نیاز داشتم.

در نمودار جریان بالا می توانید منطق ایستگاه حسگر و پیامهای رد و بدل شده بین ایستگاه حسگر برده و ایستگاه اصلی را مشاهده کنید.

قبل از بارگیری طرح ، باید آدرس گره برده را در قالب هشتگانه پیکربندی کنید

const uint16_t this_node = 01؛ // آدرس گره ما در قالب هشت ضلعی (برده): 01 ، 02 ، 03…

منظور از led ها در هر ایستگاه برده به شرح زیر است:

  • لید آبی در حالی که پین سنسور PIR بالا است روشن می شود.
  • چراغ سبز هنگامی که زنگ هشدار متصل است روشن می شود.

مرحله 3: نحوه اتصال و برنامه نویسی Node00 (Master Station)

نحوه اتصال و برنامه نویسی Node00 (Master Station)
نحوه اتصال و برنامه نویسی Node00 (Master Station)
نحوه اتصال و برنامه نویسی Node00 (Master Station)
نحوه اتصال و برنامه نویسی Node00 (Master Station)
نحوه اتصال و برنامه نویسی Node00 (Master Station)
نحوه اتصال و برنامه نویسی Node00 (Master Station)

در ایستگاه Node00 ما می توانیم دو تخته متفاوت پیدا کنیم:

  • برد MEGA 2560 R3. این دستگاه برای دریافت پیام از ایستگاه های برده هنگامی که حرکتی با استفاده از ارتباطات بی سیم تشخیص داده می شود ، استفاده می شود. هنگامی که حرکتی تشخیص داده می شود و زنگ وصل می شود ، زنگ فعال می شود. برای متوقف کردن زنگ فقط حالت زنگ را قطع کنید. علاوه بر این ، پیام های NodeMCU را به ایستگاه های برده ارسال می کند تا تشخیص حرکت را فعال یا غیرفعال کند ، همیشه چراغ ها را روشن کند ، چراغ ها را همیشه خاموش کند ،…
  • برد NodeMCU Lua Amica V2 ESP8266. این مانند یک Wifi Web Server برای ارسال و دریافت دستورات از یک مکان دور با استفاده از یک صفحه وب در تلفن همراه عمل می کند. هنگامی که حرکتی تشخیص داده می شود و حالت زنگ هشدار فعال است ، پیام های الکترونیکی ارسال می کند.

هر دو دستگاه طوری برنامه ریزی شده اند که در پیکربندی Master (NodeMCU)/Slave (MEGA) از طریق پروتکل سریال همزمان I2C با استفاده از Wire Library با یکدیگر ارتباط برقرار کنند. پروتکل I2C شامل استفاده از دو خط برای ارسال و دریافت داده ها است: یک پین ساعت سریال (SCL) و یک پین داده سریال (SDA) که اطلاعات بین دو دستگاه ارسال می شود.

همانطور که در نقاشی مشاهده می کنید ، دو پایه ارتباط I2C در برد MEGA 2560 R3 عبارتند از:

  1. SDA -> پین 20 SDA
  2. SCL -> پین 21 SCL

و دیگر موارد موجود در NodemMCU عبارتند از:

  1. SDA -> پین دیجیتال 1
  2. SCL -> پین دیجیتال 2

قبل از بارگیری طرح ESP8266 ، باید برد ESP8266 را نصب کنید. برای انجام این کار ، باید "https://arduino.esp8266.com/stable/package_esp8266com_index.json" را در "آدرس های اضافی مدیر هیئت مدیره" در پنجره تنظیمات در Arduino IDE وارد کنید. پس از آن شما باید مدیر بردها را باز کرده و "esp8266" را نصب کنید

من از یک آداپتور منبع تغذیه خارجی (9V ، 1A) برای برد MEGA 2560 R3 (جک برق DC ، 2 ، 1mm x 5 ، 5 میلی متر) استفاده می کنم و برد NodeMCU را به پین 3V3 در برد MEGA وصل می کنم.

مرحله 4: WifiWebServer (NodeMCU در Master Station)

WifiWebServer (NodeMCU در Master Station)
WifiWebServer (NodeMCU در Master Station)
WifiWebServer (NodeMCU در Master Station)
WifiWebServer (NodeMCU در Master Station)

طرح بارگذاری شده در NodeMCU (Node00 یا ایستگاه اصلی) مانند یک وب سرور متصل به شبکه wifi خانگی شما پیکربندی شده است. در صورت پیکربندی انتقال پورت در روتر ، امکان دسترسی از راه دور وجود دارد.

قبل از بارگیری طرح WifiWebServerV3.ino در NodeMCU ، باید موارد زیر را انجام دهید:

  1. به منظور دسترسی از راه دور به NodeMCU ، پورتی را که قصد دارید در روتر خود پیکربندی کنید ، به روز کنید.
  2. برای دسترسی به شبکه wifi خانگی ، کاربر و رمز عبور را به روز کنید
  3. ورود و رمز عبور حساب Gmail خود را برای ارسال ایمیل در صورت تشخیص حرکت و وصل شدن زنگ هشدار به روز کنید.
  4. آدرس پست الکترونیکی را که در آن ایمیل ها دریافت می کنید ، به روز کنید

برای به روز رسانی کاربر ، رمز عبور و پورتی که سرور برای گوش دادن به آن استفاده می کند ، باید کد زیر را در طرح WifiWebServerV3.ino جستجو کرده و آن را به روز کنید:

const char*ssid = "*** ssid شما ***"؛

const char*رمز عبور = "*** رمز عبور شما ***"؛ سرور WiFiServer (80) ؛

برای به روز رسانی آدرس ایمیل که در آن ایمیل ها دریافت می کنید ، باید کد زیر را جستجو کرده و آن را به روز کنید:

const char*to_email = "*** آدرس ایمیل که در آن پیام را دریافت خواهید کرد ***"؛

برای به روز رسانی کاربر و رمز عبور حساب Gmail خود برای دریافت ایمیل ، باید کد زیر را در فایل "Gsender.h" جستجو کرده و آن را به روز کنید:

const char*EMAILBASE64_LOGIN = "*** آدرس ایمیل شما در BASE64 رمزگذاری می شود ***"؛

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

برای رمزگذاری یا رمزگشایی داده ها در BASE64 از www.base64encode.org استفاده کرده ام

اگر به اطلاعات بیشتری در مورد ارسال و دریافت ایمیل با ESP8266 نیاز دارید ، یک "دستورالعمل" در مورد آن در اینجا وجود دارد

پس از انجام این کار ، می توانید اتصال را در روتر خود آزمایش کنید. اگر دستگاه متصل است باید آدرس IP اختصاص داده شده را به این دستگاه رزرو کنید. علاوه بر این ایده خوبی است که با ارائه دهنده اینترنت خود برای تعیین یک آدرس IP ثابت در روتر خود صحبت کنید.

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

صفحه وبی که در تصاویر به شما نشان می دهم برای کنترل شبکه ای با دو ایستگاه برده برنامه ریزی شده است.

سیستم در ابتدا طوری تنظیم شده است که حداکثر 5 ایستگاه برده را کنترل کند ، اما می توانید آن را تغییر دهید. فقط کد زیر را در WifiWebServerV3.ino و SlaveStation.ino جستجو کنید

#تعداد_بده_های_مکس را تعریف کنید 5

صفحه وب در ابتدا به 4 بخش تقسیم می شود:

  1. بخش "حالت" که در آن به شما نشان می دهد که آیا زنگ هشدار متصل است یا خیر
  2. بخش "شمارنده زنگ هشدار" که در آن تعداد تشخیص حرکت در هر ایستگاه برده را به شما نشان می دهد
  3. بخش "زنگ هشدار" که در آن می توانید وصل یا قطع کنید (CONNECT ALARM/DISCONNECT ALARM) زنگ هشدار و تنظیم مجدد شمارنده زنگ هشدار (RESET COUNTERS)
  4. بخش "روشنایی" که در آن می توانید چراغ های هر ایستگاه برده را کنترل کنید. می توانید موارد زیر را کنترل کنید:

    • چراغ ها را در همه ایستگاه های برده روشن کنید / چراغ ها را فقط زمانی روشن کنید که در همه ایستگاه های برده یک حرکت تشخیص داده شود (NETWORK ALWAYS ON / NETWORK WHEN MOVEMENT)
    • زمان روشن شدن چراغها برای هر ایستگاه برده را در چند دقیقه تغییر دهید (NODExx ON 1 MINUTE/NODEXX ON 2 MINUTE)
    • چراغ های هر ایستگاه برده را روشن کنید (NODExx همیشه روشن است)
    • چراغهای هر ایستگاه برده را فقط در صورت تشخیص حرکت روشن کنید (NODExx_MOV)

نیازی نیست چیزی را تغییر دهید زیرا نام ایستگاه های برده ای که پیکربندی کرده اید کار می کند. علاوه بر این ، به طور خودکار تعداد ایستگاه های برده متصل در شبکه را تشخیص می دهد.

البته ، می توانید طرح را بارگیری کرده و به راحتی کد لازم برای نشان دادن صفحه کنترل وب خود را تغییر دهید.

مرحله پنجم: از ابتدا…

در اینجا مراحلی که باید برای ایجاد شبکه خود دنبال کنید آمده است:

  1. تمام موارد زیر را که در "مرحله 1" به شما ارائه می دهم ، خریداری کنید
  2. اجزای زیر نقاشی را که می توانید در "مرحله 2" و "مرحله 3" بارگیری کنید ، متصل کنید
  3. برای هر ایستگاه برده و ایستگاه اصلی جعبه بسازید. من جعبه های متاکریلات ساخته ام.
  4. پیکربندی هر ایستگاه برده:

    طرح "SlaveStation.ino" را در یک برد MEGA 2560 R3 بارگیری و بارگذاری کنید. فقط باید طرح را ویرایش کنید و آدرس ایستگاه برده را همانطور که در "مرحله 2" مشاهده می کنید به روز کنید

  5. پیکربندی ایستگاه اصلی:

    • طرح "SlaveStation.ino" را در یک MEGA 2560 R3 بارگیری و بارگذاری کنید. نیازی نیست چیزی را به تعداد گره های برده در شبکه خود تغییر دهید. در ابتدا طرح برای حداکثر 5 ایستگاه برده پیکربندی می شود.
    • طرح "WifiServerV3.ino" را در NodeMCU بارگیری و بارگذاری کنید. پس از دستورالعمل موجود در "مرحله 4" ، باید طرح را به روز کنید
  6. روتر خود را برای دسترسی از راه دور به NodeMCU (ارسال پورت ، IP استاتیک …) پیکربندی کنید

توصیه شده: