のぼゆエンジニアリング

ゼロから機械設計を勉強してみたりするブログ

ラズベリーパイ(Raspberry Pi)でFAXを作る方法。とりあえず動いてメール通知もくるよ!



スポンサーリンク

先日、仕事場で使っているFAXが壊れてしまった。
FAXはいまや家庭ではあまり使われないかもしれないが、仕事では使う機会がまだまだある。
新しいFAXを買うのもなんか気が進まないので、ラズベリーパイ(Raspberry Pi)でFAX環境を作ってみた。

見た目

箱に入れたらオシャレになった。
本物のFAXほど場所も取らなくて部屋がスッキリしたので気に入っている。
箱の中には、ラズベリーパイとモデムが入っている。
ちなみに、箱は何でも良いですが蓋を締め切るのはよくありません・・熱がこもります(笑

f:id:noboyu:20160224023440j:plain:w400


仕様

 機能の特徴

 PDFファイルで送信OK かんたん。
 自動受信ができる 指定したコール数で勝手に着信してくれる。
 受信メール通知が来る。 PDFが設定したメールアドレスに届く。
 送受信どちらも、GUIで操作できる。 デジタル音痴にはうれしかった
 導入が簡単。 これもデジタル音痴にはかなりうれしい

 構成図

図中のルーター(無線アクセスポイント付)は、普段ネット回線でつかっているものを使っている。

自作FAX
Raspberry Piロゴ画像元:http://www.raspberrypi.org


 操作方法

RASPBIANのデスクトップ環境で操作する。
LinuxベースのOSなので「真っ黒な画面にコマンドを打ち込むのか!?」と不安だったが、心配はいらない。

ソフトはWindowsと同じような外観で操作できる

ラズベリーパイでFAX操作中

f:id:noboyu:20160225201202p:plain

受信したとき

standby」をクリックすると待機モードになり、基本待っているだけ。
ファックスを受信したら、ファックス画像がPDFに変換されてメール送信される。

送信するとき

送りたいファイルをPDFにして、「Fax to send」欄に追加し、Tel number欄に相手先の番号を入力後、「Send fax」をクリックすると送信される。

用意するモノ

どんぴしゃの情報がなく結構苦労したので、そろえたモノ導入手順をまとめてみた。
自作と言っても特別な作業はなく、基本はソフトを入れて設定するだけ。
手順に沿えば初心者でも簡単に導入が可能だ。

ハード

 1. Raspberry Pi2 ModelB

記事を書いた当時に(2016年2月)で一番新しいモデル(Raspberry Pi2 ModelB)を購入した。
ModelAやA+だとネットワーク用インターフェースが搭載されていないのと、USBポートが少ないのでおすすめしない。(別途ハブを用意するのが面倒)

Raspberry Pi2 ModelB


Raspberry Pi3 Model B

2018年6月時点では、Raspberry Pi2よりもPi3が入手しやすいです。
無線LANが使えるのが良いですね。
但し、私はPi3ではFAX未検証です。

 2. モデム PL-US56K │ planex

2018年6月時点では、当時のモデル(PL-US56K)は廃版です。
後継機種(PL-US56K2)が出ていますが、私は未検証です。


PL-US56K(旧版)

何も考えずに買ったら箱にWindows専用と書かれていて焦ったが、今回の環境でちゃんと認識して動いてくれた
また、モジュラーケーブルは付属品として同梱されていた。
もし他に手持ちのUSBモデムがあるなら、試せば動く可能性はあるかも。

※送信だけなら、これだけを直接Windowsに接続すれば可能だ。
ただ受信もさせるとなると、モデムを接続したPCをシャットダウンできなくなってしまう。
だからラズベリーパイを中継することにした。

 3. スイッチングACアダプター

供給電圧は5V。電流は今後ほかのものを作ることを考えて私は2Aのものを買っておいた。

 4. USBケーブル Aオス-MicroB

Raspberry Piへの電源供給に使う。 端子形状に注意。Raspberry Pi側はMicroB、他端はAタイプだ。
androidのスマホのケーブルで代用できる場合もある。

 5. MicroSD

OSをいれたり、記憶領域として使う。

 6. HDMIケーブル

Raspberry Piの設定時に必要になる。
Raspberry Piをディスプレイに接続するのに使う。
ディスプレイは普段使っているPCのモニタでもいいし、無ければテレビに接続してもよい。
ただし、モニタによってはHDMIがない場合もあるので、確認してから用意して下さい。


 7. USBキーボード

Raspberry Piの初期設定とかで必要になる。
家に転がってるかもしれないし、無ければ安価なものを一つ買っておけば今後役立つ。

 8. USBマウス

上記のキーボード同様、Raspberry Piの初期設定とかで必要になる。
家に転がってるかもしれないし、無ければ安価なものを一つ買っておけば今後役立つ。

 9. LANケーブル

Raspberry Piとルーターへの接続で必要になる。(有線の場合)

利用したソフト

詳細は次の項目[導入手順]に書いている。

 RASPBIAN JESSIE OS。linux「Debian」ベースで、アプリの選択肢も広そうなので選んだ。
 efax-gtk GUI環境でFAXの送受信ができるソフト
 ssmtp シンプルなメール転送ツール。gmail経由を利用します。
 heirloom-meilx CUIのメーラー



導入手順

手順は6ステップ。 手順1~3までは、私はこの本を見ながら進めた。

これ1冊でできる!ラズベリー・パイ 超入門 改訂第2版 Raspberry Pi Model B/B+/2対応

これ1冊でできる!ラズベリー・パイ 超入門 改訂第2版 Raspberry Pi Model B/B+/2対応

※改訂版が出ています。

手順1. Raspberry PiにOSをインストールする。

周辺機器を繋ぐ

図では、ラズベリーパイへの給電は省略している。
前述のACアダプターも接続してください。

ラズベリーパイにOSをインストール
Raspberry Piロゴ画像元:http://www.raspberrypi.org

まずはダウンロード

★Windowsでの作業です。

  • OSはこちらからダウンロードできる。

  • OSは、RASPBIAN JESSIEを選ぶ。

  • 形式はNoobsでもイメージでもどちらでも良い。
    (私がアクセスした時はなぜかNoobsがリンク切れ?になっていてダウンロードできなかったので、イメージファイルをダウンロードした。)

SDカードをフォーマット

★Windowsでの作業です。

容量によっては完了まで数時間かかるので、注意。 私は手持ちのSDカードが32GBだったからか、4時間くらいかかってしまった。

SDカードにOSを書き込む

★Windowsでの作業です。

いよいよOSをインストール!

Raspberry Piに周辺機器(モニターやマウスなど)を接続し、SDカードをカチッと差し込んで、電源を入れる。あとは指示に従って進める。

  • NoobsならOSを選択する画面からスタート

  • イメージファイルなら、言語のセットアップなどからスタート

手順2. Raspberry Piの設定をしておく

ネットワークの設定

  • windowsからRaspberry Piにアクセスするために、固定IPアドレスを設定しておく。

  • 上記で紹介したこの本を参考にする場合、p72に手順が記載されている。
    ただ、本の通りだとうまくいかなくて、「auto eth0」という記述を入れると設定に成功した。



手順3. windows機から遠隔操作できるように設定する

Raspberry Piからファイルを取り出したり送りたいときにSDカードを抜き差しするのは面倒だ。 そこで、SSHサーバーを立てるとwindows機(macも)からネットワークを介して遠隔操作することができる。

SSHサーバーを立ち上げる

サーバーを立てるといっても、コマンドを入力するだけだ。

ちなみに、コマンドはラズベリーパイのデスクトップから、
メニュ→アクセサリ→LXTerminalというツールを立ち上げると打ち込めます。

$ sudo /etc/init.d/ssh start

windows側にもツールをいれる

操作ツールをインストールする。

Tera Term (テラターム) プロジェクト日本語トップページ - OSDN

(必要に応じて)VNCサーバーを立ち上げる

SSHだとできるのはコマンド操作だけだが、VNCサーバーを立てるとRASPBIANのデスクトップを覗いて操作ができる。

手順4. Raspberry Piに必要ソフトをインストールする

インストールするソフトは3つ。

インストールは下記コマンドを入れると、ネットワーク上からダウンロード~インストールされる。

$ sudo apt-get install ソフト名

ソフト名は、下記の通りだ。

  • efax-gtk ・・・GUI環境でFAXの送受信ができるソフト
  • ssmtp ・・・シンプルなメール転送ツール。
  • heirloom-meilx ・・・CUIのメーラー



手順5. FAX環境を整える

モデムを繋ぐ

ラズベリーパイにモデムを繋ぐ
Raspberry Piロゴ画像元:http://www.raspberrypi.org

モデムを認識させる

$ sudo modprobe usbserial vendor=0x2019 product=0xab27

→ttyUSB0として認識されるもよう。

efax-gtkの設定

インストールしたefax-gtkは、デスクトップのmenu→officeあたりに入っているはず。
クリックすると立ち上がる。

File→settingを選択して、設定を進めていく。 主に設定するのは[Identity][Modem][Receive]の3項目。

 Identity      

efax-gtk画面


名前とFAX用の電話番号を入力する。 例えば東京なら、03xxxxxxxx(xは各自電話番号)と入力する

 Modem      

efax-gtk画面


serial Deviceに ttyUSB0 と入力。(※もしくは、あなたの環境にあわせて)
Modem Class は分かっているなら選択しておく。
ちなみに、上記で紹介したPL-US56KはClass1だ。

 Receive      

efax-gtk画面


下段のwhen fax received by modem の項目にチェックを入れて、 ボックスに「mail_fax」と入力する。

手順6. 受信通知メールの環境を整える

gmailの準備

FAX受信通知用にgmailアカウントを取得する。 取得したら、下記を参考にしてgoogleアカウントの設定を変更しておく。

※上記設定をしないと、弾かれてしまってメール通知ができない。

ssmtpの設定

上記のgmailの情報を、ssmtpに設定する。

$ sudo nano /etc/ssmtp/ssmtp.conf

と入力すると、CUIウインドウ上で編集可能。

編集項目は、こちらを参考にさせて頂いた。 SSMTP - ArchWiki

メール送信テスト

echo 'This is a test mail.' | mail -v -s 'sSMTP Test' 送信先メアド

成功したら、メールが届く。失敗ならエラーメッセージが返ってくる。

efax用のスクリプトファイルを入手する

  • このサイトにアクセスして、「mail_fax」スクリプトをダウンロードする。
20160225201201


  • ダウンロードしたらファイルをテキストエディタで開いて下記項目を編集する。
    ※コメントアウトしてあるので注意
MAIL_ADDR=FAX通知を送付したいメアド

なお、このメアドはgmail以外の自分の好きなアドレスで良い。

  • Raspberry Piの/usr/local/binに保存する。

以上で導入は終了だ。お疲れ様でした!

導入が終わったら、ラズベリーパイに繋いだモニタ、キーボード、マウスは外してもOKです。 (構成図参照)

送受信の様子は、上の方の項目「操作方法」に書いている。

最後に

efaxのreadmeを読んで頂くとわかるが、ファックスがくると自動的に印刷することもできる。
ペーパーレスで運用したかったので今回は設定していないが、設定次第でもっと便利になる。
私は電話番号を2回線もっているので、fax専用にあてている。
1回線しかない場合でも、受信コール数の設定で運用できそう。

また、Linuxでは有名なfaxツールには、他にもhylafaxとかがある。
だがGUIのクライアントがdebianの公式ライブラリでは配布されていなくて、導入が色々と初心者の私にはめんどくさそうだったので見送った。

© 2018 のぼゆエンジニアリング
About記事一覧お問合せ