Moduł BTM-112. Robię coś źle?

Oct 27, 2013 9 Replies

Kupiłem jakiś czas temu taki moduł Bluetooth:

formatting link
Przez parę tygodni leżał w szufladzie, dopiero teraz znalazłem trochę czasu na jego podłączenie.



Zasilanie podałem przez stabilizator napięcia. Najpierw 3,3V, potem spróbowałem 5V. W każdym razie w aukcji było podane, że działa pomiędzy



3,3V a 6V, z kolei napis na PCB mówi, że dolna granica napięcia to 3,6V.

Moduł podłączyłem do komputera przez max3232. Parametry transmisji to



9600 bps, 8 bit, 1 bit stopu, brak parzystości. Terminal ruszył od kopa. AT daje OK, mogę włączać i wyłączać echo i result cody. Problem zaczyna się, gdy chcę zrobić coś więcej...

ATN? ERROR



ATN=NOWA_NAZWA ERROR



ATR? ERROR



ATR1 ERROR



ATR0 ERROR



ATP? ERROR



ATP=1111 ERROR



I tak dalej. Czerwona dioda na module cały czas miga. W otoczeniu bluetooth pojawiło się nowe urządzenie o nazwie HC-06. Przy pomocy SENA BTerm udało mi się nawet niby zestawić połączenie (dioda na module świeci wtedy ciągle) ale nie udaje mi się przesłać żadnych znaków.



Robię coś źle czy trafił mi się wadliwy moduł?


Upewnij się jaka sekwencja jest wysyłana jako "enter" \r\n czy \n . Btm222 wyrzucal mi ERROR gdy polecenia kończone były \r\n, akceptuje tylko \r.

W dniu 2013-10-27 23:51, Marek pisze:

Wysy³am tylko \r, sprawdzi³em warto¶ci znaków zwracanych przez echo. Odpowiedzi modu³u koñcz± siê \r\n. A dzia³aæ nie chce, sypie b³êdami...

Być może firmware.jaki masz w module nie jest kompatybilny z poleceniami/dokumentacją jaką się posiłkujesz. Tak czy siak powinieneś z nim się połączyć zestawiajac połączenie od strony hosta (np. telefonu) wykonując na hoście funkcje connect() z tym urządzeniem (nie wiem jaki system/api masz na hoście więc piszę ogólnie).

W dniu 2013-10-28 16:31, Marek pisze:

Hmm... Też o tym myślałem. Próbowałem kilku innych znanych mi formatów komend AT (AT+pierwsza litera polecenia, AT+POLECENIE, AT*pierwsza litera polecenia, AT+POLECENIE) ale bez żadnego efektu.

Trochę dziwi mnie to, że w przypadku wysłania samej komendy, bez argumentu (albo pytajnika) dostaję OK.

Próbowałem też łączenia od strony hosta. Najpierw eksperymentowałem z terminalem BT na androidowym smartfonie. Wykryło moduł i niby połączenie zostało nawiązane (doda zaczęła świecić ciągłym światłem) ale nie miałem możliwości przesyłania żadnych znaków. To znaczy symbole wklepywane na smartfonie nie pojawiały się na Bray Terminalu obsługującym moduł (i odwrotnie).

Taki sam efekt miało połączenie zainicjowane z netbooka, za pomocą PuTTY.

A może po prostu jeszcze jakaś inna czynność jest potrzebna do przesyłania danych i nie od razu po nawiązaniu połączenia moduł staje się przezroczysty?

W btm-222 nie trzeba żadnych komend AT aby się połączyć pod warunkiem, że moduł jest slave czyli połączenie inicjuje host (fabryczne ustawienie modulu). Po connect() na hoscie po stronie TX modulu (od strony mcu) moduł wysyła string CONNECT i staje się przezroczysty. Może ten Twój moduł jest przełączony w tryb master i to on musi nawiązywać połączenie (jest do tego komenda AT) Jeśli na uarcie było

9600 to trochę dziwne bo fabrycznie moduły z tej serii BT-* ustawiane są na 19200, skoro jest 9600 to coś było przestawiane.

W dniu 2013-10-28 17:02, Marek pisze:

Nic takiego się nie dzieje...

Ustawiłem 9600, bo taka prędkość była podana w opisie aukcji na której go kupiłem. Okazuje się jednak, że jest jeszcze dziwniej - nieważne jaką prędkość ustawę w terminalu, moduł i tak dogada się z komputerem.

Pewnie narzędzie przez które się łączysz ignoruje Twoje ustawienie prędkości i robi autobaud do modulu Z tego co jest w dokumentacji do tego modulu nie ma on (oficjalnie) autobaud więc robi to druga strona. Zresetuj moduł do ustawień fabrycznych, przyjmuje ATZ0?

W dniu 2013-10-28 18:27, Marek pisze:

I tak i nie. Próba wpisania ATZ0 albo ATZ1 zwraca komunikat "OK", ale absolutnie nic się nie zmienia.

ATI0 wyświetla informację na temat firmware'u: "Lucent SoftModem Version 3.1.92.1"

ATI1 i ATI2 dają jedynie "OK", bez żadnej informacji.

Coś jeszcze mogę sprawdzić, czy może na tym etapie mogę już spokojnie uznać, że trafił mi się uszkodzony moduł?

Atlantis snipped-for-privacy@wp.pl napisał(a):

Mam bardzo idiotyczną myśl, że pomyliłeś porty COM i wcale nie gadasz z BTM, tylko ze swoim modemem. Tłumaczyłoby to niedziałające komendy oraz nieistotność prędkości transmisji.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required