機材

Raspberry PI3 B
Raspberry Pi用電源セット(5V 3.0A)-Pi3フル負荷検証済
SanDisk microSDHC 98MB/s 16GB Ultra

Raspbianのインストール


RASPBIAN STRETCH WITH DESKTOPより、 RASPBIAN STRETCH WITH DESKTOP をダウンロードし、解凍します
2017.10.14現在 2017-09-07-raspbian-stretch.img

参考(Mac):Download ZIPは時間がかかるが、BiTtorrent クライアントTransmissionをインストールしてDownload Torrentすると早い

microSDにディスクイメージを書き込む

Mac
  1. ApplePi-Bakerをインストールする
  2. ApplePi-Bakerを立ち上げ、microSDカードをPCに繋ぐ
  3. Pi-CrustにmicroSDカードを選び、IMG fileに2017-09-07-raspbian-stretch.imgを指定する
  4. Restore Backupを押すと、ディスクイメージの書き込みが始まる
  5. 数分で終了

参考(Windows, Mac)
Raspberry Pi の SDカードの書込み

Raspbianの初期設定

  1. microSDカードをRaspberry Piに差し込む
  2. ディスプレイ、キーボード、マウス、LANケーブル、電源を接続し、Raspbianを起動する

Raspi-configの設定-1

画面上部ツールバー -> Terminal >>開く
Terminal画面にて
  • raspi-configを起動:$ sudo raspi-config

Raspi-config画面にて
  • raspi-config自体をアップデート:8 Update -> Enter >>アップデートが始まる
  • ホスト名を変更:2 Hostname -> raspberrypi(今回は変更しない)

Raspi-configの設定-2

  • 日本語設定:4 Localisation Options -> 11 Change Locale -> 「es_US.UTF-8 UTF-8」「ja_JP.UTF-8 UTF-8」にスペースキーで「*」を入れ、「en_GB.UTF-8 UTF-8」はスペースキーで外す。「C.UTF-8」「es_US.UTF-8」「ja_JP.UTF-8」>>OK

Raspi-configの設定-3

  • タイムゾーン設定:4 Localisation Options -> 12 Change Timezone -> Asia -> Tokyo
  • WiFi国別設定:4 Localisation Options -> 14 Change Wifi Country -> JP Japan -> OK

Raspi-configの設定-4

  • SSH接続:5 Interfacing Options -> 「P2 SSH」-> Yes
  • VNC接続:5 Interfacing Options ->「P3 VNC」-> Yes
  • シリアル接続:5 Interfacing Options ->「P6 Serial」-> Yes

再起動

  • トップメニュー-> Finish -> Would you like to reboot now? -> Yes >>再起動

Raspbianのパッケージ、ファームウェアのアップデート

画面上部ツールバー -> Terminal >> 開く
キーボード設定を必要に応じて行う
Terminal画面にて
$ sudo apt update && sudo apt -y full-upgrade && sudo rpi-update

再起動
$ sudo shutdown -r now

ツールバー -> RasPiロゴ -> Shutdown -> Shutdown >> 電源OFF

SSH接続

そのまま進めても問題ありませんが、PCとラズパイをSSHで繋ぐと、モニター、キーボード、マウスなどをラズパイから外して作業が出来ます。

必要であればSSH接続をします。

以前のRaspbianはディフォルトでSSHが有効でしたが、今のバージョンは違いますので、Raspi-configの設定-4でSSHを有効にしました。


PCとラズパイを繋ぐ

PCとラズパイが同じローカルネットワーク内にいる必要があります。作業環境にあった方法で繋いで下さい。

ラズパイとPCがLANケーブルかWiFiで同じネットワークに繋がっていればそのままSSH接続ができます。

参考
Raspberry Pi の物理的な接続形態

PCのTerminalから操作する

Mac
Lunchpad -> その他 -> Terminal >>開く

(ホスト名を変えた場合は、「raspberrypi」の部分を変えたホスト名にします)
$ ssh pi@raspberrypi.local
pi@raspberrypi:~ $
 >>これでパズパイをPCから操作可能になった
確認
$ ping raspberrypi.local
止める時:control+c

参考(Windows, Mac)
Raspberry Pi の SSH 接続

VNC接続

SSH接続と同様に、そのまま進めても問題ありませんが、PCとラズパイをVNC接続すると、PCのモニターでラズパイのデスクトップを見ながら作業が出来ます。キーボードもマウスもPCのものが使えます。

必要であればVNC接続をします。

2017-09-07-raspbian-stretchでは、RealVNCが入っています。
Raspi-configの設定-4でVNCを有効にしました。

RealVNC Viewerのインストールと接続

Mac
前のバージョンと違い、macOS標準の Finder -> サーバーに接続 ではVNC接続出来なくなりました。RealVNCServerではポート5900が使われています。

VNC VIEWERをインストールします
起動する-> File -> New connection -> Properties -> General
VNC Server:raspberrypi.local::5900 -> OK

アイコンをクリック >> Authentication
username:pi
password:Raspberry

解像度が低い時

  1. 「RasPiロゴ」-> Preference -> Raspberry Pi Configuration
  2. System -> Resolution -> Set Resolution >>解像度を選ぶ

FireFoxのインストール

FabmodulesはRaspbian同梱のChromium Web Browserではうまく動かないので、FireFoxをインストールします。

Terminalにて
$ sudo apt -y install firefox-esr

Fabmodulesのインストール

fabmodules-html5をインストールする前に、How to install にあるPre-requisitesが既にインストールされているか確認し、ないものはインストールする

whichコマンドを使って、フルパス名を確認して行きます
$ which コマンド名

パッケージは、apt search コマンドを使って確認します
$ apt search パッケージ名
先頭だけ分かっている時
$ apt search ^firefox



Pre-requisites確認-1


ターミナルにて
$ which git
/usr/bin/git
>>パスが表示されたので既にあり

$ which wget
/usr/bin/wget

$ apt search nodejs-legacy
nodejs-legacy/stable,now 4.8.2~dfsg-1 all [インストール済み、自動]

$ which npm
>>何も出ないのでインストールが必要

$ apt search python
>>たくさん出ますが、インストール済み

Pre-requisites確認-2

$ apt search pyserial
python-serial/stable,now 3.2.1-1 all [インストール済み]
python3-serial/stable,now 3.2.1-1 all [インストール済み]

$ apt search python-tk
python-tk/stable,now 2.7.13-1 armhf [インストール済み]

fabmodulesをgit clone

$ git clone https://github.com/FabModules/fabmodules-html5.git fabmodules
$ cd fabmodules

なかったnpmをインストール

$ sudo npm install
$ sudo npm install mime-types
$ cd node_modules/node-static/lib
$ nano node-static.js
=中身=
  , mime   = require('mime')
上記を下記に書き換える
  , mime   = require('mime-types')
保存して終了する
control+x -> Y -> enter

起動確認

$ cd ~/fabmodules/
$ npm start
> fabmodules-html5@1.0.0 start /home/pi/fabmodules
> PATH=./mod_server/:$PATH node ./mod_server/mod_server.js
listening for connections from 127.0.0.1 on 12345

Firefoxを起動して「http://localhost:12345」 を入力  ->fabmodules起動

環境変数の設定

$ echo “export DISPLAY=:0.0” >> .bashrc

権限の変更

$ sudo adduser pi dialout
$ cd ~
$ sudo nano /lib/udev/rules.d/50-udev-default.rules

=中身=
KERNEL=="tty[A-Z]*[0-9]|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*",  GROUP="dialout"
上記に追加
KERNEL=="tty[A-Z]*[0-9]|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*",  GROUP="dialout", MODE="0666"
保存して終了

npm startの自動起動設定

ラズパイを起動してFabmodulesを使うまでにコマンドを入力しなくてもいいように、

$ cd fabmodules/
$ npm start
の入力を自動化する

スクリプトの作成

$ mkdir ~/bin

$ nano ~/bin/npm-start.sh
エディタが開くので中身をコピーする
==中身==
#!/bin/sh
# $Id:$
#
HOME=/home/pi
NPM_CMD=/usr/bin/npm
FABMODULES_DIR=${HOME}/fabmodules
LOG_FILE=${HOME}/`basename $0`.log
export DISPLAY=:0.0
cd ${FABMODULES_DIR}
${NPM_CMD} start > ${LOG_FILE} &
=====
保存して終了

$ chmod +x ~/bin/npm-start.sh

CRON(自動起動)の設定

$ crontab -e
>>エディタを選んで起動
=中身=
※最後の行に以下を追加
@reboot   /home/pi/bin/npm-start.sh
====
保存して終了

自動起動確認

$ sudo shutdown -r now

pngデータをダウンロード

http://academy.cba.mit.edu/classes/embedded_programming/hello.ISP.44.traces.png
Fabmodulesでパス生成の確認に使用します

起動からパス生成までを確認

  1. ラズパイ起動
  2. Firefox起動
  3. localhost:12345 を入力
  4. Fabmodules が表示される
  5. pngからパス生成する

localhost:12345にアクセスしやすいように、FirefoxのHome Pageに登録しておくとよい。

このmicroSDカードを使って、RaspberryPiのFabmodulesからMDX-15で基盤切削が出来ます。