Comment connecter Internet sur Raspberry Pi à l’aide du module SIM800L GSM?

Publié le 29 Mars 2024  1


Ousmane Soumaiala Yaye
Auteur        
Connecter le Raspberry Pi à  Internet
Connecter le Raspberry Pi à Internet

La connexion Internet devient maintenant la chose la plus importante après l’alimentation électrique pour les projets basés sur Raspberry Pi et lorsque nous parlons d’un véritable projet IoT, cela devient une chose indispensable à considérer. Donc, aujourd’hui, nous allons essayer d’interfacer GSM SIM800L pour fournir Internet à notre Pi tout comme un modem utilisant GSM GPRS. Pour ce projet, nous utilisons le protocole PPP (Point to Point Protocol) et la communication nœud à nœud pour communiquer avec le GSM en série. Après avoir fait ce projet, vous n’aurez pas besoin de connecter votre pi avec Wi-Fi ou Ethernet.

Composants requis pour Tether Internet sur Raspberry Pi

Composant

Qté.

Raspberry Pi 3 (vous pouvez utiliser n’importe lequel)

1

GSM SIM800L Module

1

Câbles de liaison F-F

Comme req.

Carte SIM en réseau fonctionnelle

1

2596 Convertisseur abaisseur avec adaptateur

1 unité

Ici, nous utilisons un convertisseur abaisseur 2596 pour fournir une tension constante de 4,2 volts, car le module GSM SIM800L est un appareil gourmand en énergie qui nécessitera plus de courant lors de l’utilisation du GPRS. Pour en savoir plus sur le GSM avec raspberry pi, vous pouvez visiter notre site Web.

Schéma de circuit de Tether Internet sur Raspberry Pi

GPS Module

Raspberry Pi 3

Rx

Tx of the Raspberry Pi

Tx

RX of the Raspberry Pi

GND

GND of the Raspberry Pi

GND of the Buck

VCO

4.2 V (2596 Ic output)

Hence we have connected all the pins accordingly. For a better understanding, I am attaching a connection diagram below.

Interfaçage du module GSM SIM800 avec le schéma de circuit Raspberry Pi

Ainsi, vous pouvez voir que les connexions ne sont pas complexes. Vous devez maintenir la fiabilité de l’alimentation électrique car les modules GSM ont besoin de courant lorsqu’ils sont connectés à Internet et au point d’accès. J’ai utilisé un module de conversion Buck 2596 pour mon projet. Vous pouvez utiliser n’importe lequel.

La configuration réelle que j’ai effectuée est illustrée ci-dessous.

Interfaçage du module GSM SIM800 avec Raspberry Pi   

Installation de la bibliothèque et programmation du Raspberry Pi

Avant d’aller plus loin, veuillez vérifier le GSM avec les commandes AT et confirmer si le GSM répond aux commandes AT ou non. Cela peut être fait de la manière suivante,

  • Activer le port série
  • Vérifiez le port série
  • Exécutez le script check_commands.py suivant
  • Il doit retourner 'OK' en réponse à votre code, si ce n’est pas le cas, veuillez vérifier les connexions de RX_TX et répéter les étapes.
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)

Note : Comme j’utilise python 3 sur raspberry Pi, je devrais donc me préoccuper de l’encodage et du décodage des données sous « utf-8 ».

Maintenant, le code ci-dessus enverra une commande à partir de votre terminal et affichera la réponse sur le terminal. Au début, écrivez « AT » puis appuyez sur « Entrée », cela doit renvoyer le message « OK ». Vous pouvez essayer d’autres commandes AT pour le plaisir. Maintenant, nous allons installer une bibliothèque PPP qui nous aidera à utiliser Internet via le module GSM.

Écrivez la commande suivante dans le terminal afin que nous puissions avoir la dernière mise à jour sur notre Pi.

sudo apt-get upgrade
sudo apt-get install ppp screen elinks

De cette façon, vous téléchargerez et installerez la bibliothèque ppp. Maintenant, allez dans le sudo -i en tapant la même chose sur le terminal. Ensuite, vous devrez vous rendre dans le dossier peers à l’aide de la commande suivante.

cd /etc/ppp/peers*

Tapez ensuite « nano rnet » afin de pouvoir créer un fichier nommé « rnet » dans le dossier « peers ». Là, vous devez écrire les lignes suivantes du code. (il suffit de le copier-coller)

 #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

Étant donné que j’utilise la carte SIM du réseau Airtel, nous devrions connaître l’APN de la même chose. Pour l’instant, c’est « airtelgprs.com ». Vous pouvez facilement trouver le vôtre sur Google.

Contenu du fichier de rnet

Ici, vous devrez modifier votre APN dans la ligne 'connect'. Le mien est « airtelgprs.com ». De plus, mon port série est « ttyS0 » donc je l’ai mentionné. Veuillez noter qu’il n’est pas nécessaire de modifier le débit en bauds. Ensuite, enregistrez-le et fermez-le en appuyant sur « Ctrl+X ».

Redémarrez maintenant le terminal. Ensuite, dans le terminal, tapez « ifconfig » et appuyez sur Entrée.

Résultat de ifconfig

Maintenant, que le plaisir commence en entrant la commande suivante, c’est-à-dire « sudo pon rnet ». Rien ne se passera à l’écran mais le comportement de votre LED GSM changera. Cette fois, la fréquence d’allumage et d’extinction de la LED augmentera. Ici, vous pouvez arrêter Internet en entrant « sudo poff rnet ». Vous pouvez maintenant profiter du réseau GPRS sur votre Raspberry Pi. Bien que la vitesse d’Internet ne soit pas si bonne dans mon cas en raison d’une certaine puissance de signal, cela peut être négligé si vous voulez faire un projet IoT.

Internet connecté sur Raspberry Pi à l’aide du module GSM SIM800

Conclusion

Par conséquent, nous avons fourni une connexion Internet GPRS à notre Raspberry Pi via le protocole point à point (PPP) à l’aide du module GSM SIM800L. Vous pouvez démarrer automatiquement votre connexion GPRS via GSM à l’aide de crontab ou de n’importe quel exécuteur de script planifié. Étant donné que nous utilisons la technologie GPRS, nous ne pouvons donc pas nous attendre à l’Internet haut débit, mais il peut être envisagé de pousser et d’extraire des API pour nos projets IoT. Si vous avez des doutes ou des questions, posez-les dans la section des commentaires ci-dessous ou vous pouvez également écrire toutes vos questions techniques sur les forums pour lancer une discussion.

Code
#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

Commentaires

Posts les plus consultés de ce blog

PRINCIPES DE BASE DU PROTOCOLE DE COMMUNICATION SPI

Qu’est-ce qu’une résistance, différents types de résistances et applications?