この記事はmyThingsハンズオンの参考資料の一部です。
PCとRaspberryPiをシリアル接続する
1. microSDカードをRaspberryPiに挿入する
2. Wi-FiドングルをRaspberryPiに接続する
3. USBシリアル変換アダプターのジャンパーピンを3.3V側に変更する
4. USBシリアルアダプターとRaspberryPiをジャンパワイヤーを使って接続する
5. USBシリアル変換アダプターにUSB microBケーブルを接続し、もう一方を PCのUSB端子に接続します
6. USB AC アダプターにUSB microBケーブルを接続し、もう一方を RaspberryPiのmicroUSB端子に接続して、RaspberryPiに給電する
7. USBシリアル変換アダプターのドライバインストール
Windowsの場合
PCに接続するとWindows Updateからドライバがインストールされます
Macの場合
FTDI社のサイトからドライバをダウンロードし、インストールします
8. シリアル通信を行う
Windowsの場合
シリアルポートに接続できるソフトウェア(Teratermなど)をインストールし接続します
。ビットレートは115200bpsにしてください。
Macの場合
Screenコマンドで接続します、Axxxxの部分は環境により異なるので、タブ補完などでコマンドを入力します。
screen /dev/tty.usbserial-Axxxx 115200
9. ログインする
IDはpi、デフォルトのパスワードはraspberryです。
10. Wi-Fiの設定を行う
ネットワークの設定は以下2つのファイルで構成されています。
/etc/wpa_supplicant/wpa_supplicant.conf
/etc/network/interfaces
接続するアクセスポイントに合わせて/etc/wpa_supplicant/wpa_supplicant.confを編集しましょう。
WPA/WPA2の場合
wpa_passphraseコマンドを使ってssidとpskを設定します。{ssid}の部分を接続する無線LAN環境のssid、{passphrase}を実際のパスフレーズに置き換えて実行してください。
sudo sh -c 'wpa_passphrase {ssid} {passphrase} >> /etc/wpa_supplicant/wpa_supplicant.conf'
sudo sh -c 'wpa_passphrase home_ssid home_passphrase >> /etc/wpa_supplicant/wpa_supplicant.conf'
コマンドを実行すると/etc/wpa_supplicant/wpa_supplicant.conf
が以下のように更新されます。
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
priority=0
scan_ssid=1
ssid="{ssid}"
proto=WPA2
key_mgmt=WPA-PSK
#psk="xxx"
psk=xxx
}
WEPの場合
/etc/wpa_supplicant/wpa_supplicant.conf
を以下のように編集してください
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
priority=0
scan_ssid=1
ssid="{ssid}"
key_mgmt=NONE
wep_key0="{passphrase}"
wep_tx_keyidx=0
auth_alg=SHARED
}
FREESPOTなどパスワード設定が無い場合
/etc/wpa_supplicant/wpa_supplicant.conf
を以下のように編集してください
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
priority=0
ssid="{ssid}"
key_mgmt=NONE
}
FREESPOTなどブラウザ認証が必要になる場合はstartx
コマンドなどでGUI操作を行う必要があります。ただしシリアル通信ではstartx
は利用できないので、別途ディスプレイ、キーボード、マウスを用意してRaspberryPiをスタンドアローンで操作する必要がある場合があります。
共通的な補足
接続する無線LAN環境がSSIDステルスモードの場合は、scan_ssid=1
を追記してください。上記の例では追記済みとなっているので、もしステルスモードでない場合は当該行を削除してください。
複数のネットワーク設定を記述する場合はpriority
の数値を調整してください。値が大きい方が優先されます。
続いてDHCPを利用してIPアドレスの払い出しを行う場合は/etc/network/interfacesを編集しましょう。
auto lo
iface lo inet loopback
auto eth0
allow-hotplug eth0
iface eth0 inet manual
auto wlan0
allow-hotplug wlan0
#iface wlan0 inet manual
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
auto wlan1
allow-hotplug wlan1
#iface wlan1 inet manual
iface wlan1 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
11. 疎通確認を行う
Wi-Fiの設定が完了したらwlan0を再起動します。
sudo ifdown wlan0
sudo ifup wlan0
疎通確認を行います。
ping -c 1 www.yahoo.co.jp
$ ping -c 1 www.yahoo.co.jp
PING www.g.yahoo.co.jp (183.79.198.116) 56(84) bytes of data.
64 bytes from f9.top.vip.kks.yahoo.co.jp (183.79.198.116): icmp_req=1 ttl=50 time=20.8 ms
--- www.g.yahoo.co.jp ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 20.884/20.884/20.884/0.000 ms
12. RaspberryPiのセットアップを行う
初期設定を行う
microSDカードは8GBのものを利用していますが、初期状態だと4GB程度しか認識できていないので、raspi-config
というコマンドを利用して、ファイルシステムの拡張を行います。またタイムゾーンの変更もあわせて行います。
sudo raspi-config
コマンド実行後、表示に従って以下の操作を行ってください。操作内容によっては再起動が必要になりますので、適宜再起動も行ってください。
Expand Filesystem > Select
Internationalisation Options > Change Timezone > Asia > Tokyo
各種アップデートを行う
# パッケージの更新
sudo apt-get update
sudo apt-get upgrade
# ファームウェアの更新
sudo rpi-update
# 再起動
sudo reboot
ハンズオンに必要なソフトウェアをインストールする
node.jsをインストールします
wget http://nodejs.org/dist/v0.10.28/node-v0.10.28-linux-arm-pi.tar.gz
tar zxvf node-v0.10.28-linux-arm-pi.tar.gz
sudo mv node-v0.10.28-linux-arm-pi /opt/node
環境変数にnode.jsのパスを追加します
vi /home/pi/.bashrc
(ここより上は省略)
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi
# この行を追記
export PATH=/opt/node/bin:$PATH
設定を更新します
source ~/.bashrc
バージョンの確認を行います
node -v
npm -v
sudoでnpmコマンドが実行できるようにリンクを作成する
sudo ln -s /opt/node/bin/node /usr/bin/node
sudo ln -s /opt/node/bin/npm /usr/bin/npm
Python関連のパッケージをインストールする
sudo apt-get install python-pip
sudo pip install requests
i2cを利用するためのパッケージをインストールする
sudo apt-get install python-smbus i2c-tools
i2Cを有効化する
sudo raspi-config
コマンド実行後、表示に従って以下の操作を行ってください。操作内容によっては再起動が必要になりますので、適宜再起動も行ってください。
Advanced Options > I2C
/etc/modulesにI2Cを有効にする設定を追記します
sudo vi /etc/modules
(ここより上は省略)
snd-bcm2835
# この行以下を追記
i2c-bcm2708
i2c-dev