Raspberry Pi è un single-board computer (un calcolatore implementato su una sola scheda elettronica) sviluppato dalla Raspberry Pi Foundation.

Il progetto ruota attorno a un System-on-a-chip SoC che incorpora un processore ARM1176JZF-S a 700 MHz, una GPU Video Core IV, e 256 o 512 MegaByte di memoria. Il sistema Operativo si carica da un Scheda SD che funge da hard disk e sulla quale possono essere salvati tutti i dati che devono restare permanenti.

La Raspberry o Rpi oltre a disporre delle canoniche uscite USB, Ethernet, HDMI che si possono trovare in un normale PC dispone anche di uscite audio/video analogico e di un buon numero di uscite digitali GPIO (input/output, I2C, SPI, UART, MiniUart, ….) utilizzabili queste ultime a scopi diversi. Si rimanda al link di riferimento per ulteriori approfondimenti in merito. (http://www.raspberrypi.org/).

Il basso costo di questo computer e la sua flessibilità di utilizzo ne hanno permesso una notevole diffusione. In questo arti9colo viene analizzata la Raspberry pi versione B+ come micro controllore di gestione di un reader RFID di Feig Electronic. L’integrazione avviene sia attraverso la porta Seriale UART sia attraverso una delle porte USB utilizzando le librerie fornite da Feig Electronic ed il linguaggio c. 

Riga_Rossa
Tecnologia
RFID HF & UHF Passiva
Data/Revisione
Dicembre 2014 / rev. 1.0
Riferimenti

Apparati RFID passivi HF FEIG

Apparati RFID passivi UHF FEIG

Raspberry pi Organization

 

 


Strumenti utilizzati per effettuare l’integrazione

  • Reader RFID UHF ISC.MU02 di Feig Electronic
  • RaspBerry pi B+ con s.o. linux distribuzione Raspbian
  • Librerie Feig Electronic per Raspberry pi
  • Ambiente di sviluppo Eclipse

Reader RFID UHF ISC.MU02 

Il reader FEIG Electronic utilizzato per effettuare l’integrazione è il reader ISC.MU02. Questo reader mette disposizione sia interfaccia di tipo RS232 UART TTL 3.3 VDC che interfaccia di tipo USB 2.0

Reader RFID UHF FEIG Electronic ISC.MU02

Reader RFID UHF FEIG Electronic ISC.MU02

Reader RFID UHF FEIG Electronic ISC.MU02

 

 

 Raspberry pi Modello  B+ 

Raspberry B+ Rpi 

Raspberry pi Modello B+ utilizzata ha le seguenti caratteristiche:

  • S.o. Linux distribuzione Raspbian 
  • SD 8 Gigabyte Classe 10

Descrizione del collegamento tramite RS232 TTL LV 

Il collegamento tra Reader RFID UHF ISC.MU02 e Raspberry via RS232 TTL LV avviene tramite connnettore X2 di ISC.MU02 e connettore Header  P1 di Raspberry pi B+.

Terminal Connector X2 del reader RFID ISC.MU02

ISC.MU02 X2 Terminal Connector

ISC.MU02 X2 Terminal Connector

 

Connettore Header P1 J8 Raspberry pi B+

Connettore Header P1 J8 Raspberry pi B+

 

Connettore Header P1 J8 Raspberry pi modello B+

Collegamenti tra Rs232 TTL di ISC.MU02 e UART0 di Rpi.

ISC.MU02 X2-pin 3 (RS232 TX) – Rpi B+ P1-pin10 GPIO15 Rs232 RX

ISC.MU02 X2-pin 5 (RS232 RX) – Rpi B+ P1-pin08 GPIO14 Rs232 TX

ISC.MU02 X2-pin 4 (GND) – Rpi B+ P1-pin06 Ground

Abilitazione della porta RS232 UART0 su Raspberry pi. 

La prima cosa da fare dopo avere effettuato il collegamento hardware è abilitare la porta seriale UART0 su Raspberry pi in quanto questa per default è controllata dal s.o.  che la usa come canale di debug.

Per fare questo esistono due strade diverse:

Metodo 1

Installare uno script sulla Raspberry pi che abilita e disabilita la seriale.  Lo script è disponibile al link: https://github.com/lurch/rpi-serial-console

Metodo 2

Eseguire manualmente i comandi per disabilire la seriale e renderla quindi disponibile per altri utilizzi. Per fare questo seguire il link : http://elinux.org/RPi_Serial_Connection

 A questo punto la serie su Raspberry pi è disponibile per poter essere aperta ed utilizzata da un software custom on Board per pilotare un reader RFID.

Sviluppo della procedura su Eclipse. 

Creare a questo punto un nuovo progetto Eclipse importando le seguenti librerie di Feig Electronic compilate per ARM11 (ARMv6) Raspberry pi:

  • libfecom.so.3.1.0
  • libfeisc.so.7.2
  • libfeusb.so.4.2.1

Effettuare l’apertura della porta seriale.

La porta seriale per il sistema Raspberry pi è identificata con:  /dev/ttyAMA0

La libreria libfecom.so è quella adibita alla gestione della comunicazione tra microcontrollore e reader RFID tramite porta seriale. Per effettuare l’apertura della porta seriale si deve specificare alla libreria il nome completo della porta seriale utilizzando il nuovo parametro messo a disposizione dalla stessa: ‘PortPrefix’.  Di seguito esempio di codice :

Apertura Porta Seriale comunicazione Raspberry pi

Apertura Porta Seriale comunicazione Raspberry pi

 

[learn_more caption=”Codice completo apertura porta COM” state=”close”]

Apertura Porta Seriale comunicazione Raspberry pi - codice completo

Apertura Porta Seriale comunicazione Raspberry pi – codice completo

[/learn_more]

Effettuata l’apertura della porta seriale è necessario creare l’oggetto reader con il quale è possibile controllare il reader RFID. Per effettuare la creazione dell’oggetto reader eseguire utilizzando l’handle della porta seriale ottenuto nella fase di apertura effettuare le seguenti operazioni:

Codice di creazione oggetto reader

Codice di creazione oggetto reader

Una volta creato l’oggetto reader è possibile procedere inviando i comandi destinati a tag. IN questo caso effettuiamo l’inventory con il comando:

Codice comando Inventory

Codice comando Inventory

 La cRspData contiene la risposta del reader RFID con gli eventuali transponder trovati in campo.

Descrizione del collegamento tramite USB

In questo  caso il collegamento avviene ancora tramite il reader Feig Electronic ISC.MU02 che espone nativamente anche un collegamento USB ed una delle porte USB di Raspberry pi.

Il reader ISC.MU02 necessita del connettore apposito di tipo ‘JST PH’  per la connessione al terminal X1 dove è presente  USB.

Una volta inserito il reader RFID nella porta USB di Raspberry pi a livello di sistema si può vedere che appare una nuova porta USB con il nome : /dev/hidraw0

A questo punto si può effettuare la connessione con la seguente routine:

Codice di apertura porta USB

Codice di apertura porta USB

Eseguire a questo punto la creazione dell’oggetto reader

Codice per effettuare la creazione dell'oggetto Reader

Codice per effettuare la creazione dell’oggetto Reader

Ottenuto l’oggetto Reader è possibile eseguire tutti i comandi RFID voluti come mostrato nell’esempio RS232.

 

Riga_Grigia