Innholdsfortegnelse:

Raspberry Pi NFC Clothes Tracker: 5 trinn (med bilder)
Raspberry Pi NFC Clothes Tracker: 5 trinn (med bilder)

Video: Raspberry Pi NFC Clothes Tracker: 5 trinn (med bilder)

Video: Raspberry Pi NFC Clothes Tracker: 5 trinn (med bilder)
Video: 10 NEW ADVANCED WAYS to USE NFC Tags For Automation Ideas 2024, Juli
Anonim
Raspberry Pi NFC Clothes Tracker
Raspberry Pi NFC Clothes Tracker

Hvis du er som meg, har du en liten haug med klær på gulvet som kanskje er skitne eller ikke. Dette kan inkludere jeans, kjoleskjorter og knapt brukte shorts. Så hvordan kan du se hvilke klær som er rene eller skitne? Jeg fant en måte å spore forskjellige klesplagg ved hjelp av NFC og en Raspberry Pi. Du setter ganske enkelt NFC -kortet inn i en lomme og skanner det, som viser informasjon om klesplagget sammen med muligheten til å bytte det.

Trinn 1: Samle komponenter

Samlekomponenter
Samlekomponenter
Samlekomponenter
Samlekomponenter
Samlekomponenter
Samlekomponenter
Samlekomponenter
Samlekomponenter

DFRobot kontaktet meg for å sponsere dette prosjektet, så de sendte en Raspberry Pi 3 og PN532 NFC -modul, sammen med 5 NFC -kort. NFC -modulen bruker UART til å kommunisere med en vertsenhet, så jeg prøvde å bruke en Raspberry Pi først, men jeg støtte på flere problemer. Bibliotekene var komplekse og vanskelige å koble til med Python, så jeg valgte å bruke en Arduino Mega for å kommunisere med NFC -modulen. Arduino Mega var nødvendig fordi den tar to UART -porter, en for NFC -modulen og en for å sende ut informasjon.

Trinn 2: Sette opp Pi

Sette opp Pi
Sette opp Pi

Jeg gikk til siden Raspberry Pi Downloads og lastet ned den nyeste versjonen av Raspbian. Jeg hentet deretter ut filen og la den i en praktisk katalog. Du kan ikke bare kopiere/lime inn en.img -fil til et SD -kort, du må "brenne den" på kortet. Du kan laste ned et brennende verktøy som Etcher.io for enkelt å overføre OS -bildet. Etter at.img -filen var på SD -kortet mitt, satte jeg den inn i Raspberry Pi og ga den strøm. Etter omtrent 50 sekunder koblet jeg ut ledningen og fjernet SD -kortet. Deretter satte jeg SD -kortet tilbake i PC -en og gikk til "boot" -katalogen. Jeg åpnet Notisblokk og lagret den som en tom fil som heter "ssh" uten utvidelse. Det var også en fil jeg la til som heter "wpa_supplicant.conf" og la denne teksten inn i den: network = {ssid = psk =} Så lagret og kastet jeg ut kortet og satte det tilbake i Raspberry Pi 3. Dette skal nå tillate bruk av SSH og tilkobling til WiFi.

Trinn 3: Kabling

Kabling
Kabling

Kablingene for dette er ganske enkle. Jeg koblet Rx -pinnen til Tx1 på Mega, og Tx -pinnen til Rx1 -pinnen til Mega. 5v går til 5v, og GND går til GND. Jeg koblet også Arduino Mega til Raspberry Pi 3 via en liten USB -kabel.

Trinn 4: Programmering

Det er to filer, en for Arduino Mega og en for Raspberry Pi. Arduino Mega sender først ut en håndtrykkforespørsel til modulen og venter deretter på svar. Når svaret er gitt, begynner Mega å avstemme enheten for å se om noen kort er skannet. I så fall leses ID -en til kortet. For å sende kortfattet informasjon til Pi brukte jeg en pseudo-kontrollsum-algoritme for å kombinere de fem byte til ett tall. De fire første byte blir lagt sammen én gang, og den siste byten blir lagt til to ganger. Det er også en matrise som inneholder tallene til hvert kort. Når et kort blir skannet, blir kontrollsummen sammenlignet med kortene i matrisen og deretter matchet. Til slutt blir disse dataene sendt over serie til Raspberry Pi for videre behandling.

Raspberry Pi venter på ny seriell informasjon og skriver den deretter ut. En ordbok opprettes i begynnelsen av koden som definerer hvordan hvert klesplagg tilsvarer hvert kort. Hver har et navn, kortnummer, farge og status (ren eller skitten). Det er et alternativ for å endre status når plagget er skannet.

Trinn 5: Bruke enheten

Image
Image

Jeg begynte med å sette inn kort i lommene på klærne mine og sjekke ID -ene deres, registrere informasjonen i ordboken. Hvis jeg vil se om de er rene eller skitne, holder jeg dem bare opp til RFID -leseren som deretter viser informasjonen via SSH.

Anbefalt: