Raspberry Pi ZeroによるIoT入門 - Zero W 対応 -

コロナ社・サポートページ(関連資料)
【最新の更新日:2018/5/29】
 今井一雅@高知高専


試作中の「IoT学習HAT」です。
Raspberry Pi Zero/W と40ピンヘッダで接続されたHAT(拡張ボード)
になります。I2Cにより接続された温度・湿度・気圧センサーの情報をLCDに
表示可能で、LED3個、入力ボタン2個(内一つがシャットダウンボタン)、
小さなブザーが1個がついています。この「IoT学習HAT」に関係する新しい
情報がありましたら、ここでお知らせします。

・2018/3/24   IoT学習HATについての新聞記事


試作中の「見守りHAT」です(関連ページ:P.136)。この「見守りHAT」に
関係する新しい情報がありましたら、ここでお知らせします。

「らじるらじる」でNHKラジオを聴くの情報へ(関連ページ:P.81)

以下の情報は、テキストをコピー&ペーストして適宜お使いください。
(コピーしたい文字の部分をドラッグして Ctrl-C を押し、ペーストは
Ctrl-V となります)
なお、wgetコマンドにより、Raspberry Pi Zero/W 側からインターネット
サーバに接続してファイルをダウンロードすることができます。

【2018/5/29に更新した情報】

◎最新のイメージのダウンロードURLについて(関連ページ:P.27とP.47) 

ダウンロードURL 
http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/

raspbian-2018-04-19/
2018-04-18-raspbian-stretch.zip

直接イメージファイル(Zip)をダウンロードする場合のURL 
http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/raspbian-2018-04-19/2018-04-18-raspbian-stretch.zip

2018-04-18-raspbian-stretchには、日本語フォントが入っていますので、 
日本語フォントのインストールは必要ありません。

◎Blynkについて(関連ページ:P.139とP.141)

Blynkのバージョンは、v0.4.7からv0.5.2になっており、デフォルトの
ポート番号が8442から80に変更されています。(便利になりました!)

【2018/3/23に更新した情報】

Windows10 Fall Creators Update を行うとネットワーク共有で Zero over USB 
ができなくなる不具合に対する対応の資料を下記のURLにアップしました。
http://www.coronasha.co.jp/static/00901/zero_info_20180323.pdf

◎最新のイメージのダウンロードURLについて(関連ページ:P.27とP.47) 

ダウンロードURL 
http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/

raspbian-2018-03-14/ 
2018-03-13-raspbian-stretch.zip 

直接イメージファイル(Zip)をダウンロードする場合のURL 
http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/raspbian-2018-03-14/2018-03-13-raspbian-stretch.zip

2018-03-13-raspbian-stretchには、日本語フォントが入っていますので、 
p.58の注2の日本語フォントのインストールは必要ありません。 

【2018/1/24に更新した情報】

2017-09-07からのイメージより、OSのRaspbianが、Jessie (Debian 8) 
からStretch (Debian 9) に変わりました。

◎最新のイメージのダウンロードURLについて(関連ページ:P.27とP.47)

ダウンロードするPCのWebブラウザは、検証用としてFirefoxかGoogle Chrome
を使っています。

ダウンロードURL
http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/

raspbian-2017-12-01/
2017-11-29-raspbian-stretch.zip

直接イメージファイル(Zip)をダウンロードする場合のURL
http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/raspbian-2017-12-01/2017-11-29-raspbian-stretch.zip

2017-11-29-raspbian-stretchには、日本語フォントが入っていますので、
p.58の注2の日本語フォントのインストールは必要ありません。

◎NTPのコマンドについて(関連ページ:P.45)

2017-11-29-raspbian-stretchでは、NTPのコマンドが使えませんので、
下記の手順でインストールします。

pi@corona:~ $ sudo apt-get update
pi@corona:~ $ sudo apt-get -y install ntp
次のコマンドで確認します。
pi@corona:~ $ ntpq -p

/etc/ntp.confを修正したい場合は、
https://www.server-world.info/query?os=Debian_9&p=ntp
等を参考にし、ntp.confを修正してrestartさせます。
pi@corona:~ $ sudo nano /etc/ntp.conf
pi@corona:~ $ sudo systemctl restart ntp
次のコマンドで確認します。
pi@corona:~ $ ntpq -p

