RF1100-232 RF 433MHz Transceiver

Trudno znaleźć w internecie przydatne szczegółowe informacje na temat tego modułu. Jedyną informacją, był dokument tabeli poleceń, która poza tym jest dostępna tylko w języku chińskim. Szkoda, ponieważ ten moduł to bardzo przydatna technologia.

Postanowiłem więc na tej stronie zebrać wszystkie informacje, które znalazłem w nadziei, że przydadzą się one innym, którzy również myślą o korzystaniu z tego modułu.

Wygląd modułu:

To jest wersja anteny helikalnej. Jest również dostępny ze złączem SMA.
Wymiary to 41mm x 21mm (bez anteny i złącza SMA).

Nowsze moduły, są teraz oznaczone jako TLC1101V1-5V i mają nieco inny układ PCB; przede wszystkim piny ISP obok dużego kwarcu nie jest już ułożony w ładnej matrycy 2×3, a piny Sleep i Reset są odwrócone. Funkcjonalność wydaje się być dokładnie taka sama, a moja aplikacja konfiguratora działa dobrze z tymi modułami. Wyglądają teraz tak:

Co to robi?

Moduł umożliwia bezprzewodową transmisję danych portu szeregowego. Złącza modułu to port szeregowy na poziomie TTL (5Volt) i zasilacz 5V dla modułu.

Moduł będzie przesyłał bezprzewodowo dane, które odbiera na linii wejściowej Rx. Dane odebrane przez moduł zostaną wysłane linią Tx.

Moduł obsługuje szybkości transmisji 4800, 9600 i 19200 bit/s. Można wybrać 256 pojedynczych kanałów.

Teraz naprawdę interesującą częścią jest to, że ten moduł obsługuje również transmisję punkt-wielopunkt. Oznacza to, że gdy jeden moduł przesyła dane, wszystkie inne moduły, które są na tym samym kanale iw zasięgu, otrzymają te same dane.

Znane problemy

  • Tryb uśpienia nie jest zaimplementowany, tzn. pin Sleep nic nie robi
  • Niektóre z modułów od czasu do czasu „zapominają” o niektórych ustawieniach

Podłączanie modułu RF1100-232

Moduł wymaga zasilania 5 volt. Podłącz GND zasilacza do styku GND w module, a napięcie 5 V zasilacza do styku Vcc w module.

Port szeregowy w module jest portem poziomu TTL. Oznacza to, że używa poziomów 0 volt i 5 volt. Wydaje się również, że działa dobrze z poziomami 3,3 V. Nie podłączaj portu szeregowego w module do normalnego portu COM, który wykorzystuje poziomy RS232! Te porty COM wykorzystują poziomy do +-15 V i mogą uszkodzić moduł!

Jeśli używasz konwertera USB na port szeregowy, upewnij się, że używasz takiego z poziomami TTL. Moduł działa również dobrze po podłączeniu do portu szeregowego poziomu TTL w Arduino.

Poniższy rysunek przedstawia moduł RF1100-232 podłączony do konwertera FTDI USB na szeregowy. Pamiętaj, że musisz połączyć Tx z jednej strony z Rx z drugiej strony i odwrotnie.

To właściwie wszystko, czego potrzebujesz do „stacji bazowej”, która łączy się z komputerem przez USB. Zasilamy ją z portu USB.

RF1100-232 tabela komend

Ustaw szybkość transmisji portu szeregowego

TekstKomendaPrędkośćOpis
Długość2 bytes1 byte0x01: 4800
Formathexhex0x02: 9600
Ustawienie0xA3, 0x3A0x01/0x02/0x030x03: 19200


Przykład: wysłanie 0xA3, 0x3A, 0x03 do modułu ustawia szybkość transmisji portu szeregowego na 19200.

Ustaw szybkość komunikacji w kanale (nieobsługiwane/nie wdrożone zgodnie ze znalezionymi przeze mnie dokumentami)

