Documentation du Module LoRa SX1278
2025
Contents
1 Fonctions du Transmitter (Émetteur) 1
1.1 SX1278b egin1() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 SX1278L oRaEntryT x1(uint8t length, uint16t timeout) . . . . . . . . . . . . . . . . . . . . 1
1.3 SX1278L oRaT xP acket1(uint8t buf f er, uint8t length, uint16t timeout) . . . . . . . . . . . . 2
2 Fonctions du Receiver (Récepteur) 2
2.1 SX1278b egin1() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 SX1278L oRaEntryRx1(uint8t length, uint16t timeout) . . . . . . . . . . . . . . . . . . . . 2
2.3 SX1278L oRaRxP acket1() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.4 SX1278r ead1(uint8t buf f er, uint8t length) . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3 Modes de Fonctionnement du SX1278 3
3.1 Mode SLEEP (Sommeil) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.2 Mode STANDBY (Veille) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1 Fonctions du Transmitter (Émetteur)
1.1 SX1278b egin1()
Description : Initialise le module SX1278 pour la communication LoRa. Configure les paramètres
essentiels comme la fréquence, la bande passante et la puissance d’émission.
Configuration typique :
• Fréquence : 433 MHz
• Puissance de transmission : +17 dBm
• Largeur de bande : 20.8 kHz
• Facteur d’étalement (SF) : 8
• Taux de codage (CR) : 4/5
• CRC : Activé
• Préambule : 12 symboles
• Timeout maximal pour la réception
Utilité : Cette fonction est essentielle pour initialiser le module avec des paramètres de base.
1.2 SX1278L oRaEntryT x1(uint8t length, uint16t timeout)
Description : Configure le module en mode transmission LoRa, ajuste la longueur du paquet et con-
figure les interruptions pour surveiller l’état de la transmission.
Étapes principales :
• Active le mode LoRa et passe en mode veille.
1
• Configure la longueur du paquet (en octets).
• Active les interruptions pour surveiller la fin de la transmission.
• Configure la base d’adresse FIFO pour l’envoi.
Paramètres :
• length : Taille des données à envoyer.
• timeout : Durée maximale d’attente pour que le module soit prêt à émettre.
Retour : 1 si le module est prêt à émettre, 0 en cas de timeout.
1.3 SX1278L oRaT xP acket1(uint8t buf f er, uint8t length, uint16t timeout)
Description : Envoie les données via LoRa.
Étapes principales :
• Charge les données dans la FIFO.
• Passe en mode transmission continue.
• Attente de la fin de transmission avec gestion du timeout.
• Réinitialise les interruptions après l’envoi.
Paramètres :
• buffer : Données à envoyer.
• length : Taille des données.
• timeout : Durée maximale pour l’envoi.
Retour : 1 si l’envoi est réussi, 0 en cas d’échec ou de timeout.
2 Fonctions du Receiver (Récepteur)
2.1 SX1278b egin1()
Description : Même initialisation que pour l’émetteur, avec configuration pour la réception.
Différence : Après l’initialisation, le module est préparé pour passer en mode réception.
2.2 SX1278L oRaEntryRx1(uint8t length, uint16t timeout)
Description : Configure le module pour recevoir des paquets LoRa.
Étapes principales :
• Configure la longueur du paquet attendu.
• Configure l’adresse de base FIFO pour la réception.
• Active les interruptions pour détecter la réception de données (DIO0).
• Passe en mode réception continue.
Paramètres :
• length : Taille maximale du paquet attendu.
• timeout : Temps d’attente maximal pour que le module passe en mode RX.
Retour : 1 si la configuration est réussie, 0 en cas de timeout.
2
2.3 SX1278L oRaRxP acket1()
Description : Vérifie si un paquet a été reçu et récupère sa taille.
Étapes principales :
• Vérifie l’état de la broche DIO0 (interruption de réception).
• Lit l’adresse FIFO de la dernière réception.
• Récupère la longueur des données reçues.
• Efface les interruptions pour préparer la prochaine réception.
Retour : Longueur des données reçues (ou 0 si aucune donnée).
2.4 SX1278r ead1(uint8t buf f er, uint8t length)
Description : Lit les données reçues depuis la FIFO du SX1278.
Étapes principales :
• Copie les données de la FIFO vers un buffer.
• Ajoute un caractère nul (\0) à la fin pour une utilisation en chaı̂ne de caractères.
• Réinitialise le compteur de bytes reçus.
Paramètres :
• buffer : Buffer pour stocker les données.
• length : Nombre d’octets à lire.
Retour : Nombre d’octets effectivement lus.
3 Modes de Fonctionnement du SX1278
3.1 Mode SLEEP (Sommeil)
Description : Le mode le plus économe en énergie. Toutes les fonctionnalités du module sont désactivées,
sauf l’accès au registre SPI.
Consommation typique : Très faible ( 0.2 µA).
Utilité : Utilisé pour économiser de l’énergie lorsqu’aucune communication n’est nécessaire.
Transition : Passez en mode veille ou directement en mode TX/RX en configurant les registres.
3.2 Mode STANDBY (Veille)
Description : Le mode de préparation. Les oscillateurs sont actifs, et le module est prêt à basculer
rapidement vers TX ou RX.
Consommation typique : Faible ( 1.6 mA).
Utilité : Idéal pour réduire le délai de transmission tout en maintenant une consommation modérée.
Transition : Vous pouvez passer instantanément en mode émission ou réception.