2017年12月30日土曜日

本書の補足情報

ここでは、本書の補足情報や、OSのバージョンアップに伴う変更点などを記していきます。

はじめに

回路配線図について

本書では、公式サイトより回路の配線図のPDFをダウンロードできます。 その回路配線図をWindowsやOS X上のAdobe Readerで閲覧する際、「編集」→「環境設定」を選択し、下図のように「細い線を拡張」のチェックを外すと、より綺麗な配線図を見ることができます。


チェックを外す前後の配線図の状態を示したのが下図です。「細い線を拡張」のチェックを外した方が図がきれいに表示されているのがわかるでしょう。

なお、この設定はPDFの印刷の際には影響しないはずです。

2章

p.41:NOOBSのバージョンについて

本書の出版以降、以下のように新しいバージョンのNOOBSがリリースされています。

2016/9/23NOOBS 1.9.3
2016/10/5NOOBS 2.0.0
2016/11/29NOOBS 2.1.0
2017/2/27NOOBS 2.2.0
2017/3/3NOOBS 2.3.0

原則的に、ダウンロードできる最新のバージョンを用いるようにしてください。上記のどのバージョンでも動作確認しておりますが、手順の変更や注意がある場合以下に追記していきます。このページを「NOOBS」で検索すると変更点などを知ることができるでしょう。

p.48:NOOBS 1.9.3以降のデスクトップについて

NOOBS 1.9.3以降に含まれるRaspbianでは、下記のように、デスクトップやアイコンのデザインが一新されました。また、ブラウザがGoogle ChromeのベースとなったChromiumブラウザに変更されています。しかし、デザイン以外の変更はあまり大きくありませんので、書籍の指示のまま変更の必要がない部分がほとんどです。

もし最新のNOOBSを用いて違和感を感じる部分があったら、下記に補足や注意点がないか、チェックしてみてください。


p.51:日本語フォントのインストールについて

NOOBS 1.4.2~1.9.2ではデフォルトで日本語フォントが含まれておらず、「2.4.7 日本語フォントのインストール」節のようにネットワークから日本語フォントをインストールする必要がありました。NOOBS 1.9.3以降では、この問題は解決されておりますので、2.4.7節を飛ばして2.4.8に進んで頂いても文字化けは起こりません。

p.53:シャットダウン時のLEDの状態について

Raspberry Pi 3をシャットダウンした後のLEDの状態について、本書では「ACTの点滅後、緑色に点灯した状態になります」と記しました。

NOOBS 1.9.3およびNOOBS 2.0.0以降では、Raspberry Pi 3のシャットダウン後にACTは消灯状態になりますのでご注意ください。なお、これはRaspberry Pi 2などと同じ挙動です。

3章

p.59:秋月電子通商のパーツセットについて

なお、小型液晶 (LCD)は含まれておりませんのでご注意下さい。
書籍の9章までの演習 (ただし、LCDを用いる7.3および7.4と、オプション扱いでカメラモジュールを用いる5.6は除く) を行えます。

なお、上記以外にamazonなどで本書の名前を冠したパーツセットが取り扱われておりますが、どれも著者や出版社および秋月電子通商様が関わった商品ではありませんので、ご注意ください。

4章

p.88:NOOBS 1.9.3におけるIDLEのデフォルトフォントについて

NOOBS 1.9.3に含まれるRaspbianでIDLEを起動し、プログラム04-02-led.pyを開くと下図(左)のようになります。

このバージョンでは、デフォルトのフォントとしてプロポーショナルフォント(文字により太さが異なるフォント)が用いられてしまっています。そのため、下図(左)の注釈に示したように、本来4個または8個ある空白文字(スペース)の個数が非常に少なく見えてしまっています(本書p.88の図4-9と比べてください)。

Pythonでは空白文字の個数による字下げの区別は重要ですので、空白文字の個数が一目でわかるフォントを用いるべきです。

そのために、IDLEのメニューにある「Options」→「Configure IDLE」を選択し、「DejaVu Sans Mono」や「Droid Sans Mono」のように、名前に「Mono」が含まれるフォントを選んでください。下図(右)のように等幅フォントが選択され、空白の個数がよくわかるようになります。


6章

p.141:半固定抵抗の回転の向きについて

本書では、半固定抵抗として秋月電子通商の「半固定ボリューム 10kΩ」を用いて解説をしています(パーツセットに含まれるものです)。

半固定抵抗は、製品の種類によって、AD変換により得られた値が大きくなる回転の向きが異なることがあります。

そのような場合、下図のように、3.3VとGNDへの接続を逆にすると良いでしょう。

8章

p.209:WiringPi-Pythonのインストールコマンド

WiringPi-Pythonをインストールするためのコマンドやや長く、写し間違えると正しくインストールが行なわれません。

下記にコピーできる形で再掲しますので、ブラウザで表示して1行ずつコピーし、ターミナルソフトウェアLXTerminalへ貼り付けて1つ1つ実行していけばトラブルが減るでしょう。コピーはブラウザ上でキーボードで「Ctrl+c」、貼り付けはLXTerminalのメニューから「編集」→「貼り付け」(またはCtrl+Shift+v)です。なお、行頭の「(1)」などの数字はコピーする必要はありませんのでご注意ください。
(1) sudo apt-get update
(2) sudo apt-get install python-dev python-setuptools swig
(3) git clone --recursive https://github.com/WiringPi/WiringPi-Python.git
(4) cd WiringPi-Python/WiringPi
(5) sudo ./build
(6) cd ..
(7) swig2.0 -python wiringpi.i
(8) sudo python setup.py install

9章

p.223:WebIOPiのダウンロードについて

WebIOPiのダウンロードサイトでは、Cayenneというソフトウェアのダウンロードが可能になっていますが、書籍に記した通りWebIOPi 0.7.1をダウンロードし、インストールを行ってください。

p.224:WebIOPiのインストールコマンド

WebIOPiをインストールするためのコマンドはやや長く、写し間違えると正しくインストールが行なわれません。

下記にコピーできる形で再掲しますので、ブラウザで表示して1行ずつコピーし、ターミナルソフトウェアLXTerminalへ貼り付けて1つ1つ実行していけばトラブルが減るでしょう。コピーはブラウザ上でキーボードで「Ctrl+c」、貼り付けはLXTerminalのメニューから「編集」→「貼り付け」(またはCtrl+Shift+v)です。なお、行頭の「(1)」などの数字はコピーする必要はありませんのでご注意ください。なお、(1)のコマンドの実行する前に、p.223の指示に従ってWebIOPi-0.7.1.tar.gzをダウンロードし、ユーザーpiのホームに移動しておく必要がありますのでご注意ください。
(1) tar zxf WebIOPi-0.7.1.tar.gz
(2) cd WebIOPi-0.7.1/
(3) wget https://raw.githubusercontent.com/doublebind/raspi/master/webiopi-pi2bplus.patch
(4) patch -p1 -i webiopi-pi2bplus.patch
(5) sudo ./setup.sh
(5)の処理が終わると最後に「Do you want to access WebIOPi over Internet ? [y/n]」という質問をされますので、キーボードで「n」を入力したあとEnterするのでした。

その後、OSとしてJessieをお使いの方は下記のコマンド(p.226のコマンド)を実行し、起動用ファイルを適切な位置に配置します。これでWebIOPiのインストールは完了です。
(1) wget https://raw.githubusercontent.com/neuralassembly/raspi/master/webiopi.service
(2) sudo mv webiopi.service /etc/systemd/system/
なお、上記の手順でWebIOPiをインストールしてもp.234の図9-5において「IN/OUT等が現れるはずのボタンに文字が現れず灰色のまま」という場合、 まずはWebIOPiの再インストールを試してみましょう。そのためには、ターミナルを起動して下記のコマンドで過去のインストールファイルを一旦削除します。
sudo rm -rf WebIOPi-0.7.1
その後、もう一度上記のコマンドでWebIOPiをインストールします。

それでも症状が改善されない場合、原因はわかりませんが、OSであるRaspbianが壊れているという可能性もないとは言えません。余力があればOSを再インストールしてみることも検討してみると良いでしょう(私自身、OSの再インストールが必要だったことはないのですが、読者の方にはそれで改善したという方が複数名いらっしゃるようです)。

10章

p.290:mjpg-streamerのインストールコマンド

mjpg-streamerをインストールするためのコマンドやや長く、写し間違えると正しくインストールが行なわれません。

下記にコピーできる形で再掲しますので、ブラウザで表示して1行ずつコピーし、ターミナルソフトウェアLXTerminalへ貼り付けて1つ1つ実行していけばトラブルが減るでしょう。コピーはブラウザ上でキーボードで「Ctrl+c」、貼り付けはLXTerminalのメニューから「編集」→「貼り付け」(またはCtrl+Shift+v)です。なお、行頭の「(1)」などの数字はコピーする必要はありませんのでご注意ください。
(1) sudo apt-get update
(2) sudo apt-get install libjpeg8-dev cmake
(3) git clone https://github.com/jacksonliam/mjpg-streamer.git
(4) cd mjpg-streamer/mjpg-streamer-experimental
(5) make
(6) cd
(7) sudo mv mjpg-streamer/mjpg-streamer-experimental /opt/mjpg-streamer
なお、mjpg-streamerのインストールに一度失敗し、その後何度試行錯誤してもうまくいかない、という方は、上記の7つのコマンドの実行前に、下記の2コマンドにより過去にインストールしたmjpg-streamerを一度削除した方が安全かもしれません。ターミナルLXTerminalを起動した直後の状態で順に実行してください。
(1) sudo rm -rf /opt/mjpg-streamer
(2) rm -rf mjpg-streamer

応用PDF

PDF11:spidevを用いてAD変換を行うプログラムについて

追加PDFでは、spidevとADコンバータMCP3208を用いてAD変換を行うプログラム06-04-spidev.pyを紹介しました。

やや高度な解説になりますが、このプログラムではMCP3208に4バイトのコマンドを送信することで4バイトのデータを受信し、さらにそこから必要な12ビットを切り出してデータとしています。 このデータの送受信をそれぞれ3バイトで実現するプログラムを作成しましたので、プログラムの効率を高めたいという方はお試しください。ただし、結果自体が変わるわけではありません。

ターミナルを起動し、下記のコマンドを実行することで、変更版プログラム06-04-spidev-mod.pyをダウンロードできます。
$ wget https://raw.githubusercontent.com/neuralassembly/raspi/master/06-04-spidev-mod.py
実行方法は、06-04-spidev.pyと同じです。

PDF17:LDCの文字コード表

本書で紹介した2つのLCDでは、PDF17図7-8の文字コード表の一番左の列(0x06~0x0f)の文字は表示されないようです。ご了承ください。

PDF20:Python3用WiringPi-Pythonのインストールコマンド

これまで同様、Python3用WiringPi-Pythonのインストールコマンドを、コピーできる形式で再掲します。8章で、Python2用WiringPi-Pythonをインストール済みであることを前提としていますので、御注意ください。
(1) sudo apt-get update
(2) sudo apt-get install python3-dev python3-setuptools
(3) cd WiringPi-Python
(4) swig2.0 -python wiringpi.i
(5) sudo python3 setup.py install

0 件のコメント:

コメントを投稿