Spisu treści:

OldMan i Bluetooth2: 4 kroki
OldMan i Bluetooth2: 4 kroki

Wideo: OldMan i Bluetooth2: 4 kroki

Wideo: OldMan i Bluetooth2: 4 kroki
Wideo: Grumpy Old Men (2/4) Movie CLIP - Remote Control (1993) HD 2024, Lipiec
Anonim
OldMan i Bluetooth2
OldMan i Bluetooth2

Więc ten Lazy Old Geek (L. O. G.) w końcu otrzymał moduł Bluetooth HC05 od AliExpress.com. Zamówiłem jeden po napisaniu tej instrukcji:

www.instructables.com/id/OldMan-and-Blueto…

Cóż, spędziłem kilka godzin próbując uruchomić to w trybie poleceń bez powodzenia. Zniszczyłem nawet moduł HC05 (prawdopodobnie stosując złe napięcia), więc musiałem kupić inny.

WSKAZÓWKA: Tryb poleceń komunikuje się z samym modułem HC05 lub HC06. Tryb komunikacji komunikuje się z innym urządzeniem Bluetooth.

To, co znalazłem, to wiele różnic między HC05 a HC06. HC05 może być urządzeniem nadrzędnym lub podrzędnym, HC06 tylko podrzędnym. Zasadniczo pan może rozmawiać z niewolnikiem, dwóch niewolników nie może rozmawiać ze sobą. HC05 i HC06 mają różne polecenia. HC05 musi być skonfigurowany sprzętowo, aby przejść w tryb poleceń, może mieć różne szybkości transmisji dla komunikacji i trybu poleceń.

HC06 jest zawsze w trybie komunikacji i poleceń. Ustawienie szybkości transmisji dla jednego zmieni drugie.

WSKAZÓWKA: Śledź to, ponieważ nie miałem i miałem pewne problemy.

WSKAZÓWKA: Różne HC05 i HC06 mogą różnić się od tych, które otrzymałem.

HCO6 wykonuje polecenia, ale nie zawsze pokazuje zmienione wyniki, np. zmiana imienia.

Krok 1: Ocena/modyfikacja

Ocena/modyfikacja
Ocena/modyfikacja
Ocena/modyfikacja
Ocena/modyfikacja
Ocena/modyfikacja
Ocena/modyfikacja

W załączeniu schemat HC05 podobny do mojego. Dwie różnice, które znam, polegają na tym, że pomiędzy PIO11 (34) a pinem EN znajduje się rezystor 2,2 K, a regulator 3,3 V to pakiet 3 pinów i nie ma pinu CE. Załączony obrazek jest zaznaczonym schematem tego, co myślę, że mam.

Dla celów programowania ważne jest to, że pin 34 Key jest połączony z pinem EN poprzez rezystor 2,2K. (Jest również podłączony do przycisku, druga strona jest podłączona do 3,3V)

Standardowy HC05 wymaga zasilania 5 V, chociaż działa z sygnałami 3,3 V, więc zmodyfikowałem mój HCO5, aby zamiast tego używał 3,3 V. Usunąłem regulator 3,3V i podłączyłem zworkę z pinu VCC bezpośrednio do 3,3V. Jest to pokazane na zmodyfikowanym schemacie i moim zmodyfikowanym obrazku HC05.

Nawiasem mówiąc, załączony zestaw poleceń HC05 Command Set.pdf zawiera cenne informacje na temat korzystania z HC05, niestety nie jest zbyt przyjazny dla użytkownika.

Krok 2: Programowanie HC05

Programowanie HC05
Programowanie HC05
Programowanie HC05
Programowanie HC05

Zdecydowałem, że najłatwiejszym sposobem użycia HC05 jest podłączenie go do jednego z moich adapterów szeregowych CP2102 3.3V, tak jak to zrobiłem w Old Man And Bluetooth Instructable z HC06. Zobacz zdjęcie i schemat.

WAŻNA WSKAZÓWKA: Aby zasilić HC05 w trybie poleceń, pin PIO11 (34) musi być w stanie wysokim przed podaniem 3,3 V. Pin EN w moim HC05 jest podłączony do PIO11 przez rezystor 2,2K, więc wystarczy go powiązać z 3,3V. Schemat pokazuje to jako piny programu, ale po prostu umieść zworkę z 3,3 V na pin EN. Upewnij się, że robisz to, zanim zastosujesz moc. Na moim możesz stwierdzić, czy jesteś w trybie poleceń, ponieważ dioda LED HC05 będzie powoli migać. Jeśli miga szybko, jesteś w trybie parowania i musisz spróbować ponownie.

WSKAZÓWKA: HC05 w trybie poleceń zawsze rozmawia z prędkością 38400 bodów. Wszystkie polecenia są pisane wielkimi literami i muszą być poprzedzone CR i LF. (Inaczej niż w HC06)

