Planinarenje Transport Ekonomične peći

Nfc programi. Čitanje i pisanje NFC tagova pomoću Arduina

Danas su mnogi pametni telefoni opremljeni aktivnim NFC čipom. Omogućava vam da korištenje uređaja učinite malo praktičnijim. Pogotovo ako vlasnik uređaja ima skup NFC oznaka.

Prednost NFC tehnologije je u tome što može biti sadržana ili u aktivnom čipu ili u pasivnoj oznaci. Potonji ne zahtijeva energiju za rad, možete zaboraviti na redovno punjenje. U isto vrijeme, NFC oznake imaju minimalne veličine, što im omogućava da se nalaze čak i u nekim privjescima. U stvari, svaka takva oznaka je mala antena debela kao list papira. Njegov prečnik je uporediv sa novčićem od 5 rubalja. Razmjena podataka traje 0,1 s. Da biste to učinili, morate pričvrstiti svoj pametni telefon na oznaku tako da zračni razmak ne prelazi 5 cm. Tačnije, udaljenost se mjeri između čipa i oznake - prva se obično nalazi negdje u području baterija uređaja.

NFC oznake se mogu koristiti u razne svrhe. Najčešće se mogu naći u bankovne kartice. U ovom slučaju, oznaka se koristi za beskontaktno plaćanje - samo trebate biti sigurni da je terminal podržava. Ovo značajno ubrzava proces plaćanja, jer u većini slučajeva nećete morati unositi PIN kod.


NFC oznake se također prodaju kao zasebna dodatna oprema. Mogu se staviti na sto ili objesiti na gomilu ključeva. Takve oznake se koriste za kontrolu " pametna kuća" Uz njihovu pomoć možete natjerati svoj pametni telefon da se automatski prebaci na određeni način rada. Na primjer, oznaka može biti na instrument tabli automobila. U tom slučaju, dodirivanje pametnog telefona će uključiti Bluetooth, nakon čega će vozač komunicirati sa pozivaocima putem bežičnih slušalica. I samo jedna radnja ne mora biti programirana. Osim Bluetooth-a, može se uključiti i vaša omiljena radio stanica, kao i GPS navigator. Jednom riječju, sve ovisi o mašti korisnika!

Gdje kupiti NFC oznake?

Ako vas zanimaju etikete u obliku naljepnica, koje je najjednostavnije koristiti, onda ćete morati posjetiti. Ovdje imaju najveći izbor. Na primjer, možete kupiti set od deset različitih Ntag213 naljepnica - cijena takvog seta ne prelazi 220 rubalja.

NFC oznake možete lako kupiti od različitih proizvođača. To ni na koji način neće uticati na njihov rad, jer koriste isti protokol. Zapravo, takvi se proizvodi razlikuju jedni od drugih samo po obliku i prikazanom uzorku.

Ako vam je dovoljno šest oznaka, onda predlažemo da se upoznate sa malo skraćenim skupom iz AnyNFC-a. Međutim, kupovina će koštati još više - set od šest naljepnica košta 312 rubalja. Ali ove naljepnice su napravljene na debljem papiru i mnogo ih je teže oštetiti.


Gore navedene opcije imaju specifične dizajne. Ako namjeravate programirati neke neobične komande, onda su vam potrebne naljepnice bez ikakvih kuća, aviona ili drugih slika. Na primjer, 6 raznobojnih naljepnica, koje se prodaju za otprilike 83 rublje (bez isporuke), imaju samo logo bežična tehnologija NFC. Kada koristite takve naljepnice, vodit ćete se njihovom bojom i lokacijom.

Postoji još pojednostavljena verzija. Možete kupiti 10 oznaka bez slika. Ovo će biti tanke antene spomenute na samom početku članka. Zatim možete napraviti bilo koju sliku vlastitim rukama tako što ćete je primijeniti na antenu, pretvarajući je u punopravnu NFC oznaku. Najlakši način za to je korištenje štampača i samoljepljivog papira.


Ali naljepnica nije uvijek potrebna. U nekim slučajevima treba ga napraviti u obliku dodatka koji bi se zakačio na privjesak za ključeve. Zatim morate kupiti set privjesaka za ključeve NTAG215. Antene u njima su zatvorene u plastično kućište. Privezak za ključeve je pričvršćen za ključeve pomoću metalnog prstena. Na tijelo možete zalijepiti bilo koju sliku koju želite.

Kako snimiti NFC tag?

Mnogi korisnici vjeruju da je snimanje NFC oznaka domena profesionalaca. A bez odgovarajućih naredbi, takvi proizvodi su beskorisni - dodirivanje ih neće uzrokovati nikakvu akciju. Kako programirati ovu ili onu naredbu pomoću Android pametnog telefona? Da li je zaista teško? Žurimo da vam ugodimo, sve je mnogo lakše nego što mislite.

Poseban program pomaže vam da snimite ovu ili onu radnju koju će izvršiti vaš pametni telefon nakon dodirivanja NFC oznake. Slične aplikacije se lako nalaze na Google Play-u. Preporučujemo da instalirate NFC alate i NFC zadatke na svoj uređaj. Njihov interfejs je zasnovan na engleski jezik. Ali čak i osnovno poznavanje jezika dovoljno je za rad sa ovim programima. Kao krajnje sredstvo, možete koristiti .


Na primjer, rad s NFC alatima je vrlo jednostavan. Samo idite na karticu " Zadaci“, nakon čega ostaje samo odabrati zadatak koji će pametni telefon obaviti kada se dovede do određene NFC oznake. I ne zaboravite nakon toga dodirnuti naljepnicu ili privjesak za ključeve.

Gotovo svi programi koji komuniciraju s NFC oznakama dizajnirani su na sličan način. Neki nude jednostavne komande koje možete izabrati. Drugi su složeniji i složeniji. Ne zaboravite da nisu svi besplatni. Međutim, ni takve aplikacije nisu skupe.

Rezimirajući

Možemo sa sigurnošću reći da su NFC oznake veoma korisne. Oni mogu automatizirati radnje pametnog telefona. Takođe, takve oznake se mogu pohvaliti zbog njihove svestranosti – koje komande će uređaj izvršiti zavisi samo od vas. Ukratko, NFC oznake čine upotrebu vašeg telefona praktičnijim.

Podaci se prenose između dva NFC uređaja ili uređaja i NFC oznaka kada dođu u kontakt jedno s drugim. Postoje dva NFC tip interakcije:

Pasivno - aktivno

Pasivna NFC oznaka stupa u interakciju s aktivnim NFC uređajem, na primjer, pametnim telefonom.

Aktivan - Aktivan

Aktivni NFC uređaj, na primjer pametni telefon, stupa u interakciju s drugim aktivnim NFC uređajem, na primjer terminalom za beskontaktno plaćanje.

Šta je NFC oznaka?

Termin NFC oznaka se obično koristi za pasivnu NFC oznaku. Primjeri pasivnih NFC oznaka su NFC umetci, NFC naljepnice, NFC narukvice i drugi pretvoreni NFC proizvodi. NFC oznake su vrlo slične USB sticku, osim što ne moraju biti priključene na PC za prijenos podataka. Unutar NFC oznaka nema baterije. Svi imaju integrisano kolo (IC) i antene unutar sebe. Podaci se prenose preko ove antene.

Koji je NFC čip najbolji za mene?

Najprikladniji NFC čip se često određuje prema tome šta želite da upišete u njega (tj. veličina memorije koja vam je potrebna). Veličina memorije NFC čipa mjeri se u bajtovima. Tip čipa i veličina dostupne memorije su naznačeni za svaku NFC oznaku na kartici s informacijama o proizvodu na web stranici.

Vodič za odabir

    Odaberite čip sa najmanja veličina memoriju koja ispunjava vaše uslove. U NFC čip treba upisati što manje podataka. Što više podataka na čipu, to će se sporije pisati i čitati.

    Odaberite najbrži čip. Korisnik očekuje da će interakcija s NFC oznakom biti brzi dodir (<0.5 с). Однако некоторые чипы имеют более долгий цикл чтения.

    Odaberite NFC oznaku s najvećom površinom antene. Što je veća površina antene, veća je udaljenost čitanja.

    Odaberite NFC čip koji je kompatibilan s uređajima koji će ga čitati. Neki NFC čipovi nisu kompatibilni sa svim uređajima. Optimalan izbor bi bio NFC čip kompatibilan sa NFC Forum standardom.

    Neki čipovi imaju dodatne posebne karakteristike (npr. jednokratno programiranje, sigurnost). Često ove karakteristike utiču na performanse i cenu. Uvjerite se da razumijete mogućnosti koje svaki čip pruža.

    Odaberite najjeftiniji NFC čip!

Da li mi je potreban poseban softver da koristim NFC?

Za razliku od QR kodova, ne morate da preuzimate posebnu aplikaciju da biste koristili NFC. Sve što trebate učiniti je omogućiti NFC funkciju na svom pametnom telefonu. To se obično može učiniti u postavkama vašeg mobilnog uređaja. Ako je NFC funkcija omogućena, NFC oznaka će se automatski pročitati kada je dodirnete pametnim telefonom. Dakle, korisnik ne mora obavljati dodatne radnje. Korisničko sučelje varira ovisno o uređaju, a mnogi zahtijevaju dozvolu korisnika prije otvaranja podataka iz NFC oznake.

Koliko podataka se može zapisati u NFC čip?

Količina podataka koja se može upisati u NFC čip ovisi o njegovom tipu. Obično je to nekoliko stotina bajtova.

Koja je udaljenost čitanja NFC oznake?

NFC standard omogućava vrlo kratku udaljenost čitanja, zbog čega je i dobio ime. (Near Field Communication - „komunikacija u bliskom polju“, „Near Field Communication“). Dva NFC uređaja i/ili NFC oznake moraju biti udaljeni otprilike 1-2 cm za razmjenu podataka. Moguća udaljenost čitanja ovisi o nekoliko faktora, kao što su veličina NFC oznake i tip NFC čitača. Ako je potrebna veća udaljenost čitanja, onda biste trebali koristiti UHF ili RFID tehnologiju.

Šta određuje udaljenost čitanja NFC oznake?

    Veličina i oblik NFC oznake – Općenito, što je veća NFC oznaka, duži je raspon očitavanja. To je zbog činjenice da što je veća NFC oznaka, veća je njena antena.

    Okruženje – Faktori kao što je prisustvo metalnih površina utiču na rad NFC oznake.

    Dizajn NFC oznake – Što više različitih materijala postoji između NFC tag antene i čitača, to je NFC oznaka lošije čitljiva. Na primjer, silikonska narukvica s ugrađenom NFC oznakom ima kraću udaljenost čitanja od NFC naljepnice.

    Tip NFC čitača – Tipično USB ili serijski čitači imaju veći domet čitanja od mobilnih uređaja s NFC modulom.

    Tip NFC čipa – Neki NFC čipovi imaju odličan raspon čitanja uprkos svojoj maloj veličini.

Da li je moguće prepisati informacije na NFC oznaci?

Većina NFC čipova ima mogućnost prepisivanja, tj. Nakon snimanja, informacije o njima se mogu izbrisati i ponovo snimiti. To znači da svaki korisnik sa NFC uređajem može prepisati informacije na NFC oznaci, sve dok oznaka nije prepisana. Jednom blokirani, podaci na NFC oznaci se ne mogu izbrisati ili prepisati, tj. biće dostupan samo za čitanje. Zaključavanje prepisivanja se ne može otkazati.

Šta je NFC uređaj?

Termin NFC uređaj se često primjenjuje na aktivne NFC oznake. Primjer aktivnih NFC uređaja su pametni telefoni i tableti s NFC modulima, NFC čitači povezani na PC. Svi ovi uređaji imaju NFC čitač unutar sebe i zahtijevaju napajanje za rad.

Da li je moguće šifrirati podatke na NFC čipu?

NFC standard ne podržava NDEF enkripciju zapisa. Jedini način za implementaciju enkripcije je kreiranje prilagođenog MimeType unosa. Ovaj zapis mora sadržavati šifrirane podatke, a aplikacija koja ga čita mora imati ključ za dešifriranje. Sve ostale aplikacije će zanemariti ovaj unos.

Da li je moguće prepisati UID?

Jedinstveni identifikator (UID) NFC oznake ne može se promijeniti. Ovaj identifikator se nalazi u zaštićenom memorijskom području NFC čipa. Dizajniran je za identifikaciju NFC čipa.

Koji NFC čip može pohraniti kontakte (VCARD)?

Široko korišćeni NFC čip NTAG203 ima 144 memorije za pisanje. Ovo nije dovoljno za snimanje potpunih kontakt informacija. Čip vam omogućava da snimite samo mali broj polja (na primjer, prezime, ime i telefon). Ako vam je potreban veći kapacitet, preporučuje se korištenje NTAG216 čipa, koji ima kapacitet pisanja od 888 bajtova. Optimalno je za snimanje kontakt informacija u VCARD formatu. Kontakt snimljen u ovom formatu može se uvesti u pametni telefon jednim dodirom NFC oznake. Ova funkcija se koristi za NFC vizitke.

Šta je NFC Forum?

Organizacija NFC Forum je stvorena da promovira NFC tehnologiju i razvije NFC standardnu ​​specifikaciju koja osigurava kompatibilnost uređaja i usluga koje koriste ovu tehnologiju. NFC Forum je standardizirao 4 vrste NFC oznaka koje rade sa NFC uređajima. Ovo je osnova za kompatibilnost između uređaja različitih proizvođača. NFC oznaka je u skladu sa standardom NFC Foruma ako je kompatibilna s jednim od ova 4 tipa (Tip 1, Tip 2, Tip 3 ili Tip 4). NFC oznake koje su u skladu sa standardom NFC Foruma imaju manje problema s kompatibilnošću od oznaka koje nisu u skladu sa standardom.

Koristimo Arduino ploču za čitanje NFC oznaka i zapisivanje informacija na njih!

Šta je NFC?

NFC (near field communication) su protokoli koji koriste elektronske uređaje za komunikaciju i prijenos podataka između sebe. NFC uređaji moraju biti postavljeni vrlo blizu jedan drugom, obično unutar 10 cm, ali ovaj raspon može varirati ovisno o uređaju koji prenosi podatke i veličini oznake. NFC oznake ne zahtijevaju nikakvo napajanje. Koriste magnetnu indukciju između dvije male kružne antene. Trenutno, oznake nose između 96 i 4096 bajtova informacija.

Lista komponenti

  • Adafruit PN532 RFID/NFC Shield ploča za proširenje (ili analogni);
  • Arduino IDE;
  • NFC oznake koje se mogu prepisivati.

Važno je da se NFC oznake mogu ponovo pisati, inače kod neće raditi.

Da bismo provjerili da li smo uspješno upisali podatke u oznake, možemo koristiti Arduino ili NFC telefon. Većina Android pametnih telefona može čitati NFC oznake, za testiranje ću koristiti Nexus 5. Nažalost za iPhone korisnike, podrška za NFC počela je sa iPhone 6 i 6s, ali ne podržavaju čitanje NFC oznaka, tako da možete koristiti Arduino ploču da provjerite da li je napisano na vašoj NFC oznaci. iPhone koristi svoje NFC mogućnosti samo za Apple Pay, što znači da ga ne možete koristiti za čitanje oznaka ili bilo čega drugog.

Nakon što imamo sve potrebne komponente, morat ćemo instalirati dvije biblioteke koje omogućavaju čitanje i pisanje oznaka. Ovo su don/NDEF i Seeedstudio biblioteke, mi ćemo uglavnom koristiti prvu. Seeedstudio biblioteka se koristi ako imate Seeedstudio NFC shield karticu za proširenje. Za svaki slučaj ćemo ga instalirati. Morate preuzeti i instalirati obje biblioteke koristeći opciju “Add .zip Library” u Arduino IDE pod “Sketch → Include Library” meni. Ne zaboravite da instalirate obje biblioteke zasebno iu zadani Arduino direktorij, inače ćete dobiti greške pri kompilaciji.

Pokrenite IDE i trebalo bi kreirati novu datoteku skice. Sačuvajte novu datoteku pod bilo kojim imenom, na primjer, "Pročitaj NFC oznaku". Prvo mu morate dodati datoteke zaglavlja. Moraju ići prije void setup() .

#include #include #include PN532_I2C pn532_i2c(Wire); NfcAdapter nfc = NfcAdapter(pn532_i2c); // Označava da koristimo karticu za proširenje

Čitanje NFC oznaka

Ove datoteke zaglavlja su veoma važne i projekat neće raditi bez njih. Zatim pišemo sljedeći kod.

