Differenze tra le versioni di "PrinterScannerServer"

Da raspibo.
Jump to navigation Jump to search
Riga 6: Riga 6:
  
 
  Materiale necessario:
 
  Materiale necessario:
 +
-
 
  -Raspberri Pi escluso versione A e alimentatore
 
  -Raspberri Pi escluso versione A e alimentatore
 
  -Cavo di rete  
 
  -Cavo di rete  

Versione delle 05:02, 29 giu 2023

Questa guida è mirata alla creazione di un server di stampa e scansione con l'utilizzo di un raspberry pi, nel caso specifico utilizzerò una stampante multi funzione "Epson SX110" ma questo non toglie la possibilità di utilizzare due dispositivi separati o altre stampanti multi funzione similari, l'unico vincolo è la compatibilità con i programmi utilizzati ma vista la svariata scelta di driver già inclusi nei Sw diciamo che la compatibilità e quasi totale. Per la realizzazione di questa magia utilizzerò due programmi. CUPS e l'acronimo di "Common Unix printing system" e permette di condividere la stampante sulla rete e sarà possibile gestirla per mezzo di un interfaccia HTML. SANE è l'acronimo di "Sharing a scanner with the Network – even Windows" e riesce a gestire lo scanner comunicando con un programma installato nel pc. Iniziamo dal principio installando e configurando una versione immagine ancora vergine, per i più esperti basterà saltare questi primi passaggi.

Materiale necessario:

-

-Raspberri Pi escluso versione A e alimentatore
-Cavo di rete 
-Cavo USB – Stampante
-Stampante / scanner o Multi funzione

Installazione Raspbian: Dal sito Raspberry Pi scaricare l'ultima immagine del programma. Formattare una SD card da 4gb o superiore con l'apposito tool SD Cadr Formatter , nell' OPTION selezionare l'opzione "Full(Erase)" per essere sicuri di preparare bene l'SD.

SDFornat.png

Formattata l'SD card con Win32Disk imager possiamo caricare l'immagine scaricata precedentemente. All'avvio del Rpi impostare le preferenze . "Expand File system" serve a estendere l'immagine precedentemente caricata a tutta la memoria disponibile. "Internationa lisation Options" ->Change Timezone serve a selezionare il proprio fuso orario. L'impostazione del fuso orario non è necessaria per il nostro scopo, giusto per sincronizzare gli orologi del pc. InitRpi.png

Ora passiamo al SO collegato il cavo di rete e aggiorniamolo all'ultima versione.

sudo apt-get update
sudo apt-get upgrade

L'aggiornamento richiede un tempo considerevolmente lungo ma lasciamolo lavorare.


Impostazione indirizzo statico dell'RPI

Questa impostazione è fondamentale per indirizzare la stampante di rete e lo scanner.

sudo ifconfig 

visualizziamo lo stato attuale della connessione di rete appuntare i parametri del "inet addr:x.x.x.x Bcast:x.x.x.x Mask:x.x.x.x"

sudo  netstat -nr

Appuntiamo il "Destination:x.x.x.x Gateway:x.x.x."

a questo punto impostiamo la scheda di rete aprendo il file di configurazione

sudo nano /etc/network/interfaces

commentare "#" la linea

iface eth0 inet dhcp

scivere

iface eth0 inet static
address x.x.x.x
netmask x.x.x.x
network x.x.x.x
broadcast x.x.x.x
gateway x.x.x.x

In address o dare l'indirizzo che si è scritto con inet addr o assegnarne uno specifico. per modificare il DNS modificando il file

sudo nano/etc/resolv.conf

immettere il nameserver x.x.x.x e name server x.x.x.x


Installazione di CUPS

sudo apt-get install cups
sudo usermod -a -G lpadmin pi

Cosi facendo installo cups e do all'utente pi i privilegi di root per poi gestire le funzioni dell stampante

sudo nano /etc/cups/cupsd.conf commentare Listen localhost :631 con # e mettere "Port 631" In questo modo risponderà a tutte le chiamate interne o esterne sulla porta 631 e potremo gestire la sua interfaccia html dal nostro pc. Scorrendo in giù nel file aggiungere a :

#restrict access to server 
Allow @local
#restrict access to the admin page 
Allow @local
#restrict access to the configuration file 
Allow @local 

Salvare ed uscire. Riavviare CUPS

sudo service cups restart

Riavviato il Rpi dovremmo essere abilitati ad aprire la pagina di cups da qualsiasi browser collegato alla nostra rete. Per aprire la pagina di configurazione digitare sulla barra del browser l'indirizzo del Rpi:631 da questo momento in poi la configurazione di cups può essere fatta con interfaccia grafica.

CUPS.png

Cliccare su "Amministrazione" e poi aggiungi stampante, la stampante sara riconosciuta dal sistema. La stampante aggiunta sara visibile nella pagina "printers" cliccando sul nome della stampante in blu si apre la pagina di gestione stampante, nel menu maintenace lanciare il test di stampa "Print Test Page".

Configuriamo il server di cups

sudo nano /etc/cups/cupsd.conf

Trovare e commentare "server name muhost.domain.com" Sostituire con Server Name x.x.x.x "indirizzi del Rpi" Trovare e commenatre "BrowserAddress @LOCAL" Sostituire con BrowserAddress x.x.x.x "indirizzi del Rpi"

Dopo la riga Allow From 127.0.0.1 Aggiungere AllowFrom x.x.x.x "indirizzi del Rpi" Salvare e riavviare CUPS

sudo service cups restart


Installiamo ora la stampante in windows nel mio caso "XP" Aprire il pannello di controllo e la relativa gestione stampanti, cliccare su "Aggiungi stampante" http://Indirizzo Rpi :631/printers/"PrintersName" il nome giusto lo trovi su CUPS A questo punto verrano chiesti i driver, se non sono compresi nell'elenco proposto installare la stampante sul computer e poi ripetere la ricerca della stampante. Provare a lanciare la stampa.


Installazione SANE

Questo programma funziona abbinato ad un altro programma installato nel pc. Installiamo SANE utils che contiene sane

sudo apt-get install xinetd sane-utils

ora aprire e configurare il file di avvio di Sane

sudo nano /etc/default/saned       


#defaults for the saned initscript, for sane-utils
#Set to yes to start saned
RUN=yes
#set to the user saned should run as
RUN_AS_USER=saned

Salvare e chiudere Avvio Sane e provo se riconosce lo scanner


cd /home/pi
/etc/init.d/saned start

Verifico cosa vedo nelle USB sia da utente che root

$ lsusb
$ scanimage -L #questo comando restituisce la presenza dello scanner
$ exit 

esco dal root

Ora che lo scanner e stato riconosciuto da SANE con il prossimo comando andiamo a vedere sane su quale porta e configurato

root@raspberrypi:/etc/xinetd.d# cat /etc/services | grep sane

Visualizzerà

sane-port       6566/tcp        sane saned      # SANE network scanner daemon

se non fosse cosi bisogna aggiungerla

root@raspberrypi:/# cd /etc/xinetd.d
root@raspberrypi:/etc/xinetd.d# touch sane-daemon
root@raspberrypi:/etc/xinetd.d# which saned
/usr/sbin/saned
root@raspberrypi:/etc/xinetd.d# nano sane-daemon

Creare il file per la configurazione di Xlnet

sudo nano /etc/xinetd.d/sane-daemon 

contenente

service sane-port
           {
             socket_type = stream
             server = /usr/sbin/saned
             protocol = tcp
             user = saned
             group = saned
             wait = no
             disable = no
           }

Modificare la configurazione di SANE

sudo nano /etc/sane.d/saned.conf
# saned.conf
# Configuration for the saned daemon
## Daemon options
# [...]
# data_portrange = 10000 - 10100
  

## Access list
# [...]
# The hostname matching is not case-sensitive.

#scan-client.somedomain.firm
x.x.x.x/x    "Da modificare con il vostro IP"  

#192.168.0.1
#192.168.0.1/29
#[2001:7a8:185e::42:12]
#[2001:7a8:185e::42:12]/64

# [...]

Aggiungo saned al gruppo lp

sudo adduser saned lp

Ora riavviare l'RPI

sudo reboot

Ora configurare il programma Sane Twain Nel campo x.x.x.x mettere l'indirizzo del Rpi

S.png

Dal simbolo dello scanner lanciare la scansione.

Link CUPS

Link SANE