Moduł BLE4.1 dla RPi Pico

Moduł BLE4.1 dla RPi Pico

Zaprezentowany moduł uzupełnia funkcjonalność płytki Pi Pico o możliwość komunikacji bezprzewodowej z użyciem układu Wireless-Tag WT51822-S4AT, który jest jednym z najmniejszych i łatwiejszych w aplikacji rozwiązań komunikacyjnych BLE4.1. Zastosowano w nim mikrokontroler Nordic nRF51822, który wymaga niewielu elementów dodatkowych, a zaimplementowane gotowe oprogramowanie pozwala na szybkie uruchomienie aplikacji.

Podstawowe parametry:
  • zawiera moduł radiowy Wireless-Tag WT51822-S4AT z mikrokontrolerem Nordic nRF51822,
  • nie jest wymagana antena, ponieważ tę funkcję pełni odpowiednio zaprojektowana ścieżka na płytce,
  • działa jak radiowy tor UART,
  • łatwa konfiguracja,
  • przystosowany do płytki Raspberry Pi Pico.

Mikrokontroler nRF51822 wraz z niezbędnymi elementami znajduje się na małej płytce o wymiarach 18,5×9,1×2 mm, którą należy zamontować w docelowym urządzeniu. W naszym przypadku będzie to płytka modułu rozszerzającego dopasowania do Pi Pico. Nie jest wymagana nawet dodatkowa antena, ponieważ tę rolę pełni odpowiednio zaprojektowana ścieżka na płytce mikrokontrolera. Niewątpliwą zaletą rozwiązania jest też łatwa i szybka konfiguracja. Takie rozwiązanie to dobra alternatywa dla tanich, słabo udokumentowanych rozwiązań lub rozbudowanych modułów renomowanych producentów, które w prostszych aplikacjach nie zawierają nawet części swoich możliwości.

Budowa i działanie

Moduł radiowy WT51822-S4AT, którego wygląd został pokazany na fotografii 1, odpowiada za realizację transmisji szeregowej UART z zastosowaniem BLE4.1. Można śmiało nazwać go „radiowym” odpowiednikiem konwerterów UART/USB od FTDI. Dzięki jego zastosowaniu, można w łatwy sposób zwiększyć funkcjonalność istniejącego projektu, bazującego na procesorze RP2040 o monitorowanie lub sterowanie poprzez Bluetooth, wprowadzając aplikację w świat IoT i to dosłownie w ciągu kilku minut.

Rysunek 1. Schemat modułu BLE4.1 dla RPi Pico

Schemat modułu dla RPi Pico został pokazany na rysunku 1. Moduł radiowy WT51822-S4AT oznaczony jako RM, jest zasilany napięciem 3,3 V ze stabilizatora wbudowanego w Pico. Komunikacja odbywa się przez UART dostępny na wyprowadzeniach GPIO8 i 9. Dodatkowo do modemu podłączone są sygnały sterujące RES (RESET) GPIO22 restartujący modem, EN (ENABLE) GPIO21 aktywujący UART oraz sygnał generowanego przerwania po odebraniu znaku INT GPIO20. Zwora TEST służy do szybkiego przetestowania modułu, który w trybie tym niezwłocznie odsyła odebrane dane do sparowanego urządzenia, czyli realizuje funkcję loop-back, ale korzystając z interfejsu radiowego BLE – bez konieczności sterowania przez UART.

Montaż i uruchomienie

Układ zmontowany jest na dwustronnej płytce drukowanej, której schemat został pokazany na rysunku 2. Montaż nie wymaga szczegółowego opisu, finalnie urządzenie wygląda jak na fotografii tytułowej.

Rysunek 2. Schemat płytki PCB

Do sprawdzenia modułu przydatny będzie telefon z zainstalowanym programem Serial Bluetooth Terminal dostępnym w sklepie Google Play, którego autorem jest Kai Morich. Skrypt testowy został pokazany na listingu 1.

Listing 1. Skrypt testowy

from machine import UART, Pin
import time
from time import sleep

RES = Pin(22, Pin.OUT)
EN = Pin(21, Pin.OUT)
INT = Pin(20, Pin.IN)

RES.value(1)
EN.value(1)

uart0 = UART(1, baudrate=9600, tx=Pin(8), rx=Pin(9))
b = None

while True:
sleep(1)
if uart0.any():
txData = b’PicoBleUART_TX\n\r’
uart0.write(txData)
b = uart0.readline()
print(b)

Po podłączeniu płytki do Pi Pico i uruchomieniu środowiska Thonny w terminalu musimy sparować modem WT51822, korzystając z jego fabrycznych ustawień. Pierwszą czynnością jest włączenie interfejsu Bluetooth w smartfonie, następnie w aplikacji terminala należy zeskanować dostępne urządzenia, co zostało pokazany na rysunku 3.

Rysunek 3. Wyszukiwanie urządzeń

W liście dostępnych modułów powinien znaleźć się WT-0001 dla którego należy zdefiniować profile usług. Konfiguracji dokonujemy poprzez wybór i przytrzymanie nazwy modułu WT-0001, co wywoła opcje Connect i Edit. Należy zdefiniować profile (Edit) zgodnie z rysunkiem 4. Następnie łączymy się z modułem (Connect), prawidłowe połączenie prezentuje rysunek 5, potwierdzone zostaje ono także w okienku terminala. W środowisku Thonny uruchamiamy skrypt BLEconf.py, który po odebraniu każdego znaku z terminala potwierdzi to odesłaniem tekstu PicoBleUART_TX, co potwierdza poprawne działanie modułu.

Rysunek 4. Definiowanie UUID
Rysunek 5. Połączenie modułu

Modem może zostać skonfigurowany przy użyciu komend AT, Domyślnie WT51822-S4AT ma ustawione parametry transmisji 9600, 8, N, 1 i tak należy skonfigurować UART. Podstawową komendą jest odczyt parametrów modułu AT+RX, który zwraca nazwę, prędkość transmisji oraz adres MAC, komenda AT+VERSION zwraca wersję modułu.

Fotografia 1. Moduł radiowy WT51822-S4AT

Każda komenda AT wysłana do modułu wymaga zakończenia znakiem końca linii CR, często pisanym jako \r. Aby zmienić nazwę wydajemy komendę AT+NAME=NowaNazwaModułu, jeżeli operacja przebiegnie poprawnie otrzymamy potwierdzenie OK. Komendą AT+BAUD=xxxx można ustawić wymaganą prędkość transmisji. Jeżeli nie jest wymagana pełna moc nadajnika możemy dostosować ją do wymogów aplikacji (zasięgu) komendą AT+RFPM=x gdzie x = 0...8 ustawia moc +4 dBm do –40 dBm. Komenda AT+RESET restartuje moduł, a AT+DEFAULT przywraca ustawienia domyślne. Szczegółowy opis komend znajduje się w dokumentacji modułu.

Adam Tatuś, EP

Wykaz elementów:
Rezystory: (SMD0603)
  • R1, R2, R3: 47 kΩ
Kondensatory: (SMD0603)
  • C1: 10 μF ceramiczny
  • C2: 0,1 μF ceramiczny
Półprzewodniki:
  • RM: WT51822-S4AT (WT51822-S4AT) Moduł BLE
Pozostałe:
  • M1: PiPico (PIPICO) złącze żeńskie 1×20
  • TEST: listwa SIP2 2 mm + zwora
Artykuł ukazał się w
Elektronika Praktyczna
czerwiec 2022
DO POBRANIA
Materiały dodatkowe

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik kwiecień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Automatyka, Podzespoły, Aplikacje kwiecień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna kwiecień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich maj 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów