Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Test modułu Bluetooth HC-05 - recenzja i opinia

grala1 04 Lut 2018 18:09 2394 12
  • Witam wszystkich.

    Poniżej chciałbym przedstawić Wam krótki opis bardzo popularnego modułu Bluetooth HC-05master-slave. Jest to moduł służący do bezprzewodowej komunikacji Bluetooth, wyposażony w interfejs UART oraz obsługę komend AT.

    Test modułu Bluetooth HC-05 - recenzja i opiniaTest modułu Bluetooth HC-05 - recenzja i opinia

    Moduł ten możemy wykorzystać, np. do bezprzewodowej dwukierunkowej komunikacji komputera z mikroprocesorem AVR obsługującym interfejs UART.
    Poniżej opiszę moduł HC-05 przylutowany do adaptera, gdzie mamy dwa dziesięciopinowe rzędy kołków goldpin (raster 2mm) oraz diody LED1 i LED2.
    Wymiary płytki to 26x35x9mm. Zasilanie modułu 3,3V, zasięg do 10m, prędkość transmisji 9600bps (czasem producent podaje domyślną jako 38400, ale u mnie domyślna to 9600), domyślny tryb pracy – slave, pobór prądu zmierzony przeze mnie to 42mA. Poziom napięć do komunikacji UART 3,3V.
    Hasło do parowania to: 1234.
    Jako że nie znalazłem poprawnego opisu wyprowadzeń adaptera w sieci, a opis od XBee nie pasuje, to poniżej przedstawiam pinout płytki adaptera zrobiony przeze mnie:

    Test modułu Bluetooth HC-05 - recenzja i opinia

    Jak widać producent adaptera nie dał nam zbyt dużo – do dyspozycji na kołkach goldpin mamy dostępne tylko zasilanie, reset oraz dwa programowalne wejścia/wyjścia. Do czego służą diody LED umieszczone na adapterze – obie diody mają podciągnięte katody do masy, zaś anody połączone są szeregowo przez rezystory 1kΩ do wyjść modułu. LED1 do PIO8, LED2 do PIO9. LED1 pokazuje, czy moduł jest sparowany czy nie; LED2 zapala się, gdy na komputerze włączymy terminal do komunikacji.
    Ceny modułu z przesyłką zaczynają się od ok. 40zł na polskich portalach aukcyjnych, zaś na zakup prosto z Chin przeznaczyć trzeba niespełna 4$ wraz z przesyłką.
    W tym miejscu chciałbym podziękować koledze Zbyszkowi alias Zibi za udostępnienie komputera z wbudowanym Bluetoothem do przeprowadzenia poniższych testów – dziękuję Ci Zbyszku.




    Pierwszy z testów, jaki wykonałem to sparowanie modułu z komputerem, wysłanie bezprzewodowo komunikatu do modułu i odebranie go na tym samym terminalu – na module zostały zwarte linie komunikacyjne od interfejs UART – Rx z Tx, zasilanie moduł 3,3V. Po podłączeniu w ten sposób modułu dioda LED1 będzie szybko migać.
    Został tutaj wykorzystany komputer z systemem Windows 10 oraz programem „PuTTY”.
    Poniżej pokazane dodawanie urządzenia Bluetooth:

    Test modułu Bluetooth HC-05 - recenzja i opinia

    Jak widać - udało się poprawnie dodać urządzenie.

    Test modułu Bluetooth HC-05 - recenzja i opinia

    Od tej chwili dioda LED1 zaczyna migać z mniejszą częstotliwością.
    W menadżerze urządzeń w Windowsie pojawiły nam się dwa nowe porty COM – w tym przypadku port COM 4 oraz COM5.

    Test modułu Bluetooth HC-05 - recenzja i opinia

    Uruchamiamy program „PuTTY „i w kategorii „SESION” zmieniamy typ połączenia na „SERIAL”, wpisujemy w „SERIAL LINE” „COM4” i w oknie „SPEED” podajemy prędkość 9600. W miejscu „SAVED SESSIONS” wpisujemy wybraną przez siebie nazwę i naciskamy „SAVE”.

    Test modułu Bluetooth HC-05 - recenzja i opinia

    Przy następnym połączeniu będziemy mogli załadować nasze zapisane ustawienia, wybierając je i wciskając „LOAD”.

    Test modułu Bluetooth HC-05 - recenzja i opinia

    Teraz przechodzimy do kategorii CONNECTION/SERIAL i tutaj ustawiamy nasz port COM.

    Test modułu Bluetooth HC-05 - recenzja i opinia

    Teraz klikamy przycisk „OPEN”. Dioda LED2 zapala się.
    Od tej chwili wszystko, co wpiszemy w oknie terminala zostanie wysłane bezprzewodowo do modułu HC-05 i zostanie wysłane z niego powrotem (dzięki zwarciu linii Rx z Tx) bezprzewodowo na komputer i pojawi się to w oknie naszego terminala.
    W oknie terminala wpisałem tekst „test hc-05” i ten, że tekst został wyświetlony na monitorze komputera.

    Test modułu Bluetooth HC-05 - recenzja i opinia

    Nie trzeba wciskać klawisza ENTER, skutkiem każdego naciśnięcia guzika na klawiaturze będzie pojawienie się wybranego znaku w oknie terminala.
    Rozpięcie zworki łączącej Rx z Tx spowoduje brak reakcji w oknie terminala – nie będziemy widzieć tego, co naciskamy, ani nie dostaniemy odpowiedzi z modułu, mimo to że moduł cały czas odbiera to, co do niego wysyłamy, po rozwarciu zworki moduł nic nie wysyła, bo na linię nadawczą nic nie jest wysyłane.

    Druga część testu to wysyłanie danych bezprzewodowo z jednego komputera do drugiego za pomocą badanego modułu. Odległość między komputerem a modułem to ok. 6m.
    W tym teście wykorzystałem wymieniowy wcześniej komputer, badany moduł HC-05 oraz drugi komputer z Windowsem XP, do którego został podłączony konwerter USB-UART zbudowany na układzie FT232. Należy jednak pamiętać, że nasz badany moduł HC-05 działa na poziomie napięć 3,3V, przez co na konwerterze USB-UART należy ustawić zworkę w pozycji 3,3V. Na drugim komputerze jako terminal został użyty program „HyperTerminal”. Tutaj konwerter wykrywany jest na porcie COM25, a poniżej mamy podane jego ustawienia dla programu „HyperTermianal”.

    Test modułu Bluetooth HC-05 - recenzja i opinia

    Od tej chwili możemy komunikować się bezprzewodowo pomiędzy tymi komputerami dzięki naszemu modułowi HC-05.
    W programie „HyperTerminal” w ustawieniach włączyłem lokalne echo, by na oknie terminala było widać to, co piszemy na klawiaturze. Efektem tego powinno być to, że w oknach obu terminali powinniśmy widzieć to samo (o ile będziemy nadawać z „HyperTerminala” – w „PuTTY” nie znalazłem opcji włączenia echa, więc nie widzimy tego, co wpisujemy w oknie „PuTTY”).
    Wpisałem tekst w oknie „PuTTY” i na drugim komputerze odebrałem ten komunikat w „HyperTerminalu”, co pokazuje poniższy obraz.

    Test modułu Bluetooth HC-05 - recenzja i opinia

    Skoro działa komunikacja w jedną stronę, to powinna działać komunikacja i w drugą stronę.
    W celu sprawdzenia w oknie „HyperTerminala” wpisuję tekst:

    Test modułu Bluetooth HC-05 - recenzja i opinia

    W oknie „PuTTY” pojawia się dokładnie to samo, co zostało napisane w „HyperTerminalu” na drugim komputerze.

    Test modułu Bluetooth HC-05 - recenzja i opinia

    Jak dowodzi powyższa komunikacja bezprzewodowa Bluetooth za pomocą badanego modułu HC-05 działa poprawnie.
    Dzięki obsłudze komend AT możemy np. zmienić nazwę modułu, prędkość transmisji lub np. hasło do parowania. By wejść w obsługę komend AT, należy zewrzeć PIO11 do 3,3V. Pin PIO11 jest wyprowadzony na kołek goldpin nr 20.
    Przy robieniu powyższego testu nie obyło się bez problemów. Z początku komunikacja nie przebiegała tak jak powinna – zdarzały się przekłamania, tzn. przy trzymaniu na klawiaturze znaku „a" jeden terminal pokazywał cały czas „aaaaaaaaaaaaaa”, zaś drugi odbierał coś takiego „azaazaaaazaaaa”. Nie pomagała tutaj zmiana prędkości transmisji.
    Przyczyna okazała się bardzo prosta – zapomniałem o wspólnej masie dla konwertera USB-UART i badanego modułu HC-05. Konwerter zasilany był z USB a moduł z zasilacza. Połączenie konwertera i HC-05 wspólną masą rozwiązało problem – podstawy, ale jak widać - potrafi to nieźle namieszać. Gdyby zasilić HC-05 z portu USB, nie byłoby tego problemu.

    Przy robieniu tego testu przy którymś tam z rzędu podłączeniu konwertera do modułu zapomniałem przestawić zworki od poziomu napięć i napięcie zostało ustawione na 5V, zauważyłem to po wysłaniu kilkudziesięciu znaków, ale nie spowodowało to żadnego przekłamania w komunikacji czy też uszkodzenia modułu HC-05. Jak widać - znosi on 5V, ale lepiej nie ryzykujcie i dajcie jakiś konwerter napięć, by zejść do tych zalecanych przez producenta 3,3V.


    Fajne!
  • #2 04 Lut 2018 20:45
    Galareta
    Poziom 20  

    Mama chińskie hc-05 podlaczone do drukarki 3D od kilku miesięcy - działa z sygnałami 5V i nic się mu nie dzieje, dałem za niego okolo 3USD.

  • #3 05 Lut 2018 08:39
    pawel-jwe
    Poziom 30  

    grala1 napisał:
    Przy robieniu tego testu przy którymś tam z rzędu podłączeniu konwertera do modułu zapomniałem przestawić zworki od poziomu napięć i zostało one ustawione na 5V, zauważyłem to po wysłaniu kilkudziesięciu znaków ale nie spowodowało to żadnego przekłamania w komunikacji czy też uszkodzenia modułu HC-05. Jak widać znosi on 5V ale lepiej nie ryzykujcie i dajcie jakiś konwerter napięć by zejść do tych zalecanych przez producenta 3,3V.

    Galareta napisał:
    Mama chińskie hc-05 podlaczone do drukarki 3D od kilku miesięcy - działa z sygnałami 5V i nic się mu nie dzieje, dałem za niego okolo 3USD.

    Jest co najmniej kilka wersji modułu HC-05/06 (a dokładniej płytki na której jest on zainstalowany). Jedne tolerują tylko 3.3V (zarówno zasilanie jak i Rx/Tx) inne tolerują 5V (zarówno zasilanie jak i Rx/Tx), jeszcze inne tolerują 5V na zasilaniu a na Rx/Tx jedynie 3.3V. Te ostanie moduły, z racji nietypowego rozwiązani, są dość podatne na złe podłączenie (sam miałem nieprzyjemność męczyć się z tym i uszkodzić przez to taki moduł). Niestety płytki dla poszczególnych wersji często są niemal identyczne i ktoś kto nie zna tego problemu może łatwo przyjąć inną wersję niż faktycznie posiada. Dodatkowym problemem jest to że często opisy u sprzedawców są niekompletne lub poprostu błędne :)
    Z modułami Xbee jest o tyle dobrze że opisy do nich są nieco lepsze, ale za to cena jest wyższa.

  • #4 05 Lut 2018 12:34
    RomanFilipecki
    Poziom 17  

    Czy robiłeś próbę zasięgu?

  • #5 05 Lut 2018 14:59
    mongoł2000
    Poziom 18  

    Ja używałem moduły z serii HC0x i całkiem stabilnie działaja. Zasięg zależy od prędkości, ale 10m jest jeszcze bezpieczne. Prędkość nie jest najgorsza ale opóźnienia - około 20ms przerwy trzeba robić przy wysyłaniu dużych ilości danych(mały bufor, czas na przygotowanie ramek itp.). Dlatego musiałem zrobić sprawdzanie poprawności i regulacja opóźnienia w zależności od błędów. Najciekawsze jest jednak to ze te moduły można mieć z certyfikacją FCC i pewnie również dla "CE".

  • #6 06 Lut 2018 13:44
    presto
    Poziom 11  

    Walczyłeś może z programowalnymi pinami? Chętnie dokooptowałbym linię DTR, która ułatwiłaby programowanie. Gotowego nie spotkałem. Czy da się je zaprogramować samemu?

  • #7 06 Lut 2018 23:21
    dp-mion7
    Poziom 11  

    Używam hc-05 i zauważyłem że jeśli się do niego wysyła jakieś dane (wysyłam z atmegi644) ale moduł nie ma połączenia bezprzewodowego z czymkolwiek to gromadzi te dane w swojej pamięci i w momencie połączenia bezprzwodowego je wysyła. Oszacowałem że mieści koło 3-4k bajtów. Wie ktoś ile ta pamięć ma dokładnie?

  • #8 07 Lut 2018 19:41
    dlugiiii
    Poziom 13  

    Ja zakupiłem niby bluetooth HC-05 z 6 pinami. Ładnie łączy się z komputerem, telefonem, ale nie potrafię wejść w komendy AT. Próbowałem wszystkie metody z forów i dokumentacji i żadna nie działa. Po naciśnięciu przycisku ze stanu niskiego przechodzi stan wysoki na odpowiedni pin. Czy zakupiony moduł na pewno jest to HC-05 ?Test modułu Bluetooth HC-05 - recenzja i opiniaTest modułu Bluetooth HC-05 - recenzja i opinia

  • #10 07 Lut 2018 20:19
    rs6000
    Poziom 24  

    Standardowa prędkość transmisji do komunikacji AT jest dośc nietypowa i wynosi 38400. W terminalu trzeba ustawić jeszcze "No line ending to Both NL and CR".

    Pozdr

  • #11 09 Lut 2018 04:26
    grala1
    Specjalista grupy V.A.G.

    RomanFilipecki napisał:
    Czy robiłeś próbę zasięgu?

    Nie robiłem takich testów.
    Odległość była stała - ok 6m.

    dlugiiii napisał:
    Ja zakupiłem niby bluetooth HC-05 z 6 pinami. Ładnie łączy się z komputerem, telefonem, ale nie potrafię wejść w komendy AT. Próbowałem wszystkie metody z forów i dokumentacji i żadna nie działa. Po naciśnięciu przycisku ze stanu niskiego przechodzi stan wysoki na odpowiedni pin. Czy zakupiony moduł na pewno jest to HC-05

    Tutaj masz opis tego modułu i jak wejść w komendy AT - dwa sposoby.
    https://www.elektroda.pl/rtvforum/viewtopic.php?p=17023751#17023751
    Jakiego używasz terminala do komunikacji, jaką ustawiłeś prędkość, sterowanie przepływem?
    Czy skrosowałeś linię Rx z Tx?

  • #12 11 Lut 2018 23:25
    dlugiiii
    Poziom 13  

    grala1 napisał:
    Tutaj masz opis tego modułu i jak wejść w komendy AT - dwa sposoby.
    https://www.elektroda.pl/rtvforum/viewtopic.php?p=17023751#17023751
    Jakiego używasz terminala do komunikacji, jaką ustawiłeś prędkość, sterowanie przepływem?
    Czy skrosowałeś linię Rx z Tx?


    Na PC używam programu PuTTY na telefonie Terminal. Parowanie jak i komunikacja jest w porządku. Widzę wprowadzane wartości na komputerze i odbieram odpowiednio na telefonie.
    Problem jest z wejściem do komend AT. Po naciśnięciu przycisku przed zasilaniem lub w trakcie pracy nic nie daje. Stane na Pin 34 zmienia się z niskiego na 3,3V. Według dokumentacji"
    Mode switch input. If it is input low level, the module is at paired or communication mode. If it’s input high level, the module will enter to AT mode. Even though the module is at
    communication, the module can enter to the AT mode if PIN34 is input high level. Then it will go back to the communication mode if PIN34 is input low level again." To nie działa. Dioda na module zawsze miga szybko nie ważne jak długo i kiedy nacisnę przycisk.

  • #13 16 Lut 2018 18:22
    dlugiiii
    Poziom 13  

    dlugiiii napisał:
    Na PC używam programu PuTTY na telefonie Terminal. Parowanie jak i komunikacja jest w porządku. Widzę wprowadzane wartości na komputerze i odbieram odpowiednio na telefonie.
    Problem jest z wejściem do komend AT. Po naciśnięciu przycisku przed zasilaniem lub w trakcie pracy nic nie daje. Stane na Pin 34 zmienia się z niskiego na 3,3V. Według dokumentacji"
    Mode switch input. If it is input low level, the module is at paired or communication mode. If it?s input high level, the module will enter to AT mode. Even though the module is at
    communication, the module can enter to the AT mode if PIN34 is input high level. Then it will go back to the communication mode if PIN34 is input low level again." To nie działa. Dioda na module zawsze miga szybko nie ważne jak długo i kiedy nacisnę przycisk.


    W końcu znalazłem rozwiązanie problemu z dostępem do komend AT w module dzięki pomocy "grala1" :)

    Próby połączenia z modułem zacząłem od "Putty", ale komendy w żaden sposób nie działały. Próbowałem wciskać przycisk na module przed załączeniem zasilania lub w trakcie pracy. Nic nie działało. Następny program to "hyperterminal". Po kilku godzinach udało się wysłać i odebrać komendy. Mogłem zmienić nazwę i resztę parametrów. Na drugi dzień chciałem ponownie połączyć się z modułem przy tych samych ustawieniach, ale nie udało się . Dodatkowo mam jakiś problem z hyperterminal ponieważ po wpisaniu 3-go znaku program zawiesza się na parę sekund i po wpisaniu następnego znaku dzieje się to samo , a ostatecznie moduł nie odpowiada.
    Po ściągnięciu 3 programu "termite 3.3" w końcu moduł żyje :) Mogę połączyć się z nim bez problemu.
    OK... ale do szczegółów...
    Mój HC-05 domyślnie ma ustawioną prędkość 38400, 8 bit danych, 1 bit stopu, brak parzystości. Do komendy AT mogę dostać się w dowolnym momencie przed naciśnięcie przycisku na module przed wysłaniem komendy do modułu. Naciśnięcie przycisku przed włączeniem zasilania lub podczas w moim przypadku nie zmienia prędkości komunikacji. Oczywiście moduł nie może być połączony z żadnym innym urządzeniem. Częstotliwość migania diody nie zmienia się. Poniżej ustawienia programu ( Po zmianie domyślnej prędkości z 38400 na 9600).
    WAŻNE:
    1) Nie wiem co oznacza w programie "dołączaj CR-LF", ale bez zaznaczenia tego komendy nie działają. Próbowałem włączać te opcje w poprzednich programach ,ale nic to nie zmieniło.
    2) Wyżej napisałem o prędkości komunikacji wraz z liczbą bitów stop i parzystość , ponieważ podczas przestawiania prędkości trzeba również wpisać te dwa parametry. Przez nieuwagę miałem małe problemy z dojściem dlaczego straciłem moduł po zmianie prędkości ;)

    Test modułu Bluetooth HC-05 - recenzja i opinia

    O to kilka przykładów komend z mojego modułu
    Test modułu Bluetooth HC-05 - recenzja i opinia

    Komendy AT znalazłem w dokumentacji http://cdn.instructables.com/ORIG/FKY/Z0UT/HX7OYY7I/FKYZ0UTHX7OYY7I.pdf

TME logo Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
TME Logo