Publié le 21 avril 2020 - par

Scanner à distance avec le Raspberry Pi

Je vous avais proposé en oct. 2019 de convertir une imprimante USB Epson DX9400f (sortie en 2007) en imprimante WiFi avec un Raspberry Pi et CUPS. Comme l’imprimante dispose d’un scanner j’aurais aimé utiliser aussi le scanner à distance avec SANE.

Cliquez pour avoir la définition des niveaux

J’ai classé cet article pour les utilisateurs avancés car il n’est pas toujours simple de comprendre pourquoi ça ne fonctionne pas… Je ne pourrai pas répondre aux demandes du genre “J’ai suivi le tuto à la lettre mais ça marche pô !” Les paramètres sont nombreux et je ne suis pas voyante

Je ne suis pas voyante !

Scanner à distance avec le Raspberry Pi

Un scanner trop distant

Pourquoi un scanner distant ? Parce que l’imprimante est dans la pièce à côté, connectée au Raspberry Pi et qu’elle imprime parfaitement. Jusque là tout va bien, un petit passage dans la pièce d’à côté, l’atelier couture de madame314 (c’est Sarah qui a trouvé ce nom 🙂 ) et je récupère mon impression. Et alors me direz vous ? Pour le scanner ?

Le scanner-imprimante tout seul dans son coin avec le Raspberry Pi

Bin comme le scanner fait partie de l’imprimante, il n’est connecté qu’au Raspberry Pi… tout seul dans son coin. Comme je ne peux pas scanner à distance, je débranche l’imprimante du Raspberry Pi, je mets un PC portable à côté de l’imprimante et après je scanne.

C’est pas fini ! Maintenant que j’ai mon image scannée, il faut que je la passe sur le PC sur lequel je travaille (comme en ce moment, en écoutant Dire Straits). Alors là ça dépend de la taille de l’image, du temps qu’il fait et de l’humeur du moment. Parfois c’est un mail, des fois je pose l’image sur le NAS, ou pire, j’utilise une clé USB. De toute façon je sais que pour scanner à distance il faudra que j’aille jusqu’au scanner pour poser le document, mais au moins ça évitera les transferts d’image…

Principe du scan distant

Pour gérer le scanner côté Raspberry Pi, on va utiliser le serveur SANE. Il s’installe sans problème sur Raspbian. Sur le PC (oui je sais c’est un vieux PC 😆 ) j’installerai sanetwain qui date un peu mais qui fait le travail. et on va transférer l’image via le réseau de la box.

Installer SANE

Avant de commencer, faites une mise à jour de votre système

On peut maintenant installer SANE.

Et voir s’il trouve un scanner connecté

Apparemment oui il a trouvé 2 scanners ! bon, l’un doit être l’imprimante et l’autre le scanner…

Allez on continue avec scanimage -L qui va faire un scan (vide) avec les paramètres par défaut et créer une image sur la carte micro SD, nommée image.pnm. Pour la convertir il existe des outils en ligne comme Convertio. PNM est connu comme Portable-PixMap (wikipedia) et date des années 1980.

Mais surtout il nous retourne des informations sur le scanner comme vous pouvez le voir.

On peut continuer en faisant un « vrai » scan cette fois

Si tout ce passe bien il ne doit pas y avoir de message d’horreur, mais l’image est créée cette fois et elle n’est pas vide.

Modifiez si besoin le contenu pour obtenir ceci :

Puis ensuite ouvrez saned.conf :

Et modifiez le fichier pour avoir

Ici on indique le réseau autorisé à scanner. Pour la LiveBox c’est 192.168.1.0, vous adapterez en fonction de votre propre réseau local.

Il reste à autoriser le scan. souvenez vous tout à l’heure scanimage nous a retourné 001:004 pour le scanner, sur le bus USB. C’est le fichier 004 du bus USB 001. Regardons qui est le propriétaire de ce fichier

le scanner (004) appartient à root et au groupe lp. On va ajouter le démon saned au groupe lp pour lui donner les autorisations nécessaires

On redémarre le démon :

Là j’ai eu quelques soucis, le système me disait que c’était masqué (bin oui en plein confinement c’est normal…). Après quelques recherches, j’ai trouvé la solution sur kbpdfstudio.

Tapez les lignes suivantes pour démarrer saned

Demandez au système de le démarrer automatiquement lors du lancement

Vérifiez si le démon fonctionne avec cette commande

Maintenant si vous redémarrez le Raspberry Pi vous devriez pouvoir scanner !

Installer sanetwain

Là on passe sur le PC Windows 10. Il faut télécharger le fichier zip de sanetwain.

Dans le dossier vous trouverez SaneTwain.ds et ScanImage.exe. Laissez bien ces deux fichiers ensemble pour que ça fonctionne. Ouvrez le fichier ScanImage.exe, autorisez le système à exécuter le fichier.

La fenêtre SaneTwain s’ouvre.  

Cliquez sur les outils (clé et tournevis) pour paramétrer le serveur SANE sur le Raspberry Pi. On rentre son adresse et le nom d’utilisateur. Cochez la case Récupérer les périphériques au démarrage, pour que SaneTwain se reconnecte automatiquement.

Vous pouvez ensuite régler le mode (j’ai choisi le scan en couleur) et la résolution.

Cochez sur la loupe pour lancer une prévisualisation. La ligne d’état en haut de la fenêtre vous informe de ce qui se passe.

Après un moment d’attente (le temps que le scanner balaye l’image) vous obtenez une prévisualisation. Vous pouvez scanner la totalité de l’image ou sélectionner une partie.

Pour scanner et créer un fichier sur le PC, cliquez sur le scanner. Une fenêtre s’ouvre qui vous permet de choisir le nom et l’emplacement de l’image qui va être créée.

Ici j’ai scanné le logo Raspberry Pi en 300 ppp. La qualité est correcte, on voit les points de l’impression papier.

Pour la suite vous avez la doc, il y a de nombreuses options pour modifier les courbes, changer un certain nombre de paramètres… je vous laisse vous amuser avec tout ça.

Conclusion

Déjà merci à j2c qui est souvent intervenu dans les commentaires et qui m’a remis sur la piste d’un ensemble SANE qui fonctionne… Il suffira de dézipper et de lancer l’utilitaire pour se connecter au Raspberry Pi et scanner à distance.

 

Sources

How to solve “Failed to start saned.service: Unit saned.service is masked” on Ubuntu

 

 

 

 

 

 

À propos François MOCQ

Électronicien d'origine, devenu informaticien, et passionné de nouvelles technologies, formateur en maintenance informatique puis en Réseau et Télécommunications. Dès son arrivée sur le marché, le potentiel offert par Raspberry Pi m’a enthousiasmé j'ai rapidement créé un blog dédié à ce nano-ordinateur (www.framboise314.fr) pour partager cette passion. Auteur de plusieurs livres sur le Raspberry Pi publiés aux Editions ENI.

25 réflexions au sujet de « Scanner à distance avec le Raspberry Pi »

    1. François MOCQ Auteur de l’article

      bonjour
      c’est une vielle multifonction uniquement en USB
      comme je suis sur le même réseau j’aime autant gérer le préview et le scan en direct…
      quand le scanner était connecté à mon PC j’utilisais une interface twain, ça ne change pas trop mes habitudes…

      Répondre
    2. j2c

      Quand j’ai besoin de demander le sel à ma femme quand on est à table. Je ne prend pas le téléphone pour appeler ma voisine qui venir soner chez nous pour demander à ma femme de me passer le sel; (c’est l’exemple que je donne à ma femme quand elle me sort des solutions « facile » à base de cloud…)

      Quand j’ai besoin de scanner un document, je préfère le chemin le plus direct.

      Et sinon pour faire encore plus simple
      Certain multifonction grand public, n’ont tout simplement pas cette fonction 😉
      C’est le cas du MFP HP que j’ai récupéré dans la rue il y a quelques années .. et qui me servait de scanner réseau.
      Certain scanner n’ont pas de connectivité réseau;

      Répondre
        1. j2c

          Le scan to folder est intéressant.

          Je l’ai configuré sur mon dernier MFP termonucléaire qui fait le café.

          Sur le précédent, il ne l’avait pas;

          On se démerdait avec l’interface web intégrée du MFP. Qui était moisi.. mais ça dépannait;

          Pour ceux qui ont un scaner à plat USB; Cet article va vraiment être utile.
          ça permet de leur donner une seconde vie; Car à l’air du tout connecté où on demande systématiquement à Claude si on a le droit d’aller pisser… les objets non connectés sont souvent remisés au placard. (quand ce n’est pas à la déchetterie)

          Répondre
        2. François MOCQ Auteur de l’article

          scan2folder il me semble qu’il faut que le scanner soit sur le réseau aussi…
          après c’est peut être possible avec SANE mais ça me va comme ça
          je ne veux pas faire une usine à gaz, juste scanner qques documents par semaine 🙂

          Répondre
  1. suisk1ptitmotard

    Salut, merci pour l’update il me fallait la partie scan. Peux tu préciser les prérequis cpu ram pour faire imprimante plus scanner ?

    Répondre
  2. coolben

    Bonjour

    Merci pour ce tuto.
    J’ai cependant un souci avec cette solution, sanetwain ne fonctionne pas chez moi. Pour moi, c’est lié au fait que je suis sur un poste sous windows 10 64 bit.
    Quelqu’un connaîtrait il un autre logiciel pour scanner depuis depuis windows 10 64bit sans lancer la commande sous SSH ?

    Répondre
  3. coolben

    Sur mon poste dès que je lance le programme scanImage.exe de sanetwain j’ai une erreur : « Erreur lors de l’établissement de la connexion »
    Et si je tente de fermer le programme ,j’ai une autre erreur qui m’empêche de fermer l’application « Access violation at address 004056A0 in module ‘scanImage.exe’ Read of address 00000004 ».
    La seule solution pour fermer l’application est de tuer la tache depuis le gestionnaire des taches.
    Peut être est ce lié au 16 Go que mon poste dispose qui n’est pas géré dans l’application ?

    Répondre
      1. Coolben

        Pour l’instant, j’ai pas trouvé.
        Du coups, j’ai mis en place une page web pour lancer le scan et soit mettre le fichier sur le partage soit l’envoyer par mail.
        Et ensuite, j’ai développé une application mobile pour y avoir accès depuis les différents téléphone et tablette de la maison.

        Répondre
  4. Tof

    Ca ouvre des possibilités.
    Voici un exemple:
    – problématique: ma femme est encore domiciliée officiellement chez sa mère, mais habite avec moi dans un autre pays (vive l’Europe!). Et elle y reçoit de temps en temps des courriers administratifs.
    – solution: j’ai une vieille imprimante HP C4380 de 2007 qui a le wifi (et que j’avais acheté d’occaz pour pas grand chose). Je l’ai mise chez ma belle-mère (agée), imprimante connectée en wifi à son réseau, dont le routeur a la fonction serveur VPN (FRITZ!Box). Du coup quand ma femme reçoit du courrier chez sa mère, ma belle-mère m’appelle, elle allume l’imprimante et met la feuille à scanner et je me connecte à son réseau via VPN et je scanne le document à distance depuis mon laptop avec le logiciel Simple Scan sous Ubuntu.
    Il faut juste se coordonner un peu par téléphone ou par visio pour changer les pages à scanner. Mais finalement c’est très pratique car ma belle-mère n’a pas l’aisance que j’ai avec les outis informatiques, elle est simplement équipée d’une tablette qu’elle utilise basiquement (et scanner-> pdf puis envoyer un mail avec le bon fichier en pièce-jointe est encore hors de sa portée).

    Répondre
  5. David

    Bonjour,
    Super article. Ca fonctionne impec chez moi avec un client sous ubuntu. Par contre, existe t il un client fonctionnel sous OSX ? Twainsane ne fonctionne qu’en ligne de commande sur OSX 10.14 (pas très WAF…). Ou peut être une interface web a installer sur le RPI qui fait serveur SANE ?

    Merci

    Répondre
  6. nicolas

    Trop fort !
    En une semaine, et avec un Pi ZéroW, j’ai réussi à mettre sur mon réseau local mon ancienne imprimante multifonction ; ça imprime , ça scanne, depuis partout chez moi 😀
    MERCI

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Complétez ce captcha SVP *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.