Zostań w domu, zamów taniej!
Nie wychodź z domu i zamów online swoje ulubione pisma 20% taniej. Skorzystaj z kodu rabatowego: czytajwdomu

Moduł XBee Bluetooth BLE4.1

Moduł XBee Bluetooth BLE4.1
Pobierz PDF Download icon

Prezentowany moduł Wireless-Tag WT51822-S4AT jest jednym z najmniejszych i łatwiejszych w aplikacji rozwiązań komunikacyjnych BLE4.1. Wyposażony jest w układ Nordic nRF51822 i dzięki niewielkim rozmiarom (18,5×9,1×2 mm), małej ilości niezbędnych do pracy elementów zewnętrznych oraz szybkiej konfiguracji jest ciekawą alternatywą dla tanich, słabo udokumentowanych modułów lub rozbudowanych modułów renomowanych producentów, które w prostszych aplikacjach nie wykorzystują nawet części swoich możliwości.

Podstawowe parametry:
  • konwerter UART-Bluetooth 4.1,
  • domyślne parametry transmisji 9600,8,N,1,
  • konfiguracja przy pomocy komend AT,
  • zasilany napięciem 3,3 V.

Płytka rozszerza zestaw opisanych w EP rozwiązań komunikacyjnych zachowujących zgodność z podstawką XBee. Zastosowany moduł WT51822-S4AT, którego wygląd pokazano na fotografii 1, odpowiada za realizację transmisji szeregowej UART z wykorzystaniem BLE4.1. Można śmiało nazwać go „radiowym” odpowiednikiem konwerterów UART/USB produkcji FTDI.

Fotografia 1. Moduł WT51822-S4AT (za notą Wireles-tag)

Dzięki zastosowaniu WT51822-S4AT, w łatwy sposób można zwiększyć funkcjonalność istniejącego projektu, opartego o procesor bez komunikacji radiowej o monitorowanie lub sterowanie poprzez Bluetooth, wprowadzając aplikację w świat IoT i to dosłownie w ciągu kilku minut!

Budowa i działanie

Schemat układu pokazano na rysunku 1. Moduł WT51822-S4AT zasilany jest napięciem 3,3 V z podstawki zgodnej z Xbee. Interfejs UART, dodatkowo oprócz złącza Xbee, razem z zasilaniem wyprowadzony jest na złącze PH UART, co ułatwia zastosowanie w systemach pozbawionych podstawki XBee. Bramka U1 buforuje sygnał przerwania generowany przez M1 po odebraniu danych.

Rysunek 1. Schemat elektryczny układu

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. Sprawdzenie działania modułu może więc odbyć się przy wykorzystaniu terminala szeregowego Bluetooth, bez napisania linijki kodu. Sygnał EN aktywuje UART modułu M1.

Do wyprowadzeń XBee oprócz sygnałów DIN/DOUT doprowadzone są sygnały EN i RES.

Montaż

Układ zmontowany jest na dwustronnej płytce drukowanej, której schemat i rozmieszczenie elementów pokazano na rysunku 2. Montaż modułu nie wymaga opisu, po zmontowaniu wygląda jak na fotografii tytułowej.

Rysunek 2. Schemat płytki PCB wraz z rozmieszczeniem elementów

Uruchomienie

Do uruchomienia modułu przydatny będzie konwerter XBee-PC (AVT5513), po zamontowaniu modułu XBee Bluetooth w płytkę XBee-PC, możemy podłączyć ją do komputera PC. Następnie należy uruchomić terminal komunikacji szeregowej np.: Tera Term lub inny umożliwiający wysyłanie komend AT wykorzystywanych do konfiguracji modułu. Domyślnie WT51822-S4AT ma ustawione parametry transmisji 9600,8,N,1 i tak należy skonfigurować terminal.

Podstawową komendą jest odczyt parametrów modułu AT+RX, który zwraca nazwę, prędkość transmisji oraz adres MAC, natomiast komenda AT+VERSION zwraca wersję modułu. Każda komenda AT wysłana do modułu wymaga zakończenia \r. Aby zmienić nazwę (maksymalnie 20 bajtów) wydajemy komendę AT+NAME=NowaNazwaModułu, jeżeli operacja przebiegnie poprawnie otrzymamy potwierdzenie OK. Od tego momentu moduł gotowy jest do pracy.

