Dataöverföring mellan en mobiltelefon och en NFC-läsare
2012 (Swedish)Independent thesis Basic level (university diploma), 10 credits / 15 HE credits
Student thesisAlternative title
Data transmission between a mobile phone and a NFC reader (English)
Abstract [sv]
Denna rapport handlar om att använda en trådlös kommunikationsteknik som kallas NFC (Near Field Communication) vid kommunikation mellan en Android mobiltelefon och en NFC-läsare som kallas ACR122U. Syftet med detta projekt är att:
- Välja en Androidtelefon som har stöd för NFC.
- Skapa en applikation som skall köras på Androidtelefonen och som skall skicka ett lösenord via NFC.
- Skapa ett program som skall köras på en dator med operativsystemet Windows 7 och som skall hantera ACR122U.
- Förklara den insamlade kunskapen i detta dokument så andra lättare skall kunna arbeta med NFC.
Följande frågor kommer att besvaras i denna rapport:
- Vilken Androidtelefon bör användas vid utveckling av en applikation som kan kommunicera via NFC?
- Vad krävs vid utveckling av en applikation som kan kommunicera via NFC?
Aktionsforskning är den forskningsmetod som användes vid sökandet efter svar på frågorna ovan. Detta innebär att forskningen görs genom att läsa om ämnet, genomföra en eller flera lösningar för att hitta en fungerande lösning och sedan dokumentera resultaten. Implementeringen av programvaran på mobiltelefonen genomfördes med mycket hjälp från Android Developers hemsida. Vid utvecklingen av den programvara som skall användas av datorn för att hantera ACR122U gjordes en hel del forskning. En demoapplikation och ett Javabibliotek som heter "nfctools" som är skapade av det Tyska GrundID GmbH var mycket användbara vid försöken att ta reda på hur kommunikationen fungerar. Programmet som hanterar ACR122U har utvecklats genom att växelvis läsa och testa olika lösningar.
Den mobiltelefon som valdes under det här projektet är Samsung Galaxy Nexus som kör Android 4.0.Den programvara som hanterar ACR122U måste hantera dessa saker:
- Skicka data via USB till ACR122U - Detta gjordes med hjälp av en klass som kallas "ModWinsCard" vilken kom med ett utvecklingspaket för NFC.
- Ett ACR122U pseudo-APDU (Application Protocol Data Unit) kommando.
- Några av ACR122U:s NFC-kontroller (PN532) kommandon.
- Delar av NFC lagren: NDEF (NFC Data Exchange Format), SNEP (Simple NDEF Exchange Protocol) och LLCP (Logical Link Control Protocol).
Det är viktigt att veta vilka NFC lager som finns implementerade i de enheter som skall kommunicera med varandra via NFC. Samma lager måste användas för att packa och packa upp data.
Abstract [en]
This report is about using a wireless communication technology called NFC (Near Field Communication) when communicating between a mobile phone using an Android operating system and a NFC reader called ACR122U. The purpose of this project is to:
- Select an Android phone which supports NFC.
- Create an application that runs on the Android mobile phone and which shall send a password via NFC.
- Create a program which will run on a PC running Windows 7 and which will handle ACR122U.
- Explain the gathered knowledge in this document so that others may more readily be able to work with NFC.
The following questions will be answered in this report:
- Which Android mobile phone should be used when developing an application which will communicate via NFC?
- What is required when developing an application that can communicate via NFC?
Action research is the research method that was used when searching for answers to the questions above. This means the research is done by reading about the subject, implementing one or more solutions in order to find a working solution and then documenting the results. The implementation of the software on the mobile phone was done with a lot of help from the Android Developers website. When developing the software to be used by the computer to handle ACR122U a lot of research was made. A demo application and a java library called “nfctools” made by the German company GrundID GmbH were very useful when trying to figure out how the communication works. The program that handles ACR122U was developed through alternating between reading and testing different solutions.
The mobile phone that was chosen during this project is Samsung Galaxy Nexus running Android 4.0.The software that handles ACR122U needs to handle these things:
- Sending data via USB to ACR122U – This was done using a class called “ModWinsCard” which came with an NFC development package.
- An ACR122U Pseudo-APDU (Application Protocol Data Unit) command.
- Some of ACR122U’s NFC controller (PN532) commands.
- Some parts of the NFC layers: NDEF (NFC Data Exchange Format), SNEP (Simple NDEF Exchange Protocol) and LLCP (Logical Link Control Protocol).
It is important to know which NFC layers are implemented in the devices that are to communicate with each other via NFC. The same layers must be used when packing and unpacking data.
Place, publisher, year, edition, pages
2012. , p. 46
Keywords [en]
Android, NFC, ACR122U, PN532, NDEF, SNEP, LLCP
Keywords [sv]
Android, NFC, ACR122U, PN532, NDEF, SNEP, LLCP
National Category
Embedded Systems Communication Systems
Identifiers
URN: urn:nbn:se:hj:diva-18557OAI: oai:DiVA.org:hj-18557DiVA, id: diva2:535278
Subject / course
JTH, Computer Engineering
Uppsok
Technology
Supervisors
Examiners
2012-06-192012-06-192012-06-19Bibliographically approved