Innehållsförteckning:
Video: Arduino I2C Sniffer: 4 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
I2C är ett seriellt protokoll som används för att kommunicera en mikrokontroller med externa kringutrustning anslutna till samma krets. Varje kringutrustning måste ha ett unikt ID -nummer som kallas adress som används för att identifiera det som den avsedda mottagaren av ett givet meddelande. Dessa adresser tilldelas av enhetstillverkaren och kan oftast inte ändras. En sniffer skannar alla möjliga adresser som letar efter anslutna enheter och rapporterar dem som den hittar. Detta hjälper till att identifiera omärkta marker, eftersom adressen då kan googlas för mer information om chipet.
Denna enhet efterliknar på en Arduino UNO beteendet hos Raspberry Pi i2cdetect -skriptet, sniffar alla möjliga i2c -adresser som letar efter anslutna enheter och skriver ut resultaten snyggt på en 16x02 LCD -skärm.
För att passa allt på skärmen, skrivs både de höga och låga delarna av adressen ovanför resultaten, den höga delen är med ett fetstil. Två tryckknappar gör det möjligt att navigera mellan adresserna och visar 16 adresser åt gången. Om en enhet upptäcks kommer W att skrivas ut för att visa den som en skrivadress och R skulle visas om det är en läsadress. Om ingenting upptäcks på den adressen visas ett bindestreck (-) på skärmen.
Steg 1: Material
Alternativ 1
1 x Arduino UNO
1 x 16x02 LCD -skärm
1x 10K potentiometer
1x 330 ohm motstånd
3x tryckknappar
Startkablar
1x I2C nivåreglage (inte på materialbilden)
Alternativ 2
1 x Arduino UNO
LCD -knappsatsskärm (knapparna på skärmen används inte)
3x tryckknappar
Startkablar
1x I2C nivåreglage (inte på materialbilden)
Alternativ 2 är det som kommer att byggas eftersom det är vad jag hade till hands för tillfället. Nivåförskjutaren är en viktig del av kretsen eftersom de flesta enheter numera använder 3.3V logik och 5V från Arduino skadar dem.
(På bilderna krävs inte det överstrukna materialet.)
Steg 2: Krets
Kretsen är ganska rak framåt, med standard pinout för Arduino -exemplen för LCD -skärmen, standardstiften för I2C och 3 reservstift för tryckknapparna.
Om du använder LCD -knappsatsskyddet ändras pinout för LCD -skärmen men det beaktas redan i koden. LCD -knappsatsens skärmknappar används inte eftersom de kräver en analog pollingmetod som bryter kompatibiliteten mellan de två möjliga implementeringskretsarna (Shield och fristående LCD)
Steg 3: Kod
Om LCD -knappsatsskärmen används måste #define LCD_SHIELD lämnas obekommenterat i början av skissen. Annars kommenterar du det för att använda det första diagrammet.
Steg 4: Slutsatser
För att testa koden och kretsen användes ett BQ32000 RTC -chip och en MMA8452Q -accelerometer. Som kan ses på bilderna detekterar enheten 4 adresser: 0x3A och 0xD0 som skrivadresser och 0x3B och 0xD1 som lästa adresser. Denna adress motsvarar testenheterna så att koden fungerar.
Jag vill tacka de snälla tjejerna i Beijing Makerspace, Fu Yao och Liu Xin, för att de hjälpte mig att få det material som krävs för att testa detta projekt med så kort varsel.
Rekommenderad:
Arduino UNO Logic Sniffer: 8 steg (med bilder)
Arduino UNO Logic Sniffer: Detta projekt startade som ett enkelt experiment. Under min forskning om ATMEGA328P: s datablad för ett annat projekt fann jag något ganska intressant. Timer1 Input Capture Unit. Det gör att vår Arduino UNO: s mikrokontroller kan upptäcka en signal
Particle Sniffer: 6 steg (med bilder)
Particle Sniffer: Under arbetet med de tidigare projekten för PM2.5 -bedömning märkte jag nackdelen med att inte kunna hitta punktkällorna till föroreningar av små partiklar. De flesta provtagningar som görs av kommunerna och satellitbilder samlar stora källor som inte
I2C / IIC LCD -skärm - Använd en SPI LCD till I2C LCD -skärmen Använd SPI till IIC -modulen med Arduino: 5 steg
I2C / IIC LCD -skärm | Använd en SPI LCD till I2C LCD -skärmen Använda SPI till IIC -modulen med Arduino: Hej killar eftersom en vanlig SPI LCD 1602 har för många trådar att ansluta så det är mycket svårt att ansluta den till arduino men det finns en modul på marknaden som kan konvertera SPI -display till IIC -display så då behöver du bara ansluta 4 ledningar
I2C / IIC LCD -skärm - Konvertera en SPI LCD till I2C LCD Display: 5 steg
I2C / IIC LCD -skärm | Konvertera en SPI LCD -skärm till I2C LCD -skärm: Användning av spi -lcd -skärm behöver för många anslutningar att göra vilket är riktigt svårt att göra så jag hittade en modul som kan konvertera i2c lcd till spi lcd så låt oss komma igång
Snorkel Sniffer: 4 steg
Snorkel Sniffer: Dörrarna var stängda på flygningen och precis som många andra liknande flygningar övervinner en överväldigande dåsighet dig. När vi beskattade skakades jag vaken av en kvinna framför oss som skrek &"hjälp honom!" " hjälp honom !!!! " "