Raspberry PiとUSBプリンタ(EPSON PX-402A)をGoogleクラウドプリント化してChromeOSからプリント


背景

Chromebookから印刷したい。
Googleクラウドプリント対応してるプリンタがない。
Google クラウド プリント
USBプリンタはある。でもUSB接続してもドライバがない。
ラズパイもある。作るか。

CUPS

まず、ラズパイでプリンタを使えるようにするために、CUPSを入れた。

Common Unix Printing System - Wikipedia
CUPS.org

ここを参考にした。
ラズベリーパイにプリンタを設定して印刷するには | FABSHOP.JP -デジタルでものづくり! ファブショップ !
ラズベリーパイ プリンタの接続 | ラズベリーパイの導入 | ラズベリーパイ勉強室 | 株式会社アイネックス|Webシステム構築 | データ復旧サービス |ホームページ作成 | AS400ソリューション

GUIでポチポチして、ドライバを入れた。
うちのプリンタPX-402Aのドライバがリストになかったので、PX-401Aを入れてみた。動いた。

カラリオプリンター PX-402A|サポート&ダウンロード|エプソン

こんな感じ。

cloud-print-connector

何個かやり方ありそうだけど、Googleが出してるものを使うことにした。

Installing on Raspberry Pi Raspbian Jessie · google/cloud-print-connector Wiki · GitHub

結構めんどくさそうだけど、何も考えず手順にそってすすめてく。

go

goを入れる必要がある。
入ってなかったので入れる。
最新版じゃなくてよさそうなので、apt-get installする。

sudo apt-get install golang
go version

.bashrcにちょっと追加。
$PATHは設定しなくてもとりあえず問題ない。

.bashrc
export GOPATH=$HOME/.go
source .bashrc

参考

GOPATH は適当に決めて問題ない - Qiita

Build from source

ビルドする。必要なものいれてgo getするだけ。
これにそってすすめてく。
Build from source · google/cloud-print-connector Wiki · GitHub

sudo apt-get install build-essential libcups2-dev libavahi-client-dev git bzr
go get github.com/google/cloud-print-connector/...

Installing on Raspberry Pi Raspbian Jessie

これにそって進めてく。言われるがままにやる。新しいユーザー作って、適切な場所にファイル移して権限設定してGoogleアカウントと紐付ける感じ。
アカウントは自分しか使わないし、メインのアカウントを使ってみた。
GOPATH~/.goにしちゃったので、そこをちょっと修正。

Installing on Raspberry Pi Raspbian Jessie · google/cloud-print-connector Wiki · GitHub

Run Connector Automatically on Boot

これにそって再起動しても動くように設定していく。言われるがままやる。

(Linux) Run Connector Automatically on Boot · google/cloud-print-connector Wiki · GitHub

結果

ラズパイからでも、Chromebookからでも印刷できるようになった。Androidからでもできるはず。
無線ってすばらしい。

iPhoneからはできないので別途AirPrintサーバ化必要。