WSKAZÓWKA: Format poleceń jest bardzo ścisły. Zawsze używaj czapek. Wszystkie zaczynają się od „AT” Podążaj za nimi dokładnie, nie możesz dodawać spacji, w których nie są pokazane.

Uruchom Arduino. Przejdź do „Narzędzia” „Port” i wybierz port Com, do którego podłączony jest CP2102.

Otwórz monitor szeregowy. W dolnej części tego okna wybierz „Zarówno NL, jak i CR” i „38400 bodów”. (NL oznacza nową linię, która jest taka sama jak LF, która jest wysuwem linii).

Na górze znajduje się pole obok przycisku Wyślij, kliknij w nim.

Na komputerze włącz Caps Lock

Wpisz AT

W dużym oknie powinno pojawić się „OK”.

Komunikujesz się w trybie poleceń

Niektóre polecenia, które działają na moje

W

AT+RESET

W WERSJI+?

AT+NAZWA?

AT+ADDR? ADDR:98D3:31:F5CB41

AT+NAME=BT1 Zmienia nazwę na BT1

AT+ROLA? 0 = Slave 1 = Master

Krok 3: HC06 ponownie

HC06 ponownie
HC06 ponownie

Jedną z głównych różnic pomiędzy HC05 i HC06 jest to, że HC05 może być nadrzędnym lub podrzędnym, podczas gdy HC06 jest tylko podrzędnym. Oznacza to, że możesz rozmawiać między HC05 i HC06. Istnieje jednak wiele innych różnic.

Chociaż mogłem użyć Arduino do skonfigurowania mojego HC06, zdecydowałem się użyć 3.3v CP2102. Widzieć zdjęcie

Znajomości

CP2102 HC06

Gnd Gnd

Vcc Vcc

TXD RXD

RXD TXD

Jest to w zasadzie to samo co HC05, z wyjątkiem tego, że mój HC06 ma tylko cztery piny.

Mój CP2102 został zmodyfikowany tak, aby dostarczał 3,3 V

Mój HC06 został zmodyfikowany, aby zaakceptować 3,3 V

CP2102 USB jest podłączony do mojego komputera. Na moim komputerze używam Arduino IDE.

Wybierz właściwy „Port” i otwórz Monitor szeregowy.

W moim HC06 czerwona dioda LED szybko miga, co wskazuje, że jest gotowa do sparowania, ale może również odbierać polecenia.

Niektóre z tych informacji pochodzą od Martyna Curreya:

www.martyncurrey.com/arduino-and-hc-06-zs-0…

Więc każdy typ HC06 może być inny, mój zwraca WERSJĘ linvorV1.5

W przypadku mojego HC06 (i prawdopodobnie wszystkich) nie ma specjalnej procedury, aby wprowadzić go w tryb poleceń. Najwyraźniej jeśli nie jest sparowany, zawsze możesz wysyłać polecenia przez port szeregowy.

WSKAZÓWKA: nie możesz wysyłać poleceń do żadnego modułu Bluetooth (o którym wiem) przez Bluetooth.

Otwórz monitor szeregowy

Kliknij pierwsze pole na dole monitora szeregowego i ustaw na „bez końca linii”

Początkowo moja szybkość transmisji wynosiła 9600 bodów

Na komputerze włącz Caps Lock

W górnym pudełku wpisz AT

Wpisz Enter lub naciśnij przycisk „Wyślij”

Na ekranie powinien pojawić się komunikat OK

WSKAZÓWKA: Jeśli nie otrzymasz OK, może to być spowodowane zmianą szybkości transmisji lub inną. Możesz wypróbować różne, aż miejmy nadzieję, że znajdziesz właściwy.

UWAGA: Wysyłając wiele poleceń, dane odpowiedzi nie przesuwają się do następnej linii. Na dole możesz kliknąć Wyczyść wyjście.

Polecenia, które działają dla mnie:

Polecenie Odpowiedź

AT+WERSJA OKlinvorV1.5

AT+NAMEFred zwraca OKsetname

(Nie podaje nazwy, ale jeśli jest połączony przez Bluetooth, pojawi się.)

UWAGA: jeśli zmienisz nazwę, stara nazwa będzie widoczna na smartfonie do czasu rozparowania i ponownego sparowania.

AT+PINxxx Nie próbowałem. Wartość domyślna to 1234

AT+BAUD8 Zmienia szybkość transmisji do 115200

Odpowiedzią jest szybkość transmisji, m.in. 115200

