/*
*
atm-so@bbox.fr * Par Denis. Mogenot
*/
/*--------------------------------------------------------------
Nom: changer le nom du module HC05
Matériel: arduino UNO ...
Module HC-05
Logiciel: Développé en utilisant le logiciel Arduino 1.8.5
Date: 08/12/2019
---------------------------------------------------------------*/
// Procédure de branchement stricte à respecter.
/*
* La procédure est précise et doit absolument être respectée.
* Pour l'instant, seul le Fil 3.3V est branché.
* 1 Maintenez appuyé le bouton BP du HC05, puis branchez la prise Grove en D8, puis relâchez le bouton BP.
* Le module doit clignoter très lentement (toutes les 2 secondes environ).
* Cela signale que le module est en mode AT : un mode spécial permettant d'envoyer des commandes de configuration dites commandes AT.
* Si le module clignote rapidement, vous êtes en mode normal et vous ne pourrez pas modifier la configuration.
* Débranchez alors à nouveau la prise Grove et reprenez au 1
*/
// 1 Enregistrement effectif du nom
// 2 Choisir l'option NL et CR en bas à droite du moniteur série
// 3 Ecrire l'instruction AT+NAME=EQ6 Bluetooch (EQ6 Bluetooch est le nom que vous avez choisi)
// 4 Appuyer sur Entrer
// 5 Ecrire l'instruction AT+PSWD=123456789 (123456789 est le mot de passe que vous avez choisi)
// 6 Appuyer sur Entrer
/*-----------------------------------------------------------------------*/
#include <SoftwareSerial.h> // Inclu la bibliothèque Software Serial Port
SoftwareSerial mySerial(10,11); // Pin 10, 11 pour arduino RX TX.
/*Code de configuration*/
void setup(){
Serial.begin(9600); // Initialise le port série à 9600 bauds
delay(500); //
pinMode(9,OUTPUT); digitalWrite(9,HIGH); // Pin EN du HC-05 HIGH pour passer le module en mode configuration AT
Serial.println("Pret pour les commandes AT"); // Affichage texte "Pret pour les commandes AT"
Serial.println("Le HC-05 doit clignoter lentement (2 secondes)"); // Affichage texte "Le HC-05 doit clignoter lentement (2 secondes)"
delay(2000);
Serial.println("Ecrire l'instruction AT+NAME=EQ6 Bluetooch (EQ6 Bluetooch est le nom que vous avez choisi)"); // Affichage texte "Ecrire l'instruction AT+NAME=EQ6 Bluetooch (EQ6 Bluetooch est le nom que vous avez choisi)"
Serial.println("Ecrire l'instruction AT+PSWD=123456789 (123456789 est le mot de passe que vous avez choisi)"); // Affichage texte "Ecrire l'instruction AT+PSWD=123456789 (123456789 est le mot de passe que vous avez choisi)"
/* Configuration du module bluetooth HC-05 */
// http://www.electronicaestudio.com/docs/istd016A.pdf
mySerial.begin(38400); // Vitesse par défaut de HC-05 dans les commandes AT more
/*
mySerial.print("AT"); // Test communication
mySerial.print("\r\n"); // sur HC-05, toutes les commandes doivent se terminer par \r\n
delay(400);
*/
// Test communication: AT
// Obtenir la version du firmware: AT+VERSION?
// Définir / vérifier le nom du module.: AT+NAME?
// Obtenir l'adresse du module.: AT+ADDR?
// Définir / vérifier le mode du module: AT+ROLE? 0:esclave 1:maitre 2:maitre/esclave
// Définir / vérifier le code PIN.: AT+PSWD?
// Reset du module: AT+RESET
// Configuration usine: AT+ORGL
// Définir / vérifier le paramètre série. : AT+UART=<Param>,<Param2>,<Param3> Param1: Baud, Param2: Stop bit, Param3: Parity
// Obtenez le nom du périphérique Bluetooth: AT+RNAME?<Param1>
// Définir / vérifier la classe d'appareil ?: AT+CLASS=<Param>
// Définir / vérifier le GIAC (code d'accès général) ?: AT+IAC=<Param>
// Définir / Vérifier - Modèles d'accès aux requêtes ?: AT+INQM=<Param>,<Param2>,<Param3>
// Définir / vérifier le mode de connexion ?: AT+CMODE=<Param>
// Définir / vérifier l'adresse fixe ?: AT+BIND=<Param>
// Définir / vérifier les LED |/O ?: AT+POLAR=<Param1,<Param2>
// Définir la sortie PIO: AT+PIO=<Param1>,<Param2>
// Définir / vérifier le paramètre de scan ?: AT+IPSCAN=<Param1>,<Param2>,<Param3>,<Param4>
// Définir / vérifier le paramètre SHIFF ?: AT+SNIFF=<Param1>,<Param2>,<Param3>,<Param4>
// Définir / vérifier le mode de sécurité ?: AT+SENM=<Param1>,<Param2>
// Supprimer le périphérique authentifié: AT+PMSAD=<Param>
// Supprimer tous les appareils authentifiés : AT+ RMAAD
// Rechercher un appareil authentifié: AT+FSAD=<Param>
// Obtenez le nombre de périphériques authentifiés: AT+ADCN?
// Appareil authentifié le plus récemment utilisé: AT+MRAD?
// Obtenir l'état de fonctionnement du module: AT+ STATE?
// Initialiser la lib du profil SPP: AT+INIT
// Périphérique Bluetooth: AT+INQ
// Annuler la demande de périphérique Bluetooth: AT+ INQC
// Correspondance d'équipement: AT+PAIR=<Param1>,<Param2>
// Connecter l'appareil: AT+LINK=<Param>
// Déconnecter: AT+DISC
// Mode d'économie d'énergie: AT+ENSNIFF=<Param>
// Exécute le mode d'économie d'énergie: AT+ EXSNIFF =<Param>
}
/* code principal exécuter */
void loop(){
char recvChar;
// Affichage info du HC-05 sur moniteur serie
if (mySerial.available()){
recvChar = mySerial.read();
Serial.print(recvChar);
}
// Envoie commande dans le HC-05
if (Serial.available()) {
recvChar = Serial.read();
mySerial.write(recvChar);
}
}
//fin programme