#include #include #include // Sljedeće datoteke uključuju instalirane biblioteke #include PN532_I2C pn532_i2c(Wire); NfcAdapter nfc = NfcAdapter(pn532_i2c); // Označava da koristimo karticu za proširenje void setup(void) ( Serial.begin(9600); Serial.println("NFC TAG READER"); // Zaglavlje koje se koristi u monitoru serijskog porta nfc.begin(); ) void loop (void) ( Serial.println("\nSkenirajte vašu NFC oznaku na NFC štit\n"); // Naredba da biste znali što sljedeće učiniti ako (nfc.tagPresent()) ( NfcTag tag = nfc.read ( ); Serial.println(tag.getTagType()); Serial.print("UID: "); Serial.println(tag.getUidString()); // Dohvaća jedinstveni identifikator iz vaše oznake if (tag.hasNdefMessage( )) // Ako oznaka ima poruku ( NdefMessage message = tag.getNdefMessage(); Serial.print("\nOva poruka u ovoj oznaci je "); Serial.print(message.getRecordCount()); Serial.print( " NFC Tag Record"); if (message.getRecordCount() != 1) ( Serial.print("s"); ) Serial.println("."); // Ako imate više od 1 poruke, idite kroz njih u petlji int recordCount = message.getRecordCount(); for (int i = 0; i< recordCount; i++) { Serial.print("\nNDEF Record "); Serial.println(i+1); NdefRecord record = message.getRecord(i); int payloadLength = record.getPayloadLength(); byte payload; record.getPayload(payload); String payloadAsString = ""; // Обработать сообщение, как строку for (int c = 0; c < payloadLength; c++) { payloadAsString += (char)payload[c]; } Serial.print(" Information (as String): "); Serial.println(payloadAsString); String uid = record.getId(); if (uid != "") { Serial.print(" ID: "); Serial.println(uid); // Напечатать уникальный идентификатор NFC метки } } } } delay(10000); }

Nakon što ste spremili i učitali ovaj kod u svoju Arduino ploču s povezanom pločom za proširenje, možete početi provjeravati koje poruke imaju vaše oznake, ako ih ima. Kada učitate program u Arduino, otvorite serijski monitor, tamo ćete vidjeti poruku "NFC TAG Reader", a ispod instrukcija koje vam govore da skenirate svoju NFC oznaku na svom NFC štitu ("Skenirajte svoju NFC oznaku na vašem NFC štitu ”). Kada sam ovo uradio dobio sam sledeće na monitoru serijskog porta:



Imajte na umu da daje jedinstveni ID NFC oznake i govori mi koje informacije sam napisao u oznake. U ovoj posebnoj oznaci imam jednostavnu poruku dobrodošlice i vezu do Arduino Twittera. Arduino uspješno čita informacije iz moje oznake. Video ispod prikazuje moj Nexus 5 kako čita oznaku i prikazuje poruke.

Pišite na NFC oznaku

Sada, da biste napisali poruku u oznaku, morate slijediti sličan proces, osim manjih promjena u kodu. Zaglavlje prije funkcije void setup() bit će isto, a ispod je kod koji treba učitati u Arduino.

#include #include #include // Sljedeće datoteke uključuju instalirane biblioteke #include PN532_I2C pn532_i2c(Wire); NfcAdapter nfc = NfcAdapter(pn532_i2c); // Označava da koristimo karticu za proširenje void setup() ( Serial.begin(9600); Serial.println("NFC Tag Writer"); // Poruka monitoru serijskog porta nfc.begin(); ) void petlja () ( Serial.println("\nPostavite NFC oznaku na koju želite da snimite ove poruke!"); // Naredba u monitoru serijskog porta if (nfc.tagPresent()) (NdefMessage poruka = ​​NdefMessage(); poruka .addTextRecord(" My First NFC Tag Write"); // Tekstualna poruka koju želimo snimiti message.addUriRecord("http://allaboutcircuits.com"); // Web stranica koju želimo snimiti message.addTextRecord("Way to Go , Uspjelo je! "); // Konačna poruka koju želimo napisati boolean uspjeh = nfc.write(message); if (uspjeh) ( Serial.println("Dobar posao, sada ga pročitajte na svom telefonu!"); // ako sve radi, tada ćemo vidjeti ovu poruku ) else ( Serial.println("Write failed"); // ako upisivanje nije uspjelo, vidjet ćemo ovu poruku ) ) delay(10000); )

Ovaj kod pohranjuje tri poruke u oznaku: uvodni tekst koji kaže „Moja prva NFC oznaka piše“, zatim vezu do web stranice AllAboutCircuits i na kraju konačnu poruku koja kaže „Tako je, radilo je!“ .