見出し画像

【Raspberry Pi Advent Calendar 2021】108円のジャンクスキャナをラズパイで使う

これは Raspberry Pi Advent Calendar 2021 22日目の記事です。

お前は誰

20歳、学生です。詳細はTwitterウェブサイト見て、どうぞ。
家にはRaspberry Pi 1 Model B+とOrange Pi Zero(ラズパイの中華パチモン)が各1台あります。

経緯

今回の材料はこちら、キャノンのフラットヘッドスキャナ「CanoScan LiDE 30」です。

手前にはワンタッチキー(使ったことない)

2017年10月に108円で買ったものらしい。碧南のハードオフは全体的に安いのでおススメです。前はナムコのPS1ゲーム50円均一とかやってた。

製品情報ページによると、2002年9月発売で希望小売価格は18,480円。光学解像度1200x2400dpi、24ビットカラー、8ビットモノクロと日常利用には十分なスペックを備えています。電源はUSBバスパワーです。

ただしこの機種、ドライバの提供がWindows Vista(32ビット)で終わっています。ネットの文献を頼りに色々と試したものの、結局64ビットのWindows 10では動かず一旦お蔵入りしました。

そして数年後…

「WindowsがダメならLinuxを使えばいいじゃない」
― マリー・アントワネット(大嘘)

Google先生によると、「xsane」なるLinux用のスキャンツールがあるらしい。Linuxマシンへインストールし部屋で埃を被っていたLiDE 30を繋いだところ、普通に動きました。Linux最高!!当時は大学のオンライン授業全盛期で手書きレポートをデータ提出する必要があったため、週1~2回のペースで使うようになりました。

最初はVirtualBox+Ubuntu 20.04 LTSの環境で動かしていましたが、仮想マシンの宿命か、USBの認識精度が非常に悪い。そもそも起動に時間が掛かる上、正しい画像を得るために3~4回試行することもあり、かなり不便でした。後期には手書きレポートの講義が無くなり用途を失ったため、再びお蔵入りに。

さらに1年後…

大学近くのアパートに引っ越し、親の目を気にせず実験できるようになったため、24時間稼働のラズパイにスキャナやプリンタなどを接続し簡易的な自宅内サーバを構築する計画を考えました。

構成

構成図
き た な い

キーボードやディスプレイは無く、全てリモートで操作しています。Sambaを導入しており、Windowsエクスプローラから直接ラズパイのファイルシステムにアクセスできます。

GUI(VNC+xsane)でスキャン

まずはxsaneをインストールします。

$ sudo apt-get install xsane

次にraspi-config(GUIの場合は「Raspberry Piの設定」)からVNCを有効化し、VNCビューワでログインします。ポート番号は5900です。

狭スギィ!これじゃ操作できないよ…
もう少し高い解像度で新しいVNCサーバを生やします。ポート番号は5901に変わります。

$ vncserver :1 -geometry 1280x800 -depth 16

これでまともな操作ができるようになりました。

ちなみに「スキャン」ボタンを押してからプレビューが出るまで45秒くらい。USB1.1だからね、しょうがないね。

CUI(SSH+Sane)でスキャン

xsaneはスキャンツールでなく、Linuxでスキャナーを使うためのライブラリ「SANE」のGUIフロントエンドです。つまり、同様の機能を持つCUIツールがあります。Raspberry Pi 1の性能を考えるとVNCよりSSHの方が軽快に動き利便性が高いため、CUI環境でのスキャンも試してみました。

$ scanimage -o out.png --resolution 300 -x 210 -y 297

これで、300dpi・A4サイズのカラーPNG画像が/home/pi/out.pngに出力されます。所要時間は2分26秒、ファイルサイズ16.6MBでした。USB1.1だからね、しょうがなi(ry

ポストに入ってた宅配ピザのチラシです

scanimageコマンドのオプションは接続されているスキャナによって異なるようです。詳細は

$ scanimage -h

で表示されるヘルプをご確認ください。

今後の展望

・Raspberry Pi 4へのリプレース(半導体不足+金欠で買えない…)
・自動化、脱SSH/VNC(クライアント側からボタンを押すだけでスキャンできるようにしたい)


この記事が参加している募集

やってみた

この記事が気に入ったらサポートをしてみませんか?