Mobil informatika gyakorlat. 2. óra: NFC a gyakorlatban

Hasonló dokumentumok
Mobil informatika gyakorlat. 1. óra: NFC alapok

Near Field Communication (NFC)

Mobil Informatikai Rendszerek

Az NFC-technológia mindennapi életben való alkalmazásának vonzó lehetőségei

Kommunikáció - Wi-Fi, Mobil internet - Bluetooth - GSM / GPRS és SMS - NFC

Elemi alkalmazások fejlesztése IV. Adatbázis-kezelő GUI alkalmazás készítése 3. Összetett tábla karbantartása

RFID rendszer felépítése

Alkalmazások fejlesztése III. Qt 4 /C++ alapú MDI alkalmazás: Számlakészítő program 3/3

A jobboldalon a pnlright egy Stacked Widget Állítsuk be az első lapot és nevezzük el pnldraw-ra:

Elemi alkalmazások fejlesztése III.

Kommunikáció Androidon GSM hívás SMS küldés, fogadás Bluetooth NFC USB

Elemi alkalmazások fejlesztése III.

if(_param.antialias) painter.setrenderhint(qpainter::antialiasing, true);


















Elemi alkalmazások fejlesztése III.

RFID/NFC. Elektronikus kereskedelem. Rádiófrekvenciás tárgyés személyazonosítás. Dr. Kutor László.

Elemi alkalmazások fejlesztése III. A Qt assistant elindítása. Ajánlott ir odalom. A Qt assistant nyitó ablaka

Egységes és objektumközpontú adatbázis-kezelés (2. rész)

Java Programozás 4. Gy: Java GUI. Tipper, MVC kalkulátor

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész

Alkalmazások fejlesztése III. Qt 4 /C++ alapú MDI alkalmazás: Számlakészítő program 2/3

RFID-val támogatott eszközleltár

Adabáziselérés ODBC-n keresztül utasításokkal C#-ban

Access adatbázis elérése OLE DB-n keresztül

Grafikus Qt programok írása segédeszközök nélkül

3D-s számítógépes geometria és alakzatrekonstrukció

BME MOGI Gépészeti informatika 7.

1. Alapok. Programozás II

Adatbázis-kezelés ODBC driverrel

Smart grand VF-696 CJA28DAVDAPA

Feladat. Tervezés és implementálás

Smart speed VF-795 CJA28BAVDAPA

Mérési útmutató a Mobil Kommunikáció és Kvantumtechnológiák Laboratórium méréseihez

Entity Framework alapú adatbáziselérés

RFID. Balogh András BME-HIT

Elemi alkalmazások fejlesztése III.

Java gyakorlat feladatai e s megolda sai ( )

Kalapácsvetés 2016 szöveges

Rövid használati utasítás

Vizuális programozás gyakorlat

Grafikus felületek készítése 1.

Repülőtéri információs rendszerek

INFORMATIKAI ALAPISMERETEK

Mi a PayPass? Hogyan működik a PayPass?

3D-s számítógépes geometria és alakzatrekonstrukció

Budapest, március. ELTE Informatikai Kar

Elemi alkalmazások fejlesztése III

Az Ön kézikönyve HTC WILDFIRE

Elemi alkalmazások fejlesztése IV.

MySql elindítása. Elemi alkalmazások fejlesztése IV. Feladat. Az alkalmazás adatbázisa


Bevezetés, a C++ osztályok. Pere László

CAN alapú járműves adatokat megjelenítő szoftver fejlesztése

Java Programozás 8. Gy: Java alapok. Adatkezelő 4.rész

Alkalmazások fejlesztése III. Qt 4 /C++ alapú MDI alkalmazás: Számlakészítő program 1/3

MERT EZ NEM CSAK EGY ÚJABB MONO LÉZER NYOMTATÓ

Kommunikáció Androidon Mobilinternet Wifi








Java Programozás 7. Gy: Java alapok. Adatkezelő 3.rész

Elektronikus fizetés. (mobil. és Internet)

Országzászlók (2015. május 27., Sz14)

Programozási alapismeretek :: beadandó feladat. Felhasználói dokumentáció. Molnár Tamás MOTIABT.ELTE

Informatikai Kar. 3. fejezet. alapismeretek. Giachetta Roberto

Programozási nyelvek Java

Kezelési útmutató VOYAGER LEGEND CS BLUETOOTH SYSTEM. Quantum-R Kft. Importőr:


Java Programozás 6. Gy: Java alapok. Adatkezelő 2.rész


BackBeat PRO 2 BackBeat PRO 2 Special Edition. Használati útmutató


MDM Exchange Alapokon AVAGY A MICROSOFT EXCHANGE 2013 MINT AZ MDM KŐBALTÁJA

Rádiófrekvenciás azonosítás RFID, NFC, PAYPASS






Átírás:

Mobil informatika gyakorlat 2. óra: NFC a gyakorlatban

Mi az NFC? Near Field Communication Rövid hatótávolságú rádiófrekvenciás technológia (tipikusan 5-10 cm) 13,56 MHz frekvencia Az ISO/IEC 14443 szabvány kiterjesztése 2

