برد Nodemcu

ارسال لاگ دیتا چند برد Nodemcu به کاربر از طریق پیامک ماژول Sim800L

send-multiple-nodemcu-board-data-to-cell-phone-with-sms-and-sim800l-digispark
نوشته شده توسط معین صابری

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

 


ساز و کار ارسال لاگ دیتا چند برد


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

پروژه ارسال لاگ چند برد Nodemcu با پیامک Sim800L - دیجی اسپارک

 

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

 


برد Nodemcu با ESP8266


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

برد Nodemcu با ESP8266 تراشه وای فای - دیجی اسپارک

 

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

 


ماژول سیم کارت SIM800L


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

ماژول سیم کارت SIM800L در پروژه ارسال داده چند برد Nodemcu - دیجی اسپارک

در این پروژه ما جهت دریافت تماس کاربر و ارسال پیامک، از ماژول سیم کارت SIM800L استفاده می کنیم. بدین ترتیب هرگاه کاربر با شماره سیم کارت درون ماژول تماس گیرد، ابتدا تماس تلفنی قطع می شود. سپس با جمع آوری داده ها از بردها، اطلاعات را به کاربر پیامک خواهد کرد. ماژول سیم کارت SIM800L از رابط سریال UART جهت تبادل داده ها استفاده می کند. از طرفی دیگر این ماژول دارای فرامین از پیش تعریف شده جهت برقراری تماس تلفنی، پیامک و … است. این فرامین که به AT ها مشهور هستند، از طریق برد NODEMCU با مد STA به ماژول SIM800L ارسال می گردد. در رابطه با ماژول سیم کارت SIM800L، طی سلسله آموزشی از پایه تا پیشرفته به راه اندازی و کار با این ماژول پرداخته ایم. این سلسله آموزش با کلیک بر روی این لینک قابل دسترسی است.

توجه۱: جهت تامین تغذیه ماژول SIM800L، از ماژول کاهنده سوییچینگ LM2596 استفاده کرده ایم. به این منظور آداپتور ولتاژ ۱۲ ولت ۵ آمپر را به کمک این ماژول کاهنده، به ۴ ولت می رسانیم. ولتاژ ۴، ولتاژ مناسب و ایده آل ماژول سیم کارت به شمار می رود.

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

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

 


شماتیک و اتصالات پروژه


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

پروژه ارسال لاگ دیتا چند برد Nodemcu با پیامک - دیجی اسپارک

 

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

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

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

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

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

 


کدهای پروژه دیتا چند برد Nodemcu 


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

 

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

 

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

 


اجرای پروژه دیتا چند برد Nodemcu


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

اجرای پروژه دیتا چند برد Nodemcu با پیامک - دیجی اسپارک

 

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

دریافت پیامک از ماژول سیم کارت Sim800L - دیجی اسپارک

 


تحلیل و بررسی کدهای پروژه


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

شرح تابع
انتظار برای اتصال به شبکه GSM gsm_connect()
ارسال درخواست به سرور و دریافت خروجی millis rcv_millis()
ارسال پیامک حاوی داده های بردها به کاربر send_sms
تابع سرور، اجرای درخواست کلاینت مبنی بر خروجی تابع millis data

 


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


  1.  برد nodemcu
  2. فیش آداپتور
  3. ماژول sim800l
  4. ماژول کاهنده ولتاژ lm2596
  5. آداپتور تغذیه ۱۲ ولت با جریان ۵ آمپر

 


جمع بندی


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

 

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

 

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

معین صابری

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

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

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