Documentation des Fonctions du Module
Description des Fonctions LoRa SX1278
1 Fonctions du Transmitter (Émetteur)
côté Émetteur
1.1 SX1278b egin1()
Description : Initialise le module SX1278 pour la communication LoRa en
configurant Configure les paramètres essentiels. 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é : 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. Étapes prin-
cipales :
• Active le mode LoRa et passe en mode veille.
• Configure la longueur du paquet.
• Active les interruptions pour surveiller la transmission.
1
• Configure la base d’adresse FIFO pour l’envoi.
Paramètres : ajuste la longueur du paquet et configure les inter-
ruptions pour surveiller l’état de la transmission.
• length : Taille des données à envxtttlength : Tailoyer.
• timeout : Durée maximale d’attente. timeout : Durée man-
ditemize
1.3 SX1278L oRaT xP acket1(uint8t buf f er, uint8t length, uint16t timeout)
Retour : 1 si le module est prêt à émettre, 0 en cas de timeout.
1.4 SX1278L oRaT xP acket1
Description : Envoie les données via LoRa. Étapes principales :
– Charge les données dans la FIFO.
– Passe en mode transmission continue.
– Attend la fin de transmission avec timeout.
– Réinitialise les interruptions après l’envoi.
Paramètres :
– buffer : Données à envoyer.
– xtttbuffer : Donnlength : Taille des données.
– timlength : Taille deout : Durée maximale d’envoi.
Reteout : Durée maximale pour l’envoi. :Retoe le module soit prêt
à émettre. 1 si prêt à émettre, 0 sinon.
1.5 SX1278L oRaT xP acket1(uint8t buf f er, uint8t length, uint16t timeout)
Retour : 1 si le module est prêt à émettre, 0 en cas de timeout.
1.6 SX1278L oRaT xP acket1
Description : Envoie les données via LoRa. Étapes principales :
• Charge les données dans la FIFO.
• Passe en mode transmission continue.
• Attend la fin de transmission avec timeout.
• Réinitialise les interruptions après l’envoi.
Paramètres :
2
• buffer : Données à envoyer.
• xtttbuffer : Donnlength : Taille des données.
• timlength : Taille deout : Durée maximale d’envoi.
Reteout : Durée maximale pour l’envoi. : 1 si réussi, 0 sinon.
2 Fonctions du Receiver (Récepteur)
textbfRetour : 1 si l’envoi est réussi, 0 en cas d’échec ou de timeout.
2.1 SX1278b egin1()
Description : Identique à la fonction émetteur, mais prépare le mod-
ule pour la ré[Link] côté Récepteur
2.2 SX1278L oRaEntryRx1(uint8t length, uint16t timeout)
1 Description : Même initialisation que pour l’émetteur, avec config-
uration pour la réception.
2.3 SX1278L oRaEntryRx1
Description : Configure le module pour recevoir des paquets LoRa.
Étapes principales :
• Configure la longueur du paquet attendu.
• Configure l’adresse FIFO pour la réception.
• Active les interruptions pour détecter les paquets.
• Passe en mode réception continue.
Paramètres :
• length : Taille maximale du paquextttlength : Tailt.
• timeout : Durée d’attente pour le mode RX.
.
timeout : Temps d’attente maximal pour que le module passe en mode
[Link] : 1 si réussi, 0 sinon.
2.4 SX1278L oRaRxP acket1()
Description : Vérifie si des données ont été reçues. Étapes principales
:
• Vérifie la broche DIO0 (réception).
• Lit l’adresse FIFO des données reçues.
3
• Récupère la longueur des données.
• Efface les interruptions.
Retour : Longueur des données ou 0 si aucune donné[Link]
: 1 si la configuration est réussie, 0 en cas de timeout
2.5 SX1278r ead1(uint8t buf f er, uint8t length)
1 Description : Vérifie si un paquet a été reçu et récupère sa taille.
Retour : Longueur des données reçues (ou 0 si aucune donnée).
2.6 SX1278r ead1
Description : Lit les données reçues depuis la FIFO. Étapes princi-
pales :
• Copie les données de la FIFO vers un buffer.
• Ajoute un caractère nul (\0) pour les chaı̂nes de caractères.
• Réinitialise le compteur d’octets reçus.
es :Paramètrdu SX1278.
es :
• buffer : Buffer pour stocker xtttbuffer : Buffles données.
• length : Nombre d’octets à lire. length : Nombre d
Retour : Nombre d’octets lus.
3 Résumé des opérations
Côté émetteur :
• Initialisation → Préparation TX → Chargement des données →
Transmission itemize
Côté récepteur :
– Initialisation → Préparation RX → Attente des données →
Lecture des données
Retour : Nombre d’octets effectivement lus.
4 Modes de fonctionnement du SX1278
4.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 reg-
istre SPI.
4
Consommation typique : Très faible ( 0.2 µA).
Utilité : Utilisé pour économiser de l’énergie lorsqu’aucune com-
munication n’est nécessaire.
Transition : Passez en mode veille ou directement en mode TX/RX
en configurant les registres.
4.2 Mode STANDBY (Veille)
Description : Le mode de préparation. Les oscillateurs sont act-
ifs, 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 main-
tenant une consommation modérée.
4.3 Mode TRANSMIT (TX)
Description : Le module envoie des données via LoRa.
Consommation typique : Élevée ( 120-150 mA selon la puis-
sance).
Utilité : Utilisé pour envoyer des paquets de données sur de
longues distances.
4.4 Mode RECEIVE (RX)
Description : Le module écoute les paquets entrants en mode
réception continue ou à intervalles (RX Single).
Consommation typique : Modérée ( 10-20 mA).
Utilité : Utile pour des récepteurs qui doivent être constamment
à l’écoute des messages.
4.5 Mode CAD (Channel Activity Detection)
Description : Détecte l’activité sur le canal sans recevoir complètement
un paquet.
Consommation typique : Très faible.
Utilité : Parfait pour les réseaux avec de nombreux nœuds, car
il permet d’écouter périodiquement le canal avant d’envoyer des
données afin d’éviter les collisions.