Spisu treści:
Wideo: Sniffer Arduino I2C: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
I2C to protokół szeregowy służący do komunikacji mikrokontrolera z zewnętrznymi peryferiami podłączonymi do tego samego obwodu. Każde urządzenie peryferyjne musi mieć unikalny numer identyfikacyjny zwany adresem, który służy do identyfikowania go jako zamierzonego odbiorcę danej wiadomości. Adresy te są przydzielane przez producenta urządzenia i w większości przypadków nie można ich zmienić. Sniffer skanuje wszystkie możliwe adresy w poszukiwaniu podłączonych urządzeń i zgłasza te, które znajdzie. Pomaga to zidentyfikować nieoznaczone chipy, ponieważ wtedy adres można wyszukać w Google, aby uzyskać więcej informacji na temat chipa.
To urządzenie naśladuje na Arduino UNO zachowanie skryptu i2cdetect Raspberry Pi, wąchając wszystkie możliwe adresy i2c w poszukiwaniu podłączonych urządzeń i ładnie drukując wyniki na ekranie LCD 16x02.
Aby zmieścić wszystko na ekranie, zarówno górna, jak i dolna część adresu są drukowane nad wynikami, a wysoka część jest pogrubiona. Dwa przyciski umożliwiają nawigację pomiędzy adresami, wyświetlając jednocześnie 16 adresów. W przypadku wykrycia urządzenia, zostanie wydrukowane W, aby pokazać je jako adres do zapisu, a R zostanie wyświetlone, jeśli jest to adres do odczytu. Jeśli nic nie zostanie wykryte pod tym adresem, na ekranie pojawi się myślnik (-).
Krok 1: Materiały
opcja 1
1 x Arduino UNO
1x16x02 ekran LCD
Potencjometr 1x10 K
1x rezystor 330 omów, 3x przyciski
Kable rozruchowe
1x przesuwnik poziomu I2C (nie na zdjęciu materiałów)
Opcja 2
1 x Arduino UNO
Osłona klawiatury LCD (przyciski na osłonie nie będą używane)
3x przyciski
Kable rozruchowe
1x przesuwnik poziomu I2C (nie na zdjęciu materiałów)
Opcja 2 to ta, która zostanie zbudowana, ponieważ w tej chwili miałem ją pod ręką. Przesuwnik poziomu jest ważną częścią układu, ponieważ obecnie większość urządzeń korzysta z logiki 3,3 V, a 5 V z Arduino je uszkadza.
(Na zdjęciach przekreślony materiał nie jest wymagany.)
Krok 2: Obwód
Obwód jest dość prosty, wykorzystując standardowe piny dla przykładów Arduino dla wyświetlacza LCD, domyślne piny dla I2C i 3 zapasowe piny dla przycisków.
W przypadku korzystania z osłony klawiatury LCD zmienia się pinout wyświetlacza LCD, ale jest to już uwzględnione w kodzie. Przyciski osłony klawiatury LCD nie są używane, ponieważ wymagają analogowej metody odpytywania, która przerywa kompatybilność między dwoma możliwymi obwodami implementacyjnymi (osłona i samodzielny wyświetlacz LCD)
Krok 3: Kod
W przypadku użycia osłony klawiatury LCD, #define LCD_SHIELD musi być pozostawione bez komentarza na początku szkicu. W przeciwnym razie skomentuj go, aby użyć pierwszego diagramu.
Krok 4: Wnioski
Do testowania kodu i układu wykorzystano układ BQ32000 RTC oraz akcelerometr MMA8452Q. Jak widać na zdjęciach, urządzenie wykrywa 4 adresy: 0x3A i 0xD0 jako adresy zapisu oraz 0x3B i 0xD1 jako adresy odczytu. Te adresy odpowiadają urządzeniom testowym, więc kod działa.
Chciałbym podziękować życzliwym dziewczynom z Beijing Makerspace, Fu Yao i Liu Xin, za pomoc w zdobyciu materiałów potrzebnych do przetestowania tego projektu w tak krótkim czasie.
Zalecana:
Arduino UNO Logic Sniffer: 8 kroków (ze zdjęciami)
Arduino UNO Logic Sniffer: Ten projekt rozpoczął się od prostego eksperymentu. Podczas moich badań nad arkuszem danych ATMEGA328P dla innego projektu, znalazłem coś dość interesującego. Jednostka przechwytywania wejścia Timer1. Pozwala mikrokontrolerowi naszego Arduino UNO na wykrycie sygnału
Sniffer cząstek: 6 kroków (ze zdjęciami)
Particle Sniffer: Podczas pracy z poprzednimi projektami nad oceną PM2.5 zauważyłem, że wadą jest brak możliwości zlokalizowania punktowych źródeł zanieczyszczeń drobnocząsteczkowych. Większość próbek wykonywanych przez gminy i zdjęcia satelitarne zbiera szerokie źródła, które nie
Wyświetlacz LCD I2C / IIC - Użyj SPI LCD do wyświetlacza LCD I2C za pomocą modułu SPI to IIC z Arduino: 5 kroków
Wyświetlacz LCD I2C / IIC | Użyj SPI LCD do wyświetlacza LCD I2C Używanie modułu SPI to IIC z Arduino: Cześć chłopaki, ponieważ normalny SPI LCD 1602 ma zbyt wiele przewodów do podłączenia, więc bardzo trudno jest połączyć go z arduino, ale na rynku dostępny jest jeden moduł, który może przekonwertuj wyświetlacz SPI na wyświetlacz IIC, więc musisz podłączyć tylko 4 przewody
Wyświetlacz LCD I2C / IIC - Konwertuj wyświetlacz LCD SPI na wyświetlacz LCD I2C: 5 kroków
Wyświetlacz LCD I2C / IIC | Konwertuj wyświetlacz LCD SPI na wyświetlacz LCD I2C: używanie wyświetlacza LCD spi wymaga zbyt wielu połączeń, co jest naprawdę trudne, więc znalazłem moduł, który może przekonwertować wyświetlacz LCD i2c na wyświetlacz LCD spi, więc zaczynamy
Snorkel Sniffer: 4 kroki
Snorkel Sniffer: Podczas lotu drzwi były zamknięte i podobnie jak wiele innych podobnych lotów ogarnia cię przytłaczająca senność. Gdy opodatkowywaliśmy, obudziła mnie stojąca przed nami kobieta krzycząca „pomóż mu!”. „Pomóż mu!!!!” „