O dispositivo é simplesmente uma câmera, o processamento de imagem e a leitura de QR são feitos no "dirver" do computador. Se você quiser usá-lo no Linux como se fosse um "bom" leitor que tenha a parte de leitura no dispositivo (Ele age como um teclado que digita tudo o que você digitaliza), você pode seguir estes passos:
- Instale os pacotes necessários:
sudo apt-get install zbar-tools xdotool wmctrl
- Digite em um terminal
gksu gedit /etc/udev/rules.d/00-usb-qreader.rules
-
Um editor de texto abrirá, copiará e colará estas linhas:
ACTION=="add", SUBSYSTEM=="video4linux", ATTRS{idVendor}=="1871", ATTRS{idProduct}=="0101", ENV{XAUTHORITY}="/home/<your_username>/.Xauthority", ENV{DISPLAY}=":0", OWNER="<your_username>", RUN+="/usr/local/bin/usb-qreader", SYMLINK+="qreader"
ACTION=="remove", SUBSYSTEM=="video4linux", ATTRS{idVendor}=="1871", ATTRS{idProduct}=="0101", ENV{XAUTHORITY}="/home/<your_username>/.Xauthority", ENV{DISPLAY}=":0", RUN+="/usr/local/bin/usb-qreader"
- Pressione Ctrl + H para localizar e substituir todas as
<your_username>
ocorrências pelo seu nome de usuário.
- Salve o arquivo e feche o editor de texto.
- Digite em um terminal
gksu gedit /usr/local/bin/usb-qreader
-
Neste arquivo coloque estas linhas (você pode personalizá-lo se souber o que está fazendo):
#!/bin/bash
ZBAR_SETTINGS="--raw --nodisplay" # Put here the options
ALWAYS_ON_TOP="true" # Keep the zbar window always on top
END_CHARACTER="Return" # Character sent after code scan ("Return", "Tab", "space", "")
TYPEIN_WINDOW='' # Title of the window onto type. If it's blank, it will type on the current window
function scan() {
zbarcam $ZBAR_SETTINGS /dev/qreader | while read line; do
CODE=$(head -c -1 <<< "$line")
if [[ $TYPEIN_WINDOW != "" ]]; then
WINDOW="--window $(xdotool search --name $TYPEIN_WINDOW | tail -n 1)"
fi
xdotool type $WINDOW "$CODE"
xdotool key $WINDOW "$END_CHARACTER"
done
}
if [[ "${ACTION}" == "add" ]]; then
scan &
if [[ "$ALWAYS_ON_TOP" == "true" && ! "$OPTIONS" =~ "--nodisplay" ]]; then
while :; do wmctrl -l | grep -q "zbar barcode reader" && break; done
wmctrl -r "zbar barcode reader" -b add,above
fi
elif [[ "${ACTION}" == "remove" ]]; then
ps aux \
| grep -e 'zbarcam.*/dev/qreader' \
| grep -v grep \
| awk '{print }' \
| xargs -i kill {}
fi
- Digite em um terminal
sudo chmod a+x /usr/local/bin/usb-qreader
- Recarregue as regras
udev
com este comando: sudo udevadm control --reload-rules
- Conecte seu incrível leitor de QR e divirta-se!
No entanto, se você quer uma solução simples (que não dará o potencial disso, mas é simples), você pode tentar o Solução @Slaci abaixo .