image4

Le module SPP-C est principalement utilisé pour le champ de transmission de données sans fil à courte distance, conformément aux spécifications Bluetooth V2.1 + EDR.

Ce module prend en charge l'interface UART (Universal Asynchronous Receiver Transmitter) et ainsi que le protocole de port série Bluetooth SPP (Serial Port Profile).

 Il présente les avantages suivants : faible coût, petite taille, faible consommation d'énergie et haute sensibilité de réception et d'envoi. Il peut réaliser sa fonction puissante avec seulement quelques composants externes.

Il est possible de connecter facilement un appareil Bluetooth à un PC, il est possible d’échanger également des données entre deux modules. Pour éviter une connexion par câble lourde, il peut directement remplacer une ligne série.

Spécification

● Modèle No : SPP-C / JDY-30 ou HC-05

Bluetooth V2.1 + EDR

Bluetooth Class 2

● Tension d’alimentation 3.3V – 5V.

● Antenne RF intégrée

Support UART

 

Configuration

BTEC05

Commandes AT

En l’absence de programme et de couplage du module avec un équipement distant, le module répond aux commandes dites « AT ». Celle-ci permettent de configurer le module et d’en lire les paramétrages.

Ci-dessous les principales commandes AT disponibles sur le module SPP-C

AT+NAME                  Retourne le nom du module (Retour : +nom)

AT+NAMENSI            Donne le nom « NSI » au module (Retour : +OK)

AT+PIN                      Retourne le code PIN d’accès au module (Retour : +PIN=1234)

AT+PIN1234              Programme le code PIN du module (Retour : +OK)

AT+BAUD                  Retourne la vitesse de transmission (Retour : +BAUD=4 (pour 9600 bauds, valeur par défaut du module))

AT+BAUD4                Impose une vitesse de transmission de 9600 bauds (Retour : +OK)

AT+VERSION            Retourne la version du logiciel du module (Retour : +VERSION=JDY-31-V1.35, Bluetooth V3.0)

AT+RESET                Redémarre le module (Retour : +OK ?)

 

Ci-dessous les principales commandes AT disponibles sur le module HC-05

AT+NAME?                Retourne le nom du module (Retour : +NAME:nom)

AT+NAME=NSI         Donne le nom « NSI » au module (Retour : OK)

AT+PSWD?               Retourne le code PIN d’accès au module (Retour : +PSWD=1234)

AT+PSWD=1234       Programme le code PIN du module (Retour : OK)

AT+UART?                Retourne la vitesse de transmission (Retour : +UART=9600,0,0 (pour 9600 bauds, valeur par défaut du module))

AT+UART=9600,0,0  Impose une vitesse de transmission de 9600 bauds (Retour : OK)

AT+VERSION?          Retourne la version du logiciel du module (Retour : +VERSION:5.0-20211008)

AT+RESET                Redémarre le module (Retour : OK)

 

Code

Le programme utilise une bibliothèque spécifique SoftwareSerial.h qui doit être installée au préalable à l’utilisation du module.

 

// Test module Bluetooth SPP-C
// Allume la LED 13 si "I" reçu, éteint la LED 13 si "O" reçu.
// Les caractères reçus sur le Bluetooth sont écrits sur la console
// Les caractères tapés sur la console sont transmis vers le Bluetooth
# include <SoftwareSerial.h>
SoftwareSerial mySerial(3, 4);
void setup()
{
  // initialize both serial ports
  Serial.begin(9600);
  mySerial.begin(9600);
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  Serial.println("Initialisation du module Bluetooth");
  delay(1000);
}
void loop()
{
  // LECTURE DE CARACTERES DEPUIS LIAISON BLUETOOTH
  if (mySerial.available())
{
    //Lecture depuis Bluetooth
    int inByte = mySerial.read();
    // Selon caractères reçus allumage (I) / extinction (O) de la LED 13
    Serial.write(inByte);  // Ecriture des caractères reçus sur la console
    if (inByte == 79 )     // Si caractère "I", allumage de la LED
    {
      digitalWrite(LED_BUILTIN, LOW);
    }
    else if (inByte == 73) // Sinon si caractère "O", extinction de la LED
    {
      digitalWrite(LED_BUILTIN, HIGH);
    }
  }
  // TRANSMISSION DE CARACTERES VERS LIAISON BLUETOOTH
  if (Serial.available()) // Lecture des caractères depuis la console
  {
    int inByte = Serial.read();
    mySerial.write(inByte); // Ecriture des caractères vers le Bluetoot
  }
}

 

Pour tester ce programme il faut :

-        Télécharger une application de communication série sur un smartphone (par exemple « Serial Bluetooth »).

-        Appairer le module Bluetooth Arduino avec le smartphone (procédure habituelle) (Le nom et le mot de passe de connexion peut-être configuré par commande AT)

-        Lancer l’application

-        Se connecter au module Bluetooth (Terminal -> Device)

-        Dans la fenêtre « terminal » qui s’ouvre, observer la bonne connexion du smartphone avec la carte Bluetooth

-        Taper les commandes « I » ou « O » pour allumer ou éteindre la LED de la carte Arduino.

-        Toute chaine de caractères est transmise et visualisée de chaque côté sur le smartphone (terminal) et sur la console Arduino.

-        Attention : Selon l’application utilisée il faut peut-être s’assurer que la vitesse de la ligne série est bien à 9600 bauds, comme programmée au niveau du code de la carte Arduino (Celle-ci peut être changée également dans le code !).

© Golf-Curve. All Rights Reserved.

Free Joomla templates by L.THEME