امنیت برد Nodemcu سیم کارت GSM - GPRS پروژه های آردوینو

پروژه سیستم اعلام حریق تلفنی ماژول سیم کارت SIM800L و موقعیت یابی

create-location-based-fire-alarm-system-arduino-sim800l-gsm-module-digispark
نوشته شده توسط معین صابری

آتش سوزی یکی از تهدیدات غالب زندگی آدمیان به شمار می رود. این خطر در طول تاریخ جان و مال بسیاری از انسان ها را به تاراج برده است. همانطور که آتش می تواند مایه زندگی باشد، از طرف دیگر می تواند جان انسان ها را بگیرد. اما نقطه مقابل این موضوع، پیشرفت فناوری است. به کمک فناوری قادر به مقابله با تهدیدات و خطرات زندگی هستیم. طی سال های اخیر، سیستم های اعلام حریق نقش مهمی در حفاظت اماکن در برابر آتش سوزی ایفا نموده اند. این سیستم ها با حسگرهای دود، می توانند نشت گاز را به سادگی تشخیص دهند. پس از تشخیص، با فعال سازی آژیر، به کاربر اخطار را اعلام می نمایند. پیشتر در آموزشی به طراحی و پیاده سازی سیستم اعلام حریق تلفنی پرداخته ایم. در این سیستم با تشخیص دود، به شماره تماس تعریف شده در حافظه دستگاه، تماس برقرار می گردد. برای مطالعه این آموزش، می توانید روی این لینک کلیک کنید.  در این آموزش اما اقدام به طراحی و پیاده سازی یک سیستم اعلام حریق آدرس پذیر سیم کارتی می نماییم. در این سیستم با تعیین موقعیت آتش سوزی، در صورت وقوع خطر مورد به کاربر اعلام می گردد. در ادامه پروژه اعلام حریق تلفنی با مرجع تخصصی رزبری پای و آردوینو به زبان فارسی، دیجی اسپارک، همراه باشید.

 


عملکرد سیستم اعلام حریق موقعیت یاب


سیستم های اعلام حریق، یکی از مهم ترین و کلیدی ترین در اعلام خطر آتش سوزی به شمار می روند. این سیستم ها در حالت کلی دارای سه قسمت سنسور، پردازنده و آژیر هستند. سنسور دود به طور مداوم داده های خود را به پردازنده ارسال می کند. پالسی را به پردازنده ارسال می کند. پردازنده با بررسی پالس، در صورتیکه سنسور داده هایی مبنی بر وجود دود در محیط اعلام کرده باشد، به آژیر فرمان پخش صدا ارسال می کند.

اعلام حریق موقعیت یاب با آردوینو sim800l - دیجی اسپارک

 

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

اعلام حریق تلفنی با تشخیص موقعیت آتش سوزی - دیجی اسپارک

 

سیستم های اعلام حریق تلفنی آدرس پذیر، بین گره ها تا هاب مرزی، معمولا از سیم کشی استفاده می کنند. حال آنکه در صورت وقوع آتش سوزی، احتمال سوختن کابل ها نیز، وجود دارد. در این پروژه ما از طریق فناوری بی سیم، قادر به ایجاد ارتباط بین گره ها و هاب مرکزی خواهیم بود. به همین منظور در این پروژه ما از بردهای وای فای ESP8266 استفاده می کنیم. این بردها می توانند با برقراری ارتباط بی سیم، کابل کشی را حذف کنند. از طرف دیگر به کمک ماژول سیم کارت متصل به هاب مرکزی، با تشخیص وقوع حریق، مورد از طریق تماس تلفنی و موقعیت دستگاه به کمک پیامک، به کاربر اعلام خواهد شد. به همین منظور، در این پروژه از برد توسعه ESP8266، یعنی ماژول NODEMCU و برای برقراری تماس تلفنی از ماژول سیم کارت SIM800L بهره خواهیم برد. در قسمت بعد به تشریح وظیفه هر قطعه می پردازیم.

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

 


وظیفه برد NODEMCU و ماژول SIM800L


در قسمت پیشین با مکانیزم عملکرد دستگاه آشنا شدیم. در این دستگاه دو برد NODEMCU به یکدیگر شبکه شده اند. در این حالت، یکی از بردها در حالت نقطه دسترسی قرار می گیرد. بدین ترتیب این برد شبکه را ایجاد می کند. از طرف دیگر، این برد را در حالت سرور قرار می دهیم. در مقابل این مورد، دیگر برد NODEMCU در حالت STA تنظیم شده است. این برد با اتصال به نقطه دسترسی ایجاد شده توسط هاب مرکزی، از آن آی پی دریافت کرده و وارد شبکه می شود. با ورود به شبکه، این برد در حالت کلاینت قرار می گیرد.

برد Nodemcu در پروژه اعلام حریق سیم کارتی - دیجی اسپارک

 

