جمع آوری و ارسال دیتا یکی از مهم ترین ارکان پروژه های اینترنت اشیا به شمار می روند. به طور کلی، دسترسی به اینترنت در حکم اکسیژن برای پروژه های IOT محسوب می گردد. بدون اینترنت، هر دستگاه IOT متصل به اینترنت، از تبادل داده باز خواهد ماند. از طرفی دیگر، قابلیت اطمینان و توانایی ارسال داده در شرایط مختلف، امری مهم در پروژه ها تلقی می گردد. در این آموزش قصد داریم تا به طراحی سیستمی بپردازیم که به کمک آن، داده ها از طریق اینترنت وای فای ارسال می شوند. چنانچه ارتباط دستگاه با مودم وای فای به هر دلیل قطع شود، دستگاه به طور خودکار مورد را تشخیص داده و بر روی اینرتنت سیم کارت سوییچ می کند. در این لحظه داده ها از طریق اینترنت سیم کارت به سرور ارسال می گردند. در ادامه آموزش دستگاه ارسال دیتا با اینترنت پشتیبان با مرجع تخصصی آردوینو به زبان فارسی و مرجع تخصصی ماژول سیم کارت به زبان فارسی، دیجی اسپارک همراه باشید.
ساز و کار عملکرد دستگاه ارسال دیتا
در این پروژه قصد داریم تا داده ها را به سرور ارسال کنیم. در این پروژه داده ها از طریق مودم به سرور ارسال می گردد. همچنین جهت افزایش قابلیت اطمینان، از یک ماژول سیم کارتی نیز بهره گرفته شده است. در این پروژه هرگاه که ارتباط دستگاه با مودم قطع گردد، داده ها از طریق اینترنت سیم کارت به سرور ارسال خواهد شد.
در پروژه دستگاه ارسال دیتا از برد NODEMCU به عنوان هسته پرداشی و واحد مخابراتی جهت اتصال به مودم استفاده کرده ایم. در کنار این، از ماژول SIM800L جهت اتصال به اینترنت سیم کارت و ارسال داده از این طریق استفاده می کنیم. در قسمت های بعدی به تشریح قطعات می پردازیم.
برد NODEMCU بر پایه ESP8266
هر پروژه IOT نیاز به یک واحد پردازنده مرکزی جهت پردازش داده و اجرای برنامه کاربر دارد. در این آموزش ما از برد NODEMCU استفاده می کنیم. برد NODEMCU یک برد همه فن حریف جهت اجرای پروژه های IOT است. این برد دارای قابلیت وای فای است. به عبارت دیگر این برد می تواند به یک مودم متصل شده و در فضای اینترنت به تبادل داده بپردازد.
در کنار قابلیت وای فای، این برد می تواند برنامه های آردوینو را اجرا کند! به عبارت دیگر این برد علاوه بر قابلیت اجرای برنامه، می تواند ارتباط بی سیم وای فای را فراهم کند. جهت راه اندازی و کار با این ماژول سلسله آموزش های صفر تا صد روی دیجی اسپارک منتشر شده است. جهت مطالعه این سلسه آموزش روی این لینک کلیک کنید.
ماژول سیم کارت SIM800L
همانطور که پیشتر گفته شد، در این آموزش قصد داریم تا در صورت قطعی وای فای، دستگاه ارسال کننده داده از طریق اینترنت سیم کارت داده ها را ارسال کند. به همین منظور، ما از ماژول سیم کارت SIM800L استفاده می کنیم. ماژول سیم کارت SIM800L دقیقا مثل یک تلفن همراه عمل می کند. این ماژول می تواند پیامک ارسال و دریافت کند، تماس صوتی دو طرفه برقرار کند و در نهایت به اینترنت متصل شده و داده ها را ارسال کند.
در این آموزش ما از ماژول SIM800L جهت اتصال به اینترنت استفاده می کنیم. به کمک اینترنت GPRS این ماژول در زمان هایی که اتصال وای فای قطع شود، داده ها را به سرور اینترنتی ارسال می نماید. جهت راه اندازی و کار با این ماژول هم سلسله آموزش صفر تا صد منتشر شده که با کلیک بر روی این لینک، قابل دسترسی است.
ماژول SIM800L دارای بازه ولتاژ ۳٫۴ الی ۴٫۲ ولت است. ولتاژ مناسب برای کارکرد این ماژول، ۴ ولت است. از آنجاییکه این ولتاژ در آداپتورهای موجود در بازار وجود ندارد، لذا می بایست از مبدل های ولتاژ استفاده نماییم. یکی از مبدل های کاربردی، ماژول کاهنده ولتاژ LM2596 است. به کمک این ماژول می توانید ولتاژ منبع تغذیه را کاسته و به مقدار ایده آل برسانید. بر روی ماژول LM2596 یک مولتی ترن تعبیه شده که با چرخاندن آن می توانید ولتاژ مد نظر خود را در خروجی خود ایجاد کنید.
در این اموزش از ماژول LM2596 جهت تامین تغذیه ماژول SIM800L استفاده می کنیم. توجه داشته باشید که پیش از اتصال خروجی ماژول کاهنده به ماژول SIM800L، ابتدا حتما ولتاژ را تنظیم کرده و سپس خروجی کاهنده را به SIM800L متصل کنید.
شماتیک و اتصالات
پس از بررسی قطعات و نقش هرکدام در پروژه، نوبت به بررسی شماتیک و اتصالات می رسد. ابتدا به تصویر زیر که فرم کلی اتصالات را نمایش می دهد، دقت کنید.
مطابق تصویر فوق، اتصالات دستگاه ارسال دیتا را به شیوه زیر اجرا می کنیم.
- اتصال کابل های آداپتور با رعایت پلاریته به ورودی ماژول کاهنده
- اتصال پایه خروجی مثبت ماژول کاهنده به پایه VCC ماژول SIM800L
- اتصال پایه خروجی منفی ماژول کاهنده به پایه GND ماژول SIM800L
- اتصال پایه GND ماژول NODEMCU به پایه GND ماژول SIM800L
- اتصال پایه TX ماژول SIM800L به پایه RX ماژول NODEMCU
- اتصال پایه RX ماژول SIM800L به پایه TX ماژول NODEMCU
توجه۱: پیش از برقراری اتصالات، ابتدا ولتاژ خروجی ماژول کاهنده ولتاژ را روی ۴ تنظیم کرده و سپس به ماژول SIM800L متصل کنید.
توجه۲: در این آموزش تغذیه برد NODEMCU از طریق کابل تامین می گردد.
توجه ۳: جهت تغذیه ماژول SIM800L، از یک آداپتور ۱۲ ولت ۵ آمپر استفاده شده است.
کدهای پروژه سمت کلاینت (NODEMCU)
پس از برقراری اتصالات، نوبت به کدهای پروژه می رسد. پیش از آپلود کدها روی برد، از آنجاییکه جهت ارتباط بین SIM800L و NODEMCU از سریال سخت افزاری استفاده شده، لذا پیش از آپلود کدها، ابتدا کابل های متصل به پایه های RX و TX ماژول NODEMCU را جدا کنید. پس از اتمام آپلود، مجددا کابل ها را متصل نمایید.
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
کدهای سمت سرور آموزش
همانطور که پیشتر گفته شد، در این آموزش داده ها به سرور اینترنتی ارسال می گردند. در بخش سرور با دریافت داده ها، آن ها را دریک فایل ذخیره می کنیم. ما در این آموزش سرور استفاده لینوکسی و زبان php را جهت برنامه نویسی انتخاب کرده ایم. جهت اطلاعات بیشتر می توانید روی این لینک کلیک کرده و آموزش آن را مطالعه نمایید.
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
توجه: این کد را روی صفحه روت یا index.php قرار دهید.
اجرای پروژه اینترنت پشتیبان
پس از آپلود کدهای دستگاه ارسال دیتا بر روی NODEMCU و قرارگیری کدهای سرور در فایل مخصوص، نوبت به اجرای این آموزش می رسد. در این آموزش ما خروجی تابع millis آردوینو را به سرور ارسال می کنیم.تابع millis مدت زمان طی شده از لحظه راه اندازی برد تا اکنون را در خود ذخیره می نماید. پس از راه اندازی، می توانید روال کار را در سریال مانیتور مشاهده کنید. چنانچه مودم وای فای که برد NODEMCU به آن متصل است را قطع کنید، دستگاه به طور خودکار اینترنت سیم کارت را فعال کرده و داده ها را ارسال می کند.
در ادامه نیز بر روی سرور خود در فایل data2.txt می توانید داده های ارسالی را مطابق تصویر زیر مشاهده کنید.
پس از اجرای آموزش، نوبت به تحلیل و بررسی کدهای آن می رسد. قسمت بعدی مربوط به این موضوع است.
تحلیل کدهای پروژه
همانطور که گفته شد در این قسمت به تحلیل و بررسی کدهای پروژه دستگاه ارسال دیتا می پردازیم. اما از آنجاییکه درون کدهای پروژه به صورت خط به خط توضیح(کامنت) درج شده، این قسمت به طور مختصر به کدهای پروژه می پردازد. جدول زیر لیست توابع به کار رفته در پروژه و عملکرد هر کدام را نمایش می دهد.
کاربرد | تابع |
کنترل اتصال به شبکه GSM | check_connect |
اتصال به اینترنت GPRS | connect_internet |
ارسال داده ها به سرور به کمک اینترنت GPRS | send_data_via_gprs |
ارسال داده ها به سرور به کمک اینترنت وای فای | send_data_via_wifi |
توجه داشته باشید که در این آموزش خروجی تابع millis به سرور ارسال می گردد.
لوازم مورد نیاز
- برد nodemcu
- فیش آداپتور
- ماژول sim800l
- ماژول کاهنده ولتاژ lm2596
- آداپتور تغذیه ۱۲ ولت با جریان ۵ آمپر
جمع بندی
در این آموزش به طراحی و پیاده سازی یک سیستم هوشمند جهت ارسال داده ها به سرور، نمودیم. در این سیستم، داده ها به کمک اتصال به مودم، به سرور ارسال می گردند. در سمت سرور داده ها پس از دریافت، در فایل ذخیره خواهند شد. اما از آنجاییکه این احتمال وجود دارد که ارتباط دستگاه با مودم قطع گردد، دستگاه به طور خودکار از طریق اینرتنت سیم کارت متصل به آن، اقدام به ارسال داده ها خواهد نمود. بدین ترتیب ارسال داده ها با قابلیت اطمینان بالایی صورت خواهد پذیرفت.
چنانچه ابهامی در مطالب گفته شده می بینید و یا اینکه احساس می کنید مباحث گفته شده برای شما گنگ است، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها، مطالب گفته شده و یا مراحل اجرایی وجود دارد میتوانید از همین طریق اطلاع رسانی کنید.
سلام مهندس میشه با استفاده از برد اردوینو یا node mcu یه اسکنر درست کنیم ؟
به این صورت که یه ماژول مادون قرمز با استفاده از یک موتور بالا پایین بشه و شئ که میخواهیم ازش تصویر سه بعدی درست کنه را روی یک موتور دیگر سپس با دستور اردوینو موتور به بچرخه و ماژول مادون قرمز هم به شئ مورد نظر بتابه و شکل سه بعدی داخل ماژول SD ذخیره بشه
سلام
با ESP32CAM راحت تر می توانیم عکس بگیریم و ذخیره کنیم.
ولی ایده بسیار جالبی بود!
فکر می کنم با دوربین راحت تر اجرا شود.
سلام مجدد
مهندس اگه میشه با شیلد cnc اردوینو هم پروژه بزارید
مثلاً ساخت دستگاه cnc با اردوینو
سلام
این مورد در تخصص من نیست! اما برایم جالب است. ممنونم
سلام مهندس
اگه میشه پروژه ای را طراحی کنید که تصویر زنده از ماژول esp32cam را روی یک ماژول صفحه نمایش نشان دهیم بصورت بیسیم
مثل پروژه دوربین دنده عقب ولی بصورت بیسیم
سلام
حتما!
سلام روزتون بخیر
من می خوام در یک پروژه همزمان از ماژول ۸۲۶۶wifiوsim800l استفاده کنم (ولی نیاز به اینترنت ندارم-تماس سیمکارت و اس ام اس مورد نیاز است و wifi از طریق اپلیکیشن درموبایل با دستگاه مربوطه ارتباط برقرار کند.).
میکرو atmega32 می باشد.
۱) sim800 از طریق rx,tx متصل میشه.در این صورت wifi به کجا باید وصل شه؟
۲)آیا میشه هم wifi هم sim800 به صورت همزمان به usart میکرو وصل شه؟یا اینکه این تداخل مشکل به وجود میاره؟
۳)لطفا لینک آموزش هایی که در راستای این پروژه بهمون کمک می کنه رو معرفی کنید.ممنون
سلام و متشکرم
در این حالت از کتابخانه سریال نرم افزاری، در صورت وجود، برای ATMEGA32 استفاده کنید. در غیر اینصورت از میکروکنترلر AVR با تعداد UART بیشتر استفاده کنید. اما پیشنهاد می کنم برای این مورد که دو دستگاه قصد استفاده از یک UART را دارند، از مالتی پلکسر ۲ به ۱ استفاده کنید.
درود بر شما
در صورتی که بخواهیم از این پروژه بعنوان یک مودم وای فای استفاده کنیم چه تغییراتی در برنامه نیاز هست. ؟
سلام
خیر همچین امکانی فراهم نیست.
درود، میشه به جای نود ام سی یو از wemos d1 با ماژول وایفای استفاده کرد؟
سلام
بله، البته که می شود!
سلام وقت بخیر من یه ماژول UC15 دارم با برد راه انداز میخواستم باش مودم درست کنم میشه رهنمایی کنید
با سلام
کاربر گرامی اگر سوالی راجع به آموزشها دارید میتوانید مطرح کنید. سوال شما را نمیتوانیم پاسخ دهیم.