◎Lynxについて

Zero over USBで、Raspberry Pi Zeroがインターネット接続できるかの
確認する方法として、筆者は、Lynx(キャラクタベースのWebブラウザ)を
使っています。Lynxのインストール手順は、下記の通りです。

pi@corona:~ $ sudo apt-get update
pi@corona:~ $ sudo apt-get -y install lynx
pi@corona:~ $ lynx

Lynxを立ち上げると、デフォルトの http://lynx.invisible-island.net/
のサイトに接続されますので、インターネットへの接続が確認できます。
Lynxの終了は、qを入力して、yを入力します。

【2017/10/5に更新した情報】

◎Mac用のイメージファイル書き込み読み込みソフトApplePi-Baker v.1.9.5について(関連ページ:P.54)

https://www.tweaking4all.com/software/macosx-software/macosx-apple-pi-baker/
より更新(September 30, 2017)されたApplePi-Baker v.1.9.5 (v.1.9.4b) が
ダウンロードできます。ApplePi-Bakerでイメージを書き込む時に、Zero over USB
の設定をしたい場合は、「Auto eject after successful restore」のチェック
をはずして書き込んだ後、ターミナルで入ってP.49のconfig.txtとcmdline.txtを編集し、
p.51のtouchコマンドでsshのファイルを作成します。

◎Macの場合のSDFormatterについて(関連ページ:P.54)

ApplePi-Bakerでイメージを書き込むときに、Micro SD cardを再利用する場合は、
SDフォーマッタ5.0(Mac用)の「SD Card Formatter.app」を使います。
https://www.sdcard.org/jp/downloads/formatter_4/eula_mac/index.html
よりInstallSD_CardFormatter0500.mpkgをダウンロードしてインストールします。

【以下は2017/9/27に更新した情報です】

◎最新のイメージのダウンロードURLについて(関連ページ:P.27とP.47)

http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/
2017-09-07-raspbian-stretch.zip
http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/raspbian-2017-09-08/2017-09-07-raspbian-stretch.zip

2017-09-07-raspbian-stretchは、日本語フォントは入っていますので、
p.58の注2の日本語フォントのインストールは必要ありません。

◎config.txtについて(関連ページ:P.30とP.49)

config.txt の編集(PCでのイメージ作成の直後に行うこと)
最後行に
dtoverlay=dwc2
を追加します。

(例:config.txtの最後の3行)
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
dtoverlay=dwc2


◎cmdline.txtについて(関連ページ:P.30とP.50)

cmdline.txt の編集(PCでのイメージ作成の直後に行うこと)

cmdline.txtの中のrootwaitとquietの間に
modules-load=dwc2,g_ether g_ether.host_addr=02:22:82:ff:ff:01 g_ether.dev_addr=02:22:82:ff:ff:11
を追加します(改行せずスペース区切りで続けて記述するように注意します)。

【編集前の例】
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=242ad76d-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet init=/usr/lib/raspi-config/init_resize.sh splash plymouth.ignore-serial-consoles

【編集後の例】
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=242ad76d-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait modules-load=dwc2,g_ether g_ether.host_addr=02:22:82:ff:ff:01 g_ether.dev_addr=02:22:82:ff:ff:11 quiet init=/usr/lib/raspi-config/init_resize.sh splash plymouth.ignore-serial-consoles


◎シャットダウン機能の追加(関連ページ:P.76)

shutdown-off.sh
次のようにwgetコマンドでファイルのダウンロードができます(以下省略)。
pi@corona:~ $ wget http://www.coronasha.co.jp/static/00901/shutdown-off.sh


◎プログラム6-1(関連ページ:P.93)

ledtest.py
pi@corona:~ $ wget http://www.coronasha.co.jp/static/00901/ledtest.py


◎プログラム6-2(関連ページ:P.94)

ledtest2.py
pi@corona:~ $ wget http://www.coronasha.co.jp/static/00901/ledtest2.py


◎プログラム6-3(関連ページ:P.95)

pirtest.py
pi@corona:~ $ wget http://www.coronasha.co.jp/static/00901/pirtest.py


◎プログラム6-4(関連ページ:P.101)

ledtest3.py
pi@corona:~ $ wget http://www.coronasha.co.jp/static/00901/ledtest3.py


◎プログラム6-5(関連ページ:P.102)

pirtest2.py
pi@corona:~ $ wget http://www.coronasha.co.jp/static/00901/pirtest2.py


◎プログラム6-6(関連ページ:P.103)

softpwm.py
pi@corona:~ $ wget http://www.coronasha.co.jp/static/00901/softpwm.py


◎プログラム6-7(関連ページ:P.104)

buzzer.py
pi@corona:~ $ wget http://www.coronasha.co.jp/static/00901/buzzer.py


◎プログラム6-8(関連ページ:P.113)

botan.php
pi@corona:~ $ wget http://www.coronasha.co.jp/static/00901/botan.php.zip
pi@corona:~ $ unzip botan.php.zip


◎プログラム7-1(関連ページ:P.118)

rec.py
pi@corona:~ $ wget http://www.coronasha.co.jp/static/00901/rec.py

【以下は2017/10/23に更新した情報です】

◎プログラム7-2(関連ページ:P.123)

calendar.php
pi@corona:~ $ wget http://www.coronasha.co.jp/static/00901/calendar.php.zip
pi@corona:~ $ unzip calendar.php.zip

【以下は2017/9/27に更新した情報です】

◎プログラム7-3(関連ページ:P.127)

style.css
pi@corona:~ $ wget http://www.coronasha.co.jp/static/00901/style.css


◎delcamera.sh(関連ページ:P.130)

delcamera.sh
pi@corona:~ $ wget http://www.coronasha.co.jp/static/00901/delcamera.sh


◎プログラム7-4(関連ページ:P.132)

jinkantest.py
pi@corona:~ $ wget http://www.coronasha.co.jp/static/00901/jinkantest.py


◎Karacrix拡張I/Oボードの情報(関連ページ:P.146)

http://karacrix.jp/hardware/kcxh-KBRS31A.htm

http://karacrix.jp/files_etc/KCX-MAN-KBRS31A-v101.pdf


◎プログラム9-1(関連ページ:P.151)

karacrix_PI.py
pi@corona:~ $ wget http://www.coronasha.co.jp/static/00901/karacrix_PI.py


◎karacrix_KBRS31.pyのダウンロードURL(関連ページ:P.151)

http://www.karacrix.jp/raspberrypi/
KBRS31A 操作用簡単「Python言語」サンプルプログラム


◎フリーソフトウェアKaracrixBuilderの利用(関連ページ:P.152)

http://www.karacrix.jp/downloadlist.htm
より
karacrix32F_v351_raspbian20150505.tgz
をダウンロード


◎ngエディタのインストール方法(関連ページ:P.163)

pi@corona:~ $ sudo apt-get install libncurses-dev

ng-1.5beta1.tar.gzをダウンロードします。
pi@corona:~ $ wget http://tomato.sakura.ne.jp/~amura/archives/ng/ng-1.5beta1.tar.gz

pi@corona:~ $ gzip -d ng-1.5beta1.tar.gz 
pi@corona:~ $ tar xvf ng-1.5beta1.tar

ng-1.5beta1のディレクトリにng-1.5beta1-utf8.patchをダウンロードします。
pi@corona:~ $ wget http://www002.upp.so-net.ne.jp/hidev/ng-1.5beta1-utf8.patch.gz

pi@corona:~ $ gzip -d ng-1.5beta1-utf8.patch.gz
pi@corona:~ $ mv ng-1.5beta1-utf8.patch ng-1.5beta1
pi@corona:~ $ cd ng-1.5beta1

パッチを当てます。
pi@corona:~/ng-1.5beta1 $ patch -p1 < ng-1.5beta1-utf8.patch

pi@corona:~/ng-1.5beta1 $ ./configure
pi@corona:~/ng-1.5beta1 $ make 
pi@corona:~/ng-1.5beta1 $ sudo cp ng /usr/bin
pi@corona:~/ng-1.5beta1 $ cd
pi@corona:~ $ ng

以上で、ngエディタが使えるようになります。