Cuprins:
Video: Sniffer Arduino I2C: 4 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
I2C este un protocol serial utilizat pentru a comunica un microcontroler cu periferice externe atașate la același circuit. Fiecare periferic trebuie să aibă un număr unic de identificare numit adresă, care este utilizat pentru a-l identifica ca destinatar destinat unui mesaj dat. Aceste adrese sunt atribuite de producătorul dispozitivului și de cele mai multe ori nu pot fi modificate. Un sniffer scanează toate adresele posibile în căutarea dispozitivelor conectate și le raportează pe cele pe care le găsește. Acest lucru ajută la identificarea cipurilor nemarcate, deoarece atunci adresa poate fi googled pentru mai multe informații cu privire la cip.
Acest dispozitiv imită pe un Arduino UNO comportamentul scriptului Raspberry Pi i2cdetect, adulmecând toate adresele i2c posibile în căutarea dispozitivelor conectate și imprimând rezultatele frumos pe un ecran LCD de 16x02.
Pentru a se potrivi cu totul pe ecran, atât partea înaltă, cât și cea inferioară a adresei sunt tipărite deasupra rezultatelor, partea superioară fiind pe un tipar îndrăzneț. Două butoane permit navigarea între adrese, afișând 16 adrese la un moment dat. În cazul în care un dispozitiv este detectat, W va fi tipărit pentru a-l afișa ca adresă de scriere și R va fi afișat în cazul în care este o adresă de citire. În cazul în care nu se detectează nimic la adresa respectivă, o cratimă (-) va fi afișată pe ecran.
Pasul 1: Materiale
Opțiunea 1
1 x Arduino UNO
1 x ecran LCD 16x02
1x potențiometru 10K
1x rezistor de 330 ohmi
3x Butoane
Cabluri jumper
1x schimbător de nivel I2C (nu pe imaginea materialelor)
Opțiunea 2
1 x Arduino UNO
Ecranul tastaturii LCD (butoanele de pe ecran nu vor fi utilizate)
3x Butoane
Cabluri jumper
1x schimbător de nivel I2C (nu pe imaginea materialelor)
Opțiunea 2 este cea care va fi construită, deoarece asta am avut la îndemână în acest moment. Schimbătorul de nivel este o parte importantă a circuitului, deoarece în zilele noastre majoritatea dispozitivelor folosesc logica de 3,3V, iar 5V de la Arduino le deteriorează.
(Pe imagini, materialul tăiat nu este necesar.)
Pasul 2: Circuit
Circuitul este destul de drept, folosind pinout-ul standard pentru exemplele Arduino pentru LCD, pinii impliciti pentru I2C și 3 pinii de rezervă pentru butoane.
În cazul în care utilizați ecranul tastaturii LCD, pinout-ul pentru LCD se schimbă, dar acest lucru este deja luat în considerare în cod. Butoanele ecranului tastaturii LCD nu sunt utilizate deoarece necesită o metodă de interogare analogică care rupe compatibilitatea între cele două circuite de implementare posibile (ecran ecran și ecran LCD autonom)
Pasul 3: Cod
În cazul utilizării ecranului tastaturii LCD, #define LCD_SHIELD trebuie lăsat necomentat la începutul schiței. În caz contrar, comentați-o pentru a utiliza prima diagramă.
Pasul 4: Concluzii
Pentru testarea codului și circuitului, s-au folosit un cip BQ32000 RTC și un accelerometru MMA8452Q. După cum se poate vedea pe imagini, dispozitivul detectează 4 adrese: 0x3A și 0xD0 ca adrese de scriere și 0x3B și 0xD1 ca adrese citite. Aceste adrese corespund dispozitivelor de test, astfel încât codul funcționează.
Aș dori să mulțumesc fetelor amabile de la Beijing Makerspace, Fu Yao și Liu Xin, pentru că m-au ajutat să obțin materialele necesare testării acestui proiect într-un termen atât de scurt.
Recomandat:
Arduino UNO Logic Sniffer: 8 pași (cu imagini)
Arduino UNO Logic Sniffer: Acest proiect a început ca un experiment simplu. În timpul cercetărilor mele asupra fișei tehnice ATMEGA328P pentru un alt proiect, am găsit ceva destul de interesant. Unitatea de captare a intrării Timer1. Permite microcontrolerului nostru Arduino UNO să detecteze un semnal
Sniffer de particule: 6 pași (cu imagini)
Particul Sniffer: În timp ce lucram cu proiectele anterioare la evaluarea PM2.5, am observat dezavantajul de a nu putea localiza sursele punctuale de poluare cu particule mici. Majoritatea eșantionărilor efectuate de municipalități și imagini prin satelit colectează surse largi care nu
Raspberry Pi - Tutorial Python pentru senzorul de umiditate și temperatură I2C HIH6130 I2C: 4 pași
Raspberry Pi - Senzor de umiditate și temperatură HIH6130 I2C Python Tutorial: HIH6130 este un senzor de umiditate și temperatură cu ieșire digitală. Acești senzori oferă un nivel de precizie de ± 4% HR. Cu stabilitate pe termen lung lider în industrie, I2C digital cu adevărat compensat de temperatură, fiabilitate lider în industrie, eficiență energetică
Afișaj LCD I2C / IIC - Utilizați un LCD SPI pe afișajul LCD I2C Utilizând modulul SPI la IIC cu Arduino: 5 pași
Afișaj LCD I2C / IIC | Utilizați un LCD SPI pe afișajul LCD I2C Utilizarea modulului SPI la IIC cu Arduino: Bună băieți, deoarece un SPI LCD 1602 normal are prea multe fire pentru a se conecta, deci este foarte dificil să îl interfațați cu arduino, dar există un modul disponibil pe piață. convertiți afișajul SPI în afișajul IIC, deci trebuie să conectați doar 4 fire
Snorkel Sniffer: 4 pași
Snorkel Sniffer: ușile erau închise la zbor și, la fel ca multe alte zboruri similare, o somnolență copleșitoare te învinge. În timp ce plăteam impozite, am fost trezită de o femeie din fața noastră care urla „ajută-l!”; " ajuta-l !!!! " "