luni, 30 martie 2015

Cum legi un scanner la retea?

Daca ai un scanner pt documente (ori o imprimanta cu scanner) si scanerul functioneaza pe USB, il poti lega la retea astfel incat sa fie accesibil tuturor dispozitivelor din acea retea (network sharing).

Am avut la dispozitie o imprimanta Samsung SCX-4200 care are si scaner. Imprimanta am pus-o in   retea folosind un Raspberry Pi si aplicatia CUPS, vezi aici pasii, astfel s-au putut tipari documente, imagini inclusiv de pe tableta sau de pe smart phone. Avand si o tastura prin BlueTooth conectata la tableta sau la smartphone, putem renunta la laptop (trimitem si citim emailuri, navigam pe Internet, vedem filme pe YouTube, ascultam muzica, putem edita documente gen Word, Excel, putem tipari si scana, putem trimite documentele etc).

Acum urmeaza sa folosim si scanerul, folosim SANE, o aplicatie ce permite scanarea sub Linux. Practic SANE asculta pe un port specificat, cand vine o cerere la adresa IP a placii Raspberry Pi pe portul specificat, SANE o preia si o executa - in cazul de fata scaneaza documentul din scaner.

*Instalare SANE si pachete aditionale:
sudo apt-get update
sudo apt-get install avahi-daemon libnss-mdns sane-utils

*Editam fisierul de configurare: nano /etc/default/saned    si schimbam "RUN=no" in "RUN=yes"

*Instalarea SANE creeaza un utilizator saned, pe care il adaugam la grupurile care au permisiunea de utilizare a scanerului:
usermod -a -G lp,scanner saned

*Pornim SANE:
/etc/init.d/saned start
Starting SANE network scanner server: root@Imprimanta:/home/pi# su -s /bin/sh - saned
No directory, logging in with HOME=/

*Verificam ca Raspberry Pi vede scanerul / imprimanta:
lsusb
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 004: ID 04e8:341b Samsung Electronics Co., Ltd SCX-4200 series

*Verificam ca SANE vede scanerul:
scanimage -L
device `xerox_mfp:libusb:001:004' is a SAMSUNG ORION multi-function peripheral
exit

*Verificam ce port asculta SANE:
cat /etc/services | grep sane
sane-port       6566/tcp        sane saned      # SANE network scanner daemon

*De asemenea verificam si ce porturi sunt ascultate / deschise pe Raspberry Pi
netstat -t -l -n
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:6566            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:631             0.0.0.0:*               LISTEN

*Specificam de la care adrese IP sunt acceptate cererile de scanare editind fisierul - ultima linie doar:
nano /etc/sane.d/saned.conf

192.168.100.0/25  // in functie de reteaua noastra, poate fi 192.168.1.0/25 sau 192.168.0.0/25 etc



Acum urmeaza partea pentru tabelta / smartphone cu Android, pentru iOS, nu pot da sfaturi. Vom instala din Google Play / Market aplicatia InSaneScanner:



Acolo urmeaza sa setam adresa IP si portul de pe Rasberry Pi:



Apoi scanam primul document - tableta / smartphoneul trebuie sa fie conectat la aceeasi retea (WiFi) ca si Raspberry Pi:


Documentul scanat se poate salva ca si imagine JPEG, document PDF, poate fi direct trimis ca document atasat la email sau poate fi postat pe Facebook etc - foarte practic.