next up previous contents
Next: Biblioteka PCC Up: Karty procesorowe Previous: Podsumowanie   Spis tresci


Biblioteki dostępu do kart procesorowych w środowisku Linux

Rysunek 2.7: Schemat komunikacji między kartą a komputerem
\begin{figure}\centering %%
\input{rozdzial_2/rysunki/rys7.eepic}
\end{figure}

Przyjrzyjmy się jeszcze raz jak wygląda komunikacja pomiędzy aplikacją działającą na komputerze a kartą (rys. 2.7). W poprzednim rozdziale dowiedzieliśmy się, jak odbywa się komunikacja pomiędzy czytnikiem a kartą. Pozostaje wyjaśnić jak połączony jest komputer z czytnikiem. W większości przypadków użyte jest łącze szeregowe RS232, choć coraz częściej czytniki komunikują się z komputerem przez łącze USB lub przez kartę PCMCIA (w przypadku komputerów przenośnych). Skoncentrujmy się na czytnikach wykorzystujących standard RS232. Komunikacja wygląda następująco:

Taki mechanizm komunikacji jest dla twórcy aplikacji po stronie komputera dość niewygodny:

  1. wysyłanie poleceń numerycznych do czytnika, oczekiwanie na odpowiedź tylko przez określony czas, czy interpretowanie znaków specjalnych[*]wymaga dużej ilości kodu, w którym o popełnienie błędu nie trudno. Co więcej każdy czytnik dostępny na rynku ma inny zestaw instrukcji, co powoduje, że aplikacja musi być pisana dla konkretnego modelu;

  2. nawet posiadanie wygodnej, wysokopoziomowej funkcji, pozwalającej na wysłanie polecenia do karty i odczytanie wyniku, nie rozwiązuje do końca problemu. Polecenia kart same w sobie są dość złożone, składają się z wielu numerków, oznaczających rodzaj polecenia, jego długość oraz parametry. Co więcej numerki te są różne dla każdej karty.

Dość naturalne w takiej sytuacji wydaje się wykorzystanie biblioteki, która udostępniałaby aplikacji wysokopoziomowy interfejs do komunikacji z kartą (wspólny dla wielu modeli kart i czytników) ukrywający zawikłane niskopoziomowe szczegóły komunikacji poprzez łącze RS232, USB, czy jakiekolwiek inne.

Przyjrzyjmy się dwóm bibliotekom realizującym takie zadanie, działającym w środowisku Linux.



Subsections
next up previous contents
Next: Biblioteka PCC Up: Karty procesorowe Previous: Podsumowanie   Spis tresci
Janina Mincer-Daszkiewicz 2001-11-21