- Būtini komponentai
- ESP8266 HC-05 „Bluetooth“ modulio grandinės schema
- HC-05 „Bluetooth“ modulis
- „Serial Bluetooth“ terminalo naudojimas („Android“ programa)
- „NodeMCU ESP8266“ programavimas sąsajai su „Bluetooth“
Dabar „Bluetooth“ tapo neatsiejama skaitmeninių prietaisų dalimi ir yra įmontuota daugumoje įrenginių, tokių kaip išmanusis telefonas, nešiojamas kompiuteris, kompiuteris, fotoaparatas, laikrodžiai, kūno rengybos juostos ir daugelis kitų. Nuo tada, kai belaidis ryšys buvo atrastas, „Bluetooth“ visada buvo dominuojantis protokolas. Nors „ Bluetooth“ technologija iš esmės yra kabelių pakeitimo sistema, tačiau ji taip pat naudoja universalų tiltą į esamus duomenų tinklus ir ad hoc ryšio mechanizmą daugybei įvairių konfigūracijų turinčių įrenginių. Mes naudojome „Bluetooth“ modulius HC05 ir HC06 su daugeliu kitų mikrovaldiklių, kad jie galėtų bendrauti belaidžiu būdu:
- „Bluetooth HC-05“ sąsaja su „STM32F103C8 Blue Pill“: valdomas šviesos diodas
- Sąsaja „HC-05 Bluetooth“ modulis su AVR mikrovaldikliu
- „Android“ valdomas robotas, naudojant 8051 mikrovaldiklį
- „Raspberry Pi GPIO“ valdymas naudojant „Android App“ per „Bluetooth“
- „Bluetooth“ valdomas žaislinis automobilis, naudojant „Arduino“
Šiandien mes sujungsime „HC-05 Bluetooth“ modulį su populiariu „Wi-Fi“ moduliu ESP8266 ir valdysime LED belaidžiu būdu, siunčiant komandas per „Bluetooth“. Šį šviesos diodą gali pakeisti relė ir kintamosios srovės prietaisas, kad būtų sukurta namų automatikos programa.
Būtini komponentai
Techninė įranga:
- MazgasMCU ESP8266
- HC-05 „Bluetooth“ modulis
Programinė įranga:
- „Arduino IDE“
- „Serial Bluetooth“ terminalas („Android“ programa): „Bluetooth“ duomenims stebėti išmaniajame telefone.
ESP8266 HC-05 „Bluetooth“ modulio grandinės schema
Grandinės schema, skirta prijungti „Bluetooth“ modulį HC-05 su „NodeMCU ESP8266“, yra labai paprasta ir parodyta žemiau:
Su ESP8266 reikalingas išorinis „Bluetooth“ modulis, nes jame nėra integruoto „Bluetooth“, pvz., ESP32. ESP32 turi integruotą „ Bluetooth Low Energy“ (BLE) ir „Classic Bluetooth“, kuriuos anksčiau apėmėme keliose pamokose:
- ESP32 BLE serveris - GATT paslauga, rodanti akumuliatoriaus įkrovos lygį
- ESP32 BLE klientas - prisijungimas prie kūno rengybos lemputės paleidimo
- Kaip naudoti nuoseklų „Bluetooth“ ESP32
HC-05 „Bluetooth“ modulis
HC-05 yra serijinis „Bluetooth“ modulis. Ją galima sukonfigūruoti naudojant AT komandas. Jis gali veikti trimis skirtingomis konfigūracijomis („Master“, „Slave“, „Loop back“). Savo projekte mes jį naudosime kaip vergą. HC-05 modulio savybės apima:
- Tipiškas -80dBm jautrumas.
- Numatytasis perdavimo greitis: 9600 bps, 8 duomenų bitai, 1 stop bitas, nėra pariteto.
- Automatiškai susieti PIN kodą: „1234“ arba „0000“ numatytasis PIN kodas.
- Jis turi 6 kaiščius.
- „HC-05“ maitinimui naudojami „Vcc“ ir „Gnd“ kaiščiai.
- „Tx“ ir „Rx“ kaiščiai naudojami ryšiui su mikrovaldikliu.
- Įjunkite kaištį, kad suaktyvintumėte modulį HC-05. kai jo yra nedaug, modulis išjungiamas
- Valstybės kaištis veikia būsenos indikatorių. Kai jis nėra suporuotas / sujungtas su jokiu kitu „Bluetooth“ įrenginiu, LED nuolat mirksi. Kai jis prijungtas / suporuotas su bet kuriuo kitu „Bluetooth“ įrenginiu, šviesos diodas mirksi pastoviai vėluodamas 2 sekundes.
Norėdami sužinoti daugiau apie „Bluetooth“ modulį, atlikite kitus su „Bluetooth“ susijusius projektus.
„Serial Bluetooth“ terminalo naudojimas („Android“ programa)
Naudotis šia programa yra labai paprasta ir reikia atlikti kelis veiksmus. Ekrano kopijos pateikiamos žemiau su veiksmais. Tiesiog suporuokite „ HC-05“ su išmaniuoju telefonu. Numatytasis kodas yra „0000“ arba „1234“, bet dažniausiai veikia „1234“.
- Pirmiausia atsisiųskite ir įdiekite programą, tada eikite į įrenginius ir raskite „HC-05“ modulį. Pasirinkite programoje ieškotą „HC-05“ modulį. Jei nerandate, patikrinkite, ar HC-05 tinkamai maitinamas.
- Spustelėjus HC-05 jis bus prijungtas. Dabar pranešimų laukelyje įveskite bet kokį pranešimą ir išsiųskite jį. Jis bus atspausdintas ant „Arduino“ serijinio monitoriaus.
„NodeMCU ESP8266“ programavimas sąsajai su „Bluetooth“
Norėdami programuoti „NodeMCU ESP8266“ naudodami „ArduinoIDE“, tiesiog prijunkite jį iš nešiojamojo kompiuterio ar kompiuterio naudodami „Micro USB“ kabelį ir atidarykite „Arduino IDE“. Šioje pamokoje bus naudojamos aparatinės įrangos serijos ir programinės įrangos serijos. Aparatinės įrangos serija bus naudojama duomenims skaityti ir rašyti į „Arduino“ nuoseklųjį monitorių, o programinės įrangos serija bus naudojama bendraujant su HC-05. Kaip visada pilnas kodas ir demonstracinis vaizdo įrašas pateikiami mokymo programos pabaigoje.
Iš pradžių įtraukite „Software Serial“ biblioteką, nes ji bus naudojama šioje mokymo programoje.
# įtraukti
Apibrėžkite RX ir TX kontaktą programinės įrangos nuosekliam ryšiui, taip pat apibrėžkite LED kontaktą, prijungtą prie „NodeMCU“. Mes naudojame vidinį „NodeMCU“ šviesos diodą, kuris yra prie D4 kaiščio.
„SoftwareSerial btSerial“ (D2, D3); RX, int led = D4;
Paleiskite programinės ir aparatinės įrangos seriją 9600 perdavimo sparta. Nustatykite „Led Pin“ kaip išvestį. Atspausdinkite sveikinimo ir derinimo pranešimą.
Serijos pradžia (9600); „btSerial.begin“ (9600); pinMode (D4, OUTPUT); Serial.println ("Pradėta…");
Pirma, perskaitykite iš „Bluetooth“ modulio ir apibrėžkite atvejį , jei „Bluetooth“ modulis gauna „B“ iš telefono, tada pradėkite mirksėti, prijungtą prie „NodeMCU“ D4, jei jis gauna „S“, tada nustokite mirksėti. Čia nenaudojame vėlavimo () . Bet „Arduino“ „milis“ bus naudojamas netrukdyti „Arduino“ pasirodymui.
if (btSerial.available ()> 0) { char duomenys = btSerial.read (); jungiklis (duomenys) { atvejis 'B': ledB = "mirksi"; pertrauka; atvejis „S“: ledB = „stop“; pertrauka; numatytasis: pertrauka; } }
Miliai yra apibrėžti ir nustatykite vėlavimą 500ms, ty lemputė mirksi kas 500ms. Taip pat galite sukonfigūruoti LED vėlavimą pakeisdami „intervalo“ vertę. Vadovaujama valstybė bus perjungta.
nepasirašyta ilga srovėMillis = milis ();
if (ledB == "mirksi") { Serial.println ("mirksėjimas prasidėjo"); if (currentMillis - ankstesnisMillis> = intervalas) { previousMillis = currentMillis; jei (ledState == LOW) { ledState = HIGH; } dar { ledState = LOW; } digitalWrite (led, ledState); } }
Tai užbaigs programavimą „NodeMCU“, kad „Bluetooth“ ryšiu mirksėtų LED bevielis ryšys. Taip pat galite pakeisti programą, kad atliktumėte įvairias užduotis naudodami šviesos diodą, pvz., Šviesos diodą gali pakeisti relė su kintamosios srovės prietaisu, kad būtų sukurtas „Bluetooth“ namų automatikos projektas. Jei kyla kokių nors abejonių ar pasiūlymų, susisiekite su mūsų forumu arba komentuokite žemiau.