• No results found

3.3 RFID

3.3.1 NDEF

Med PN532 är det möjligt att skicka meddelanden från Raspberry Pi till en NFC kompatibel Android telefon. Specifik mjukvara för att styra PN532 är nödvändig och måste skrivas, alternativt lokaliseras, och även mjukvara för att ta emot ett NDEF-meddelande på en Android telefon, vilket borde existera på t.ex. Google Player Butiken9. Framförallt kommer möjligheterna att skicka fält av data, ge- nom användning av redan existerande mjukvara för Raspberry Pi undersökas.

8Microcontroller board

4

Resultat

Resultatet presenteras genom att gå igenom individuella resultat av projektets olika delmoment för att sedan avslutas med en sammanfattning av resultatet.

4.1

Introduktion

I och med att projektet har bestått av olika delar, från laboration med hårdvara till konstruktion av mjukvara så presenteras resultatet i olika delar. De resultat som ska tas upp är resulternade experiment med Snappy Ubuntu Core, konstruk- tionen av RFID-mjukvara och hur Node-RED använts tillsammans med RFID och dess mjuk och hårdvara.

4.2

RFID

I RFID-avsnittet presenteras de olika delarna i projektet som relateras huvudsak- lingen till just RFID, såsom RFID-läsare och mjukvaran som hanterar just RFID- läsaren.

4.2.1

RFID-läsare

Den RFID-läsaren som beställaren ville använda sig av, Omnikey 5321, gick ej att använda då dess tillverkare, HID Global, inte tillhandahåller några drivruti- ner för ARM arkitekturen. Det finns heller inga tecken på att dem skulle släppa drivrutiner till ARM, då Omnikey 5321 är några år gammal och en produkt som inte är i produktion längre och att dem inte tycks ha några produkter som stödjer ARM arkitekturen.

22 4 Resultat

Därav fick istället ett substitut identifieras och beställas. Det som var intressant när en ny läsare skulle väljas ut var huruvida den var plattformsoberoende, de vill säga, den borde fungera till alla plattformar och processorarkitekturer. De läsare som visade högst potential var MFRC522 och PN532, då båda dessa läsa- re ansluts direkt via SPI1, som finns på Raspberry Pi’s GPIO port. Dessa läsare går att beställa för några få kronor, och är betydligt mer prisvärda att använda än Omnikey 5321, vilket är en intressant faktor om man ser till att systemet kan tänkas användas i alla salar i ett sjukhus.

Vid eftersökningar på bland annat github och Raspberry Pi’s användarforum så visade det sig att det fanns en väldigt stor opensource kodbas, skriven i C till MFRC522, fast för Arduino2.

Efter att ha noggrant studerat Arduino biblioteket så upptäcktes det att den kod och dess funktioner är väldigt lika de som används av Raspberry Pi, för att t.ex. kommunicera med SPI. Det gjorde proceduren att skriva om hela biblioteket, så att det istället för att fungera till Arduino, nu kunde initiera en anslutning till Raspberry Pi’s SPI interface och ansluta mot MFRC522 via GPIO istället.

Resultatet blev ett kodbibliotek som kan inkluderas i ett C/C++ program för att sedan läsa av en RFID-tag med MFRC522. I figuren 4.1 så kan man se RFID- mjukvaran i en terminal, ett RFID-kort är inscannat och dess serienummer visas i terminalen.

Figur 4.1:Skärmdump på en terminal som kör RFID-mjukvaran

4.2.2

NDEF

Det var förvånansvärt svårt att hitta mjukvara som skickade data mellan Rasp- berry Pi och Android via PN532. Det verkar som att folk på Raspberry Pi’s och

1Serial Peripheral Interface

4.3 Snappy Ubuntu Core 23

andra forum tycker det är mer intressant att använda PN532 för att enbart läsa av taggar och inte använda den i syfte att skicka data från Raspberry PI till en annan enhet.

Det som hade behövts göras för att uppnå ett bra resultat, ett resultat med enkel och fin mjukvara som endast syftar till att skicka meddelanden mellan Raspberry Pi och t.ex. en Android telefon, vore att från grunden skriva all kod som behövs för ändamålet.

Men det som skedde var ett test med redan existerande mjukvara, ett försök till att manipulera mjukvaran att skicka egna meddelanden. Hur som helst så resulte- rade försöken i att ett program som kunde skicka korta fält av chars3som kunde läsas upp i en Android4telefon.

4.3

Snappy Ubuntu Core

Även fast Snappy Ubuntu Core är ett väldigt stabilt och säkert operativsystem, där administratören har stor kontroll över vilka paket som installeras och enkelt kan dra tillbaka en applikation till tidigare versioner, i och med att applikatio- nernas tidigare versioner sparas undan vid varje uppdatering, så visade det sig att operativsystemet har lite för många brister i dagsläget för att kunna användas till det som beställaren tänkt sig.

Det största problemet är att operativsystemet inte stödjer kommunikation via GPIO, vilket både MFRC522 och PN532 använder tillsammans med SPI. Därav kunde varken Omnieky 5321 användas, i och med dess inkompabilitet med ARM och då inte heller MFRC522 och PN532, vilket uteslutningsvis resulterar i att ope- rativsystemet inte går att använda för det tänkta syftet.

Men oavsett vad det kan användas till för tillfället så resulterade experimenten med Snappy Core Ubuntu i instruktioner över hur operativsystemet ska instal- leras och hur man kan installera mjukvara utanför Snappy Ubuntu Core’s egna mjukvarubibliotek, vilket kan vara intressant vid vidare försök till tillämpningar. Instruktioner finns beskrivna i appendix.

Related documents