Moduły transceiverów RF pracujące w pasmie 433 MHz są od dawna bardzo popularne wśród hobbystów. Te tanie moduły radiowe mimo krótkiego zasięgu mają wiele zalet. Mogą być używane z prawie wszystkimi mikrokontrolerami do szerokiego zakresu zastosowań, które wymagają bezprzewodowego sterowania radiowego. W tym projekcie wykorzystamy ten moduł jednak w innym celu - do analizowania pakietów, jakie wysyłane są w eter przez inne urządzenia.
Pasmo ISM, skupione wokół częstotliwości 433,92 MHz, w rzeczywistości obejmuje kilka pasm o szerokości 1,7 MHz każde, pomiędzy 433,05 MHz a 434,79 MHz. Analiza tych sygnałów nie jest jednak prosta. Po pierwsze, gdy odbiornik nie odbiera sygnału, obwód AGC (automatycznej kontroli wzmocnienia) odbiornika jest podkręcony na maksa, więc na wyjściu danych często obserwowany może być szum. Utrudnia to faktyczne uchwycenie szybkich danych w morzu szumu za pomocą np. domowego analizatora logicznego czy karty dźwiękowej lub zwykłego oscyloskopu. Po odebraniu danych następuje około 100 milisekund ciszy radiowej, zanim AGC zwiększy wzmocnienie do maksimum. Pozwala to na wyszukanie ciszy radiowej, a następnie natychmiastowe wyszukanie danych w celu wykrycia sygnału.
Konfiguracja urządzenia
Sygnały radiowe na ogół analizuje się drogimi i złożonymi systemami. Jednakże korzystając z transceivera 433 MHz można z łatwością zestawić prosty układ do analizowania przesyłanych pakietów. Układ ten pozwala w prosty i tani sposób odbierać dowolne sygnały w tym pasmie i analizować przesyłane dane.
Przedstawiono prosty i tani Sniffer - jest idealny do testowania układów i inżynierii wstecznej większości urządzeń bezprzewodowych korzystających z transmisji 433 MHz. Jak widać - całość do działania potrzebuje jedynie Arduino z podłączonym odbiornikiem 433 MHz i interfejsem USB, który służy do komunikacji np. z komputerem.
Kod do przechwytywania sygnałów 433 MHz jest w rzeczywistości nieco zmodyfikowaną częścią biblioteki „RCSwitch” (patrz tutaj). Poniżej pokazano schemat połączeń Arduino z odbiornikiem i komputerem.
Oprócz monitora szeregowego Arduino IDE, do połączenia się z modułem wykorzystać można również np. PuTTY. Można też wykorzystać telefon lub tablet z Androidem i USB-OTG. Wystarczy zainstalować np. DroidTerm i uruchomić jego opcję „Wirtualny port szeregowy USB” (prędkość transmisji 9600).
Do przetestowania urządzenia autor skorzystał z prostego dwukanałowego pilota 433 MHz do wysyłania kodów do sniffera.
Oto szkic firmware:
Po lewej stronie znajduje się zrzut ekranu z telefonu. Procedura jest prosta: wystarczy otworzyć monitor szeregowy i ustawić prędkość transmisji na 9600. Po naciśnięciu przycisków na nadajniku zdalnego sterowania 433 MHz odebrane zostają kody RF, które powinny zostać wypisane w postaci Liczby w zapisie dziesiętnym i binarnym oraz zidentyfikowany protokół. Pierwszy wynik - z przycisku A na pilocie to liczba 2220642 i protokół 1. Dziesiętna liczba (24 bity) 2220642 = 0b001000011110001001100010.
Nawiasem mówiąc, protokół urządzeń RF 433 MHz jest dość interesujący. Warto zajrzeć pod ten link, aby uzyskać ogólne informacje: Link.
Na stronie z projektem znajdują się również oscylogramy sygnału RF przechwyconego przez zaawansowany oscyloskop cyfrowy.
Zasadniczo po naciśnięciu przycisku ta sama sekwencja jest przesyłana wiele razy, a przed powtórzeniem tej samej sekwencji występuje niewielkie opóźnienie (liczone w milisekundach). Każda sekwencja składa się z dwóch typów fal prostokątnych: dłuższego odcinka jednej fali, po której następuje krótszy przebieg fala, co reprezentuje „1” i dłuższego odcinka sygnału, po którym następuje długie wyłączenie sygnału, co oznacza „0”.
W testowanym przez autora systemie czasy różniły się mniej więcej trzykrotnie. W ten sposób możliwe jest dekodowanie przesyłanych komunikatów, jak na przykład przedstawiona liczba „001000011110001001100010” (2220642 dziesiętnie).
Podsumowanie
W ten sposób można przechwytywać i analizować sygnały z pilotów RF 433 MHz. System ten można wykorzystać do inżynierii wstecznej wielu różnych urządzeń. Można rozpocząć eksperymenty, aby stworzyć własne nadajniki radiowe, do przesyłania „replikowanych” kodów, aby bawić się twoim (lub sąsiada
) sprzętem domowym korzystającymi z sterowania 433 MHz. Oczywiście najtrudniejszą częścią jest ustalenie, w jaki sposób dane są kodowane, jednakże przechwytywanie i dekodowanie sygnałów jest pierwszym krokiem, aby móc replikować je z pomocą np. mikrokontrolera połączonego z nadajnikiem 433 MHz .
Źródło: https://www.electroschematics.com/433mhz-rf-sniffer/
Pasmo ISM, skupione wokół częstotliwości 433,92 MHz, w rzeczywistości obejmuje kilka pasm o szerokości 1,7 MHz każde, pomiędzy 433,05 MHz a 434,79 MHz. Analiza tych sygnałów nie jest jednak prosta. Po pierwsze, gdy odbiornik nie odbiera sygnału, obwód AGC (automatycznej kontroli wzmocnienia) odbiornika jest podkręcony na maksa, więc na wyjściu danych często obserwowany może być szum. Utrudnia to faktyczne uchwycenie szybkich danych w morzu szumu za pomocą np. domowego analizatora logicznego czy karty dźwiękowej lub zwykłego oscyloskopu. Po odebraniu danych następuje około 100 milisekund ciszy radiowej, zanim AGC zwiększy wzmocnienie do maksimum. Pozwala to na wyszukanie ciszy radiowej, a następnie natychmiastowe wyszukanie danych w celu wykrycia sygnału.
Konfiguracja urządzenia
Sygnały radiowe na ogół analizuje się drogimi i złożonymi systemami. Jednakże korzystając z transceivera 433 MHz można z łatwością zestawić prosty układ do analizowania przesyłanych pakietów. Układ ten pozwala w prosty i tani sposób odbierać dowolne sygnały w tym pasmie i analizować przesyłane dane.
Przedstawiono prosty i tani Sniffer - jest idealny do testowania układów i inżynierii wstecznej większości urządzeń bezprzewodowych korzystających z transmisji 433 MHz. Jak widać - całość do działania potrzebuje jedynie Arduino z podłączonym odbiornikiem 433 MHz i interfejsem USB, który służy do komunikacji np. z komputerem.
Kod do przechwytywania sygnałów 433 MHz jest w rzeczywistości nieco zmodyfikowaną częścią biblioteki „RCSwitch” (patrz tutaj). Poniżej pokazano schemat połączeń Arduino z odbiornikiem i komputerem.
Oprócz monitora szeregowego Arduino IDE, do połączenia się z modułem wykorzystać można również np. PuTTY. Można też wykorzystać telefon lub tablet z Androidem i USB-OTG. Wystarczy zainstalować np. DroidTerm i uruchomić jego opcję „Wirtualny port szeregowy USB” (prędkość transmisji 9600).
Do przetestowania urządzenia autor skorzystał z prostego dwukanałowego pilota 433 MHz do wysyłania kodów do sniffera.
Oto szkic firmware:
Code: c
Po lewej stronie znajduje się zrzut ekranu z telefonu. Procedura jest prosta: wystarczy otworzyć monitor szeregowy i ustawić prędkość transmisji na 9600. Po naciśnięciu przycisków na nadajniku zdalnego sterowania 433 MHz odebrane zostają kody RF, które powinny zostać wypisane w postaci Liczby w zapisie dziesiętnym i binarnym oraz zidentyfikowany protokół. Pierwszy wynik - z przycisku A na pilocie to liczba 2220642 i protokół 1. Dziesiętna liczba (24 bity) 2220642 = 0b001000011110001001100010.
Nawiasem mówiąc, protokół urządzeń RF 433 MHz jest dość interesujący. Warto zajrzeć pod ten link, aby uzyskać ogólne informacje: Link.
Na stronie z projektem znajdują się również oscylogramy sygnału RF przechwyconego przez zaawansowany oscyloskop cyfrowy.
Zasadniczo po naciśnięciu przycisku ta sama sekwencja jest przesyłana wiele razy, a przed powtórzeniem tej samej sekwencji występuje niewielkie opóźnienie (liczone w milisekundach). Każda sekwencja składa się z dwóch typów fal prostokątnych: dłuższego odcinka jednej fali, po której następuje krótszy przebieg fala, co reprezentuje „1” i dłuższego odcinka sygnału, po którym następuje długie wyłączenie sygnału, co oznacza „0”.
W testowanym przez autora systemie czasy różniły się mniej więcej trzykrotnie. W ten sposób możliwe jest dekodowanie przesyłanych komunikatów, jak na przykład przedstawiona liczba „001000011110001001100010” (2220642 dziesiętnie).
Podsumowanie
W ten sposób można przechwytywać i analizować sygnały z pilotów RF 433 MHz. System ten można wykorzystać do inżynierii wstecznej wielu różnych urządzeń. Można rozpocząć eksperymenty, aby stworzyć własne nadajniki radiowe, do przesyłania „replikowanych” kodów, aby bawić się twoim (lub sąsiada

Źródło: https://www.electroschematics.com/433mhz-rf-sniffer/
Cool? Ranking DIY