در کنار این، به هاب مرکزی ماژول سیم کارت متصل شده است. در این حالت، چنانچه هاب مرکزی دود را تشخیص دهد، با شماره تلفن از پیش تعیین شده تماس گرفته و مورد را اعلام می نماید. همچنین، هرگاه دیگر برد NODEMCU که در نقش گره ظاهر شده، دود را تشخیص دهد، به سرور(هاب مرکزی) وضعیت را گزارش می کند. هاب مرکزی با دریافت خطر، بلافاصله به کمک ماژول سیم کارت تماس را برقرار کرده و با ارسال پیامک، موقعیت وقوع حریق را به کاربر اعلام می نماید.

ماژول سیم کارت Sim800L در تشخیص حریق و نشت دود - دیجی اسپارک

 

اما تشخیص دود چگونه صورت می گیرد؟ این مورد را در قسمت بعد بررسی می کنیم.

 


اعلام حریق تلفنی با سنسور MQ135


سنسور MQ135 از سری سنسورهای MQ، یکی از مهم ترین و پرکاربردترین سنسورهای موجود در بازار جهت تشخیص دود، به شمار می رود.  جهت راه اندازی و کار هرچه آسان تر با این سنسور، بردهای راه انداز در بازار توسعه یافته اند که در این پروژه نیز ما هم از این بردهای توسعه استفاده می کنیم. سنسور MQ135، یک سنسور با قابلیت تشخیص گازهای مختلف است. این سنسور که با نام سنسور تشخیص کیفیت هوا هم شناخته می شود، به آلاینده های زیر حساسیت نشان می دهد.

  • دود
  • CO2
  • آمونیاک
  • سولفید
  • بنزن

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

اعلام حریق سیم کارتی با سنسور MQ135 - دیجی اسپارک

 

پس از  آشنایی با نقش سنسور MQ135، نوبت به اجرای پروژه می رسد. قسمت بعد شماتیک و اتصالات و پس از آن کدهای هر بخش را خواهیم دید.

 


شماتیک و اتصالات هاب مرکزی


در این قسمت به بررسی شماتیک و اتصالات پروژه اعلام حریق تلفنی می پردازیم. در این پروژه قرار به ارسال داده های بردها به کاربر از طریق پیامک و اعلام خطر به کمک تماس تلفنی است. در یک طرف از مدار، برد NODEMCU به SIM800L به شکل زیر متصل می گردد.

هاب مرکزی اعلام حریق تلفنی nodemcu و sim800L - دیجی اسپارک

 

مطابق تصویر فوق، اتصالات را به شکل زیر ادامه می دهیم.

  • اتصال کابل های آداپتور با رعایت پلاریته به ورودی ماژول کاهنده
  • اتصال پایه خروجی مثبت ماژول کاهنده به پایه VCC ماژول SIM800L
  • اتصال پایه خروجی منفی ماژول کاهنده به پایه GND ماژول SIM800L
  • اتصال پایه GND ماژول NODEMCU به پایه GND ماژول SIM800L
  • اتصال پایه TX ماژول SIM800L به پایه RX ماژول NODEMCU
  • اتصال پایه RX ماژول SIM800L به پایه TX ماژول NODEMCU

برای برقراری اتصالات سنسور با برد NODEMCU، باید به شیوه زیر عمل کنیم.

  • اتصال پایه VCC سنسور به پایه VIN برد NODEMCU
  • اتصال پایه GND سنسور به پایه GND برد NODEMCU
  • اتصال پایه DO سنسور به کمک تقسیم مقاومتی به پایه A0 برد NODEMCU

 توجه۱: پیش از برقراری اتصالات، ابتدا ولتاژ خروجی ماژول کاهنده ولتاژ را روی ۴ تنظیم کرده و سپس به ماژول SIM800L متصل کنید.

توجه۲: در این آموزش تغذیه برد NODEMCU از طریق کابل تامین می گردد.

توجه ۳: جهت تغذیه ماژول SIM800L، از یک آداپتور ۱۲ ولت ۵ آمپر استفاده شده است.

توجه۴: در این پروژه تغذیه برد NODEMCU از طریق کابل USB تامین گردیده است. اعمال ولتاژ بیش از ۵ به پایه VIN سبب سوختن سنسور خواهد شد.

 


شماتیک و اتصالات بخش گره


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

شماتیک و اتصالات بخش گره پروژه اعلام حریق تلفنی - دیجی اسپارک

 

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

  • اتصال پایه VCC سنسور به پایه VIN برد NODEMCU
  • اتصال پایه GND سنسور به پایه GND  برد NODEMCU
  • اتصال پایه DO سنسور با تقسیم مقاومتی به پایه A0 برد NODEMCU

توجه: در این پروژه تغذیه برد NODEMCU از طریق کابل USB تامین گردیده است. اعمال ولتاژ بیش از ۵ به پایه VIN سبب سوختن سنسور خواهد شد.

 


کدهای پروژه اعلام حریق تلفنی


