رزبری پای سیم کارت GSM - GPRS پروژه رزبری پای

تبدیل ماژول SIM800C به مودم ۲G سیم کارتی مخصوص رزبری پای Raspberry Pi

change-raspberry-pi-to-Internet-modem-2g-with-sim800c-digispark
نوشته شده توسط معین صابری

در سری آموزش های برد رزبری پای و شیلد SIM800C مخصوص برد رزبری پای، ارتباط برد رزبری پای به شبکه GSM جهت ارسال و  دریافت پیامک را مورد بررسی قرار دادیم. به عنوان نمونه، در این آموزش، به ارسال دمای پردازنده رزبری پای به کمک پیامک به کاربر، پرداختیم. همچنین، در آموزشی دیگر،  کنترل وضعیت یک رله از طریق پیامک را مورد بحث و بررسی، قرار دادیم؛ اما در این مطلب، با تغییر رویکرد پروژه های پیشین، گامی بلندتر برداشته و برد رزبری پای را به کمک اینترنت (GPRS) شیلد SIM800C، به شبکه جهانی اینترنت متصل می نماییم. بدین ترتیب، با اتصال برد رزبری پای به اینترنت GPRS، می توان همانند اتصال آن به یک مودم وای فای، از شبکه جهانی اینترنت بهره مند شده و حتی به کمک مرورگر آن، وب گردی نمود. در این آموزش، مراحل و روش کار را با هم مورد بررسی قرار خواهیم داد. شایان ذکر است که در این آموزش، همانند آموزش های پیشین، از شیلد SIM800C استفاده شده است؛ از مزیت های این شیلد می توان به کاهش پیچیدگی در اتصالات، سهولت در راه اندازی و…. اشاره نمود. در این آموزش ما از برد رزبری پای ۳ مدل +B استفاده نموده ایم، شما نیز می توانید از بردهای مشابه، نظیر برد رزبری پای ۴، استفاده نمایید.  در ادامه این آموزش با مرجع تخصصی رزبری پای و مرجع تخصصی ماژول سیم کارت به زبان فارسی، دیجی اسپارک همراه باشید.

 


اتصال شیلد SIM800C به رزبری پای


همانطور که حتما مستحضر هستید، شیلد SIM800C یا به عبارت دیگر ماژول SIM800C، توسط فرامینی موسوم به AT-COMMAND ها کنترل می شود. به عنوان مثال، برای برقراری تماس تلفنی، از دستور ATD، برای ارسال پیامک از دستور AT+CMGS، برای اتصال به اینترنت از دستور AT+SAPBR=1,1 استفاده شده و ارسال این دستورات به شیلد، از طریق پروتکل UART، صورت می پذیرد. برد رزبری پای به طور پیشفرض از پورت UART خود برای ارسال پیام های کرنل، استفاده می نماید. همانطور که اطلاع دارید، پروتکل UART از دو پایه به نام های RX و TX به ترتیب برای دریافت و ارسال داده، استفاده می نماید. از آنجاییکه پایه TX برد رزبری پای حین بوت، پیام های کرنل را ارسال می نماید، و از طرفی دیگر پایه RX شیلد به TX رزبری متصل است، ممکن است پیام های ارسالی از طرف رزبری و دریافت آن توسط شیلد، باعث خطا در عملکرد آن(شیلد رزبری پای) گردد. به همین دلیل، در ابتدا، می بایست پورت UART را غیر فعال نماییم. برای غیر فعال سازی پورت، ابتدا از طریق منوی رزبری پای(آرم رزبری پای در بالا و سمت چپ صفحه)، وارد قسمت Preferences شده و سپس روی Raspberry Pi Configuration، مطابق تصویر، کلیک نمایید:

 

با کلیک بر روی تنظیمات رزبری پای، منوی آن به شکل زیر، ظاهر می شود، در این مرحله با انتخاب گزینه interfaces، در قسمت Serial Console، با انتخاب گزینه Disabled، آن را غیرفعال نمایید:

توجه: در صورتیکه در منوی فوق، عبارت serial console را مشاهده ننمودید، نیازی به انجام کاری نیست، فقط دقت داشته باشید که serial port فعال باشد.

 


تنظیمات اینترنت GPRS برد رزبری پای


