Maak je ei­gen all-in-one prin­ter met een Pi

Ko­pi­ë­ren, scan­nen en mo­biel prin­ten met de Rasp­ber­ry Pi

C’t Magazine - - Inhoud 11/2018 - Jan Mahn

De Rasp­ber­ry Pi stelt met de stan­daard Li­nux-tools al veel usb- en net­werk­prin­ters be­schik­baar voor An­droid en iOS. Sa­men met een usb-scan­ner wordt hij bo­ven­dien een ko­pi­eer­ap­pa­raat of kun je scans op een net­werk­s­ha­re op­slaan – en dan flexi­be­ler dan veel ge­wo­ne mul­ti­func­ti­o­ne­le prin­ters.

Mo­der­ne all-in-one prin­ters zijn erg han­dig. Je kunt er niet al­leen mee prin­ten, maar ook scan­nen en ko­pi­ë­ren. Ze on­der­steu­nen al­le pro­to­col­len, zo­dat ook iOS-ap­pa­ra­ten er­mee kun­nen wer­ken. Maar nieuw­koop loont niet al­tijd, ze­ker niet om­dat je voor ap­pa­ra­ten die wat snel­ler kun­nen prin­ten flink wat geld moet neer­leg­gen. Mis­schien kun je so­wie­so geen af­scheid ne­men van je ge­bruik­te kan­toor­la­ser­prin­ter en heb je nog een scan­ner lig­gen die ei­gen­lijk op de no­mi­na­tie staat naar het grof­vuil te gaan om­dat hij tot te­veel ge­doe met dri­vers leidt. In dat ge­val kun je bei­de met de Rasp­ber­ry Pi com­bi­ne­ren tot een mul­ti­func­ti­o­neel ap­pa­raat om mee te scan­nen en prin­ten – en dus ko­pi­ë­ren.

De Rasp­ber­ry Pi moet eerst over­weg kun­nen met de prin­ter. De ver­bin­ding met de prin­ter wordt ge­maakt met het Li­nux­pro­gram­ma Cups, het Com­mon Unix Prin­ting Sy­s­tem.

Het con­fi­gu­re­ren ver­loopt ge­heel via de com­mand­line. In­stal­leer een Rasp­ber­ry Pi met een scho­ne ver­sie van Rasp­bi­an en open een Ter­mi­nal-ven­ster. Met de vol­gen­de com­man­do's breng je het be­stu­rings­sys­teem he­le­maal bij de tijd en in­stal­leer je Cups: su­do apt up­da­te su­do apt up­gra­de su­do apt in­stall cups

Om er­voor te zor­gen dat de stan­daard Rasp­bi­an-ge­brui­ker 'pi' Cups kan be­he­ren, moet hij in de groep lpad­min wor­den op­ge­no­men. Voer daar­voor in Ter­mi­nal het vol­gen­de com­man­do uit:

su­do user­mod -aG lpad­min pi

Dan is het nu een mooi mo­ment om het stan­daard wacht­woord 'rasp­ber­ry' voor de ge­brui­ker 'pi' te ver­an­de­ren. Met su­do passwd wordt je naar een wacht­woord ge­vraagd.

Cups wordt ge­con­fi­gu­reerd via een we­bin­ter­fa­ce in de brow­ser. Om er­voor te zor­gen dat die via het net­werk ook be­reik­baar is en Cups de prin­ter vol­gens de stan­daard 'IPPE­ve­ry­whe­re' be­schik­baar maakt voor mo­bie­le ap­pa­ra­ten, moet je een paar re­gels ver­an­de­ren in het con­fi­gu­ra­tie­be­stand van Cups. Open dat be­stand in een tekst­edi­tor, bij­voor­beeld na­no:

su­do na­no /etc/cups/cupsd.conf

Cups moet op al­le net­werk­kaar­ten (dus via de net­werk­ka­bels, maar ook via wi­fi) wer­ken op poort 631 en in het he­le net­werk be­kend­ma­ken wel­ke prin­ter hij aan­biedt. De eerste be­no­dig­de ver­an­de­ring is in de re­gel Lis­ten lo­cal­host:631. Ver­vang dat door Port 631. Voeg op een nieu­we re­gel daar­na het vol­gen­de in:

Brow­seAd­dress @LO­CAL

Scrol daar­na door naar het vol­gen­de blok:

<Lo­ca­ti­on />

Or­der al­low, de­ny </Lo­ca­ti­on>

Voeg op een nieu­we re­gel in na Or­der al­low, de­ny:

Al­low @LO­CAL

Als de be­heer­in­ter­fa­ce via het net­werk be­reik­baar moet zijn, voeg je de­zelf­de re­gel ook toe bij het deel met <Lo­ca­ti­on /ad­min> met­een daar­on­der.

Het werk aan het con­fi­gu­ra­tie­be­stand is daar­mee klaar, dus je kunt de edi­tor slui­ten (met Ctrl+O en Ctrl+X) en Cups ver­vol­gens her­star­ten:

su­do sys­temctl restart cups

Ver­bind de Rasp­ber­ry Pi nu met je thuis­net­werk – dat kan met een net­werk­ka­bel of via wi­fi. Bij een nieu­we Rasp­bi­an-in­stal­la­tie moet je daar­voor naar het fram­bo­zen­me­nu links­bo­ven en dan naar 'Voor­keu­ren / Rasp­ber­ry Pi Con­fi­gu­ra­tie pro­gram­ma'. Op het tab­blad Lo­ca­li­sa­tie stel je het 'Wi­Fi Land' in, waar­na Rasp­bi­an het wi­fi­me­nu vrij­geeft.

Om de prin­ter te con­fi­gu­re­ren, open je in een brow­ser het ip-adres van de Rasp­ber­ry, ge­volgd door ':631', dus bij­voor­beeld 'http://192.168.0.125:631'.

De eerste af­druk

Als je een usb-prin­ter hebt, moet je hem nu op de Rasp­ber­ry Pi aan­slui­ten. Als het om een net­werk­prin­ter gaat, dan hoef je er al­leen maar voor te zor­gen dat hij zich in het­zelf­de net­werk be­vindt. Op de start­pa­gi­na van Cups kies je 'Ad­ding Prin­ters and Clas­ses'. De brow­ser zal je naar een wacht­woord vra­gen en pro­be­ren je naar een HTT­PS-pa­gi­na om te lei­den – dat leidt af­han­ke­lijk van de brow­ser tot een se­cu­ri­ty-fout­mel­ding om­dat je geen gel­dig cer­ti­fi­caat toe­ge­voegd hebt. In je lo­ka­le net­werk kun je dat ne­ge­ren en je aan­mel­den als ge­brui­ker 'pi' met het bij­be­ho­ren­de in­ge­stel­de wacht­woord.

Klik op 'Add Prin­ter' en se­lec­teer je prin­ter. Cups vraagt je bij de vol­gen­de stap­pen ver­vol­gens naar een naam een en een lo­ca­tie voor de prin­ter. Daar­bij is het be­lang­rijk een vin­kje bij 'Sha­re This Prin­ter' te zet­ten. Hoe ge­com­pli­ceerd het con­fi­gu­re­ren is, is af­han­ke­lijk van de prin­ter. Bij­na al­le HP-prin­ters wer­ken dank­zij een om­vang­rijk dri­ver­pak­ket zon­der ver­de­re moei­te. In­stal­leer daar een­vou­dig het pak­ket 'hplip' voor:

su­do apt in­stall hplip

De mees­te prin­ters wer­ken door de mee­ge­le­ver­de Gu­ten­print-dri­ver­ver­za­me­ling ook met­een. Als je mo­del niet op de lijst staat, moet je op zoek naar een pas­send PPD-be­stand en dat uplo­a­den bij de Cupsin­ter­fa­ce. De da­ta­ba­se bij open­prin­ting.org ver­ge­mak­ke­lijkt het zoe­ken. Ver­vol­gens vraagt de in­stal­la­tie-as­sis­tent naar een paar stan­daard­in­stel­lin­gen en is de prin­ter klaar voor ge­bruik.

Op een iOS- of An­droid-ap­pa­raat (wel van­af An­droid 4.3) dat zich in het­zelf­de net­werk be­vindt, moet je de prin­ter dan kun­nen zien en bij­voor­beeld met een brow­ser of de mail-app kun­nen prin­ten. Zo niet, con­tro­leer dan eerst in de Cupsin­ter­fa­ce on­der 'Prin­ters' of de prin­ter in­der­daad wel ge­deeld is. Klik daar­voor op de naam en kijk of er 'Sha­red' ach­ter de naam staat. In de we­bin­ter­fa­ce kun je bij 'Main­tenan­ce / Print Test Pa­ge' een test­pa­gi­na la­ten prin­ten en de print­ta­ken la­ten weer­ge­ven.

De eerste scan

De twee­de com­po­nent voor een mul­ti­func­ti­o­ne­le prin­ter heet 'SANE', wat een af­kor­ting is voor 'Scan­ner Ac­cess Now Ea­sy'. Het in­stel­len gaat in­der­daad erg mak­ke­lijk.

De be­no­dig­de pak­ket­ten zijn al ge­ïn­stal­leerd. Of je scan­ner door SANE her­kend wordt, kun je met het vol­gen­de com­man­do ach­ter­ha­len:

sc­a­nima­ge -L

Op de com­mand­line moet je dan de naam van de scan­ner kun­nen zien. Ver­schijnt daar al­leen een fout­mel­ding, dan kan dat meer­de­re re­de­nen heb­ben. Het kan zijn dat het SANE-pro­ject geen on­der­steu­ning voor de scan­ner biedt – een over­zicht staat bij de link on­der­aan dit ar­ti­kel – of dat het ap­pa­raat sim­pel­weg te wei­nig stroom krijgt. Bij som­mi­ge scan­ners die via usb aan­ge­slo­ten wor­den, is de stroom­toe­voer van de usb­poor­ten van de Rasp­ber­ry Pi niet toe­rei­kend. Je kunt die li­miet soft­wa­re­ma­tig wel ver­wij­de­ren, maar het is voor de Rasp­ber­ry Pi ge­zon­der als je de scan­ner op een apar­te usb-hub met een ex­ter­ne voe­ding aan­sluit. Als de scan­ner door SANE her­kend wordt, dan krijg je met sc­a­nima­ge -L de pro­duct­naam en de fa­bri­kant te zien. Tus­sen aan­ha­lings­te­kens staat de Li­nux-scan­ner­naam, en die moet je bij de vol­gen­de re­gel voor een testscan in­voe­gen:

sc­a­nima­ge -d <naam van de scan­ner> --re­so­lu­ti­on 300 --mo­de Co­lor -x 210

-y 297 --for­mat=png >test.png

De scan­ner moet dan met zijn werk be­gin­nen en het be­stand test.png in kleur met 300 dpi aan­ma­ken in de hui­di­ge di­rec­to­ry. Som­mi­ge scan­ners heb­ben waar­den voor x en y no­dig om een com­pleet vel A4-pa­pier te kun­nen scan­nen. Een over­zicht van ver­de­re in­stel­lings­mo­ge­lijk­he­den krijg je met

sc­a­nima­ge -h

Van ver­af

Met SANE is het mo­ge­lijk ook van­af af­stand een scan­ner te be­die­nen. Om er­voor te zor­gen dat dit werkt, moet je toe­gang tot de scan­ner toe­staan. Be­werk daar­voor het con­fi­gu­ra­tie­be­stand:

su­do na­no /etc/sane.d/sa­ned.conf

Ga daar naar het blok 'Ac­cess List'. Daar staan al een paar ip-adres­sen als voor­beeld, uit­ge­com­men­ta­ri­eerd met #. Om de toe­gang voor een af­zon­der­lijk adres toe te staan, vol­staat het om dat toe te voe­gen. Om scan­nen van­uit het he­le thuis­net­werk toe te staan, voeg je het adres van je net­werk met een 0 aan het eind toe, ge­volgd door /24. Sla het be­stand op en start SANE op­nieuw met

su­do sys­temctl restart sa­ned.so­c­ket

Er zijn meer­de­re mo­ge­lijk­he­den om via het net­werk te scan­nen. Voor Win­dows is er het gra­tis pro­gram­ma Sa­neTwain (zie de link on­der­aan dit ar­ti­kel), dat een ver­bin­ding met de Win­dows-scan­ner­in­ter­fa­ce maakt. Ge­brui-

kers van macOS krij­gen con­tact met 'TWAIN SANE' – zie ook de link on­der­aan.

Li­nux-ge­brui­kers kun­nen zon­der ex­tra's bij je net­werks­can­ner. Zij hoe­ven op de client al­leen maar het be­stand /etc/ sane.d/net.conf te ope­nen en het ip-adres of de host­naam van de Rasp­ber­ry-scanser­ver toe te voe­gen. Dan moet sc­a­nima­ge -L de scan­ner die op de Rasp­ber­ry Pi is aan­ge­slo­ten la­ten zien. Voor An­droid is er de gra­tis app Sa­neDroid, die zijn taak pri­ma ver­vult. Maar als je tij­dens het scan­nen op het dis­play tikt, breekt het pro­gram­ma af. Voor iOS ont­breekt een der­ge­lijk aan­bod he­laas nog in de App Sto­re.

Sa­men­wer­king

De prin­ter en scan­ner wer­ken nu al­le­bei en zijn door de goed on­der­steun­de net­werk­pro­to­col­len door veel ap­pa­ra­ten te be­rei­ken. Al­leen de mo­ge­lijk­heid om snel een ko­pie te ma­ken ont­breekt nog. Dat moet kun­nen zon­der dat je daar een pc voor hoeft aan te zet­ten. Daar heb­ben we een klein pro­gram­maatje voor ge­maakt in Py­thon, dat je mak­ke­lijk naar ei­gen in­zich­ten kunt uit­brei­den. Om het te ge­brui­ken is een nu­me­riek usb-toet­sen­bord als in­voer­ap­pa­raat al ge­noeg. Die zijn er al voor net iets meer dan 10 eu­ro.

Het in­stal­le­ren van de ko­pi­eer­soft­wa­re werkt via de com­mand­line. Open een Ter­mi­nal-ven­ster en blijf in je ho­me-di­rec­to­ry. In­stal­leer eerst de de­pen­d­en­cy's met

su­do apt in­stall py­thon-cups

Down­load het pro­gram­ma met git uit on­ze re­po­si­to­ry met de vol­gen­de re­gel:

git clo­ne

htt­ps://github.com/jamct/ras­pi-co­py Ga met cd ras­pi-co­py ver­vol­gens naar de nieuw aan­ge­maak­te di­rec­to­ry en maak het pro­gram­ma uit­voer­baar met chmod 755 co­py.py. Dan moet je het pro­gram­ma al­leen nog zo­ver krij­gen dat het ook au­to­ma­tisch start als de Rasp­ber­ry Pi op­start. Het pro­gram­ma werkt via de com­mand­line en je zou het in plaats van de desktop uit kun­nen voe­ren bij het op­star­ten, maar als de Rasp­ber­ry Pi daar­naast nog an­de­re ta­ken moet ver­vul­len, kun je het bij het op­star­ten als Ter­mi­nal-ven­ster star­ten. Daar staat in de di­rec­to­ry het be­stand co­py. desktop voor. Ko­pi­eer dat be­stand naar de au­to­s­tart-di­rec­to­ry met

cp co­py.desktop

/ho­me/pi/.con­fig/au­to­s­tart

Na een her­start van de Pi opent een blauw Ter­mi­nal-ven­ster met de ko­pi­eer­in­ter­fa­ce. Die is snel uit­ge­legd: met de func­tie­toet­sen F1 tot en met F4 op het gro­te toet­sen­bord se­lec­teer je een scan­ner en met de knop­pen F5 tot en met F8 de prin­ter. Met de cij­fers op het nu­me­rie­ke toet­sen­bord geef je het aan­tal ko­pie­ën op, waar­bij + en - het aan­tal ver­ho­gen res­pec­tie­ve­lijk ver­la­gen. Door op de En­ter-toets te druk­ken be­gint het ko­pi­ë­ren. Met de kom­ma­toets zet je het aan­tal ko­pie­ën weer te­rug en met de re­ken­te­kens * en / wis­sel je tus­sen een kleur- en zwart-wit­ko­pie.

Al­le in­stel­lin­gen (be­hal­ve het aan­tal ko­pie­ën) wor­den door ras­pi-co­py in een in­stel­lings­be­stand op­ge­sla­gen en bij een her­start weer in­ge­le­zen.

Als je een­maal een scan­ner en prin­ter hebt ge­se­lec­teerd, is een groot toet­sen­bord ver­der ei­gen­lijk niet meer no­dig en heb­ben ook de in­ter­fa­ce en het dis­play hun dien­sten vol­bracht – de Rasp­ber­ry Pi is nu klaar voor zijn nieu­we taak als ko­pi­eer­ap­pa­raat.

Uit­brei­dings­mo­ge­lijk­he­den

De soft­wa­re is na­tuur­lijk nog naar be­lie­ven uit te brei­den. El­ke scan wordt tij­de­lijk als jpg-be­stand op­ge­sla­gen en dan ge­print. Om een do­cu­ment naar een net­werk­s­ha­re of een usb-stick te scan­nen, zou je daar het aan­tal ko­pie­ën voor kun­nen mis­brui­ken. Als je aan­neemt dat nie­mand meer dan 999 ko­pie­ën no­dig heeft, kun je met een in­voer als 999 en En­ter de scan op een usb-me­di­um la­ten op­slaan. In het be­stand co­py.py heb­ben we dat al in­ge­bouwd om zelf aan te kun­nen pas­sen.

Een nu­me­riek usb-toet­sen­blok, dat maar net iets meer dan 10 eu­ro hoeft te kos­ten, is al ge­noeg als be­die­nings­pa­neel voor het ko­pi­ë­ren.

De in­ter­fa­ce van ras­pi-co­py heb je al­leen voor de eerste con­fi­gu­ra­tie no­dig, daar­na ko­pi­eert de Rasp­ber­ry Pi ook zon­der dis­play.

Cups wordt via een we­bin­ter­fa­ce be­heerd. Die in­ter­fa­ce biedt veel mo­ge­lijk­he­den, maar is ze­ker niet on­o­ver­zich­te­lijk.

Newspapers in Dutch

Newspapers from Netherlands

© PressReader. All rights reserved.