[Tuto] Communication entre modules LoRa

Posted On: oct. 27, 2015

Categories: Arduino

Tags: arduino , communication , lora , m2m , reseau , tutoriel

Le but est de faire communiquer deux modules LoRa.

Module LoRa

Besoins :

  1. Programmation des deux Arduino

Nous nous servons de deux Arduino UNO afin de créer un système émission/réception.
nPour cela il nous faut programmer un Arduino UNO en mode émission et un autre en réception.
nPour le mode émission, nous allons tout simplement envoyer des informations à la suite au module LoRa grâce à ce code :

void setup(){
 Serial.begin(9600);
}

void loop(){
 Serial.print(0, BIN);
 delay(1000);
 Serial.print(1, BIN);
 delay(1000);
}
Pour programmer l’Arduino, il suffit de le brancher au PC, de démarrer le programme et de le téléverser (petite flèche allant vers la droite) grâce au bouton prévu à cet effet.

Téléversement

Quant au mode réception, nous allons permettre la lecture de ce que reçois le module LoRa :

#include 

SoftwareSerial mySerial(10, 11); // RX, TX
int SerialValue;
int ledPin = 13;

void setup(){
 pinMode(ledPin, OUTPUT);
 Serial.begin(9600);
 while (!Serial){}
 mySerial.begin(9600);
}

void loop(){
 if (mySerial.available()){
 SerialValue = mySerial.read();
 Serial.write(SerialValue);
 if (SerialValue == '1'){
 digitalWrite(ledPin,HIGH);
 }
 else if (SerialValue == '0'){
 digitalWrite(ledPin,LOW);
 }
 }
 if (Serial.available())
 mySerial.write(Serial.read());
}

  1. Connections entre les modules LoRa et les Arduino

Mode Emission :

Emission

GND sur la masse de l’Arduino
nVCC sur l‘alimentation 5V de l’Arduino
nEN permet l’activation du module s’il est branché à la masse
n
RX branché sur le TX
n
TX branché sur le RX

Mode Réception :

Reception

GND sur la masse de l’Arduino
nVCC sur l‘alimentation 5V de l’Arduino
nEN permet l’activation du module s’il est branché à la masse
n
RX branché sur le PIN 11 (ici noté MOSI/PWM)
nTX branché sur le PIN 10 (ici noté SS/PWM)

  • Si tout est bien branché, nous devons avoir une LED rouge clignotante sur le module émetteur et une bleue sur le module récepteur.
  • L’USB des deux Arduino doivent être branchés au PC comme pour la programmation.
  • Il n’est pas possible de programmer les Arduino avec les modules branchés.

  1. Visualisation des données reçues

C’est là où le logiciel « Terminal.exe » entre en jeu. Il va nous servir à voir ce que reçois le bus serial de l’Arduino.
Attention à bien brancher les deux systèmes.


Il faut tout simplement le démarrer, sélectionner son port COM et sa vitesse baud (pour nous : 9600).


Et enfin appuyer sur le bouton « Connect »

Config Terminal.exe

Si tout va bien les valeurs reçues par le module et transférées par l’Arduino s’afficherons dans la boite de dialogue. Nous retrouvons nos valeurs 0,1,0,1 et due à la loop, elles sont envoyées/reçues à l’infini.

char

Test dans un contexte concret

Afin de tester correctement le système j'ai placé l'émetteur branché à mon ordinateur afin de l'alimenter continuellement.

Arduino_PC

Grâce à cette batterie j'alimente continuellement mon élément récepteur et cela me permet de voir jusqu’où la transmission se fait.

Arduino_Main

Pour ma part j'ai réussis à avoir une portée de 270 mètres (sachant que l'émetteur était dans le bâtiment).

Maps