Spisu treści:

Konfiguracja szeregowa HC-05 przez Bluetooth: 10 kroków
Konfiguracja szeregowa HC-05 przez Bluetooth: 10 kroków

Wideo: Konfiguracja szeregowa HC-05 przez Bluetooth: 10 kroków

Wideo: Konfiguracja szeregowa HC-05 przez Bluetooth: 10 kroków
Wideo: Kontroler LED Arduino Bluetooth z modułem Bluetooth Android HC-05 | Twórca aplikacji MIT 2024, Listopad
Anonim
Konfiguracja szeregowa HC-05 przez Bluetooth
Konfiguracja szeregowa HC-05 przez Bluetooth

Korzystając z urządzeń z systemem Android i modułów HC-05 Bluetooth SPP w niektórych projektach Arduino, chciałem sprawdzić i zmienić szybkość transmisji HC-05 i inne parametry bez podłączania do portu USB komputera. To przerodziło się w to.

Moduły HC-05 łączą urządzenia szeregowe i Bluetooth za pomocą profilu portu szeregowego Bluetooth (SPP). Wiele osób w społeczności Arduino opisało, jak skonfigurować i używać tych modułów, w tym kilku instrukcji. Korzystanie z HC-05 często wymaga początkowego przewodowego połączenia szeregowego. Większość poradników opisuje użycie pewnego rodzaju adaptera USB-szeregowego, często płytki Arduino, w celu uzyskania dostępu do trybu „polecenia” modułu z komputera PC. Wolałbym mieć widget, w który mógłbym po prostu wbić HC-05 i kontynuować.

Ten 'ible obejmuje:

  1. szkic, który…

    • natychmiast podaj aktualną przepływność transmisji szeregowej (która może być wszystkim, czego potrzebujesz)
    • wykryj aktualną prędkość i rozpocznij komunikację szeregową
    • zbierać dane wejściowe użytkownika przez Bluetooth SPP
    • sygnał do naciśnięcia przycisku polecenia HC-05
    • wyślij polecenia do modułu
    • w razie potrzeby odbierz odpowiedź HC-05
    • sygnał do zwolnienia przycisku polecenia
    • odpowiedz użytkownikowi przez połączenie BT
  2. urządzenie gotowe do użycia
    • OPCJONALNIE dla wygody
    • bardzo niski koszt
    • bardzo mały
    • gotowy do podłączenia modułu HC-05
    • zasilany kablem microUSB
    • używa tablicy podobnej do Digispark z ATtiny85 mcu

Przetestowałem szkic na klonie UNO i klonie Digispark. Może działać na innych płytkach Arduino, które implementują klasę „Serial” z RX na pinie 0.

Kieszonkowe dzieci

  • Moduł HC-05 + płytka nośna (AliExpress)
  • Płyta mcu Arduino-ish (AliExpress testowany przez klon UNO)
  • części montażowe (takie jak stąd)
  • Szkic stąd

Opcjonalnie: części do zbudowania widżetu - wymienione później

Krok 1: Po prostu wypróbuj

Zanim zastanowisz się, co, jeśli w ogóle, zacząć lutować: po prostu wypróbuj szkic.

Nazywam go baudat, ponieważ zajmuje się poleceniami bodów i AT i zasługuje na uznanie pana. Emila Baudota.

Jeśli to czytasz, prawdopodobnie masz coś w rodzaju HC-05 i coś w rodzaju „zwykłej” płyty ATmega328 w Arduino, takiej jak UNO R3 lub niewiele się różni. Szkic jest testowany na klonie UNO R3. Spodziewam się, że będzie działać na innych płytach, które implementują klasę Serial i używają pinu 0 dla szeregowego RX. Lub edytuj serialRxPin.

  • Pobierz szkic, prześlij go na swoją tablicę i otwórz okno Monitora szeregowego.
  • Powinieneś być w stanie odczytać podłączoną szybkość transmisji w początkowym szumie. Teraz znasz prędkość połączenia, ale baudat nie.
  • Wpisz coś w tym miejscu. Powinien wykryć szybkość transmisji i kontynuować. Losowe uderzenie w klawiaturę prawdopodobnie zadziała. „U” przechodzi przez przewód, jak x0101010101x, co jest nie do pomylenia. Jakiekolwiek dwa lub więcej popularnych znaków drukowania (7-bitowe, nie „rozszerzone”) wysłane razem (linia-po-czasie vs znak-po-czasie) powinny działać.
  • Spróbuj podłączyć monitor z różnymi prędkościami. Powinny działać typowe prędkości obsługiwane przez moduły HC-05. baudat nie rozpoznaje bardzo wolnych, bardzo szybkich lub „dziwnych” prędkości, takich jak 14, 400 bps.
  • Wypróbuj interakcję i zobacz, co wysłałby do twojego HC-05, gdyby był podłączony.

Krok 2: Przykład: Monit o konfigurację podstawową

Powinno to wyglądać mniej więcej tak:

##hałas##hałas##hałas##

To jest 57600 bps. Napisz coś. „U” jest solidne.

##hałas##hałas##hałas##

Narzędzie konfiguracyjne Baudat HC-05

Ustawić nazwę BT, „polarną” i szybkość transmisji szeregowej? [t/n] Tak

Ustawić nazwę urządzenia Bluetooth? [t/n] Tak

Nowa nazwa: My_New_BT_Widget

Ustawić polaryzację stanu połączenia BT? [t/n] Tak

Po podłączeniu ustawić pin STAN LOW(0) lub HIGH(1)? [0/1] 0

Obsługiwane szybkości transmisji szeregowej:

a: 500000 b: 230400 c: 115200 d: 57600 e: 38400 f: 19200 g: 9600 h: 4800 i: 2400 Wybierz nową prędkość: [a-i] a

==== Nowe parametry ====

Nazwa BT: My_New_BT_Widget Poziom sygnału stanu połączenia: 0 Baud: 115200

Przygotuj się na naciśnięcie przycisku trybu poleceń HC-05…

Naciśnij, gdy zaświeci się dioda LED; zwolnić, gdy dioda LED zacznie migać.

Gotowy? [Jakikolwiek klucz]

Udać się…

Ta próba w rzeczywistości nic nie robi, ponieważ w pętli nie ma HC-05. Po połączeniu z baudatem przez Bluetooth:

  • nie zobaczysz poleceń wysyłanych do modułu w trybie poleceń
  • resety mogą, ale nie muszą, zabić połączenie Bluetooth, w zależności od wersji oprogramowania układowego HC-05

    na przykład oprogramowanie układowe HC-05 w wersji 3.0-20170601 może zmienić szybkość transmisji danych szeregowych bez zrywania połączenia BT

LUB…

Krok 3: Przykład: Arbitralne polecenia AT

Aby wprowadzić dowolne polecenia AT, odrzuć monit o konfigurację:

Ustawić nazwę BT, „polarną” i szybkość transmisji szeregowej? [t/n] N

Wpisz polecenie: AT+wersja

Przygotuj się na naciśnięcie przycisku trybu poleceń HC-05…

Naciśnij, gdy zaświeci się dioda LED; zwolnić, gdy dioda LED zacznie migać.

Gotowy? [Jakikolwiek klucz]

Udać się…

Wynik:

Wpisz polecenie: AT

(te przykłady są w osobnych krokach, próbując uniknąć formatowania. Jeśli są zniekształcone, zobacz załączone pliki tekstowe.)

Krok 4: Polaryzacja?

Zbuduj to
Zbuduj to
Zbuduj to
Zbuduj to
Zbuduj to
Zbuduj to

Kino. Bo łatwiej pokazać niż powiedzieć.

Proszę przejrzeć wszystkie zdjęcia i notatki przed rozpoczęciem, ponieważ czasami późniejszy szczegół pomaga zinterpretować wcześniejszy krok.

Krok 10: Ciesz się owocami swojej pracy

Ciesz się owocami swojej pracy
Ciesz się owocami swojej pracy

Ostatnie zdjęcie to pierwsze zdjęcie.

Zalecana: