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

کنترل وسایل برقی با اینترنت GPRS ماژول SIM808 با قابلیت ردیابی آنلاین

relay-control-with-sim808-gprs-internet-and-arduino-digispark
نوشته شده توسط معین صابری

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

 


کنترل وسایل برقی با اینترنت


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

 


شماتیک و قطعات مورد استفاده


در این آموزش، از یک برد آردویینو uno و یک ماژول sim808 استفاده نموده ایم. مهم ترین مسئله در مورد ماژول های سیم کام، بحث تامین تغذیه این نوع از ماژول های مخابراتی است. از آنجاییکه این ماژول ها در هنگام اتصال به شبکه جریان بالایی در حدود دو آمپر را نیاز دارند، بنابراین می بایست از یک منبع تغذیه مناسب برای این ماژول ها، استفاده گردد. از آنجاییکه ولتاژ تغذیه ماژول sim808 بین ۳٫۴ الی ۴٫۴ بوده و ولتاژ کمتر از حداقل باعث خاموش شدن ماژول و بیشتر از حداکثر سبب سوختن آن خواهد شد و از طرفی دیگر، معمولا تغذیه های در دسترس ۵ ولت هستند، از ماژول سیم کارت Sim808 به اضافه آنتن GSM و آنتن GPS استفاده شده است. این ماژول با تغذیه ۵ ولت بهترین کاربری را خواهد داشت. دقت نمایید برای راه اندازی برد معرفی شده، تنها از تغذیه ۵ ولت با توان حداقل دو آمپر استفاده نمایید. برای قسمت پردازش نیز، همانطور که پیشتر گفته شد، از برد آردویینو uno استفاده شده است. لیست قطعات مورد نیاز این پروژه را در زیر مشاهده می نمایید.

ماژول SIM808 با قابلیت GPS

آنتن GSM

آنتن GPS

برد آردویینو UNO (تغذیه برد آردویینو از همان کابل تامین می شود)

مقاومت ۱k اهم

ماژول رله

ماژول رله تک کانال Relay Module - دیجی اسپارک

 


تغدیه ماژول sim808


در صورتیکه آداپتور ۵ ولت ندارید، می توانید از آداپتور ۱۲ ولت زیر استفاده نموده و سپس به کمک یک مبدل ولتاژ سوییچینگ، ولتاژ ۱۲ را به ۵ ولت بکاهید. آداپتور و یا مبدل کاهنده ولتاژ را تهیه کنید. بر روی مبدل کاهنده ولتاژ، یک مولتی ترن وجود دارد که پیش از اتصال آن به ماژول، می بایست با چرخاندن آن، ولتاژ را به ۵ ولت برسانید. در زیر نمایی از شماتیک مدار را مشاهده می نمایید.

 


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


در این پروژه از ماژول SIM808 به عنوان درگاه استفاده از سیم کارت برای ارتباط با شبکه مخابراتی استفاده می‌کنیم. به همین دلیل روش اتصالات و تغذیه این برد بسیار اهمیت دارد. همانطور که پیشتر اشاره شده است. این ماژول سیم کارت از طریق رابط سریال با برد آردوینو ارتباط برقرار می‌کند. به همین دلیل علاوه بر اتصالات بخش تغذیه ماژول سیم کارت Sim808 بایستی ارتباط سریالی با برد آردوینو هم برقرار شود. به تصویر زیر دقت کنید. پایه شماره ۱۰ آردویینو به پایه TX ماژول متصل گردد.

پایه شماره ۱۱ ماژول به یک طرف مقاومت R1 متصل شود، یک طرف پایه مقاومت R2 به زمین متصل شود، سپس پایه های باقی مانده از هر مقاومت پس از اتصال به یکدیگر، به پایه RX ماژول متصل شود. دلیل این امر کاهش ولتاژ ۵ ولتی پایه آردویینو به ۲٫۵ است(تقسیم مقاومتی)، چراکه پایه RX ماژول SIM808 نهایتا تحمل ۲٫۸ ولت را دارد. توجه داشته باشید که  هرکدام از مقاومت های R1  و  R2، ظرفیتی برابر با ۱K اهم دارند.

شماتیک اتصالات ماژول سیم کارت Sim808 به برد آردوینو - دیجی اسپارک

 

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

-پایه شماره ۴ آردویینو به پایه IN

-پایه GND رله به GND آردویینو

-پایه VCC رله به پایه ۵V آردویینو

 

هشدار: درصورتیکه آشنایی کافی با سیم کشی و برق ۲۲۰ ولت ندارید، این قسمت را حتما زیر نظر یک آگاه به امر، انجام دهید.

 

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

راه اندازی ماژول سیم کارت Sim808 با برد رزبری پای - دیجی اسپارک

 


کد کنترل وسایل برقی با اینترنت


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

 

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

 

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

 


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


در طراحی این سامانه، از کتابخانه سریال نرم افزاری استفاده شده است؛ به طوریکه پایه ۱۰ آردویینو به عنوان پایه RX آردویینو و پایه شماره ۱۱ آردویینو به عنوان پایه TX آردویینو در نظر گرفته می شود. همچنین به عنوان پایه فرمان، پایه ۴ آردویینو به عنوان خروجی در نظر گرفته شده است. روال اجرای این پروژه، بر روی دوش ۴ تابع اصلی، قرار می گیرد:

جدول توابع کدنویسی ماژول سیم کارت Sim808 با آردوینو - دیجی اسپارک

 

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

وضعیت ماژول سیم کارت در سریال مانیتور آردوینو - دیجی اسپارک

 


جمع بندی


در این آموزش، برای اولین بار در سطح محتوای فارسی، پروژه کنترل اینترنتی رله به کمک اینترنت GPRS ماژول SIM808، به طور کامل شرح داده شد.  از دیگر قابلیت های این پروژه، می توان به ارسال موقعیت مکانی به سرور (live location) اشاره نمود؛ این در حالیست که کار با ماژول های شرکت سیم کام و قرارگیری آن در پروژه های عملی و و اقعی، چالش های فراوانی را در بر میگیرد. به عنوان نمونه، یکی از مهم ترین چالش های آن، بحث صحت سنجی از عملکرد آن و کنترل وضعیت اتصال این ماژول به شبکه است که در این آموزش به طور مفصل، راجع به آن بحث شده است.

 

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

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

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

معین صابری

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

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

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

۸ دیدگاه

  • با عرض سلام وخسته نباشید با تشکر از آموزش های خوب شما
    من ما ژول sim808 رو راه اندازی کردم و اطلاعاتی نظیر موقیت GPS و دما رو با فرمت HTTP (مد GET یا POST) به یکی از پلتفرم های اینترنت اشیا میفرستم با توجه به اینکه هر ۵ ثانیه داده ها به سایت ارسال میشوند ولی آپدیت داده ها در سایت حدود هر ۲۰ ثانیه میباشد با سرچ در اینترنت متوجه شدم که connection بعد از هر بار ارسال close میشود و باید آن را keep alive کرد ولی at comman آن را پیدا نکردم ممنون میشم راهنمایی کنید
    و اینکه شما از at command های CIP برای ارسال استفاده کردید ولی من از HTTP استفاده کردم دستوراتی زیر:
    “AT+HTTPINIT”
    “AT+HTTPPARA=\”CID\”
    “……………….AT+HTTPPARA=\”URL\
    “AT+HTTPACTION=1”
    “AT+HTTPTERM”

    • عرض سلام خدمت شما
      بابت لطف شما سپاسگزارم
      در مورد موضوع شما، چند نکته را می بایست در نظر داشته باشید.
      ۱-ابتدا در نظر بگیرید که همواره داده ها را به کمک POST ارسال نمایید، چراکه متد POST برخلاف متد GET، عمل cach دیتا در سرور را انجام نداده و تنها بروزترین داده ها در سرور دخیره می گردند.
      ۲-در رابطه با رفرش ۲۰ ثانیه ای، به احتمال قریب به یقین این تاخیر به دلیل زمان رفرش در پلتفرم شماست، نه تاخیر در ارسال توسط ماژول. به عبارت دیگر، پلتفرم شما هر ۲۰ ثانیه یکبار اقدام به نمایش داده های جدید می نماید.
      ۳- در رابطه با فرامین AT، تفاوتی بین دستورات من و شما وجود ندارد. دستورات شما در حقیقت فرم ساده تر شده دستورات استفاده شده در این پروژه است. برای keep alive بودن ارتباط، پس از هر ارتباط، شما نباید ارتباط را با دستور AT+CIPCLOSE قطع نمایید. شما می بایست به طور متوالی اقدام به ارسال داده نموده و پس از اینکه ارتباط قطع شد، مجددا ارتباط را متصل نمایید. تشخیص قطع شدن اتصال در کدهای این پروژه در تابع send_data صورت پذیرفته است.
      در پایان، به نظر نمی رسد که مدت زمان keep alive قابل تنظیم توسط کلاینت باشد، این مورد در وب سرور قابل تنظیم است، به عنوان مثال، در وب سرور آپاچی با ورژن ۱٫۱، این زمان ۱۵ ثانیه به صورت پیشفرض است.

  • سلام
    بعضی از رله ها اپتوکوپلر داره و بعضی هم نداره/ اگر بدون اپتو استفاده کنیم در عملکرد مدار تاثیر دارد؟؟

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

  • سلام خسته نباشید توضیحات کامل بود فقط آیا استفاده از مفاومت اجباری است برای این گفتم که در صورتی که مدار برای مکان خاصی بخوام ممکنه اتصال مقاومت ها پیجیده باشه

    • سلام
      وجود مقاومت ها در بلند مدت سبب افزایش طول عمر ماژول SIM808 میگردد. با توجه به اینکه ولتاژ روی پایه RX این ماژول نباید بیشتر از ۲٫۸ یا نهایتا ۳ ولت باشد، و از طرفی دیگر ولتاژ پابه TX اردویینو ۵ ولت است، وجود مقاومت ها ولتاژ ۵ را به ۲٫۵ کاهش داده و مانع از آسیب دیدگی ماژول در دراز مدت خواهد شد.

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

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