TekstKomendaSzybkość kanałuOpis
Długość2 bytes1 byte 
Formathexhex 
Ustawienie0xA5, 0x5A0x64 

Ustawianie kanału

TekstKomendaNumer kanałuOpis
Długość2 bytes1 byteNumer kanału od
Formathexhex0x00 – 0xFF
Ustawienie0xA7, 0x7A0x00-0xFF(256 kanałów)


Przykład: wysłanie 0xA7, 0x7A, 0x10 do modułu ustawia kanał na 16 (0x10 hex).

Ustawienie ID modułu

TekstKomendaIDOpis
Długość2 bytes2 bytes2 bytes ID
Formathexhex0x0000 to 0xFFFF
Ustawienie0xA9, 0x9A0xFF, 0xFF 


Przykład: wysłanie 0xA9, 0x9A, 0x00, 0xFF do modułu ustawia ID modułu na 255 (0x00FF hex).

Ustawianie mocy nadajnika

TextKomendaMoc nadajnikDescription
Długość2 bytes1 bytetransmit power (dbm)
Formathexhex0x00, 0x05, 0x07
Ustawienie0xAB, 0xBA0x00/0x05/0x07/0x0Aor 0x0A (10 decimal)


Przykład: wysłanie 0xAB, 0xBA, 0x0A do modułu ustawia moc TX na 10dbm.

Odczyt ustawień z transceivera

TekstKomendaOdczytane dane
Długość2 bytes1 byte1 byte1 byte1 byte1 byte2 bytes
Formathexhexhexhexhexhexhex
Ustawienie0xA6, 0x6A0xA6ChannelChannel RateBaud ratePowerModule ID

Przykład: wysłanie 0xA6, 0x6A do modułu zwraca następujące dane zawierające aktualną konfigurację modułu:

0xA6, 0x10, 0x64, 0x03, 0x0A, 0x00, 0xFF

0xA6 — początek zrzutu konfiguracji
0x10 – Numer kanału 16 (0x10 hex)
0x64 – Szybkość kanału (stała)
0x03 – 19200 bodów
0x0A – 10 dbm Moc TX
0x00, 0xFF – 2-bajtowy identyfikator modułu

W przeciwieństwie do bardziej znanych poleceń AT, polecenia te muszą być wysyłane jako binarne, a nie jako tekst ASCII. Nie możesz więc po prostu użyć dowolnego standardowego programu terminalowego.

Aplikacja do programowania modułu:

Jest to mały program, który pozwala skonfigurować moduł RF1100-232 za pomocą kilku kliknięć myszką. Można również monitorować komunikację szeregową w hex lub ASCII i przesyłać dane do modułu; również w hex lub ASCII. Link do pobrania znajduje się na dole tej strony.

Oto jak wygląda interfejs:

