- Požadované komponenty
- Schéma zapojení modulu ESP8266 HC-05 Bluetooth
- Modul Bluetooth HC-05
- Používání sériového Bluetooth terminálu (aplikace pro Android)
- Programování NodeMCU ESP8266 na rozhraní Bluetooth
Nyní se Bluetooth stal nedílnou součástí digitálních zařízení a je zabudován do většiny zařízení, jako jsou chytré telefony, notebooky, počítače, fotoaparáty, hodinky, fitness pásky a mnoho dalších. Bluetooth vždy dominovalo protokolu v bezdrátové komunikaci od té doby, co bylo objeveno. Ačkoli je technologie Bluetooth v zásadě systémem výměny kabelů, využívá také univerzální most k existujícím datovým sítím a mechanismus připojení ad hoc pro řadu zařízení v různých konfiguracích. Abychom jim umožnili bezdrátovou komunikaci, použili jsme s mnoha dalšími mikrokontroléry modul Bluetooth HC05 a HC06:
- Rozhraní Bluetooth HC-05 s modrou pilulkou STM32F103C8: kontrolka LED
- Propojení modulu HC-05 Bluetooth s mikrokontrolérem AVR
- Robot ovládaný systémem Android pomocí mikrokontroléru 8051
- Ovládání GPIO Raspberry Pi pomocí aplikace pro Android přes Bluetooth
- Bluetooth řízené autíčko pomocí Arduina
Dnes budeme propojovat Bluetooth modul HC-05 s populárním Wi-Fi modulem ESP8266 a bezdrátově ovládat LED zasíláním příkazů přes Bluetooth. Tato LED může být nahrazena relé a střídavým zařízením pro vytvoření aplikace domácí automatizace.
Požadované komponenty
Hardware:
- NodeMCU ESP8266
- Modul Bluetooth HC-05
Software:
- Arduino IDE
- Sériový konektor Bluetooth (aplikace pro Android): Ke sledování dat Bluetooth na chytrém telefonu.
Schéma zapojení modulu ESP8266 HC-05 Bluetooth
Schéma zapojení Bluetooth modulu HC-05 s NodeMCU ESP8266 je velmi jednoduché a je uvedeno níže:
U ESP8266 je nutný externí modul Bluetooth, protože nemá vestavěný Bluetooth jako ESP32. ESP32 má vestavěné Bluetooth Low Energy (BLE) a Classic Bluetooth, o kterých jsme dříve probrali několik tutoriálů:
- Server ESP32 BLE - služba GATT pro indikaci stavu baterie
- Klient ESP32 BLE - připojení k fitness pásmu pro spuštění žárovky
- Jak používat sériové Bluetooth v ESP32
Modul Bluetooth HC-05
HC-05 je sériový modul Bluetooth. Lze jej konfigurovat pomocí AT příkazů. Může pracovat ve třech různých konfiguracích (Master, Slave, Loop back). V našem projektu to použijeme jako otroka. Mezi vlastnosti modulu HC-05 patří:
- Typická citlivost -80 dBm.
- Výchozí přenosová rychlost: 9600 b / s, 8 datových bitů, 1 stop bit, žádná parita.
- Automatické párování kódu PIN: výchozí kód PIN „1234“ nebo „0000“.
- Má 6 kolíků.
- Pro napájení HC-05 se používají kolíky Vcc a Gnd.
- Kolíky Tx a Rx se používají pro komunikaci s mikrokontrolérem.
- Povolte kolík pro aktivaci modulu HC-05. když je nízká, modul je deaktivován
- Stavový stavový indikátor funguje. Pokud není spárováno / připojeno k žádnému jinému zařízení Bluetooth, LED bliká nepřetržitě. Pokud je zařízení připojeno / spárováno s jakýmkoli jiným zařízením Bluetooth, LED dioda bliká s konstantním zpožděním 2 sekundy.
Další informace o modulu Bluetooth najdete v dalších projektech souvisejících s technologií Bluetooth.
Používání sériového Bluetooth terminálu (aplikace pro Android)
Používání této aplikace je velmi snadné a vyžaduje několik kroků. Screenshoty jsou uvedeny níže s kroky. Stačí spárovat HC-05 se smartphonem. Výchozí kód je „0000“ nebo „1234“, ale většinou funguje „1234“.
- Nejprve si stáhněte a nainstalujte aplikaci Poté přejděte do zařízení a vyhledejte modul HC-05. Vyberte modul HC-05 prohledaný v aplikaci. Pokud není nalezen, zkontrolujte, zda je HC-05 správně napájen.
- Po kliknutí na HC-05 se připojí. Nyní zadejte libovolnou zprávu do pole pro zprávu a odešlete ji. Vytiskne se na sériovém monitoru Arduino.
Programování NodeMCU ESP8266 na rozhraní Bluetooth
Chcete-li programovat NodeMCU ESP8266 pomocí ArduinoIDE, jednoduše jej připojte k notebooku nebo PC pomocí kabelu Micro USB a otevřete Arduino IDE. V tomto výukovém programu se použije hardwarové a softwarové sériové číslo. Hardwarové sériové číslo se použije ke čtení a zápisu dat na Arduino Serial Monitor a Sofware Serial se použije ke komunikaci s HC-05. Jako vždy je na konci kurzu uveden kompletní kód a ukázkové video.
Zpočátku zahrňte knihovnu sériového softwaru, protože bude použita v tomto kurzu.
#zahrnout
Definujte pin RX a TX pro sériovou komunikaci softwaru, definujte také pin led připojený k NodeMCU. Používáme interní LED diodu NodeMCU, která je na Pin D4.
SoftwareSerial btSerial (D2, D3); // RX, int led = D4;
Spusťte sériové číslo softwaru a hardwaru při přenosové rychlosti 9600. Nastavit Led Pin jako výstup. Vytiskněte uvítací a ladicí zprávu.
Serial.begin (9600); btSerial.begin (9600); pinMode (D4, VÝSTUP); Serial.println ("Spuštěno…");
Nejprve si přečtěte z modulu Bluetooth a definujte případ, že pokud modul Bluetooth přijme z telefonu „B“, pak začne blikat LED připojený k D4 NodeMCU, pokud obdrží „S“, pak přestane blikat. Nepoužíváme zde delay () . Arduino „millis“ však bude použito, aby nebránilo výkonu Arduina.
if (btSerial.available ()> 0) { char data = btSerial.read (); switch (data) { case 'B': ledB = "blink"; přestávka; případ 'S': ledB = "stop"; přestávka; výchozí: konec; } }
Hodnota millis je definována a nastavuje zpoždění na 500 ms, tj. LED bude blikat po každých 500 ms. Můžete také nakonfigurovat zpoždění LED změnou hodnoty 'intervalu'. Stav LED bude přepnut.
nepodepsaný dlouhý proud Millis = millis ();
if (ledB == "blink") { Serial.println ("blikání spuštěno"); if (currentMillis - previousMillis> = interval) { previousMillis = currentMillis; if (ledState == LOW) { ledState = HIGH; } else { ledState = LOW; } digitalWrite (led, ledState); } }
A tím je programování NodeMCU na Blink LED dokončeno bezdrátově pomocí Bluetooth. Můžete také změnit program tak, aby pomocí LED provedl různé úkoly, například LED lze nahradit reléovým zařízením se střídavým proudem a vytvořit tak projekt domácí automatizace Bluetooth. V případě jakýchkoli pochybností nebo návrhů se prosím obraťte na naše fórum nebo komentář níže.