Sisukord:

Raspberry Pi NFC riietejälgija: 5 sammu (koos piltidega)
Raspberry Pi NFC riietejälgija: 5 sammu (koos piltidega)

Video: Raspberry Pi NFC riietejälgija: 5 sammu (koos piltidega)

Video: Raspberry Pi NFC riietejälgija: 5 sammu (koos piltidega)
Video: How to setup a Raspberry Pi RFID RC522 Chip 2024, Juuli
Anonim
Raspberry Pi NFC riietejälgija
Raspberry Pi NFC riietejälgija

Kui sa oled nagu mina, siis on sul põrandal väike hunnik riideid, mis võivad olla määrdunud või mitte. See võib hõlmata teksaseid, kleit -särke ja vaevu kulunud lühikesi pükse. Kuidas siis aru saada, millised riided on puhtad või määrdunud? Mõtlesin välja viisi, kuidas NFC ja Raspberry Pi abil erinevaid riideesemeid jälgida. Sisestate lihtsalt NFC -kaardi taskusse ja seejärel skannite selle, mis avab selle riietuseseme kohta teabe koos võimalusega seda muuta.

Samm: komponentide kogumine

Komponentide kogumine
Komponentide kogumine
Komponentide kogumine
Komponentide kogumine
Komponentide kogumine
Komponentide kogumine
Komponentide kogumine
Komponentide kogumine

DFRobot võttis minuga ühendust selle projekti sponsoreerimiseks, nii et nad saatsid Raspberry Pi 3 ja PN532 NFC mooduli koos 5 NFC -kaardiga. NFC -moodul kasutab hostseadmega suhtlemiseks UART -i, seega proovisin alguses kasutada Raspberry Pi -d, kuid tekkis mitu probleemi. Raamatukogud olid Pythoni jaoks keerulised ja raskesti liidestatavad, seega otsustasin NFC -mooduliga suhtlemiseks kasutada Arduino Megat. Arduino Mega oli vajalik, kuna selleks kulub kaks UART -porti, üks NFC -mooduli jaoks ja teine teabe väljastamiseks.

Samm: Pi seadistamine

Pi seadistamine
Pi seadistamine

Läksin Raspberry Pi allalaadimiste lehele ja laadisin alla Raspbiani uusima versiooni. Seejärel ekstraheerisin faili ja panin selle mugavasse kataloogi.. Img -faili ei saa lihtsalt SD -kaardile kopeerida/kleepida, vaid peate selle "põletama" kaardile. OS -i pildi hõlpsaks teisaldamiseks saate alla laadida põletava utiliidi, näiteks Etcher.io. Pärast seda, kui.img -fail oli minu SD -kaardil, sisestasin selle Raspberry Pi -sse ja andsin sellele jõudu. Umbes 50 sekundi pärast ühendasin juhtme lahti ja eemaldasin SD -kaardi. Järgmisena panin SD -kaardi oma arvutisse tagasi ja läksin "boot" kataloogi. Avasin Notepadi ja salvestasin selle tühja failina nimega "ssh" ilma laiendita. Seal oli ka minu lisatud fail nimega "wpa_supplicant.conf" ja panin sinna selle teksti: network = {ssid = psk =} Siis salvestasin ja eemaldasin kaardi ning panin selle tagasi Raspberry Pi 3. See peaks nüüd võimaldama SSH kasutamine ja WiFi -ga ühenduse loomine.

Samm: juhtmestik

Juhtmestik
Juhtmestik

Selle juhtmestik on üsna lihtne. Ma ühendasin Rx tihvti Mega Tx1 -ga ja Tx tihvti Mega Rx1 tihvtiga. 5v läheb 5v -le ja GND läheb GND -le. Samuti ühendasin Arduino Mega väikese USB -kaabli abil Raspberry Pi 3 -ga.

4. samm: programmeerimine

Faile on kaks, üks Arduino Mega ja teine Raspberry Pi jaoks. Arduino Mega saadab kõigepealt moodulile käepigistustaotluse ja ootab seejärel vastust. Kui vastus on antud, hakkab Mega seadet küsitlema, et näha, kas kaarte on skannitud. Kui jah, loetakse kaardi ID. Lühikese teabe saatmiseks Pi-le kasutasin pseudo-kontrollsumma algoritmi, et ühendada viis baiti üheks numbriks. Esimesed neli baiti liidetakse kokku üks kord ja viimane bait lisatakse kaks korda. Samuti on olemas massiiv, mis sisaldab iga kaardi numbreid. Kui kaarti skannitakse, võrreldakse selle kontrollsummat massiivi omadega ja seejärel sobitatakse. Lõpuks saadetakse need andmed jada kaudu Raspberry Pi -le edasiseks töötlemiseks.

Raspberry Pi ootab uut seeriainfot ja prindib selle seejärel välja. Koodi alguses luuakse sõnastik, mis määratleb, kuidas iga riideese vastab igale kaardile. Igal neist on nimi, kaardi number, värv ja olek (puhas või määrdunud). Pärast rõivaeseme skannimist on võimalik olekut muuta.

Samm: seadme kasutamine

Image
Image

Alustuseks sisestasin kaardid riiete taskusse ja kontrollisin nende isikutunnistusi, salvestasin teabe sõnastikku. Kui ma tahan näha, kas need on puhtad või määrdunud, hoian ma neid lihtsalt RFID -lugeja ees, mis kuvab teabe SSH kaudu.

Soovitan: