0% ont trouvé ce document utile (0 vote)
101 vues5 pages

PDF Lora Raspberrypi

Ce guide explique comment connecter un module LoRa à une Raspberry Pi, en détaillant les étapes de connexion physique, de configuration SPI, et d'écriture du code pour la communication entre un émetteur et un récepteur. Il inclut également des conseils pour tester la communication et intégrer les données dans un système global, ainsi que des suggestions pour le développement d'une interface web et mobile. Le document fournit des exemples de code pour l'émetteur (ESP32) et le récepteur (Raspberry Pi) afin de faciliter la mise en œuvre du projet.

Transféré par

elhasbis.ensa
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
101 vues5 pages

PDF Lora Raspberrypi

Ce guide explique comment connecter un module LoRa à une Raspberry Pi, en détaillant les étapes de connexion physique, de configuration SPI, et d'écriture du code pour la communication entre un émetteur et un récepteur. Il inclut également des conseils pour tester la communication et intégrer les données dans un système global, ainsi que des suggestions pour le développement d'une interface web et mobile. Le document fournit des exemples de code pour l'émetteur (ESP32) et le récepteur (Raspberry Pi) afin de faciliter la mise en œuvre du projet.

Transféré par

elhasbis.ensa
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Guide pour connecter un module LoRa à une

Raspberry Pi
École Nationale des Sciences Appliquées - Berrechid

Année universitaire 2024-2025

Introduction
C’est un projet très intéressant et ambitieux ! Je vais te guider étape par étape pour
connecter ton module LoRa à la Raspberry Pi, écrire le code nécessaire, et gérer la
communication entre l’émetteur et le récepteur.

Étape 1 : Connexion du module LoRa à la Raspberry


Pi
Matériel nécessaire
— Module LoRa (par exemple, un module basé sur SX1276 ou SX1278)
— Raspberry Pi (avec GPIO disponibles)
— Câbles de connexion (jumpers)

Connexion physique
1. Alimentation : Connecte la broche VCC du module LoRa à une broche 3.3V
de la Raspberry Pi. La broche GND doit être connectée à une broche GND de la
Raspberry Pi.
2. Communication SPI : Le module LoRa utilise généralement le protocole SPI
pour communiquer avec la Raspberry Pi. Connecte les broches suivantes :
— SCK (Serial Clock) à la broche GPIO 11 (SCLK)
— MISO (Master In Slave Out) à la broche GPIO 9 (MISO)
— MOSI (Master Out Slave In) à la broche GPIO 10 (MOSI)
— NSS (Slave Select) à la broche GPIO 8 (CE0)
— RST (Reset) à une broche GPIO libre (par exemple, GPIO 25)
— DIO0 (Data In/Out 0) à une broche GPIO libre (par exemple, GPIO 24)

1
Université Hassan 1er Projet IoT & IA

Étape 2 : Configuration de la Raspberry Pi pour SPI


Activer SPI
Sur la Raspberry Pi, active l’interface SPI via raspi-config ou en éditant le fichier
/boot/config.txt :
1 sudo raspi - config

Sélectionne ”Interfacing Options” ¿ ”SPI” et active-le.

Installer les bibliothèques nécessaires


Installe la bibliothèque RPi.GPIO et spidev pour gérer les GPIO et la communication
SPI :
1 sudo apt - get update
2 sudo apt - get install python3 - rpi . gpio python3 - spidev

Étape 3 : Écrire le code pour la communication LoRa


Code pour l’émetteur (ESP32)
Tu as déjà configuré l’ESP32 avec le module LoRa. Assure-toi que le code de l’émetteur
envoie les données correctement. Voici un exemple simplifié :
1 # include < SPI .h >
2 # include < LoRa .h >
3

4 void setup () {
5 Serial . begin (9600) ;
6 while (! Serial ) ;
7

8 if (! LoRa . begin (433 E6 ) ) {


9 Serial . println ( " LoRa init failed . Check your connections . " ) ;
10 while ( true ) ;
11 }
12 }
13

