Satura rādītājs:

Raspberry Pi NFC apģērbu izsekotājs: 5 soļi (ar attēliem)
Raspberry Pi NFC apģērbu izsekotājs: 5 soļi (ar attēliem)

Video: Raspberry Pi NFC apģērbu izsekotājs: 5 soļi (ar attēliem)

Video: Raspberry Pi NFC apģērbu izsekotājs: 5 soļi (ar attēliem)
Video: www.swiftbargains.co.uk Mens Jeans 2024, Jūlijs
Anonim
Raspberry Pi NFC apģērbu izsekotājs
Raspberry Pi NFC apģērbu izsekotājs

Ja tu esi tāds kā es, tad tev uz grīdas ir neliela drēbju kaudze, kas var būt netīra. Tas varētu ietvert džinsus, kleitas kreklus un tikko nēsātus šortus. Tātad, kā jūs varat noteikt, kuras drēbes ir tīras vai netīras? Es izdomāju veidu, kā izsekot dažādiem apģērba priekšmetiem, izmantojot NFC un Raspberry Pi. Jūs vienkārši ievietojat NFC karti kabatā un pēc tam skenējat, parādot informāciju par šo apģērba priekšmetu, kā arī iespēju to mainīt.

1. darbība: sastāvdaļu savākšana

Komponentu vākšana
Komponentu vākšana
Komponentu vākšana
Komponentu vākšana
Komponentu vākšana
Komponentu vākšana
Komponentu vākšana
Komponentu vākšana

DFRobot vērsās pie manis, lai sponsorētu šo projektu, tāpēc viņi nosūtīja Raspberry Pi 3 un PN532 NFC moduli kopā ar 5 NFC kartēm. NFC modulis izmanto UART, lai sazinātos ar saimniekdatoru, tāpēc es sākumā mēģināju izmantot Raspberry Pi, taču radās vairākas problēmas. Bibliotēkas bija sarežģītas un grūti savienojamas ar Python, tāpēc es izvēlējos izmantot Arduino Mega saziņai ar NFC moduli. Arduino Mega bija nepieciešams, jo tam nepieciešami divi UART porti, viens NFC modulim un otrs informācijas izvadīšanai.

2. solis: Pi iestatīšana

Pi iestatīšana
Pi iestatīšana

Es devos uz Raspberry Pi lejupielādes lapu un lejupielādēju jaunāko Raspbian versiju. Pēc tam es izvilku failu un ievietoju ērtā direktorijā. Jūs nevarat vienkārši kopēt/ielīmēt.img failu SD kartē, tas ir "jāsadedzina" kartē. Jūs varat lejupielādēt dedzinošu utilītu, piemēram, Etcher.io, lai viegli pārsūtītu OS attēlu. Pēc tam, kad.img fails bija manā SD kartē, es ievietoju to Raspberry Pi un iedevu tai jaudu. Pēc apmēram 50 sekundēm es atvienoju vadu un izņemu SD karti. Tālāk es ievietoju SD karti atpakaļ savā datorā un devos uz sāknēšanas direktoriju. Es atvēru Notepad un saglabāju to kā tukšu failu ar nosaukumu "ssh" bez paplašinājuma. Tur bija arī fails, kuru es pievienoju ar nosaukumu "wpa_supplicant.conf" un ievietoju tajā šo tekstu: network = {ssid = psk =} Tad es saglabāju un izņemu karti un ievietoju to atpakaļ Raspberry Pi 3. Tagad tam vajadzētu ļaut SSH izmantošana un savienojums ar WiFi.

3. darbība: elektroinstalācija

Elektroinstalācija
Elektroinstalācija

Elektroinstalācija šim nolūkam ir diezgan vienkārša. Es savienoju Rx tapu ar Mega Tx1 un Tx tapu ar Mega Rx1 tapu. 5v iet uz 5v, un GND iet uz GND. Es arī savienoju Arduino Mega ar Raspberry Pi 3, izmantojot nelielu USB kabeli.

4. solis: programmēšana

Ir divi faili, viens Arduino Mega un otrs Raspberry Pi. Arduino Mega vispirms modulim izsūta rokasspiediena pieprasījumu un pēc tam gaida atbildi. Kad atbilde ir sniegta, Mega sāk aptaujāt ierīci, lai noskaidrotu, vai ir skenētas kartes. Ja tā, tad tiek nolasīts kartes ID. Lai nosūtītu kodolīgu informāciju Pi, es izmantoju pseidokontrolsummas algoritmu, lai apvienotu piecus baitus vienā skaitlī. Pirmie četri baiti tiek saskaitīti vienu reizi, bet pēdējie baiti tiek pievienoti divas reizes. Ir arī masīvs, kurā ir katras kartes numuri. Skenējot karti, tās kontrolsumma tiek salīdzināta ar masīvā esošajām un pēc tam tiek saskaņota. Visbeidzot, šie dati tiek nosūtīti sērijveidā uz Raspberry Pi tālākai apstrādei.

Raspberry Pi gaida jaunu sērijas informāciju un pēc tam to izdrukā. Koda sākumā tiek izveidota vārdnīca, kas nosaka, kā katrs apģērba gabals atbilst katrai kartītei. Katram ir vārds, kartes numurs, krāsa un statuss (tīrs vai netīrs). Ir iespēja mainīt statusu, kad apģērba vienums ir ieskenēts.

5. darbība: ierīces lietošana

Image
Image

Sāku, ievietojot kārtis drēbju kabatās un pārbaudot viņu ID, ierakstot informāciju vārdnīcā. Ja es vēlos redzēt, vai tie ir tīri vai netīri, es vienkārši turu tos pie RFID lasītāja, kas pēc tam parāda informāciju, izmantojot SSH.

Ieteicams: