- Componente necesare
- ESP8266 HC-05 Schema circuitului modulului Bluetooth
- Modul Bluetooth HC-05
- Utilizarea terminalului Serial Bluetooth (aplicație Android)
- Programarea NodeMCU ESP8266 pentru interfața Bluetooth
Acum câteva zile, Bluetooth a devenit parte integrantă a dispozitivelor digitale și este integrat în majoritatea dispozitivelor, cum ar fi Smartphone, laptop, PC, cameră, ceasuri, benzi de fitness și multe altele. Bluetooth a dominat întotdeauna protocolul în comunicația fără fir de când a fost descoperit. Deși tehnologia Bluetooth este în esență un sistem de înlocuire a cablului, dar utilizează, de asemenea, o punte universală către rețelele de date existente și un mecanism de conexiune ad hoc pentru numărul de dispozitive din diferite configurații. Am folosit modulul Bluetooth HC05 și HC06 cu multe alte microcontrolere pentru a le face să comunice fără fir:
- Interfață Bluetooth HC-05 cu pilula albastră STM32F103C8: LED de control
- Interfață modul HC-05 Bluetooth cu microcontroler AVR
- Robot controlat de Android folosind microcontrolerul 8051
- Controlul Raspberry Pi GPIO utilizând aplicația Android prin Bluetooth
- Mașină de jucărie controlată prin Bluetooth folosind Arduino
Astăzi vom interfața modulul HC-05 Bluetooth cu popularul modul Wi-Fi ESP8266 și vom controla un LED fără fir prin trimiterea de comenzi prin Bluetooth. Acest LED poate fi înlocuit de un releu și un aparat de curent alternativ pentru a construi o aplicație de automatizare la domiciliu.
Componente necesare
Hardware:
- NodeMCU ESP8266
- Modul Bluetooth HC-05
Software:
- IDE Arduino
- Terminal Bluetooth serial (aplicație Android): pentru a monitoriza datele Bluetooth pe telefonul inteligent.
ESP8266 HC-05 Schema circuitului modulului Bluetooth
Schema circuitului pentru conectarea modulului Bluetooth HC-05 cu NodeMCU ESP8266 este foarte simplă și este prezentată mai jos:
Este necesar un modul Bluetooth extern cu ESP8266, deoarece nu are Bluetooth încorporat ca ESP32. ESP32 a încorporat Bluetooth Low Energy (BLE) și Bluetooth clasic, pe care am acoperit anterior câteva tutoriale:
- Server ESP32 BLE - Serviciu GATT pentru indicarea nivelului bateriei
- Client ESP32 BLE - Conectarea la banda de fitness pentru a declanșa un bec
- Cum se utilizează Serial Bluetooth în ESP32
Modul Bluetooth HC-05
HC-05 este un modul Bluetooth serial. Poate fi configurat folosind comenzile AT. Poate funcționa în trei configurații diferite (Master, Slave, Loop back). În proiectul nostru îl vom folosi ca sclav. Caracteristicile modulului HC-05 includ,
- Sensibilitate tipică -80dBm.
- Rata de transmisie implicită: 9600bps, 8 biți de date, 1 bit de oprire, fără paritate.
- Asocierea automată a codului PIN: codul PIN implicit „1234” sau „0000”.
- Are 6 pini.
- Pinii Vcc și Gnd sunt utilizați pentru alimentarea HC-05.
- Pinii Tx și Rx sunt utilizați pentru comunicarea cu microcontrolerul.
- Activați pinul pentru activarea modulului HC-05. când este scăzut, modulul este dezactivat
- Pinul de stat acționează indicatorul de stare. Când nu este asociat / conectat cu niciun alt dispozitiv Bluetooth, LED-ul clipește continuu. Când este conectat / asociat cu orice alt dispozitiv Bluetooth, LED-ul clipește cu întârzierea constantă de 2 secunde.
Pentru a afla mai multe despre modulul Bluetooth, parcurgeți celelalte proiecte legate de Bluetooth.
Utilizarea terminalului Serial Bluetooth (aplicație Android)
Utilizarea acestei aplicații este foarte ușoară și necesită câțiva pași. Capturile de ecran sunt prezentate mai jos cu pași. Doar asociați HC-05 cu Smartphone. Codul implicit este „0000” sau „1234”, dar în principal „1234” funcționează.
- În primul rând descărcați și instalați aplicația Apoi accesați dispozitivele pentru a găsi modulul HC-05. Selectați modulul HC-05 căutat în aplicație. Dacă nu este găsit, verificați dacă HC-05 este alimentat corespunzător.
- După ce faceți clic pe HC-05 se va conecta. Acum introduceți orice mesaj în caseta de mesaje și trimiteți-l. Acesta va fi tipărit pe monitorul serial Arduino.
Programarea NodeMCU ESP8266 pentru interfața Bluetooth
Pentru programarea NodeMCU ESP8266 utilizând ArduinoIDE, conectați-l de pe laptop sau PC folosind cablu Micro USB și deschideți Arduino IDE. Pentru acest tutorial, vor fi utilizate seria hardware și seria software. Serialul hardware va fi utilizat pentru a citi și scrie date pe Arduino Serial Monitor și Sofware Serial va fi utilizat pentru a comunica cu HC-05. Ca întotdeauna, codul complet și Demo Video sunt date la sfârșitul tutorialului.
Inițial, includeți biblioteca Serial Software, deoarece va fi utilizată în acest tutorial.
#include
Definiți pinul RX și TX pentru comunicația serială a software-ului, definiți și pinul led conectat la NodeMCU. Folosim LED-ul intern al NodeMCU care se află la pinul D4.
SoftwareSerial btSerial (D2, D3); // RX, int led = D4;
Porniți seria software și hardware la o rată de 9600 baud. Setați Led Pin ca ieșire. Imprimați un mesaj de întâmpinare și depanare.
Serial.begin (9600); btSerial.begin (9600); pinMode (D4, OUTPUT); Serial.println ("Început…");
În primul rând, citiți din modulul Bluetooth și definiți o carcasă care, dacă modulul Bluetooth primește „B” de la telefon, apoi porniți LED-ul intermitent conectat la D4 din NodeMCU altfel dacă primește „S”, apoi opriți ledul intermitent. Aici nu folosim delay () . Dar „milis” Arduino va fi folosit pentru a nu împiedica performanța Arduino.
if (btSerial.available ()> 0) { char data = btSerial.read (); comutator (date) { caz 'B': ledB = "clipire"; pauză; cazul 'S': ledB = "stop"; pauză; implicit: pauză; } }
Milisul este definit și setează întârzierea la 500ms, adică ledul va clipi după fiecare 500ms. De asemenea, puteți configura întârzierea ledului modificând valoarea „interval”. Statul condus va fi comutat.
curent lung nesemnat Millis = millis ();
if (ledB == "clipire") { Serial.println ("clipirea a început"); if (currentMillis - previousMillis> = interval) { previousMillis = currentMillis; if (ledState == LOW) { ledState = HIGH; } else { ledState = LOW; } digitalWrite (led, ledState); } }
Și aceasta va finaliza programarea NodeMCU pentru a clipi LED fără fir folosind Bluetooth. De asemenea, puteți schimba programul pentru a efectua diferite sarcini cu LED-uri, cum ar fi LED-ul poate fi înlocuit cu un releu cu aparat de curent alternativ pentru a face un proiect de automatizare Bluetooth acasă. În cazul oricărei îndoieli sau sugestii, vă rugăm să ajungeți la forumul nostru sau să comentați mai jos.