Inhoudsopgave:
Video: Arduino I2C Sniffer - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
I2C is een serieel protocol dat wordt gebruikt om een microcontroller te communiceren met externe randapparatuur die op hetzelfde circuit is aangesloten. Elk randapparaat moet een uniek ID-nummer hebben dat adres wordt genoemd en dat wordt gebruikt om het te identificeren als de beoogde ontvanger van een bepaald bericht. Die adressen worden toegewezen door de fabrikant van het apparaat en kunnen meestal niet worden gewijzigd. Een sniffer scant alle mogelijke adressen op zoek naar aangesloten apparaten en rapporteert de gevonden apparaten. Dit helpt bij het identificeren van niet-gemarkeerde chips, aangezien het adres vervolgens kan worden gegoogled voor meer informatie over de chip.
Dit apparaat bootst op een Arduino UNO het gedrag van het Raspberry Pi i2cdetect-script na, snuffelt alle mogelijke i2c-adressen op zoek naar aangesloten apparaten en drukt de resultaten mooi af op een 16x02 LCD-scherm.
Om alles op het scherm te laten passen, worden zowel het hoge als het lage deel van het adres boven de resultaten afgedrukt, het hoge deel is vetgedrukt. Met twee drukknoppen kan tussen de adressen worden genavigeerd, waarbij 16 adressen tegelijk worden weergegeven. Als een apparaat wordt gedetecteerd, wordt W afgedrukt om het als een schrijfadres weer te geven en wordt R weergegeven als het een leesadres is. Als er op dat adres niets wordt gedetecteerd, wordt er een koppelteken (-) op het scherm weergegeven.
Stap 1: Materialen
Optie 1
1 x Arduino UNO
1 x 16x02 LCD-scherm
1x 10K potentiometer
1x 330 ohm weerstand
3x Drukknoppen
Startkabels
1x I2C level shifter (niet op materiaal foto)
Optie 2
1 x Arduino UNO
LCD-toetsenbordscherm (de knoppen op het schild worden niet gebruikt)
3x Drukknoppen
Startkabels
1x I2C level shifter (niet op materiaal foto)
Optie 2 is degene die zal worden gebouwd, want dat is wat ik op dit moment bij de hand had. De niveauverschuiver is een belangrijk onderdeel van het circuit, aangezien de meeste apparaten tegenwoordig 3.3V-logica gebruiken en de 5V van de Arduino deze beschadigt.
(Op de foto's is het doorgestreepte materiaal niet verplicht.)
Stap 2: Circuit
Het circuit is vrij eenvoudig, met de standaard pinout voor de Arduino-voorbeelden voor het LCD-scherm, de standaardpinnen voor I2C en 3 reservepinnen voor de drukknoppen.
Als u het LCD-toetsenbordscherm gebruikt, verandert de pin-out voor het LCD-scherm, maar daar wordt al rekening mee gehouden in de code. De LCD Keypad Shield-knoppen worden niet gebruikt omdat ze een analoge pollingmethode vereisen die de compatibiliteit tussen de twee mogelijke implementatiecircuits verbreekt (Shield en stand-alone LCD)
Stap 3: Coderen
Als het LCD-toetsenbordscherm wordt gebruikt, moet #define LCD_SHIELD aan het begin van de schets niet worden becommentarieerd. Geef anders commentaar om het eerste diagram te gebruiken.
Stap 4: Conclusies
Voor het testen van de code en het circuit werden een BQ32000 RTC-chip en een MMA8452Q-versnellingsmeter gebruikt. Zoals op de foto's te zien is, detecteert het apparaat 4 adressen: 0x3A en 0xD0 als schrijfadressen, en 0x3B en 0xD1 als leesadressen. Deze adressen komen overeen met de testapparaten, dus de code werkt.
Ik wil de aardige meiden van Beijing Makerspace, Fu Yao en Liu Xin, bedanken voor hun hulp om op zo'n korte termijn de benodigde materialen te krijgen om dit project te testen.
Aanbevolen:
Arduino Meerdere I2C-apparaten aansluiten: 6 stappen
Arduino Verbind meerdere I2C-apparaten: in deze tutorial leren we hoe je verschillende modules met een I2C-verbinding op arduino kunt aansluiten. Bekijk de video! In ons geval gebruiken we 4 OLED-schermen als voorbeeld, maar je kunt elke andere I2C-module gebruiken sensoren indien gewenst.Opmerking: 4 OLED-displays co
Hoe de TEKST op I2C 0,91" 128X32 OLED-DISPLAY te scrollen: 6 stappen
Hoe de TEKST op I2C 0,91" 128X32 OLED-DISPLAY te scrollen: In deze tutorial leren we hoe u door de TEKST op I2C 0,91" 128X32 OLED-DISPLAY kunt scrollen met behulp van Arduino- en Visuino-software. Bekijk de video
Stroombewaking via Arduino Nano (I2C): 5 stappen
Huidige monitoring via Arduino Nano (I2C): Hallo, goede groeten..!!Hier ga ik (Somanshu Choudhary) namens Dcube tech ventures de stroom bewaken met behulp van Arduino nano, het is een van de toepassingen van het I2C-protocol om analoog te lezen gegevens van Huidige Sensor TA12-200
I2C Oled-display bedienen met Arduino 9 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
I2C Oled-display bedienen met Arduino: dit is een zeer eenvoudige tutorial over hoe I2C Oled-display met Arduino te bedienen
Character LCD I2c-adapter (I2c-verbindingsvoorbeeld): 12 stappen (met afbeeldingen)
Character LCD I2c-adapter (I2c-verbindingsvoorbeeld): ik ben bezig met een verbindingsschema voor een i2c-adapter voor karakterweergave. Controleer de updates op mijn site. Nu voeg ik ook een bedradingsverbindingsschema toe om de originele bibliotheek te gebruiken, niet mijn gevorkte.LiquidCrystal Arduino-bibliotheek voor de karakter-LCD-displays, gevorkte proje