Lemontech Bluetooth shield AT

Lemontech Bluetooth shield AT si collega ad arduino o genuino e puoi controllarla via bluetooth con la sua app.

Lemontech Bluetooth

Questo articolo segue la serie di articoli dedicati ai comandi AT ed i moduli Bluetooth HC-05 ed HC-06 delle scorse settimane.

Come sai la Lemontech Bluetooth shield AT ( i cui schemi sono sul sito ufficiale lemontech.cc ) è dotata di un modulo bluetooth hc-05 e puoi installarne più di una nel tuo impianto domotico, selezionando dall’App la shield a cui collegarti per controllare i due relay a bordo.

Hai sicuramente già capito che se ne posizioni 2,3,4,o più nel tuo impianto casalingo la difficoltà maggiore sarà capire quale Lemontech Bluetooth shield AT serve a controllare le luci della sala e quale quelle della cucina o delle camere.

Inoltre vorrai evitare che chiuque si avvicini alla tua abitazione possa collegarsi al tuo impianto e spegnerti la Tv mentre la stai guardando.

Per ottenere questo è necessario eseguire due semplici operazioni:

  • cambiare il nome a ciascuna shield, magari impostando un nome parlante tipo “soggiorno” o “cucina”
  • impostare la password ( pin ) in modo che non sia il classico “1234” o “0000” che tutti conoscono e provano

Per fare questo un appassionato di elettronica, e non solo, Arturo ha preparato uno sketch e delle istruzioni per personalizzare la tua Lemontech Bluetooth shield AT.

I comandi AT che useremo li ho già descritti in occasione del precedente articolo che ti invito a leggere.

Lemontech Bluetooth shield AT modalità command

La modalità AT command, come sai, serve per impartire comandi al modulo bluetooth e configurare alcune proprietà del modulo come il nome e la password.

La Lemontech Bluetooth shield AT ti mette a disposizione il pin 5 per portare il modulo bluetooth in modalità comandi:

Lemontech Bluetooth shield AT pin

il pin indicato in tabella come BT_AT_PIN è connesso al pin 5 di arduino ed al pin 34 del modulo bluetooth hc-05.

Portando HIGH questo pin in fase di accensione del modulo entri nella modalità comandi AT.

Lo sketch per impartire comandi AT

Lo sketch scritto da Arturo inizia con un lungo commento che spiega il funzionamento dello sketch, te lo riporto:

Programmino per il settaggio della
Lemontech BlueRelay Shield per Arduino

Con questo programma e’ possibile settare, volendo, i parametri del modulo Bluetooth,
utilizzando la scheda montata su Arduino ed utilizzando semplicemente il Serial Monitor di Arduino.

Compilate il programma ed aprite il Serial Monitor di Arduino
ATTENZIONE, settate il Monitor seriale di Arduino con “Entrambi NL e CR”

Dal Monitor seriale di Arduino, ora, ad esempio, inserite “AT+NAME?” (senza virgolette) <invia>
avremo la “risposta” del modulo che ci dira’ il suo attuale nome:

+NAME:HC-05
OK

Dopo aver interrogato un po’ il modulo (con i comandi AT standard)
insomma, dopo aver cazzeggiato un po’, (e’ d’obbligo in queste occasioni),
possiamo fare qualcosa di utile, come cambiare il NOME del modulo e la PASSWORD
esempio “AT+NAME=HC05Lemon_01” … (il modulo dovrà rispondere “OK”) … ora il nome del modulo, tra i dispositivi Bluetooth, quando faremo la “ricerca” sarà HC05Lemon_01
oppure “AT+NAME=LUCI_GARAGE” o altro nome, magari un po’ piu’ significativo dell’originale “HC-05”

A proposito del nome, non ho controllato, ma c’e’ una lunghezza massima per il nome, mi sembra 12 caratteri.

Per cambiare la password:
esempio “AT+PSWD=5577” … (il modulo dovrà rispondere “OK”)
… ora la password, per il collegamento
e per il pairing con il vostro dispositivo Master (telefonino o altra scheda Arduino), sarà 5577.

Ovviamente, possiamo interrogare il modulo per avere conferma inviando “AT+NAME?” e “AT+PSWD?”.

Ora che abbiamo cambiato Nome e Password -ipotizzando che era questo il nostro obbiettivo-
questo programma non serve piu’…
possiamo quindi chiudere questo programma e ricaricare quello originale/il vostro per il controllo dei rele’.

