Taula de continguts:
Vídeo: Sniffer Arduino I2C: 4 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
I2C és un protocol sèrie utilitzat per comunicar un microcontrolador amb perifèrics externs connectats al mateix circuit. Cada perifèric ha de tenir un número d'identificació únic anomenat adreça que s'utilitzi per identificar-lo com el destinatari d'un missatge determinat. Aquestes adreces són assignades pel fabricant del dispositiu i la majoria de les vegades no es poden canviar. Un sniffer analitza totes les adreces possibles a la recerca de dispositius connectats i informa de les que troba. Això ajuda a identificar els xips no marcats, ja que es pot buscar l'adreça per obtenir més informació sobre el xip.
Aquest dispositiu imita en un Arduino UNO el comportament de l’escriptura i2cdetect de Raspberry Pi, ensumant totes les adreces i2c possibles que busquen dispositius connectats i imprimint els resultats molt bé en una pantalla LCD de 16x02.
Per adaptar-se a tot el que apareix a la pantalla, les parts alta i baixa de l’adreça s’imprimeixen per sobre dels resultats, la part alta apareix en una lletra negreta. Dos polsadors permeten navegar entre les adreces, mostrant 16 adreces alhora. En cas que es detecti un dispositiu, s'imprimirà W per mostrar-lo com a adreça d'escriptura i R es mostrarà en cas que es tracti d'una adreça de lectura. En cas que no es detecti res en aquesta adreça, es mostrarà un guionet (-) a la pantalla.
Pas 1: materials
opció 1
1 x Arduino UNO
Pantalla LCD 1 x 16x02
1x potenciòmetre de 10K
1x resistència de 330 ohms
3 botons polsadors
Cables de pont
1 canvi de nivell I2C (no a la imatge dels materials)
Opció 2
1 x Arduino UNO
Escut del teclat LCD (no s'utilitzaran els botons de l'escut)
3 botons polsadors
Cables de pont
1 canvi de nivell I2C (no a la imatge dels materials)
L'opció 2 és la que es construirà perquè és el que tenia a mà en aquest moment. El canvi de nivell és una part important del circuit, ja que actualment la majoria dels dispositius utilitzen una lògica de 3,3 V i els 5 V de l’Arduino els fan malbé.
(A les imatges no es requereix el material ratllat.)
Pas 2: Circuit
El circuit és força senzill, utilitzant el pinout estàndard per als exemples d’Arduino per a la pantalla LCD, els pins predeterminats per a I2C i 3 pins de recanvi per als botons.
En cas que utilitzeu l’escut del teclat LCD, el pinout de la pantalla LCD canvia, però això ja es considera dins del codi. Els botons LCD Keypad Shield no s’utilitzen perquè requereixen un mètode de sondeig analògic que trenqui la compatibilitat entre els dos circuits d’implementació possibles (Shield i LCD autònom)
Pas 3: Codi
En cas que s’utilitzi l’escut del teclat LCD, #define LCD_SHIELD s’ha de deixar sense comentar al principi de l’esbós. En cas contrari, comenteu-lo per utilitzar el primer diagrama.
Pas 4: Conclusions
Per provar el codi i el circuit, es va utilitzar un xip RTC BQ32000 i un acceleròmetre MMA8452Q. Com es pot veure a les imatges, el dispositiu detecta 4 adreces: 0x3A i 0xD0 com a adreces d’escriptura i 0x3B i 0xD1 com a adreces llegides. Aquestes adreces corresponen als dispositius de prova, de manera que el codi funciona.
M'agradaria donar les gràcies a les amables noies de Beijing Makerspace, Fu Yao i Liu Xin, per ajudar-me a obtenir el material necessari per provar aquest projecte amb tan poc temps d'antelació.
Recomanat:
Arduino UNO Logic Sniffer: 8 passos (amb imatges)
Arduino UNO Logic Sniffer: aquest projecte va començar com un simple experiment. Durant la meva investigació sobre el full de dades de l’ATMEGA328P per a un altre projecte, vaig trobar alguna cosa bastant interessant. La unitat de captura d’entrada Timer1. Permet al microcontrolador del nostre Arduino UNO detectar un senyal
Sniffer de partícules: 6 passos (amb imatges)
Particle Sniffer: Mentre treballava amb els projectes anteriors sobre l’avaluació de PM2.5, vaig notar l’inconvenient de no poder localitzar les fonts puntuals de contaminació per partícules petites. La majoria de mostreigs fets pels municipis i les imatges de satèl·lit recopilen fonts àmplies que no
Pantalla LCD I2C / IIC - Utilitzeu un LCD SPI a la pantalla LCD I2C mitjançant el mòdul SPI a IIC amb Arduino: 5 passos
Pantalla LCD I2C / IIC | Utilitzeu un LCD SPI a la pantalla LCD I2C Utilitzant el mòdul SPI a IIC amb Arduino: Hola, ja que un SPI LCD 1602 normal té massa cables per connectar-se, de manera que és molt difícil connectar-lo amb arduino, però hi ha un mòdul disponible al mercat. converteix la pantalla SPI en pantalla IIC, de manera que només heu de connectar 4 cables
Pantalla LCD I2C / IIC - Convertiu un LCD SPI a pantalla LCD I2C: 5 passos
Pantalla LCD I2C / IIC | Converteix una pantalla LCD SPI a la pantalla LCD I2C: fer servir una pantalla LCD SPI necessita massa connexions, cosa que és molt difícil de fer, així que he trobat un mòdul que pot convertir el LCD i2c al LCD SPI, així que comencem
Snorkel Sniffer: 4 passos
Snorkel Sniffer: les portes estaven tancades al vol i, com molts altres vols similars, una somnolència aclaparadora et supera. Mentre tributàvem, em va despertar una dona davant nostre que cridava "ajuda'l". " ajudeu-lo !!!! " "