初めに
こんにちは。CYBIRDエンジニア Advent Calendar24日担当の@jin_kです。
新卒2年目でサーバサイドエンジニアです。
23日目は@kenchang100kgさんのZabbix 3.0 でログのデータからグラフを作るでした。
ログアイテムでグラフを作って、これを活用して面白いことできたらいいですね!!!!
##内容について
Raspberry PiでOSのインストールからmotionを利用して、外で携帯で可愛いはりねずみを覗く内容です。
必要なもの
- Mac
- Raspberry Pi(私はPi3 Model Bを使いました。)
- Webカメラ(はりねずみを見るために使いました。LifeCam HD-3000)
- SDカード
- SDカードリーダー
- USBハブ(Webカメラ使う場合、電力が足りない場合があります。)
- 充電機(USB電源アダプター5V 2.5Aとandroid usbケーブルを使いました。)
- マウス
- キーボード
- HDMIケーブル
- モニター
- 無線LAN又は有線LAN
始める前に確認すること
SDカード
Raspberry Piで動作するSDカード確認をしてください。
SDカードは8GB以上をお勧めします。
自分はtoshiba microsd 16gb class 4を使いました。
SDカードのクラスは記録速度によって分けれますが、class 4は秒当たり4MB,class 10は秒当たり10MBを記録することができます。でもClass 10が4より優れてるとは限りません。記録速度を早くするために、読む速度を下げてるので
Raspberry PiのモデルによってSDカードなのかmicroSDカードなのか違うので確認してください。
Mac OSではddコマンドを利用して、イメージをSDカードに記録することができますが、
formatは必ずFAT32でお願いします。
Wi-Fi
今回はWi-Fi使いますが、Raspberry Pi3はそもそもWi-Fiが入ってますが、
Raspberry Pi2までは無線LANのUSBアダプタをつける必要があります。
##SDカードにRaspbian(OS)をコピーする
ここからDownloadできます。
RASPBIANをクリック
###NOOBS? RASPBIAN?
NOOBSはOSをインストールする時OSを選択することができます。
自分はRaspbianにすぐインストールします。
###方法1
1.macにSDカードを入れて、ターミナル開いて「diskutil list」でSDカード確認します。自分は「/dev/disk3」になっていました。
2.microSDカードunmount
$ diskutil unmountDisk /dev/disk3
3.イメージをSDカードにコピーする。
'sudo dd bs=1m if=~/Desktop/2016-11-25-raspbian-jessie.img of=/dev/rdisk3'
約10分ぐらい待つと終わりです。画面には変化がないように見えますが、実際は実行されていますので、ゆっくりお待ちを
###方法2
1.Gitからcloneします。
2.同じfolderにinstallとイメージfileを置きます。
$ ls
2016-11-25-raspbian-jessie.img install
README.md
3.イメージをSDカードにコーピする。
sudo ./install 2016-11-25-raspbian-jessie.img
Raspberry Pi起動
1:MicroUSB(電源)
2:HDMI
3:micro SDカード
4:GPIOピン
5・6:USB
7:EthernetLAN
8:3.5mジャック
Raspberry Piは電源を入れると起動します。
WiFi接続する
自分はモニタ+キーボード+マウスつないて、WiFi設定しました。
固定IP指定、MacからSSHで接続する
上記のままだと、毎回モニタヤマウスなどが必要なのでMacからSSHでアクセスできるようにしましょう。
ますはIPアドレス確認
pi@raspberrypi:~ $ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether b8:27:eb:62:30:88 brd ff:ff:ff:ff:ff:ff
inet6 fe80::1211:7304:1261:961b/64 scope link tentative
valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether b8:27:eb:37:65:dd brd ff:ff:ff:ff:ff:ff
inet 192.168.11.2/24 brd 192.168.11.255 scope global secondary wlan0
valid_lft forever preferred_lft forever
inet6 2400:2410:32a1:d100:3cbd:922c:75fc:426c/64 scope global noprefixroute dynamic
valid_lft 86363sec preferred_lft 14363sec
inet6 fe80::519b:a96c:c22d:a517/64 scope link
valid_lft forever preferred_lft forever
SSHを有効にします。
$sudo raspi-config
「Advance Options」 > 「A4 SSH」 > 「Enable」
$ssh pi@192.168.11.2
初期パスワード 「raspberry」
wpa_supplicant.confに無線LAN情報を追記
$ sudo sh -c 'wpa_passphrase SSID PASSPHRASE >> /etc/wpa_supplicant/wpa_supplicant.conf'
自動でWiFiによるネットワーク設定がされるか確認
pi@raspberrypi:~ $ $sudo cat /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP
network={
ssid="SSID"
psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
disabled=1
}
network={
ssid="xxxxxxxxxx-2G"
psk="xxxxxxxx"
key_mgmt=xxxx
}
ネットワーク情報を固定化します。
/etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto lo
iface lo inet loopback
iface wlan0 inet dhcp
allow-hotplug wlan0
#iface wlan0 inet manual
#以下追加
iface wlan0 inet static
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
address 192.168.11.111 #固定したいIPアドレス
netmask 255.255.255.0
gateway 192.168.11.1 #ip routeで確認できる
allow-hotplug wlan1
iface wlan1 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
イーサネットインターフェースの再起動
sudo ifdown wlan0
sudo ifup wlan0
固定IPで接続できているか確認します。
pi@raspberrypi:~ $ ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr b8:27:eb:37:65:dd
inet addr:192.168.11.111 Bcast:192.168.11.255 Mask:255.255.255.0
inet6 addr: 2400:2410:32a1:d100:3cbd:922c:75fc:426c/64 Scope:Global
inet6 addr: fe80::519b:a96c:c22d:a517/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:393445 errors:0 dropped:0 overruns:0 frame:0
TX packets:473193 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:33041352 (31.5 MiB) TX bytes:632585225 (603.2 MiB)
###イーサネットインターフェースの再起動がうまくできなかった時
tail -f /var/log/daemon.log
でlogを確認
いよいよ、可愛いはりねずみを見られます!
###インストール
ますはWEBカメラが認識しているか確認
pi@raspberrypi:~ $ lsusb
Bus 001 Device 005: ID 045e:0779 Microsoft Corp. LifeCam HD-3000
Bus 001 Device 004: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
「Bus 001 Device 005」認識されていますね。
それではインストールします。
sudo apt-get install motion
###設定
/etc/motion/motion.conf設定しましょう。
pi@raspberrypi:~ $ sudo cat /etc/default/motion
# set to 'yes' to enable the motion daemon
start_motion_daemon=yes
WEBストリーミングができるように以下のことを設定しました。
sudo vim /etc/motion/motion.conf
daemon = on
webcam_localhost = off
/etc/motion/motion.confはざっくり読んで必要なところ設定してください。
外部でアクセスできるようにする
ここを参考に設定しました。
ルーターによって設定方法が違いますが、私はソフトバンク 光ユニッット使っていたので
BBユニッットに書いているアドレスにアクセスして、ポート伝送を設定しました。
IPは先の固定IPを入れます。
###起動
sudo service motion start
ちょっと遅いですが、一応見れました!!!
当たり前ですが、作り終わって気づいたことですが
これだったら夜には全くはりねずみの姿が見えません。(泣)
赤外線カメラを買わなきゃ......
起きた問題
グロバールIP(内部アクセスの場合、先設定した固定IP):ポート番号
したが、アクセスしてすぐ1~2秒で落ちた。
#グロバールIP(内部アクセスの場合、先設定した固定IP):ポート番号にアクセスした前
pi@raspberrypi:~ $ nmap localhost
PORT STATE SERVICE
22/tcp open ssh
8080/tcp open http-proxy
8081/tcp open blackice-icecap
#グロバールIP(内部アクセスの場合、先設定した固定IP):ポート番号後
pi@raspberrypi:~ $ nmap localhost
PORT STATE SERVICE
22/tcp open ssh
なぜか22番しか出ない。原因調べたら写真を保存するときの権限周りが問題だった。
監視用に使うので、特に写真とかの保存は必要ないのでoffにしてたら無事にできた。
参考URL
http://qiita.com/toshihirock/items/8e7f0887b565defe7989
http://qiita.com/kinpira/items/c9e6dc910e8d96e8c19b
最後に
今回初めてRaspberry Piのセットアップして、Webカメラではりねずみをみを見ることまでできました!
これで年末に安心して海外旅行に行けます!!
Raspberry Piのセットアップで困った人に参考になれば幸せです。
今後もうちの可愛いはりねずみのために、Raspberry PiとかArduinoを使って色々やってみたいと思います!
CYBIRDエンジニア Advent Calendar
明日は、@kagawa1982さんの人事がエンジニア採用から学んだこと、気づき
です。楽しみにしています!!!
Merry Christmas!!!