آموزش رزبری پای

برقراری اینترنت رزبری پای با ماژول GSM/GPRS Sim800l

اتصال به اینترنت اکنون به مهمترین چیز برای پروژه های مبتنی بر 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 برای پروژه خود استفاده کرده ام. شما می توانید از هر کدام استفاده کنید.

اتصالات واقعی که من انجام داده بودم در زیر نشان داده شده است.

اتصالات واقعی سیم 800 رزبری پای

قطعات مورد نیاز

قطغع تعداد
رزبری پای 1
ماژول GSM SIM800L 1
سیم جامپر مادگی به مادگی به تعداد لازم
سیم کارت 1
مبدل DC-DC باک 2596 1

در اینجا ما از یک مبدل باک 2596 برای ارائه ولتاژ ثابت 4.2 ولت استفاده می کنیم زیرا ماژول GSM SIM800L یک دستگاه پر انرژی است که هنگام استفاده از GPRS به جریان الکتریکی بیشتری نیاز دارد.

نصب کتابخانه و برنامه نویسی Raspberry Pi

قبل از ادامه، لطفاً GSM را با دستورات AT بررسی کنید و تأیید کنید که آیا GSM به دستورات AT پاسخ می دهد یا خیر. این کار را می توان به روش زیر انجام داد

  1. پورت سریال را فعال کنید
  2. پورت سریال را بررسی کنید
  3. اسکریپت check_commands.py زیر را اجرا کنید
  4. در پاسخ به کد شما باید «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” آن را ببندید.

تنظیم APN ماژول SIM800l

اکنون ترمینال را مجددا راه اندازی کنید. سپس در ترمینال “ifconfig” را تایپ کرده و enter را فشار دهید.

ipconfig لینوکس

حالا دستور “sudo pon rnet” را در ترمینال ارسال کنید تا اینترنت شما روشن شود. هیچ اتفاقی روی صفحه نمایش نخواهد افتاد اما رفتار LED GSM شما تغییر خواهد کرد. این بار فرکانس روشن و خاموش کردن LED افزایش می یابد. در اینجا می توانید با وارد کردن “sudo poff rnet” اینترنت را متوقف کنید. اکنون می توانید از شبکه GPRS در Raspberry Pi خود لذت ببرید. اگرچه سرعت اینترنت زیاد خوب نیست اما برای پروژه های ساده اینترنت اشیا مناسب است.

بررسی نهایی اینترنت سیم کارت در رزبری پای

از این رو ما اینترنت GPRS را از طریق پروتکل نقطه به نقطه (PPP) با کمک ماژول GSM SIM800L در اختیار Raspberry Pi خود قرار داده ایم. می توانید به طور خودکار اتصال GPRS خود را از طریق GSM با استفاده از crontab یا هر اسکریپت برنامه ریزی شده اجرا کنید. از آنجایی که ما از فناوری GPRS استفاده می‌کنیم، نمی‌توانیم انتظار اینترنت پرسرعت را داشته باشیم، اما می‌توان آن را در نظر گرفت که APIها را برای پروژه‌های اینترنت اشیاء ما تحت فشار قرار دهد. اگر شک یا سؤالی دارید، در بخش نظرات زیر بپرسید یا می توانید برای شروع بحث، تمام سؤالات فنی خود را در انجمن بنویسید.

5/5 - (1 امتیاز)

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام آیرنکس را دنبال کنید.
تصویر از محمد رحیمی

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید قرار بدهم. سوالات مربوط به این مطلب را در قسمت نظرات همین مطلب اعلام کنید. سعی میکنم در اسرع وقت به نظرات شما پاسخ بدهم.

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

نشانی ایمیل شما منتشر نخواهد شد.