در این مرحله، نوبت به اتصال برد رزبری پای به اینترنت می رسد. همانطور که مطلع هستید، شیلد SIM800C با دستورات AT-COMMAND کنترل می گردد. در آموزش ارسال دما به کمک برد رزبری، به جای ارسال فرامین AT، از یک نرم افزار واسط به نام gammu، جهت ارسال و دریافت پیامک استفاده نمودیم. در این آموزش نیز، برای ارتباط با شبکه، از یک نرم افزار واسط به نام PPP استفاده خواهیم نمود. این نرم افزار، قابلیت اتصال به شبکه را از طریق پورت سریال، فراهم می آورد. برای نصب این نرم افزار، ابتدا با دسترسی کاربر ریشه (root)،برد رزبری پایه را بروزرسانی نموده و در مرحله بعد، اقدام به نصب نرم افزار PPP می نماییم:

پس از نصب نرم افزار، ابتدا اتصال اینترنت برد رزبری پای را جهت جلوگیری از ایجاد تداخل با اینترنت GPRS، قطع نمایید؛ سپس تنظیمات لازم برای اتصال برد رزبری پای به اینترنت از طریق اینترنت شیلد SIM800C را درون یک فایل، قرار می دهیم. به همین منظور، ابتدا با دستور sudo -i، مجوز دسترسی لازم را ایجاد می نماییم. سپس، برای ایجاد فایل تنظیمات، نیاز است تا به محل نصب و اجرای نرم افزار PPP، با دستور زیر، برویم:

در اینجا، به کمک ویرایشگر متن nano، فایلی به نام sim800c ایجاد نمایید.
با بازگشایی فایل، عبارات زیر را در آن کپی نمایید.

 

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

 

باقی تنظیمات این فایل مربوط به نرخ انتقال داده(باودریت)، تنظیمات آی پی(چون در هربار اتصال آی پی تغییر می نماید،عبارت noipdefault برای آن قرار می دهیم) و … می باشد. بنابراین، بدون تغییر در بقیه قسمت های این فایل، ابتدا کلید ترکیبی ctrl+x را فشرده و و با انتخاب گزینه y، فایل را ذخیره نمایید.

 


اینترنت GPRS رزبری پای با SIM800C


در این مرحله، نوبت به اتصال برد رزبری به اینترنت GPRS می رسد. همانطور که پیشتر بیان گردید، برای اتصال برد رزبری پای به اینترنت از طریق اینترنت GPRS شیلد SIM800C، از یک نرم افزار واسط، به نام PPP استفاده نمودیم تا درخواست های ما برای اتصال به اینترنت را به صورت AT-COMMAND برای ماژول SIM800C، ترجمه نماید. در قسمت بعدی نیز، تنظیمات لازم جهت اتصال به اینترنت، نظیر نام نقطه دسترسی و…. را درون فایلی به نام sim800c ذخیره نمودیم. برای اتصال برد به اینترنت، می بایست از دستور زیر استفاده نمود:

در عبارت فوق، به کمک دستور pon، اتصال به اینترنت فعال می گردد؛ همچنین، برای اتصال به اینترنت، می بایست نام فایلی که تنظیمات در آن ذخیره شده است(sim800c)،  به عنوان ورودی به pon داده شود. البته برای اتصال به اینترنت، مجوز root لازم بوده که با دستور sudo، این مجوز تامین می گردد. شایان ذکر است که پس از این دستور، می توانید با دستور exit از حالت root خارج شوید.

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

 

با توجه به تصویر فوق، در قسمت PPP0 می توانید دو آی پی آدرس را مشاهده نمایید. یکی آی پی بعد از عبارت inet و دیگری پس از عبارت p-t است. اتصال اینترنت از طریق شبکه موبایل، تقریبا مشابه اتصال به یک مودم خانگی است.  همانطور که مودم خانگی یک آی پی آدرس عمومی در شبکه جهانی اینترنت داشته و با اتصال هر دستگاه به مودم، یک آی پی داخلی به آن تخصیص می دهد، دکل مخابراتی نیز یک آی پی آدرس عمومی در شبکه اینترنت داشته و با اتصال هر دستگاه تلفن همراه به آن، یک آی پی داخلی به آن تخصیص می دهد. در اینجا، آی پی درج شده بعد از عبارت inet، همان آی پی دریافت شده از دکل و آی پی درج شده بعد از عبارت p-t، ای پی عمومی(آی پی دکل در شبکه جهانی اینترنت) است. در ادامه، در صورتیکه نیاز داشتید تا ارتباط اینترنت قطع گردد، با دستور sudo poff، ارتباط قطع خواهد شد.

 


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


شیلد سیم کارت sim800C مخصوص رزبری پای Raspberry Pi GSM Shield

ماژول سیم کارت GSM و GPRS

برد رزبری پای Raspberry Pi

 


جمع بندی


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

 

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

 

 

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

معین صابری

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

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

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

۲ دیدگاه