Aplikacja BBmobile odbiera przez Bluetooth kod napisany w języku JSON i tworzy na ekranie smartfona interfejs użytkownika, a następnie cały czas odczytuje wszelkie polecenia z ekranu smartfona i przekazuje je zwrotnie do modułu BBMagic.
Moduł, w tym zastosowaniu potrzebny w wersji BBMobile, odbiera i nadaje dane poprzez łącze Bluetooth i przesyła je przez interfejs UART. Właściwy program trzeba napisać i zaimplementować w mikrokontrolerze (np. ARM) na własnej płytce drukowanej lub w dowolnym gotowym module (np. Arduino). Do komunikacji potrzebne są tylko dwa sygnały: TxD i RxD.
Komunikacja
Wyjście interfejsu UART naszego procesora oznaczone TxD należy podłączyć do wyprowadzenia nr 19 modułu, a wejście RxD naszego procesora do wyprowadzenia nr 18 modułu. Na wyprowadzeniu 15 (oraz jego negacja na wyprowadzeniu 14) modułu BBMagic pojawia się stan zera logicznego, gdy moduł jest sparowany ze smartfonem.
Napięcie zasilania z zakresu 1,8...3,3 V można podłączyć do wyprowadzeń 7 i/lub 21 modułu, a masę do wyprowadzeń 1 i 20 i dodatkowo (nie jest to konieczne) 22. Po włączeniu zasilania moduł ustawia prędkość transmisji na 9600 bodów bez sprawdzania parzystości. Zestaw poprawnych poleceń rozpoznawanych przez moduł zależy do tego, czy jest w stanie połączenia BLE (Bluetooth), czy nie. Przed połączeniem BLE obecność modułu można sprawdzić, wysyłając komendę <hello zakończoną parą znaków \r\n. Wszystkie komendy kończymy w ten sposób (hexadecymalnie 0x0D, 0x0A). W odpowiedzi moduł powinien wysłać odpowiedź >HI zakończoną tak, jak komendy. Podstawowe informacje o tym module były podane, we wspomnianych na wstępie, wydaniach EP. Jednak moim zdaniem zabrakło opisu kilku ciekawych poleceń. Mam na myśli plecenia do tworzenia tak zwanych kontrolek – EditText, Spinner oraz ProgBar.