برقراری اینترنت رزبری پای با ماژول GSM/GPRS Sim800l
![](/wp-content/uploads/2022/03/برقراری-اینترنت-رزبری-پای-با-ماژول-GSMGPRS-Sim800l.jpg)
اتصال به اینترنت اکنون به مهمترین چیز برای پروژه های مبتنی بر Raspberry Pi تبدیل شده است و وقتی در مورد یک پروژه IoT واقعی صحبت می کنیم، باید به آن توجه ویژه داشت. بنابراین، امروز سعی خواهیم کرد برای ارائه اینترنت به رزبری پای خود ارتباط با ماژول GSM SIM800L را ایجاد کنیم. برای این پروژه، ما از پروتکل نقطه به نقطه (PPP) و ارتباط گره به گره برای برقراری ارتباط با GSM سریال استفاده می کنیم. پس از انجام این پروژه، دیگر نیازی به اتصال pi خود به وای فای یا اترنت نخواهید داشت.
مدار اتصال اینترنت سیم کارت به رزبری پای
اتصالات را مشابه با تصویر زیر انجام دهید.
ماژول GSM | رزربری پای |
Rx | Tx |
Tx | Rx |
GND | GND |
GND Buck | |
VCO | 4.2 V (2596 Ic output) |
بنابراین، می توانید ببینید که اتصالات پیچیده نیستند. شما باید منبع تغذیه را قابل اعتماد نگه دارید زیرا ماژول های GSM هنگام اتصال به اینترنت و نقطه دسترسی به جریان زیادی نیاز دارند. من از ماژول مبدل 2596 Buck برای پروژه خود استفاده کرده ام. شما می توانید از هر کدام استفاده کنید.
اتصالات واقعی که من انجام داده بودم در زیر نشان داده شده است.
قطعات مورد نیاز
قطغع | تعداد |
رزبری پای | 1 |
ماژول GSM SIM800L | 1 |
سیم جامپر مادگی به مادگی | به تعداد لازم |
سیم کارت | 1 |
مبدل DC-DC باک 2596 | 1 |
در اینجا ما از یک مبدل باک 2596 برای ارائه ولتاژ ثابت 4.2 ولت استفاده می کنیم زیرا ماژول GSM SIM800L یک دستگاه پر انرژی است که هنگام استفاده از GPRS به جریان الکتریکی بیشتری نیاز دارد.
نصب کتابخانه و برنامه نویسی Raspberry Pi
قبل از ادامه، لطفاً GSM را با دستورات AT بررسی کنید و تأیید کنید که آیا GSM به دستورات AT پاسخ می دهد یا خیر. این کار را می توان به روش زیر انجام داد
- پورت سریال را فعال کنید
- پورت سریال را بررسی کنید
- اسکریپت check_commands.py زیر را اجرا کنید
- در پاسخ به کد شما باید «OK» را برگرداند، اگر نه، لطفاً اتصالات RX_TX را بررسی کنید و مراحل را تکرار کنید.
import time import serial import os, time cmd='' ser = serial.Serial('/dev/serial0', 9600, timeout=1) ser.reset_input_buffer() while True: smd=input("please enter a command: ") smd=smd+'\n' smds=smd.encode('utf-8') ser.write(smds) print("smd value is:",smd) line = ser.read(10).decode('utf-8').rstrip() print(line)
توجه: از آنجایی که من از پایتون 3 در رزبری پای استفاده می کنم، بنابراین باید نگران رمزگذاری و رمزگشایی داده های تحت “utf-8” باشم.
حالا کد بالا دستوری را از ترمینال شما ارسال می کند و پاسخ را روی ترمینال نمایش می دهد. در ابتدا، “AT” را بنویسید و سپس “Enter” را فشار دهید، باید پیام “OK” را برگرداند. برای سرگرمی می توانید دستورات AT بیشتری را امتحان کنید. اکنون یک کتابخانه PPP نصب می کنیم که به ما در استفاده از اینترنت از طریق ماژول GSM کمک می کند.
دستور زیر را در ترمینال بنویسید تا بتوانیم آخرین آپدیت را روی Pi خود داشته باشیم.
sudo apt-get upgrade sudo apt-get install ppp screen elinks
به این ترتیب کتابخانه ppp را دانلود و نصب خواهید کرد. حالا sudo -i را در ترمینال تایپ کنید. سپس با استفاده از دستور زیر باید به پوشه peers بروید.
cd /etc/ppp/peers*
سپس “nano rnet” را تایپ کنید تا بتوانید فایلی با نام “rnet” در پوشه “peers” ایجاد کنید. در آنجا باید خطوط زیر کد را بنویسید. (فقط کپی و پیست کنید)
#code start #imis/internet is the apn for idea connection connect "/usr/sbin/chat -v -f /etc/chatscripts/gprs -T airtelgprs.com" # For Raspberry Pi4 use /dev/ttyS0 as the communication port: /dev/ttyS0 # Baudrate 115200 # Assumes that your IP address is allocated dynamically by the ISP. noipdefault # Try to get the name server addresses from the ISP. usepeerdns # Use this connection as the default route to the internet. defaultroute # Makes PPPD "dial again" when the connection is lost. persist # Do not ask the remote to authenticate. noauth # No hardware flow control on the serial link with GSM Modem nocrtscts # No modem control lines with GSM Modem local #code end
شما باید APN های مربوط به سیم کارت خود را وارد کنید. میتوانید در گوگل سرچ کنید APN همراه اول، ایرانسل یا …
در اینجا باید APN خود را در خط “connect” تغییر دهید. مال من “airtelgprs.com” است. همچنین، پورت سریال من “ttyS0” است، بنابراین من به آن اشاره کرده ام. لطفاً توجه داشته باشید که نیازی به تغییر نرخ Baud ندارید. سپس آن را ذخیره کرده و با فشار دادن “Ctrl+X” آن را ببندید.
اکنون ترمینال را مجددا راه اندازی کنید. سپس در ترمینال “ifconfig” را تایپ کرده و enter را فشار دهید.
حالا دستور “sudo pon rnet” را در ترمینال ارسال کنید تا اینترنت شما روشن شود. هیچ اتفاقی روی صفحه نمایش نخواهد افتاد اما رفتار LED GSM شما تغییر خواهد کرد. این بار فرکانس روشن و خاموش کردن LED افزایش می یابد. در اینجا می توانید با وارد کردن “sudo poff rnet” اینترنت را متوقف کنید. اکنون می توانید از شبکه GPRS در Raspberry Pi خود لذت ببرید. اگرچه سرعت اینترنت زیاد خوب نیست اما برای پروژه های ساده اینترنت اشیا مناسب است.
از این رو ما اینترنت GPRS را از طریق پروتکل نقطه به نقطه (PPP) با کمک ماژول GSM SIM800L در اختیار Raspberry Pi خود قرار داده ایم. می توانید به طور خودکار اتصال GPRS خود را از طریق GSM با استفاده از crontab یا هر اسکریپت برنامه ریزی شده اجرا کنید. از آنجایی که ما از فناوری GPRS استفاده میکنیم، نمیتوانیم انتظار اینترنت پرسرعت را داشته باشیم، اما میتوان آن را در نظر گرفت که APIها را برای پروژههای اینترنت اشیاء ما تحت فشار قرار دهد. اگر شک یا سؤالی دارید، در بخش نظرات زیر بپرسید یا می توانید برای شروع بحث، تمام سؤالات فنی خود را در انجمن بنویسید.
سلام خسته نباشید
ممنون بابت آموزش های خوبتون
میخواستم بدونم میتونم با این ماژول کامپیوتر شخصیم رو به اینترنت متصل کنم یانه؟
سلام ممکنه بفرمایید از کجا می توان APN همراه اول، ایرانسل را پیدا کرد ممکن است در پاسخ APN ها را بفرمایید تشکر
سلام عزیز
برای همراه اول در قسمت APN کلمه mcinet
برای ایرانسل در قسمت Name، عبارت Irancell-Internet و در قسمت APN عبارت mtnirancell