Rapiro は Raspberry Pi と繋いで遊べるロボット。
とりあえず、前回までで Rapiro の Arduino にコードを送って基本動作はできるようになった。
次は Raspberry Pi を繋いで遊べるようにしてみる。
最初に今回使ったものあれこれ。
- Raspberry Pi Type B 512MB
Ether ポートがついているタイプ。 - Kingston 2GB SD card SD/2GB
(実は最初に Transcend SDHCカード 16GB Class10でやったのだけど、他に使うことにしたので余ってた Kingston の 2G を急遽使ってみた。)
- BUFFALO 無線LAN子機 コンパクトモデル 11n技術・11g/b対応 WLI-UC-GNM
自分も結構前に購入したのだけど、とにかく良く使われていて安い!
- DUALSHOCK 3
これ、SONY 純正じゃなきゃダメなのかな?
とりあえず、PS3 から抜いてきた。
他に HDMI ケーブルだのモニタだのは割愛。
今回、手元に適当な容量の SD-CARD がなくなってしまったため、急遽サイズが 2G の物を使うことになった。
で、問題なのがインストールする OS。
本命の Raspbian は 4G ないとダメ。
というわけで、今回インストールしたのは ArchLinux。
理由は Raspberry Pi の Download ページで、Release Date が Raspbian に次いで新しかったから。
それと、前にもインストールしたことがあるから。
インストール手順については前と同じなので下記を参照。
簡単にコマンドだけ羅列しておくとこんな感じ。
iMac:arc paraches$ df -h Filesystem Size Used Avail Capacity iused ifree %iused Mounted on <SD-CARD以外は省略> /dev/disk1s1 90Mi 25Mi 65Mi 28% 512 0 100% /Volumes/NO NAME iMac:arc paraches$ diskutil unmount /dev/disk1s1 Volume NO NAME on disk1s1 unmounted iMac:arc paraches$ sudo dd bs=1m if=./ArchLinuxARM-2014.02-rpi.img of=/dev/rdisk1 Password: 1870+0 records in 1870+0 records out 1960837120 bytes transferred in 177.390707 secs (11053776 bytes/sec) iMac:arc paraches$
ArchLinux のインストールが終わったら、次に各種設定等。
まずはシステムを最新の状態にアップデート。
[root@alarmpi ~]# pacman -Syu
次にホスト名を設定。
今回は archangelpi としてみた。
[root@alarmpi ~]# hostnamectl set-hostname archangelpi [root@alarmpi ~]# reboot
で、設定したらとりあえずリブート。
最初から avahi が入っているので、これでネットワーク上の他のマシンからは archangelpi.local でアクセスできる。
Raspberry Pi が起動したら、Mac から ssh でログインしてみる。
iMac:arc paraches$ ssh root@archangelpi.local Welcome to Arch Linux ARM Website: http://archlinuxarm.org Forum: http://archlinuxarm.org/forum IRC: #archlinux-arm on irc.Freenode.net Last login: Thu Feb 13 09:50:50 2014 from 192.168.11.3 [root@archangelpi ~]#
次に sudo をインストール。
[root@archangelpi ~]# pacman -S sudo
したのだけど、この各種設定段階では使ってないな…。
ここで WiFi Adapter を Raspberry Pi の USB ポートに接続。
ちゃんと認識されているかどうかを lsusb コマンドで確認してみる。
[root@archangelpi ~]# lsusb Bus 001 Device 009: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse Bus 001 Device 005: ID 0472:0065 Chicony Electronics Co., Ltd PFU-65 Keyboard [Chicony] Bus 001 Device 004: ID 0472:0065 Chicony Electronics Co., Ltd PFU-65 Keyboard [Chicony] Bus 001 Device 010: ID 0411:01a2 BUFFALO INC. (formerly MelCo., Inc.) WLI-UC-GNM Wireless LAN Adapter [Ralink RT8070] Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. SMC9512/9514 USB Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub [root@archangelpi ~]#
今回は
Bus 001 Device 010: ID 0411:01a2 BUFFALO INC. (formerly MelCo., Inc.) WLI-UC-GNM Wireless LAN Adapter [Ralink RT8070]
が接続した WiFi Adapter。
WiFi 関係のあれこれをやってくれるパッケージをインストール
(参考にしたのはココ)
[root@archangelpi ~]# pacman -S iw wpa_supplicant wpa_actiond dialog
あ、実際にあれこれする前に wlan0 の確認してみる。
[root@archangelpi ~]# ifconfig wlan0 wlan0: flags=4098<BROADCAST,MULTICAST> mtu 1500 ether b0:c7:45:a9:b9:b5 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [root@archangelpi ~]#
当たり前だけど、ネットワークには繋がってない。
次に再起動時に自動で wlan0 が接続されるように設定。
[root@archangelpi ~]# systemctl enable netctl-auto@wlan0 ln -s '/usr/lib/systemd/system/netctl-auto@.service' '/etc/systemd/system/multi-user.target.wants/netctl-auto@wlan0.service' [root@archangelpi ~]#
メニューでワイヤレスLAN を見つけて設定してくれる wifi-menu を使って設定。
[root@archangelpi ~]# wifi-menu wlan0
こんな感じで、SSID を選択、保存するプロファイル名を入力、wpa security key を入力、と手順を踏むだけで設定をして保存してくれる。
ここで wlan0 を確認してみる。
[root@archangelpi ~]# ifconfig wlan0 wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.11.37 netmask 255.255.255.0 broadcast 192.168.11.255 ether b0:c7:45:a9:b9:b5 txqueuelen 1000 (Ethernet) RX packets 21 bytes 6198 (6.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 29 bytes 6240 (6.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [root@archangelpi ~]#
ちゃんと DHCP でアドレス貰って繋がってる。
Raspberry Pi をリブートして、有線LAN を外して WiFi でネットワークに繋がるか確認。
[root@archangelpi ~]# reboot Write failed: Broken pipe iMac:arc paraches$
Raspberry Pi が起動したら ssh で接続してみる。
iMac:arc paraches$ ssh root@archangelpi.local Warning: Permanently added the RSA host key for IP address '192.168.11.37' to the list of known hosts. root@archangelpi.local's password: Welcome to Arch Linux ARM Website: http://archlinuxarm.org Forum: http://archlinuxarm.org/forum IRC: #archlinux-arm on irc.Freenode.net Last login: Thu Feb 13 10:04:35 2014 from 192.168.11.3 [root@archangelpi ~]#
ちゃんと繋がった〜!
[root@archangelpi ~]# python -bash: python: command not found
Raspberry Pi の ArchLinux には Python 入ってなかった…。
というわけで、Python とあれこれを virtualenv とかはなしでざっくりとインストール。
[root@archangelpi ~]# pacman -S python python-pip [root@archangelpi ~]# easy_install pip
確認してみる。
[root@archangelpi ~]# python Python 3.3.3 (default, Jan 22 2014, 13:46:54) [GCC 4.8.2 20131219 (prerelease)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> quit() [root@archangelpi ~]#
最後に PySerial をインストール。
[root@archangelpi ~]# pip install pyserial
確認してみる。
[root@archangelpi ~]# python Python 3.3.3 (default, Jan 22 2014, 13:46:54) [GCC 4.8.2 20131219 (prerelease)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import serial >>> quit() [root@archangelpi ~]#
ちゃんと import できた。
以上で設定は終了〜。
この後は Rapiro のダウンロードページにある ps3.py を使って PS3 のコントローラーの入力を確認してみるのだけど、python3 だと ps3.py はエラー出るのでちょこっと修正が必要だったりして長くなるので、また次回。