پس از بررسی شماتیک و اتصالات، نوبت به کدهای پروژه اعلام حریق تلفنی می رسد. ابتدا کدهای زیر را بر روی برد متصل به SIM800L (هاب مرکزی) آپلود کنید. پیش از آپلود توجه داشته باشید که کابل متصل به پایه RX را از برد NODEMCU جداکنید. هاب مرکزی بخش ارتباط گیرنده با تک تک سنسورهای تشخیص دود است. در این بخش و دیگر بخش ها از برد ESP8266 استفاده می‌کنیم.

 

جهت دسترسی به این بخش، اشتراک اسپارکر پلاس تهیه کنید.

 

پس  از این مرحله، می بایست کدهای مربوط به بخش گره (کلاینت) را آپلود کنید. این کدها به شرح زیر هستند. این بخش ها در مکان های مختلف سالن قرار دارند.

جهت دسترسی به این بخش، اشتراک اسپارکر پلاس تهیه کنید.

 


اجرای پروژه اعلام حریق تلفنی


پس از آپلود کد روی هر دو برد، نوبت به اجرای پروژه می رسد. در این پروژه چنانچه برد گره یا همان کلاینت دود را تشخیص دهد، مورد را به صورت بی سیم به سرور(هاب مرکزی) اعلام می نماید. هاب مرکزی با دریافت پیام خطر از گره، به کاربر از طریق تماس تلفنی خطر و به کمک پیامک موقعیت خطر را اعلام می نماید. همچنین، در صورتیکه سنسور متصل به هاب مرکزی دود را تشخیص دهد، مورد را به کاربر اعلام خواهد نمود. جهت اجرای پروژه، به منظور کالیبره شدن سنسورها، می بایست برای مدت حدودی ۲ دقیقه صبر کنید. سپس با ایجاد دود در کنار هریک از سنسورها، پروسه تماس و پیامک اجرا خواهد شد.

نمونه اولیه پروژه اعلام حریق تلفنی با Nodemcu - دیجی اسپارک

 

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

نمونه پیامک دریافت اعلام حریق تلفنی - دیجی اسپارک

 


تحلیل کدهای پروژه اعلام حریق تلفنی


پس از اجرای پروژه اعلام حریق تلفنی موقعیت یاب، نوبت به تحلیل و بررسی کدهای آن می رسد. طبق روال معمول، از آنجاییکه درون کدها به صورت خط به خط کامنت(توضیح) درج شده، بنابراین جدول زیر به طور خلاصه روال کاررا با معرفی توابع شرح می دهد.

شرح تابع
انتظار برای اتصال به شبکه GSM gsm_connect
ارسال پیامک اعلام موقعیت خطر send_sms
تابع دریافت اعلام خطر از طرف کلاینت data
ارسال اعلام خطر از طرف کلاینت به سرور send_data

 


لوازم مورد نیاز


  1.  برد nodemcu
  2. سنسور MQ135
  3. مقاومت ۴٫۷ کیلو اهمی
  4. مقاومت یک کیلو اهمی
  5. فیش آداپتور
  6. ماژول sim800l
  7. ماژول کاهنده ولتاژ lm2596
  8. آداپتور تغذیه ۱۲ ولت با جریان ۵ آمپر

 


جمع بندی


سیستم های اعلام حریق یکی از مهم ترین و پرکابردترین ابزارها در اعلام حریق به شمار می روند. به کمک این سیستم در صورت وقوع حریق، با اعلام آژیر کاربران از خطر مطلع خواهند شد. نوع دیگری از سیستم های اعلام حریق، مدل آدرس پذیر آن ها هستندو در این مدل تعدادی سنسور در فضای مد نظر پخش می شوند. سپس در صورت تشخیص حریق، به سیستم مرکزی خطر را اعلام می کنند. سیستم مرکزی هم پس از دریافت اعلام خطر، مورد را به کاربر اطلاع خواهد داد. در این آموزش به طراحی و پیاده سازی سیستم اعلام حریق آدرس پذیر به کمک برد وای فای NODEMCU پرداختیم. در این سیستم دو برد NODEMCU، یکی در نقش هاب مرکزی و دیگری گره فعال هستند. به هرکدام از این بردها سنسور تشخیص دود جهت بررسی وضعیت محیط متصل شده است. در صورتیکه هر کدام از بردها خطر را تشخیص دهند، مورد از طریق تماس تلفنی و پیامک به کاربر اعلام خواهد شد. برقراری تماس تلفنی و ارسال پیامک بر عهده ماژول سیم کارت SIM800L بوده و این ماژول سیم کارت به برد NODEMCU در نقش هاب مرکزی، متصل گردیده است.

 

چنانچه ابهامی در مطالب گفته شده می بینید و یا اینکه احساس می کنید مباحث گفته شده برای شما گنگ است، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها، مطالب گفته شده و یا مراحل اجرایی وجود دارد می‌توانید از همین طریق اطلاع رسانی کنید.

 

درباره نویسنده

معین صابری

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

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

تبادل نظر و رفع عیب با ثبت دیدگاه

۲ دیدگاه