- Súčasti sú povinné
- Schéma zapojenia Bluetooth modulu ESP8266 HC-05
- Modul Bluetooth HC-05
- Používanie sériového konektora Bluetooth (aplikácia pre Android)
- Programovanie NodeMCU ESP8266 na rozhranie Bluetooth
V dnešnej dobe sa Bluetooth stalo neoddeliteľnou súčasťou digitálnych zariadení a je zabudované do väčšiny zariadení ako sú smartphony, prenosné počítače, počítače, fotoaparáty, hodinky, fitnes pásky a mnohé ďalšie. Bluetooth vždy dominovalo protokolu v bezdrôtovej komunikácii od jeho objavenia. Aj keď je technológia Bluetooth v zásade systémom výmeny káblov, využíva tiež univerzálny most k existujúcim dátovým sieťam a mechanizmus ad hoc pripojenia pre množstvo zariadení v rôznych konfiguráciách. Na zabezpečenie bezdrôtovej komunikácie sme použili modul Bluetooth HC05 a HC06 s mnohými ďalšími mikrokontrolérmi:
- Prepojenie rozhrania Bluetooth HC-05 s modrou pilulkou STM32F103C8: kontrolka LED
- Prepojenie modulu HC-05 Bluetooth s mikrokontrolérom AVR
- Robot riadený Androidom pomocou mikrokontroléra 8051
- Ovládanie Raspberry Pi GPIO pomocou aplikácie pre Android cez Bluetooth
- Bluetooth ovládané autíčko pomocou Arduina
Dnes prepojíme Bluetooth modul HC-05 s populárnym Wi-Fi modulom ESP8266 a budeme LED ovládať bezdrôtovo odosielaním príkazov cez Bluetooth. Táto LED môže byť nahradená relé a sieťovým spotrebičom na vytvorenie aplikácie domácej automatizácie.
Súčasti sú povinné
Hardvér:
- NodeMCU ESP8266
- Modul Bluetooth HC-05
Softvér:
- Arduino IDE
- Sériový terminál Bluetooth (aplikácia pre Android): Na sledovanie údajov Bluetooth na smart telefóne.
Schéma zapojenia Bluetooth modulu ESP8266 HC-05
Schéma zapojenia pre pripojenie Bluetooth modulu HC-05 k NodeMCU ESP8266 je veľmi jednoduchá a je uvedená nižšie:
Pre ESP8266 je potrebný externý modul Bluetooth, pretože nemá zabudované rozhranie Bluetooth ako ESP32. ESP32 má zabudované Bluetooth Low Energy (BLE) a Classic Bluetooth, o ktorých sme už predtým hovorili o niekoľkých návodoch:
- Server ESP32 BLE - služba GATT na indikáciu stavu batérie
- Klient ESP32 BLE - pripojenie k fitness pásmu na spustenie žiarovky
- Ako používať sériové Bluetooth v ESP32
Modul Bluetooth HC-05
HC-05 je sériový modul Bluetooth. Môže byť nakonfigurovaný pomocou AT príkazov. Môže pracovať v troch rôznych konfiguráciách (Master, Slave, Loop back). V našom projekte to použijeme ako otroka. Medzi vlastnosti modulu HC-05 patrí:
- Typická citlivosť -80 dBm.
- Predvolená prenosová rýchlosť: 9600 b / s, 8 dátových bitov, 1 stop bit, žiadna parita.
- Automatické párovanie kódu PIN: predvolený kód PIN kódu „1234“ alebo „0000“.
- Má 6 pinov.
- Na napájanie HC-05 sa používajú kolíky Vcc a Gnd.
- Kolíky Tx a Rx sa používajú na komunikáciu s mikrokontrolérom.
- Povoliť kolík na aktiváciu modulu HC-05. ak je nízka, modul je deaktivovaný
- Stavový pin slúži na indikátor stavu. Ak nie je spárované / pripojené k žiadnemu inému zariadeniu Bluetooth, LED bliká nepretržite. Ak je zariadenie pripojené / spárované s iným zariadením Bluetooth, potom LED dióda bliká s konštantným oneskorením 2 sekundy.
Ak sa chcete dozvedieť viac informácií o module Bluetooth, prečítajte si naše ďalšie projekty týkajúce sa Bluetooth.
Používanie sériového konektora Bluetooth (aplikácia pre Android)
Používanie tejto aplikácie je veľmi jednoduché a vyžaduje niekoľko krokov. Screenshoty sú uvedené nižšie s krokmi. HC-05 stačí spárovať so smartfónom. Predvolený kód je „0000“ alebo „1234“, ale väčšinou funguje „1234“.
- Najskôr si stiahnite a nainštalujte aplikáciu. Potom prejdite na zariadenie a vyhľadajte modul HC-05. Vyberte modul HC-05 prehľadaný v aplikácii. Pokiaľ nie je nájdený, skontrolujte, či je HC-05 správne napájaný.
- Po kliknutí na HC-05 sa pripojí. Teraz zadajte do poľa pre správu ľubovoľnú správu a odošlite ju. Vytlačí sa na sériovom monitore Arduino.
Programovanie NodeMCU ESP8266 na rozhranie Bluetooth
Ak chcete programovať NodeMCU ESP8266 pomocou ArduinoIDE, jednoducho ho pripojte k notebooku alebo počítaču pomocou kábla Micro USB a otvorte Arduino IDE. Pre tento tutoriál sa použije hardvérové a softvérové sériové číslo. Hardvérové sériové číslo sa použije na čítanie a zápis údajov na Arduino Serial Monitor a Sofware Serial sa použije na komunikáciu s HC-05. Ako vždy je kompletný kód a demo video uvedené na konci tutoriálu.
Najskôr zahrňte knižnicu sériového softvéru, pretože sa bude používať v tomto výučbe.
#include
Definujte pin RX a TX pre sériovú komunikáciu softvéru, definujte tiež pin led pripojený k NodeMCU. Používame internú LED diódu NodeMCU, ktorá je na pin D4.
SoftwareSerial btSerial (D2, D3); // RX, int led = D4;
Spustite softvérové a hardvérové sériové číslo pri 9600 prenosovej rýchlosti. Nastavte Led Pin ako výstup. Vytlačte si uvítaciu a ladiacu správu.
Serial.begin (9600); btSerial.begin (9600); pinMode (D4, VÝSTUP); Serial.println ("Spustené…");
Najskôr si prečítajte z modulu Bluetooth a definujte prípad, že ak modul Bluetooth prijme z telefónu „B“, potom začnite blikať Led pripojený k D4 NodeMCU, pokiaľ prijíma „S“, potom prestane blikať. Nepoužívame tu delay () . Arduino „millis“ sa však použije na to, aby nebránilo výkonu Arduina.
if (btSerial.available ()> 0) { char data = btSerial.read (); switch (data) { case 'B': ledB = "blink"; prestávka; prípad 'S': ledB = "stop"; prestávka; predvolené: break; } }
Je definovaná milisekunda a nastavuje sa oneskorenie na 500ms, tj LED bude blikať po každých 500ms. Tiež môžete nakonfigurovať oneskorenie LED zmenou hodnoty „intervalu“. Vedený štát bude prepnutý.
nepodpísaný dlhý prúd Millis = millis ();
if (ledB == "blink") { Serial.println ("blikanie začalo"); if (currentMillis - previousMillis> = interval) { previousMillis = currentMillis; if (ledState == LOW) { ledState = HIGH; } else { ledState = LOW; } digitalWrite (led, ledState); } }
A tým sa dokončí programovanie NodeMCU na blikanie LED bezdrôtovo pomocou Bluetooth. Môžete tiež zmeniť program tak, aby vykonával rôzne úlohy pomocou LED, napríklad LED môže byť nahradená relé s AC spotrebičom, aby sa vytvoril projekt domácej automatizácie Bluetooth. V prípade akýchkoľvek pochybností alebo návrhov sa obráťte na naše fórum alebo komentár nižšie.