1 – Wprowadź nazwę portu COM, do którego podłączony jest moduł RF1100-232.
2 – Wybierz prędkość portu szeregowego, na którą aktualnie jest ustawiony moduł. Możesz wybrać 3 prędkości obsługiwane przez moduł (4800, 9600 i 19200) z listy rozwijanej lub wpisać dowolną prędkość w polu tekstowym.
3 – Przyciski Otwórz i Zamknij otwierają lub zamykają port COM. Jeśli zmieniłeś ustawienie w grupie portów COM (nazwę portu COM lub szybkość) i chcesz zastosować to ustawienie, po prostu kliknij ponownie Otwórz. Spowoduje to najpierw zamknięcie portu COM, jeśli był otwarty, a następnie otworzenie go z nowymi ustawieniami.
4 – To pole wyboru wskazuje, czy port COM jest aktualnie otwarty (zaznaczony) czy zamknięty (niezaznaczony). To jest tylko informacja, nie możesz kliknąć pola wyboru.
5 – To pole tekstowe wyświetli wszystko, co zostało wysłane z aplikacji do modułu, albo surowe dane, albo polecenia konfiguracyjne.
6 – To pole tekstowe pokaże dane odebrane przez moduł. Obejmuje to wszelkie dane przesyłane między dowolnymi innymi modułami na tym samym kanale iw zasięgu. Dzięki temu ten program może być używany jako sniffer danych do rozwiązywania problemów z komunikacją między innymi modułami.
7 – Przycisk Wyczyść czyści dane w obu polach tekstowych.
8 – Gdy to pole wyboru jest zaznaczone, pole tekstowe Odbierz pokaże tylko odpowiedzi modułu na polecenia konfiguracyjne, a nie inne odebrane dane. Może to być przydatne, gdy w powietrzu panuje duży ruch.
9 – Tutaj możesz wybrać, czy chcesz wysłać surowe dane do modułu w formacie szesnastkowym czy ASCII. Ta opcja wpływa również na sposób wyświetlania wszelkich odebranych danych w polu tekstowym Odebrane (6).
10 – Tutaj wprowadź dane, które mają zostać wysłane do modułu. Gdy (9) jest w trybie szesnastkowym, możesz wprowadzać tylko pary cyfr szesnastkowych (0-9, A-F), każda para reprezentuje 1 bajt. W przypadku wystąpienia błędu w polu tekstowym (nieparzysta liczba cyfr lub cyfr nieszesnastkowych), tło pola tekstowego zmieni kolor na czerwony, a przycisk Wyślij zostanie dezaktywowany. Dane zostaną przesłane do modułu w formacie binarnym. W trybie ASCII nie ma ograniczeń co do tekstu, który można wprowadzić. Dane zostaną przesłane do modułu jako tekst zakodowany w ASCII.
11 – Kliknięcie przycisku Wyślij wysyła wprowadzone dane do modułu w formacie binarnym lub ASCII.
12 – Tutaj możesz skonfigurować moduł i wysyłać indywidualnie polecenia konfiguracyjne. Wybierz prędkość portu szeregowego (4800, 9600 lub 19200), numer kanału (0 – 255), ID modułu (0 – 65535) lub moc TX (0, 5, 7 lub 10 dbm). Następnie kliknij odpowiedni przycisk Ustaw, aby wysłać polecenie. Jeśli ustawisz prędkość portu szeregowego modułu, port COM zostanie automatycznie ustawiony na nową prędkość. Pola tekstowe Channel i Module ID automatycznie sprawdzają poprawność wprowadzonych wartości podczas wpisywania. W przypadku błędu tło pola tekstowego zmieni kolor na czerwony. Jeśli wszystko jest w porządku, tło zmieni się na jasnozielone. (patrz zrzuty ekranu powyżej i poniżej)
13 – Ten przycisk umożliwia odczytanie bieżącej konfiguracji z modułu. Wyniki zostaną umieszczone w polach parametrów powyżej (12).

Poniżej znajduje się zrzut ekranu przedstawiający nieprawidłowe dane w 2 polach tekstowych. Pole tekstowe (10) ma nieparzystą liczbę cyfr, a pole tekstowe Kanał ma nieprawidłowy znak.

Dziennik zmian

V1.0 – 28.02.2012
Pierwsze wydanie.

V1.1 – 01.08.2012
Identyfikator kanału i modułu można teraz również wprowadzić w formacie szesnastkowym z prefiksem 0x, jak pokazano na tym zrzucie ekranu. Bez prefiksu 0x liczba jest interpretowana jako dziesiętna.

Pobierać

To oprogramowanie jest dostarczane jako darmowe.
Oczywiście obowiązuje zwykłe wyłączenie odpowiedzialności. To oprogramowanie jest dostarczane w stanie, w jakim jest, bez żadnych gwarancji. Innymi słowy, nie ponoszę odpowiedzialności za złamanie lub uszkodzenie czegokolwiek za pomocą tego oprogramowania. Używaj go na własne ryzyko.

Aby uruchomić to oprogramowanie, musisz mieć zainstalowany Microsoft .NET 4.0.

Link do programu:

Artykuł na podstawie strony:

http://www.yesyes.info/index.php/electronics/rf1100-232-rf-433mhz-transceiver-module/