14 void loop () {
15 // Envoyer des d o n n e s
16 LoRa . beginPacket () ;
17 LoRa . print ( " Hello , LoRa ! " ) ;
18 LoRa . endPacket () ;
19

20 delay (5000) ;
21 }

Page 2 sur 5
Université Hassan 1er Projet IoT & IA

Code pour le récepteur (Raspberry Pi)


Sur la Raspberry Pi, tu peux utiliser Python pour recevoir les données LoRa. Voici
un exemple de code :
1 import RPi . GPIO as GPIO
2 import spidev
3 import time
4

5 # Configuration des broches


6 NSS = 8
7 RST = 25
8 DIO0 = 24
9

10 # Initialisation SPI
11 spi = spidev . SpiDev ()
12 spi . open (0 , 0)
13 spi . max_speed_hz = 500000
14

15 # Configuration des GPIO


16 GPIO . setmode ( GPIO . BCM )
17 GPIO . setup ( NSS , GPIO . OUT )
18 GPIO . setup ( RST , GPIO . OUT )
19 GPIO . setup ( DIO0 , GPIO . IN )
20

21 def setup_lora () :
22 GPIO . output ( RST , GPIO . HIGH )
23 time . sleep (0.1)
24 GPIO . output ( RST , GPIO . LOW )
25 time . sleep (0.1)
26 GPIO . output ( RST , GPIO . HIGH )
27 time . sleep (0.1)
28

29 # Configuration du module LoRa ( exemple pour SX1276 )


30 write_register (0 x01 , 0 x8C ) # Mode sleep
31 write_register (0 x01 , 0 x8F ) # Mode LoRa
32 write_register (0 x0D , 0 x72 ) # F r q u e n c e
33 write_register (0 x1D , 0 x74 ) # Configuration du modem
34 write_register (0 x1E , 0 x04 ) # Configuration du modem
35 write_register (0 x26 , 0 x0C ) # Configuration du modem
36

37 def write_register ( address , value ) :


38 GPIO . output ( NSS , GPIO . LOW )
39 spi . xfer2 ([ address | 0 x80 , value ])
40 GPIO . output ( NSS , GPIO . HIGH )
41

42 def read_register ( address ) :


43 GPIO . output ( NSS , GPIO . LOW )

Page 3 sur 5
Université Hassan 1er Projet IoT & IA

44 response = spi . xfer2 ([ address & 0 x7F , 0])


45 GPIO . output ( NSS , GPIO . HIGH )
46 return response [1]
47

48 def receive_lora () :
49 if GPIO . input ( DIO0 ) :
50 print ( " Data received ! " )
51 # Lire les d o n n e s r e u e s
52 # ...
53

54 setup_lora ()
55 while True :
56 receive_lora ()
57 time . sleep (1)

Étape 4 : Tester la communication


Test de l’émetteur
Assure-toi que l’ESP32 envoie bien des données via LoRa.

Test du récepteur
Vérifie que la Raspberry Pi reçoit les données correctement.

Étape 5 : Intégration avec le reste du système


Une fois que la communication LoRa fonctionne, tu peux intégrer les données reçues
dans ton système global. Par exemple, tu peux stocker les données dans une base de
données sur la Raspberry Pi et les afficher via une interface web ou mobile.

Étape 6 : Développement de l’interface web et mobile


Pour l’interface web, tu peux utiliser des frameworks comme Flask ou Django en
Python. Pour l’application mobile, Android Studio avec Java ou Kotlin est une bonne
option.

Conclusion
Tu as maintenant les bases pour connecter ton module LoRa à la Raspberry Pi et
gérer la communication entre l’émetteur et le récepteur. N’hésite pas à poser des questions

Page 4 sur 5
Université Hassan 1er Projet IoT & IA

supplémentaires si tu as besoin de plus de détails ou d’aide pour d’autres parties du projet.


Bon courage !

Page 5 sur 5

Vous aimerez peut-être aussi