Temat: OpenWRT + wolny przycisk routera + skaner po USB > skanuj na zasób SMB

Pytanie bardzo śmiałe, ale... czy istnieje dla OpenWRT paczka do obsługi skanera? :-D

Wpinamy do routera na OpenWRT skaner za pomocą kabla USB, jeden z przycisków routera przeznaczamy na wywołanie akcji skanowania, po jego naciśnięciu skaner skanuje płytę A4 i wysyła na skonfigurowany sieciowy zasób SMB.

Zamierzam do tego użyć RPi Zero W, zamknięte w puszcze natynkowej z wielkim klawiszem dzwonkowym, postawione obok skanera i połączone z nim za pomocą kabla USB :-D

Ale zamiast drogiego RPi przyszedł mi do głowy router pod kontrolą OpenWrt ;-)

2

Odp: OpenWRT + wolny przycisk routera + skaner po USB > skanuj na zasób SMB

Tak, pakiet sane i okolice. Tylko że różne bywa z dostępnością pakietu, więc w zależności od tego co używasz musisz sobie zobaczyć czy masz w repo. No i oczywiście to wszystko oprogramować samodzielnie...

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3 (edytowany przez Focus 2023-02-27 13:46:33)

Odp: OpenWRT + wolny przycisk routera + skaner po USB > skanuj na zasób SMB

Czy autor tematu poczynił jakieś kroki dalej?
Pytam, bo jestem zainteresowany tematem.

Edit.
Dobra jadę z tematem dalej.

Czy w Sane po zainstalowaniu pakietów komendy scanimage -L , sane-find-scanner w OpenWrt 21.02-SNAPSHOT powinny dać mi jakiś wynik?

root@Router:~# scanimage -L
-ash: scanimage: not found

4

Odp: OpenWRT + wolny przycisk routera + skaner po USB > skanuj na zasób SMB

Programu przecież nie masz. Zainstalowałeś sane-frontends?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: OpenWRT + wolny przycisk routera + skaner po USB > skanuj na zasób SMB

OK. zainstalowałem sane-frontends, sane-pixma, libsane

root@Router:~# scanimage -L
device `pixma:04A9173C_103B6F' is a CANON Canon PIXMA MP490 multi-function peripheral

Zostało 13% (102,4KB) wolnej przestrzeni.

Czy sane-daemon też potrzebuję?
Z Canona z tego co widzę są jeszcze:
sane-canon
sane-canon_dr
sane-canon630u
sane-canon_lide70

Wszystko bez extroota na bank mi się nie zmieści ale w sumie nie wiem czy potrzebuję to wszystko lub co jeszcze potrzebuję?

6

Odp: OpenWRT + wolny przycisk routera + skaner po USB > skanuj na zasób SMB

sane-daemon sane-frontends i jeden z tych sane-canon jako sterownik. Zobacz np. https://openwrt.org/docs/guide-user/ser … rver/saned

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7

Odp: OpenWRT + wolny przycisk routera + skaner po USB > skanuj na zasób SMB

Dobra, dopiero teraz mam czas aby coś napisać.
Zrobiłem extroot, bo mi się wszystko nie mieściło.
Zainstalowałem:
sane-canon
sane-daemon
sane-frontends
sane-pixma
libsane
sane-canon_lide70

Na OpenWrt było napisane, że ma być (chyba) Canon lide 20 ale nie ma, więc zainstalowałem ten co był, czyli z końcówką 70.
Na dodatek przy instalowaniu sane-frontends napisane jest, że lzip jest niedostępne.

Wymagana zależność zlib nie jest dostępna w żadnym repozytorium.

Nie mam pojęcia, czy jest to konieczne ale jest jak jest.

Jeżeli wszystko gra lub nie gra prosiłbym o sugestie co dalej.

Przypominam tylko, że robię to w ramach nauki, a nie że muszę, bo wcale tego nie potrzebuję.

8

Odp: OpenWRT + wolny przycisk routera + skaner po USB > skanuj na zasób SMB

Co dalej... czytasz manuale po prostu.

EXAMPLES
       To get a list of devices:

         scanimage -L

       To scan with default settings to the file image.pnm:

         scanimage >image.pnm

       To  scan  100x100  mm  to  the  file  image.tiff  (-x and -y may not be available with all
       devices):

         scanimage -x 100 -y 100 --format=tiff >image.tiff

       To print all available options:

         scanimage -h

jeżeli zrobiłeś wszystko i działa to scanimage powinno zeskanować stronę. Jeżeli tak jest do dalej zrób z tym co chcesz - oskryptuj to sobie, wyślij mejlej, na stronę czy co tam potrzebujesz.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9

Odp: OpenWRT + wolny przycisk routera + skaner po USB > skanuj na zasób SMB

root@Router:~# scanimage -L

device `pixma:04A9173C_103B6F' is a CANON Canon PIXMA MP490 multi-function peripheral

root@Router:~#  scanimage >image.pnm

Output format is not set, using pnm as a default

Drukarka coś tam zeskanowała i jest na routerze.
scanimage -h nie mogę wrzucić, bo coś tam, że color jest bez /color.

Czyli coś tam zatrybiło ale muszę pewnie jeszcze poczytać i poklikać.

10

Odp: OpenWRT + wolny przycisk routera + skaner po USB > skanuj na zasób SMB

szczególnie --format , --progress itd.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

11 (edytowany przez Focus 2023-02-27 23:32:05)

Odp: OpenWRT + wolny przycisk routera + skaner po USB > skanuj na zasób SMB

Zauważyłem jedną przypadłość, że scanimage >image.pnm nadpisuje poprzedni zapis.
Nie robi żadnej listy skanowania. No chyba, że ten progress to ta lista.
Będę działał dalej w miarę możliwości.

Edit.
To co napisałem wyżej, że nadpisuje poprzednie zapisy nie ma w tym momencie żadnego znaczenia.
Założeniem w ramach nauki było, czy będzie skanowało i jak widać skanuje.

Teraz zostało tylko zrobić aby przycisk od WPS (bo tylko taki mam) uruchamiał skanowanie.
Gdzieś to kiedyś już czytałem ale będę musiał znowu szukać, bo już nie pamiętam.

12

Odp: OpenWRT + wolny przycisk routera + skaner po USB > skanuj na zasób SMB

Nadpisuje bo sam powiedziałeś że ma nadpisywać. Jak byś podał nazwę unikalnego pliku to by był unikalny plik. Zrobił dokładnie to co mu powiedziałeś że ma zrobić.

Tu masz obsługę przycisków: https://eko.one.pl/?p=openwrt-button#ba … ripniejsze

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

13

Odp: OpenWRT + wolny przycisk routera + skaner po USB > skanuj na zasób SMB

W etc/hotplug.d/button/wps wpisałem

if [ "$BUTTON" = "wps" ] ; then
        if [ "$ACTION" = "pressed" ] ; then
            scanimage >/mnt/sda/skaner/image.pnm
        fi
    fi

I elegancko skanuje do folderu, który jest na dysku podłączonym do routera.

Teraz szukam sposobu jak skanować w formie PDF.

14

Odp: OpenWRT + wolny przycisk routera + skaner po USB > skanuj na zasób SMB

Skanujesz do obrazka, a obrazek zamieniasz na pdfa, do tego służy np. magemagick

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

15

Odp: OpenWRT + wolny przycisk routera + skaner po USB > skanuj na zasób SMB

Zainstalowałem
imagemagick    7.0.9-2
php7-pecl-imagick    3.5.1-1   


I teraz nie wiem, czy jeszcze mam coś zainstalować, czy to już wszystko no i czy mogrify mam za każdym razem ręcznie robić, czy idzie to jakoś zautomatyzować?
Szukam w internecie jak to działa w praktyce ale porady są typu
mogrify -format jpg *.png
ale co dalej, gdzie mam i jak to zrobić to czarna magia jak dla mnie.

16

Odp: OpenWRT + wolny przycisk routera + skaner po USB > skanuj na zasób SMB

Czemy ręcznie? Przecież skrypt sobie napisałeś. php7-pecl-imagick nie jest potrzebny

Skoro zrobiłeś:

scanimage >/mnt/sda/skaner/image.pnm

to zrób

scanimage >/mnt/sda/skaner/image.pnm
convert /mnt/sda/skaner/image.pnm /mnt/sda/skaner/obrazek.pdf

(o ile to zadziała, bo nie wiem czy convert potrafi robić bezpośrednio pnm do pdf).

A jeszcze lepiej zamiast nazwy "image" używaj czegoś unikalnego, np. bieżącego czasu.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

17 (edytowany przez Focus 2023-02-28 10:17:45)

Odp: OpenWRT + wolny przycisk routera + skaner po USB > skanuj na zasób SMB

Zaczyna to nabierać sensownego kształtu teraz.
Robiłem podobnie ale widzę, że ten convert musi być od nowej linii, bo inaczej nie działa.
Tak jest żle

scanimage >/mnt/sda/skaner/image.pnm convert /mnt/sda/skaner/image.pnm /mnt/sda/skaner/obrazek.pdf

a tak jest dobrze

scanimage >/mnt/sda/skaner/image.pnm
convert /mnt/sda/skaner/image.pnm /mnt/sda/skaner/obrazek.pdf

Całość wygląda tak

if [ "$BUTTON" = "wps" ] ; then
        if [ "$ACTION" = "pressed" ] ; then
            scanimage >/mnt/sda/skaner/image.pnm 
            convert /mnt/sda/skaner/image.pnm /mnt/sda/skaner/obrazek.pdf
   fi
    fi

Edit.
convert robi bezpośrednio pnm do pdf

18

Odp: OpenWRT + wolny przycisk routera + skaner po USB > skanuj na zasób SMB

Od nowej, przeciez to inne polecenie. Jak byś chciał w tej samej to np. rozdzielasz to średnikiem, ale na razie nie ucz się takich rzeczy. Na to jeszcze przyjdzie czas.

I dla higieny osobistej - stosuj wcięcia i zrób te fi na "wysokości" ich odpowiedników if. Niech to wygląda jakoś.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

19

Odp: OpenWRT + wolny przycisk routera + skaner po USB > skanuj na zasób SMB

Da się tu jakoś dopisać datę albo jakieś numery aby dopisywało do listy skanowanych?
W terminalu jak wpiszę date +"Today is: %A %d %B" to mi podaje datę.
W ImageMagic jak wpiszę np. %03d to tworzy trzy zera ale nie tworzy kolejnych numerów.
Kombinowanie z % T, % R, % X, date +%T itd nie chce mi zatrybić.

W terminalu date -d daje mi

root@Router:~# date -d
date: option requires an argument: d
BusyBox v1.33.0 () multi-call binary.

Usage: date [OPTIONS] [+FMT] [[-s] TIME]

Display time (using +FMT), or set time

        -u              Work in UTC (don't convert to local time)
        [-s] TIME       Set time to TIME
        -d TIME         Display TIME, not 'now'
        -D FMT          FMT (strptime format) for -s/-d TIME conversion
        -r FILE         Display last modification time of FILE
        -R              Output RFC-2822 date
        -I[SPEC]        Output ISO-8601 date
                        SPEC=date (default), hours, minutes, seconds or ns

Recognized TIME formats:
        @seconds_since_1970
        hh:mm[:ss]
        [YYYY.]MM.DD-hh:mm[:ss]
        YYYY-MM-DD hh:mm[:ss]
        [[[[[YY]YY]MM]DD]hh]mm[.ss]

Nie wiem jak tu podejść do tematu.

20

Odp: OpenWRT + wolny przycisk routera + skaner po USB > skanuj na zasób SMB

if [ "$BUTTON" = "wps" ]; then
        if [ "$ACTION" = "pressed" ]; then
            PLIK=$(date +"%Y%m%d-%H%M%S")
            scanimage >/mnt/sda/skaner/$PLIK.pnm 
            convert /mnt/sda/skaner/$PLIK.pnm /mnt/sda/skaner/$PLIK.pdf
        fi
fi
Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

21

Odp: OpenWRT + wolny przycisk routera + skaner po USB > skanuj na zasób SMB

Wszystko działa.
Można powiedzieć, że założony temat przez użytkownika @mesmariusz w głównej mierze przy pomocy Cezarego został rozwiązany smile
Dziękuję Cezary.