Nota: per il controllo dei rele’, da telefonino, e’ possibile usare un qualunque Bluetooth Terminal,
… altro valore aggiunto per questa schedina che trovo ottima…

Arturo O. 14 Giugno 2016

ed eccolo sketch:

#include <SoftwareSerial.h>
 
#define BT_TX_PIN  3
#define BT_RX_PIN  4
#define BT_AT_PIN  5

// Instanza per una linea seriale con la scheda
SoftwareSerial LemonBT(BT_TX_PIN, BT_RX_PIN);

char c;

void setup() {
   
  // Configuriamo il modulo Bluetooth in AT Mode
  pinMode(BT_AT_PIN, OUTPUT);
  // Modalita' AT Command Mode
  digitalWrite(BT_AT_PIN, HIGH);
 
  // Setup serial communication
  Serial.begin(9600);
  LemonBT.begin(38400);
  delay(1000);
  Serial.println("Ciao, inserisci i comandi AT");
  Serial.println("(Settare 'Entrambi NL e CR')");

  delay(1000);
}

// Ciclo infinito per chiaccherare con il modulo Bluetooth
void loop() {   

/*
 ATTENZIONE, quando in AT Command Mode, 
 settare il Monitor seriale di Arduino 
 con "Entrambi NL e CR"
 
 Se ci sono dati nel buffer della Serial...
*/
  while (Serial.available()) {
       //... mandali al modulo bluetooth
       LemonBT.write(Serial.read());
  }
  
  // Se ci sono dati sul buffer 
  // SoftwareSerial (il buffer del bluetooth)
  while (LemonBT.available()) {
      //mostrali tramite il Serial Monitor
      c=LemonBT.read();
      Serial.print(c);
  }
}

la prima line, la linea 01: include la software serial, una libreria necessaria per comunicare con il modulo bluetooth su pin differenti da quelli designati come Tx ed Rx sull’arduino uno, i pin 0 ed 1 ti servono per comunicare con la porta usb;

linee 03-05: definisci i pin di comunicazione Tx ed Rx per la SerialSoftware ed il pin BT_AT_PIN;

linea 08: crea una istanza della SoftwareSerial chiamata LemonBT a cui passi i valori BT_RX_PIN e BT_TXPIN definiti nelle linee precedenti;

linea 10: imposta una variavile di tipo char definita come c in cui memorizzerai i valori trasmessi e ricevuti al moduli bluetooth;

linee 14-17: imposta il pin AT come Output e porta il pin a livello HIGH come prima operazione dello sketch in modo che il modulo bluetooth sia ancora in fase di alimentazione;

linee 20-21: imposta le velocità di comunicazione verso il modulo bluetooth, come sai questa velocità deve essere 38400 baud per funzionare;

linee 22-26: attendi 1 secondo, scrivi sul monitor seriale le due frasi definite ed attendi nuovamente 1 secondo;

linee 39-42: il ciclo while attende che arrivino comandi attraverso il monitor seriale e li trasferisce alla Lemontech Bluetooth shield AT;

linee 46-50: allo stesso modo questo ciclo while attende le informazioni di risposta dal modulo bluetooth e lo invia al monitor seriale garantendo un continuo scambio di dati dalla shield al monitor seriale.

Istruzioni di Arturo

Arturo ha realizzato una serie di cutscreen sui comandi impartiti per modificare il nome ed il pin, inizia aprendo il serial monitor:

Lemontech Bluetooth AT IDE

il primo passo è scegliere il nome da inserire:

Lemontech Bluetooth AT Name

quindi imposta la password di accesso:

Lemontech Bluetooth AT Set PSWD

controlla il nome impostato:

Lemontech Bluetooth AT check Name

vedrai come risposta il nome da te impostato:

Lemontech Bluetooth AT New Name

richiedi la password:

Lemontech Bluetooth AT Ask PSWD

verifica la configurazione attuale:

Lemontech Bluetooth AT Password

Arturo ti consiglia di segnarti la password per non dimenticarla; è vero che qualora te la dimenticassi non devi far altro che utilizzare questo sketch per interrogare il modulo.

Cortesemente, prima di inserire i commenti leggi il regolamento

Permanent link to this article: http://www.mauroalfieri.it/elettronica/lemontech-bluetooth-shield-at.html

2 comments

    • Calishtenics on 19 luglio 2016 at 12:04
    • Reply

    Come al solito le tue guide sono fantastiche.
    Grazie per tutto il lavoro che svolgi oggigiorno.

    1. Ciao,
      grazie 1000 !!! Complimenti sempre ben accetti.

Lascia un commento

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.