Rysunek 3. Konfiguracja modułu w programie Tera Term

Przebieg konfiguracji w Tera Term przedstawiono na rysunku 3. Moduł obsługuje prędkości transmisji pomiędzy 1200-230400 bps, producent jednak nie zaleca ustawiania większej niż 57600 bps ze względu na możliwe przekłamania w transmisji. 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 zgodnie z dokumentacją. Komenda AT+RESET restartuje moduł, a AT+DEFAULT przywraca ustawienia domyślne.

Po konfiguracji moduł gotowy jest do sparowania. Do tego celu użyjemy smartfona z systemem Android i zainstalowanym monitorem portu szeregowego Bluetooth. W moim przypadku jest to Serial Bluetooth Terminal 1.29 dostępny w sklepie Google Play, którego autorem jest Kai Morich.

Rysunek 4. Wyszukiwanie urządzeń BT

Pierwszą czynnością jest włączenie interfejsu Bluetooth w smartfonie, następnie w aplikacji terminala należy zeskanować dostępne urządzenia (rysunek 4). Na liście dostępnych modułów znajduje się także ATWT01, dla którego należy zdefiniować profile usług. Konfiguracji dokonujemy poprzez wybór i przytrzymanie nazwy modułu ATWT01, co wywoła opcje Connect i Edit. Należy zdefiniować profile (Edit) zgodnie z rysunkiem 5.

Rysunek 5. Definiowanie UUID

Następnie łączymy się z modułem (Connect), co potwierdzone zostanie także w okienku terminala. Od tego momentu można sprawdzić komunikację pomiędzy modułem XBee Bluetooth podłączonym do PC, a terminalem BLE w smartfonie (rysunek 6).

Rysunek 6. Transmisja testowa z terminalem

Dla bardziej użytecznego wykorzystania WT51822, podłączymy go do portu szeregowego Arduino MKR Zero (sygnały i zasilanie w standardzie 3,3 V), do magistrali I2C podłączymy czujnik temperatury i wilgotności AM2320. Wyprowadzenia czujnika AM2320 pokazuje rysunek 7.

Rysunek 7. Czujnik AM2320

Konieczne jest podwieszenie magistrali I2C rezystorami 2,2 kΩ i odsprzęgnięcie zasilania kondensatorem 100 nF. Po wgraniu szkicu z listingu 1 i nawiązaniu połączenia w terminalu szeregowym BLE, co 5 sekund będzie odczytywana wartość zmierzonej temperatury i wilgotności (rysunek 8).

Listing 1. Przykładowy szkic w Arduino

#include „Adafruit_Sensor.h”
#include „Adafruit_AM2320.h”

Adafruit_AM2320 am2320 = Adafruit_AM2320();

void setup() {
Serial1.begin(9600);
while (!Serial1) {
delay(100);
}
Serial1.println(„AM2320 RHT Test”);
am2320.begin();
}

void loop() {
Serial1.print(„T: „); Serial1.print(am2320.readTemperature());
Serial1.print(„ H: „); Serial1.println(am2320.readHumidity());
delay(5000);
}
Rysunek 8. Działanie aplikacji przykładowej

Z pewnością udało się zmieścić w kilku minutach. Jak dobrze, że dzisiaj dostępne są tak zaawansowane technicznie, a jednocześnie tak proste w zastosowaniu podzespoły. Powodzenia w tworzeniu własnych aplikacji z modułem XBee Bluetooth.

Adam Tatuś
adam.tatus@ep.com.pl

Wykaz elementów:
Rezystory:
  • R1, R2, R4: 47 kΩ SMD0805
  • R3: 4,7 kΩ SMD0805
Kondensatory:
  • C1: 10 μF/10 V SMD0805
  • C2: 100 nF SMD0805
Półprzewodniki:
  • M1: Moduł BT WT51822-S4AT
  • U1: SN74LVC1G125DBV SOT-23-5
Inne:
  • RM: Podstawka XBee 2×10 pin SIL 2 mm
  • TEST: Listwa SIP2 + zwora
  • UART: Złącze PH 4 pin 2 mm
Artykuł ukazał się w
Elektronika Praktyczna
marzec 2020
DO POBRANIA
Pobierz PDF Download icon

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik luty 2021

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio marzec 2021

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka Podzespoły Aplikacje luty 2021

Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna luty 2021

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich luty - marzec 2021

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów