oriso's blog

oriso's blog

IT系・いろいろ書きます.知らんけど

Raspberry Pi3でプリントサーバを作った

はじめまして,orisoだ.

さて,Raspberry Piでプリントサーバを作るのは前から作って動かしてたんですがある日何もしてないのに動かなくなった.仕方なくテレビに繋ぐとどうやら起動に失敗してる模様.そんなわけで2回目のプリントサーバ復旧になったわけだ.少しガバガバなところもあると思うが勘弁.

RaspbianをSDカードに入れる

RaspbianというRaspberryPi用のOSをSDカードにインストールする.

forest.watch.impress.co.jp これで元あったパーティションを全部削除してから www.si-linux.co.jp をダウンロードする.これはインストールする必要はないのでZIPを解凍したらそのまま使える.ただし,右クリックから管理者として実行すること.(でないとうまくいかない) DD for Windows画像

「ディスク選択」を押してSDカードのドライブを選択してから「ファイル選択」からインストールするデータを選択する.ここで,「All file」に切り替えるとisoファイルを選択できる.

あとは真ん中にある書き込みを押して,いろいろ警告出るけどOK押すとインストールが始まる.

sshを有効にする

DDWinでRaspbianをインストールするとSDカードに2つのパーティションが別れてると思う.bootのパーティションsshというファイルを作成する.何も書かずにただ単にファイルを作成するだけでいい.

有線接続にしたいならば普通にイーサネットケーブルを挿せばいいが,WiFi接続の場合は一度モニターに繋いでWiFi接続する.デスクトップにそれっぽいやつがあるのでパスワードを入れるとおk.

また,IPアドレスを固定する必要があるから設定する.これは「ルーターの機種名 固定IP」なんかでググったら出てくると思うからそれを参照してほしい.基本的にはmacアドレスに対してIPアドレスを割り当てるだけの簡単な作業だ.

cupsをインストールする

ここからが本題だ.今回はTeraTermを使ってSSH接続をする.TeraTermの使い方はよそを見てもらうとして(めんどいわけじゃないよ)SSH接続できたとして話を進める.

$sudo apt-get install cups

でcupsをインストールする.

cupsの設定

ここから/etc/cups/cupsd.conf

# Listen Localhost 631
Listen 631 #書き換え
<Location />
  Order allow,deny
  Allow @Local
</Location>
・・・
<Location /admin>
  Order allow,deny
  Allow @Local
</Location>
・・・
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
  Allow @Local
</Location>

こんな感じでAllow @Localを書き足してから

$sudo service cups restart

とすると設定が更新される.

PCのブラウザからhttps://[IP address]:631にアクセスするとcupsの設定画面が出てくる.(ブラウザまたはセキュリティソフトの警告出るけどスルーで)

f:id:crndate0218:20190303104925p:plain

ここのプリンターを追加を選択してプリンターとクラスを追加を選択する.

プリンターを追加を選択すると,ローカルプリンターにプリンターが出てくると思うのでそれを選択してドライバの指定をする.
私のプリンターがEPSONのPX-404Aという機種だったが選択肢に無かったので,PX-401Aを選択した.

テストページを印刷を選択してうまく印刷できたら成功.

Windowsでのプリンターの登録

コントロールパネルへ移動

プリンターを追加

プリンター一覧にない場合を選択

共有プリンターを名前で検索を選択して

http://IP Address:Port/printers/キュー名

で選択する.キュー名はcupsの管理画面から確認できる.

プリンタのドライバを選択する.プリンタの機種を選択する.

テストページを印刷してうまく行けば成功

スマホからも印刷できるようにする

Androidスマートフォンから印刷するのにGoogle クラウドプリントを使う.

$sudo raspi-config

から Interface PreferenceがあるのでそこからVNCを有効化する.

VNC Viewerをインストールする.詳しくは

qiita.com を参照されたし.

これでデスクトップが表示されたらChromiumがあるのでそれを立ち上げてGoogleアカウントでログインする.

設定画面からGoogleクラウドプリントを選択してプリンターを追加して共有する.

あとは自分のスマホから適当なものをプリントアウトできたら成功.

終わりに

備忘録代わりに書いたこのブログだけど,初投稿がこれってどうなんだろ(小並).
とにかくこんな乱文ですまん.

参考サイト

Raspberry Piでプリントサーバ、Part1 Windows & Mac編 | ものづくりエクスペリメント
Ubuntu/Ubuntuでプリントサーバを構築しWindowsから印刷する - Linuxと過ごす