(Po zmianie szybkości transmisji należy zmienić szybkość transmisji Serial Monitor na 115200, aby wysyłać dalsze polecenia.

Opcje szybkości transmisji

1 1200

2 2400

3 4800

4 9600 (domyślnie)

5 19200

6 38400

7 57600

8 115200

9 230400

460800

921600

C 1382400

UWAGA: nie próbowałem wyższych niż 8 115200. Słyszałem o ludziach próbujących wyższych stawek ze złymi wynikami.

Inne polecenia, które mają działać, ale nie zostały przetestowane:

AT+PN bez kontroli parzystości (domyślnie)

Kontrola nieparzystości AT+PO

AT+PE nawet kontrola parzystości

WAŻNE: W tym momencie sugerowałbym, abyś zdecydował się na unikalną nazwę i nadał ją. Sugerowałbym również, abyś zdecydował się na szybkość transmisji, z jaką chcesz się komunikować, włóż ją i oznacz nią swój HC06.

Krok 4: Konfiguracja HC05 do HC06

Ok, ten Instruktaż był dla mnie najbardziej pomocny:

www.instructables.com/id/How-to-Configure-…

Moja konfiguracja:

SLAVE znajduje adres

HC06 z CP2102 (automatycznie w trybie poleceń)

Podłącz kabel USB CP2102 do zasilania HC06.

Dioda HC06 powinna szybko migać (tryb parowania).

Na smartfonie otwórz ustawienia

Przejdź do Bluetooth

Wyszukaj nowe urządzenie

Jeśli widzisz coś takiego jak HC06 lub nazwę, którą mu nadałeś, wybierz to.

Najprawdopodobniej zobaczysz ciąg liczb, taki jak 00:12:09:27:19:13, to prawdopodobnie to.

Zapisz ten adres. (Numer jest jego unikalnym adresem)

Wybierz to

Gdy zostaniesz poproszony o pinezkę, wpisz 1234.

Nazwa powinna zostać wyświetlona.

Jeśli nadal nie masz adresu, w sekcji „Wcześniej połączone urządzenia” wybierz nazwę.

Kliknij Informacje, powinien zostać wyświetlony adres. Zapisz to.

Jeśli się nie pojawi, wyjdź z konfiguracji i otwórz aplikację Bluetooth Terminal HC-05.

W sekcji Paired Devices znajdź nazwę, adres powinien znajdować się pod nią, zapisz ją.

Konfiguracja urządzenia podrzędnego

Jeśli dioda LED HC06 nie miga, wyłącz i włącz zasilanie, aby powrócić do trybu parowania.

Uruchom Arduino

W “Narzędzia” “Port” Wybierz właściwy port Com

Otwórz monitor szeregowy

Na dole tego okna

Wybierz „Bez końca linii” i „9600 bodów”

GOSPODARZ

HC05 z CP2102 ustawionym w trybie poleceń (zworka EN wysoka)

Podłącz kabel USB z CP2102 do komputera

Dowiedziałem się, że mogę otworzyć dwa Arduino

Na drugim Arduino wybierz odpowiedni port Com dla HC05

Otwórz monitor szeregowy

Na dole okna

Wybierz „Zarówno NL i CR” oraz „38400 bodów”

Następujące pochodzi z powyższej instrukcji!

Konfiguracja główna

Wymagane komendy AT do ustawienia konfiguracji:

ODPOWIEDŹ NA POLECENIE Co robi

AT+ROLE=1 OK Ustaw HC05 jako nadrzędny

AT+CMODE=1 OK Połącz z określonym adresem

UWAGA: Adres HC06 jest prawdopodobnie sformatowany w ten sposób 00:12:09:27:19:13

Polecenie BIND oczekuje tego 0012, 09, 27193 (wyjmujesz dwukropki, bierzesz pierwsze cztery liczby, potem przecinek, następne dwie liczby, potem przecinek, potem ostatnie sześć liczb)

AT+BIND=0012, 09, 271913 OK Łączy/wiąże z HC06

(Przy okazji AT+BIND? odpowiada +BIND:12:9:271913)

(Chcesz, aby prędkość komunikacji HC05 była taka sama jak HC06) na przykład:

AT+UART=115200, 0, 0 OK Szybkość transmisji 115200 (1 bit stopu, bez parzystości)

Aby przetestować komunikację:

Usuń zworkę HC05 EN, wyłącz i włącz.

Gdy oba są połączone, dioda HC05 będzie migać dwa razy co kilka sekund, dioda HC06 będzie świecić w sposób ciągły.

Ustaw oba porty com na tę samą szybkość transmisji (cokolwiek ustawisz)

Ustaw oba na „Oboje NL i CR”

Wpisz coś na Serial Monitor1, Serial Monitor2 powinien to wyświetlić.

Wpisz coś na Serial Monitor2, Serial Monitor1 powinien to wyświetlić.

Gratulacje, komunikujesz się przez Bluetooth

Teraz powyższy Instructable zawiera kilka szkiców dotyczących korzystania z modułów z Arduino. W przypadku tego Instructable nie będę się w to zagłębiać.

Zalecana: