Pomoc Skanowanie w QTS

badziewiak

Enterprise Admin...
Q's Architect
3 Marzec 2015
778
165
43
49
Gliwice
QNAP
TVS-871
Ethernet
1 GbE
Czy jest możliwe lub ewentualnie kiedyś będzie - skanowanie z użyciem przycisku na skanerze? Na takiej zasadzie że użytkownik ma w urządzeniu wielofunkcyjnym wybrany tryb skanowania, wciska start i skan leci do określonego udziału sieciowego. Chodzi o to, żeby dzieci mogły to obsłużyć bez dogłębnej wiedzy informatycznej lub wchodzenia do QTS. Moje urządzenie Canon MF4320d nie jest na liście zgodności, ale UPSa też na niej nie ma a działa.
 
No ok, ale pytanie zasadnicze: Czy przycisk "start" na skanerze zainicjuje proces skanowania, czy trzeba wpisać jakieś polecenie w konsoli czy coś tam? Pytam, bo na wirtualnej maszynie z windows mam tak.
Dobra, jakiś postęp jest:
Kod:
[~] # opkg update
Downloading http://qnapware.zyxmon.org/binaries-x86/Packages.gz.
Updated list of available packages in /Apps/opt/var/opkg-lists/packages.
[~] # opkg list sane
[~] # opkg list sane*
sane-backends - 1.0.24-1 - SANE (Scanner Access Now Easy) is a universal scanner  interface.
 This package contains the SANE daemon.
sane-frontends - 1.0.24-1 - SANE (Scanner Access Now Easy) is a universal scanne  r interface.
 This package contains the SANE frontends.
sane-libs - 1.0.24-1 - SANE (Scanner Access Now Easy) is a universal scanner int  erface.
 This package contains the SANE shared libraries.
[~] # opkg install sane-backends xinetd
Installing sane-backends (1.0.24-1) to root...
Downloading http://qnapware.zyxmon.org/binaries-x86/sane-backends_1.0.24-1_qnapx  86.ipk.
Installing sane-libs (1.0.24-1) to root...
Downloading http://qnapware.zyxmon.org/binaries-x86/sane-libs_1.0.24-1_qnapx86.i  pk.
Installing libjpeg (9a-1) to root...
Downloading http://qnapware.zyxmon.org/binaries-x86/libjpeg_9a-1_qnapx86.ipk.
Installing libtiff (4.0.3-4) to root...
Downloading http://qnapware.zyxmon.org/binaries-x86/libtiff_4.0.3-4_qnapx86.ipk.
Installing liblzma (5.2.1-2) to root...
Downloading http://qnapware.zyxmon.org/binaries-x86/liblzma_5.2.1-2_qnapx86.ipk.
Installing libusb-compat (0.1.4-2) to root...
Downloading http://qnapware.zyxmon.org/binaries-x86/libusb-compat_0.1.4-2_qnapx8  6.ipk.
Installing libusb-1.0 (1.0.19-1) to root...
Downloading http://qnapware.zyxmon.org/binaries-x86/libusb-1.0_1.0.19-1_qnapx86.  ipk.
Installing cups (2.0.3-1) to root...
Downloading http://qnapware.zyxmon.org/binaries-x86/cups_2.0.3-1_qnapx86.ipk.
Installing libcups (2.0.3-1) to root...
Downloading http://qnapware.zyxmon.org/binaries-x86/libcups_2.0.3-1_qnapx86.ipk.
Installing libpng (1.2.52-1) to root...
Downloading http://qnapware.zyxmon.org/binaries-x86/libpng_1.2.52-1_qnapx86.ipk.
Installing libssp (4.8.3-8b) to root...
Downloading http://qnapware.zyxmon.org/binaries-x86/libssp_4.8.3-8b_qnapx86.ipk.
Installing libcupsmime (2.0.3-1) to root...
Downloading http://qnapware.zyxmon.org/binaries-x86/libcupsmime_2.0.3-1_qnapx86.ipk.
Installing libcupscgi (2.0.3-1) to root...
Downloading http://qnapware.zyxmon.org/binaries-x86/libcupscgi_2.0.3-1_qnapx86.ipk.
Installing libcupsppdc (2.0.3-1) to root...
Downloading http://qnapware.zyxmon.org/binaries-x86/libcupsppdc_2.0.3-1_qnapx86.ipk.
Installing libcupsimage (2.0.3-1) to root...
Downloading http://qnapware.zyxmon.org/binaries-x86/libcupsimage_2.0.3-1_qnapx86.ipk.
Installing libv4l (0.8.6-2) to root...
Downloading http://qnapware.zyxmon.org/binaries-x86/libv4l_0.8.6-2_qnapx86.ipk.
Installing xinetd (2.3.15-4) to root...
Downloading http://qnapware.zyxmon.org/binaries-x86/xinetd_2.3.15-4_qnapx86.ipk.
Configuring libjpeg.
Configuring libpng.
Configuring libssp.
Configuring libcups.
Configuring liblzma.
Configuring libtiff.
Configuring libusb-1.0.
Configuring libusb-compat.
Configuring libcupsmime.
Configuring libcupscgi.
Configuring libcupsppdc.
Configuring libcupsimage.
Configuring cups.
Configuring libv4l.
Configuring sane-libs.
Configuring xinetd.
Configuring sane-backends.
[~] # sane-find-scanner
-sh: sane-find-scanner: command not found

-sh: sane-find-scanner: command not found
[~] # opkg install sane-frontends
Installing sane-frontends (1.0.24-1) to root...
Downloading http://qnapware.zyxmon.org/binaries-x86/sane-frontends_1.0.24-1_qnapx86.ipk.
Configuring sane-frontends.
[~] # sane-find-scanner

  # sane-find-scanner will now attempt to detect your scanner. If the
  # result is different from what you expected, first make sure your
  # scanner is powered up and properly connected to your computer.

  # No SCSI scanners found. If you expected something different, make sure that
  # you have loaded a kernel SCSI driver for your SCSI adapter.

found USB scanner (vendor=0x04a9 [Canon Inc.], product=0x26ee [MF4320-4350]) at libusb:003:004
  # Your USB scanner was (probably) detected. It may or may not be supported by
  # SANE. Try scanimage -L and read the backend's manpage.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.

Skaner został wykryty. Przetestujmy go więc:
Kod:
[~] # scanimage -T
scanimage: scanning image of size 640x877 pixels at 24 bits/pixel
scanimage: acquiring RGB frame, 8 bits/sample
scanimage: reading one scanline, 1920 bytes...  PASS
scanimage: reading one byte...  PASS
scanimage: stepped read, 2 bytes...  PASS
scanimage: stepped read, 4 bytes...  PASS
scanimage: stepped read, 8 bytes...  PASS
scanimage: stepped read, 16 bytes...  PASS
scanimage: stepped read, 32 bytes...  PASS
scanimage: stepped read, 64 bytes...  PASS
scanimage: stepped read, 128 bytes...  PASS
scanimage: stepped read, 256 bytes...  PASS
scanimage: stepped read, 512 bytes...  PASS
scanimage: stepped read, 1024 bytes...  PASS
scanimage: stepped read, 2048 bytes...  PASS
scanimage: stepped read, 2047 bytes...  PASS
scanimage: stepped read, 1023 bytes...  PASS
scanimage: stepped read, 511 bytes...  PASS
scanimage: stepped read, 255 bytes...  PASS
scanimage: stepped read, 127 bytes...  PASS
scanimage: stepped read, 63 bytes...  PASS
scanimage: stepped read, 31 bytes...  PASS
scanimage: stepped read, 15 bytes...  PASS
scanimage: stepped read, 7 bytes...  PASS
scanimage: stepped read, 3 bytes...  PASS]
Wygląda że jest pięknie. Teraz do pełni szczęścia brakuje mi obsługi przycisku start skanera, czyli żeby wrzucił obrazek do określonego folderu w NAS. Czy ktoś wie jak się za to zabrać?
Działa takie coś wpisane z konsoli:
Kod:
scanimage --format=tiff -p --mode Color --resolution 600 > pic.tiff
Teraz tylko bym chciał aby to w tle sobie działało i zapisywało obrazki pod nazwą obrazek_n.cośTam. Jest to możliwe?
 
  • Lubię to
Reakcje: 1 osoba
Ale to co zaproponowałeś, dotyczy HP, a ja mam canon...
Pytanie pomocnicze: Może by się dało napisać jakiś program, który sobie działa w tle, wywołuje w pętli scanimage --format=tiff -p --mode Color --resolution 600 > pic.tiff pod kolejną nazwą pliku? To by mi wystarczyło.
Dobra, chyba coś poszło nie tak, podobnie jak z veracrypt:
Kod:
sh hplip-3.15.9.run
Creating directory hplip-3.15.9
Verifying archive integrity...Error in MD5 checksums: d41d8cd98f00b204e9800998ecf8427e is different from d1a86c834b65d7482a6a6a0533213b13

Jakieś sugestie?
 
Nie kumam... Będzie dostępne przez ipkg? Akurat używam qnapware. Zainstalowałem z linka podanego na forum jako optware, ale okazało się to być qnapware. Czy jedno i drugie nie pogryzie się?
Patrzę na VM Ubuntu i po instalacji sterowników canon, zainstalowałem hplip. Wizard próbuje wyszukać urządzenie, ale nie widzi go. Użyłem opcji wpisania ID urządzenia (lsusb w ubuntu znajduje urządzenie), ale nadal nie widzi.
Popełniłem taki skrypcik:
Kod:
#!/bin/bash
x=1000000;
while [ $x -le 9999999 ] ; do
scanimage --format=tiff -p --mode Color --resolution 600 --button-controlled=ye$
sleep 10
mv /share/skany/tmp/skan$x.tiff /share/skany/skan$x.tiff
x=$[x + 1]
done
i działa fajnie, ale jak się zamknie terminal, to już nie. Da się temu jakoś zaradzić w prosty sposób?
 
A gdyby to dać do autostartu qnapa, to nie zawiesi mi czegoś?
Screen faktycznie działa, dziękować. Chciałbym jeszcze włączyć sprawdzanie obecności urządzenia. Myślę że można to wykonać przez:
Kod:
lsusb -d 04a9:26ee
ale z basha jeszcze kuleję i nie za bardzo wiem jak to wpleść do warunku. Przy włączonym urządzeniu wyświetla:
Kod:
Bus 003 Device 010: ID 04a9:26ee Canon, Inc.
a przy wyłączonym wyświetla pustą wartość. Podpowiedzcie proszę jak to formalnie wpisać do skryptu.
@kaktus coś wspomniał o Scan to PC Yes, ale nie za bardzo wiem do czego to przypiąć. Scanimage zdaje się działać dobrze (ten mój skrypt wyżej), trzeba tylko dorobić detekcję obecności urządzenia.
 
Kod:
#!/bin/bash

x=1000000;
while [ $x -le 9999999 ] ; do
  if [[ $(lsusb | grep 0930:6544) ]]; then
  scanimage --format=tiff -p --mode Color --resolution 600 --button-controlled=yes > /share/skany/tmp/skan$x.tiff
  sleep 10
  mv /share/skany/tmp/skan$x.tiff /share/skany/skan$x.tiff
  x=$[x + 1]
  else
  echo "skaner wyłączony"
  sleep 10
  fi
done

Kod:
line 10: syntax error near unexpected token `else'
 
a czemu kodu USB nie podmieniłeś ?

Bash:
#!/bin/bash
x=1000000;
while [ $x -le 9999999 ] ; do
if [[ $(lsusb | grep 0930:6544) ]]; then
echo "dzialam !"
else
echo "brak skanera"
sleep 10
fi
done
debuguj polecenia jedno po drugim - bo proof of concept działa

poza tym zapisywałbym do pliku jaki numer obrazka został zeskanowany i czytał go sobie w pętli, podmieniając wartość kiedy trzeba
 
a czemu kodu USB nie podmieniłeś ?
w00t
Bash:
#!/bin/bash
x=1000000;
while [ $x -le 9999999 ] ; do
if [[ $(lsusb | grep 0930:6544) ]]; then
echo "dzialam !"
else
echo "brak skanera"
sleep 10
fi
done
debuguj polecenia jedno po drugim - bo proof of concept działa

poza tym zapisywałbym do pliku jaki numer obrazka został zeskanowany i czytał go sobie w pętli, podmieniając wartość kiedy trzeba
bash1.PNG

Kod:
line 11: syntax error: unexpected end of file