Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

BTM800 - Moduł Bluetooth 4.0 BTM 800 firmy Rayson - opinie, doświadczenie

27 Mar 2015 11:22 2457 10

  • Poziom 17  
    Czy ktoś z szanownych forumowiczów miał doświadczenie z modułem Bluetooth Low Energy (BLE) BTM-800 firmy Rayson? Czy może się podzielić doświadczeniem i wrażeniami?
    Próbuję coś znaleźć na ten temat w internecie, ale niestety wygląda to jakby nikt nigdy na ten temat nic nie pisał. Z dokumentacją też skąpo.
    Czyżby nikt się nim nie bawił jeszcze?

    Dostałem płytkę z tym modułem zaprojektowaną przez kogoś. Schemat z modułem wygląda OK (tak jak proponują w datasheet), natomiast próbuję wysłać coś po UART do tego modułu (np. komendę AT "AT\r"), to otrzymuję od niego stringa "ERROR" lub nic nie otrzymuję. Dodatkowo nie jest widoczny w eterze (nie rozgłasza się).

    Umie ktoś coś pomóc?
    Czy nowy moduł ma w ogóle wgrany już jakiś firmware pozwalający na korzystanie z tego modułu?
    Darmowe szkolenie: Ethernet w przemyśle dziś i jutro. Zarejestruj się za darmo.
  • Poziom 16  
    Mam inny moduł tej firmy (HC-05) i w nim komendy AT powinny się kończyć znakami /r/n, czyli prawidłowa komenda AT powinna wyglądać tak: "AT/r/n". W innym wypadku moduł zwraca stringa ERROR(0). Myślę, że w twoim module będzie podobnie. Moduł nie będzie widoczny w eterze jeśli jest w trybie komend AT.
  • Poziom 9  
    Także mam problem z tym modułem. Po pierwsze, po włączeniu zasilania moduł jest widoczny w eterze, ale tylko na najnowszych telefonach (tabety, komputery odpadają). Po drugie uart działa na prędkości 2400, a na wszystko co wyślę z terminala dostaję odpowiedź ERROR (niezależnie od zakończenia /r czy /r/n). Po trzecie widoczność w eterze oraz odpowiedzi w terminalu działają jedynie przez kilkadziesiąt sekund od włączenia zasilania. Potem moduł prawdopodobnie przechodzi w stan uśpienia.
  • Poziom 34  
    BTM800 jest modułem Bluetooth Low Energy. Jeśli ma włączone rozgłaszanie to będzie widoczny przez wszystkie urządzenia obsługujące standard BT4.0. Nie ma znaczenia czy jest to smartfon, tablet czy PC.
    Komunikacja przez BLE w niczym nie przypomina przesyłania danych przez profil SPP (port szeregowy przez Bluetooth). Z tego powodu wiele osób ma problemy z opanowaniem tego standardu.
  • Poziom 34  
    W uproszczeniu urządzenia BLE można podzielić na dwie grupy:
    - pracujące w trybie rozgłaszania
    - pracujące w trybie skanowania
    Pierwsza grupa może pobierać znikomo mały prąd rzędu kilkudziesięciu uA. Należą do niej iBeacony i różnego rodzaju czujniki zasilane z baterii. Okresowo zwykle co 1..3 sek. wysyłają krótką ramkę rozgłoszeniową zawierającą podstawowe informacje o urządzeniu. Mogą być do niej dodane również inne dane np. wyniki pomiaru temperatury
    Druga grupa urządzeń pobiera zdecydowane większy prąd rzędu 16-20mA. Klasycznymi przedstawicielami tej grupy są smatfony. Odbierają one ramki rozgłoszeniowe. Mogą one wykorzystać dane zawarte w tych ramkach. Np. wyświetlić temperaturę lub odtworzyć treść multimedialną związaną z daną lokalizacją (miejsca oznaczonego iBeaconem o określonym identyfikatorze).
    Smartfon może też nawiązać połączenie z urządzeniem rozgłaszającym się. Zwykle to urządzenie udostępnia pewien zestaw tzw. charakterystyk. Jest to coś co można porównać z zestawem rejestrów procesora. Każda charakterystyka ma swój identyfikatory UUID. Porównując do procesora jest to coś podobnego do adresu rejestru.
    Do i z danej charakterystyki można zapisać/odczytać wartość (ciąg bajtów).
    Znaczenie części charakterystyk jest zdefiniowane w standardzie BT. Zawierają one np. nazwę urządzenia, poziom mocy nadajnika, napięcie baterii itp. Inne są specyficzne tylko dla danego produktu.
    Moduł BTM-800 może praktycznie działać jako dowolne urządzenie BLE. Jego zachowanie determinuje jednak firmware jaki został do niego wpisany. Dostępne są moduły z bardzo różnym oprogramowaniem. Jedne są przystosowane do pracy np. jako czujnik przyspieszenia a inne np. jako urządzenie skanujące z interfejsem UART.
    Jeśli chodzi o obsługę BLE w PC z systemem Windows to pełna funkcjonalność jest dostępna dopiero w Win10. Aplikacja może odbierać ramki rozgłoszeniowe (również w tle), połączyć się z danym urządzeniem, zapisywać/odczytywać charakterystyki, odbierać notyfikacje i indykacje. Może też włączyć tryb rozgłaszania (również w tle).
  • Poziom 21  
    Ten nasz moduł przedstawia się:
    "RAYSON PRX
    Ver 1.4
    0x00126f85c414
    Ready."
    Po czym niestety ale nie akceptuje żadnych poleceń typu AT, *at+ itd.
  • Poziom 34  
    Tak jak już napisałem o funkcjonalności modułu decyduje firmware jaki został do niego wpisany. Może masz moduł tylko z jakimś testowym oprogramowaniem. Rozgłasza się tyle. Możesz go zastosować jako iBeacon.
  • Poziom 21  
    Czyli przy pomocy tego modułu (tego SW) ciężko będzie zrobić hosta. Urządzenie, które wyszukuje inne BT LE, pobiera od nich rozgłaszane (udostępniane) informacje?

    W takim razie jeśli nie ten moduł to jaki (z jakiej firmy) nadaje się na zbudowanie hosta?
  • Poziom 34  
    Rozumiem, że chodzi o interfejs UART. Znajdziesz takie moduły na stronach Bluegiga oraz iNode
    W przypadku BLE trudno jest zrobić efektywne sterowanie komendami AT. Z tego powodu takie w pełni uniwersalne moduły akceptują zwykle rozkazy HCI lub coś bardzo zbliżonego do HCI. Na pierwszy rzut oka ten protokół może wydawać się dość skomplikowany. Jego pełen opis zajmuje chyba kilka tysięcy stron. W rzeczywistości np. włączenie skanowania polega tylko na wysłaniu kilku bajtów. Z modułem sterowanym przez HCI teoretyczne możesz zrobić wszytko. W praktyce jednak w prosty sposób da się tylko zrealizować tylko to co nazywasz hostem. Czyli można odbierać ramki rozgłoszeniowe, nawiązywać połączenia z urządzeniami, odczytywać i zapisywać do nich dane itp.

    Tak na marginesie wyszukanie urządzeń BLE znajdujących się w zasięgu jest równoznaczne z odebraniem z nich ramek rozgłoszeniowych.
    Samo skanowane może być pasywne lub aktywne. W tym drugim przypadku host żąda od urządzenia dodatkowych danych. Czyli dodatkowych ramek rozgłoszeniowych.

  • Poziom 17  
    Nawiązując do mojego problemu (jak w temacie) i konkretnie modułu BTM800. Okazuje się, że na rynku można kupić moduły BTM800 z różnymi oprogramowaniami i dlatego układ może działać inaczej niż się tego spodziewaliśmy. Dlatego należy zadbać o to by zakupić moduł z odpowiednim firmwarem. Przykładowo jeśli chcemy robić "UARTA przez BLE" to musi to być firmware LRC V1.2. Jednakże kontaktowałem się bezpośrednio z producentem i wyczułem że te domyślne firmwarey są po prostu lipne i pozostaje pisać własne firmwarey na te moduły. Przykładowo ten firmware LRC V1.2 ma strasznie duże opóźnienia w przesyle (jakby bajty utykały na jakiś czas) i nie nadaje się do jednoczesnej komunikacji dwukierunkowej (to sam support przyznał mi mailowo). Podsumowując (tak mi się wydaje) że jeżeli chcemy zbudować coś stabilnego na tych układach, to pozostaje raczej pisanie własnego firmwareu. Prawdopodobnie dlatego też jest tak niewiele informacji na ten temat w sieci.