Az NDEF...... NFC Data Exchange Format.... az NFC Forum által kidolgozott adatformátum szabvány.... egyszerűvé teszi a hordozott adatok típusának felismerését. 3

Az NDEF üzenet szerkezete 4

Az NDEF üzenet szerkezete 5

Tartalomtípusok Egyszerű szöveg NFC Text RTD URI (NFC URI RTD) URL: http://www.nxp.com Telefonszám: tel:+36 30 123 4567 SMS: sms: :+36301234567?Body=Hello E-mail: mailto:nfc@nfc.com 6

Tartalomtípusok Smart Poster (NFC SP RTD) Szöveg + URI Bluetooth, Wifi kapcsolódás Névjegy Bármilyen MIME típus text/plain, text/x-vcard, image/jpeg,... 7

Tag detektálás, ID beolvasása ELSŐ NFC ALKALMAZÁSUNK QT-BEN 8

Kiindulás Hozzunk létre egy új mobil widget projektet. Helyezzünk egy PlainTextEdit-et a képernyőre. A <projekt neve>.pro-ba írjuk be az alábbi sorokat (némelyik már benne van, csak kiegészíteni kell): CONFIG += mobility MOBILITY += connectivity symbian:target.capability+=localservices 9

mainwindow.h Az include rész végére: #include <QNearFieldManager> QTM_USE_NAMESPACE 10

mainwindow.h Az osztályba: private: QNearFieldManager *nfcmanager; private slots: void targetdetected(qnearfieldtarget *target); void targetlost(qnearfieldtarget *target); 11

mainwindow.cpp A konstruktorba: nfcmanager=new QNearFieldManager(this); connect(nfcmanager, SIGNAL(targetDetected(QNearFieldTarget*)),this, SLOT(targetDetected(QNearFieldTarget*))); connect(nfcmanager, SIGNAL(targetLost(QNearFieldTarget*)),this, SLOT(targetLost(QNearFieldTarget*))); nfcmanager->starttargetdetection(); 12

mainwindow.cpp void MainWindow::targetDetected(QNearFieldTarget *target) { } QString s(target->uid().tohex()); ui->plaintextedit->appendplaintext(s); 13

mainwindow.cpp void MainWindow::targetLost(QNearFieldTarget *target) { } target->deletelater(); ui->plaintextedit->appendplaintext("a tag hatókörön kívül van."); 14

TARTALOM OLVASÁSA 15

mainwindow.h Új slot az olvasáshoz: private slots: void ndefmessageread(const QNdefMessage &message); 16

mainwindow.cpp void MainWindow::ndefMessageRead(const QNdefMessage &message) { foreach (const QNdefRecord &record, message){ } } if (record.isrecordtype<qndefnfctextrecord>()){ QNdefNfcTextRecord txt(record); } ui->plaintextedit->appendplaintext("text: " +txt.text()); 17

mainwindow.cpp Tag detektálásakor olvassuk le a tartalmát: if(target->hasndefmessage()) { connect(target, SIGNAL(ndefMessageRead(QNdefMessage)),this, SLOT(ndefMessageRead(QNdefMessage))); target->readndefmessages(); } 18

Teszt Indítsuk el a szimulátorban a programot! NFC Target Editor 19

Feladat Írjuk ki az URI típusú rekordok által tárolt webcímeket is! Tipp: include-old a QNdefNfcUriRecord mellett a QUrl-t is, szükség lesz rá. 20

ÜZENET CÍMKÉRE ÍRÁSA 21

Felület változások Tegyünk ki egy újabb PlainTextEdit-et, ebbe írjuk majd a felírandó szöveget. Tegyünk ki egy gombot is, és generáljunk neki egy slotot. Gombon jobb klikk, Go to slot, clicked() 22

mainwindow.h private: QNearFieldTarget *cachedtarget; bool readwrite; private slots: void ndefmessagewrite(); 23

mainwindow.cpp Konstruktorba: // kezdetben olvasó módban vagyunk readwrite=false; targetlost slotba: cachedtarget=null; 24

mainwindow.cpp targetdetected slotba: if (readwrite==false){ //olvasunk if(target->hasndefmessage } else{ //írunk cachedtarget=target; ndefmessagewrite(); } 25

mainwindow.cpp void MainWindow::ndefMessageWrite() { if (cachedtarget){ } QNdefMessage msg; QNdefNfcTextRecord rec; rec.settext( ui->plaintextedit_2->toplaintext()); msg.append(rec); cachedtarget->writendefmessages( QList<QNdefMessage>()<<msg); readwrite=false; // vissza olvasás módba } 26

mainwindow.cpp Ne feledkezzünk meg a gombunk működtetéséről sem! void MainWindow::on_pushButton_clicked() { // írás üzemmódra váltunk readwrite=true; } 27

Feladat Egészítsd ki a programot egy Másolás funkcióval, amely a beolvasott tagtartalmat átírja egy másik tag-re! 28