ブログをご覧頂いている皆様
はじめまして、大島です。
今年度よりブログ執筆を担当するメンバーになりました。
昨年までインフラ屋さんだったこともあり執筆する記事としては入門・初心者向けの記事が多くなるかと思いますが少しでも皆様の参考になればと思っております。
早速今回のテーマですが温湿センサー(DHT11)とRaspberry Pi(node.js)、そしてBluemix(node-red)を使ってIoTを体験してみたいと思います。
上記の構成は既に多くの記事でも取り上げられていますが実際に記事を見ながら進めてみると、情報が古く上手く出きないポイントが多々有りました。
今回は2016年度の最新版として改めて情報を纏めたいと思います。
(セットアップ等を行うPCはwindows7端末となりますので、ご了承下さい)
初回の記事では、Raspberry Piのセットアップについて纏めて行きます。
目次
準備
必要な材料
まず、最低限必要な材料をリストアップしました。
Raspberry Pi購入の参考にチェック頂ければと思います。
資材 | 補足 |
---|---|
Raspberry Pi2 B | Raspberry Pi3でも可。3の場合、無線LAN・Bluetoothが標準で対応しています |
マイクロSDカード | ラズパイのOSをインストールします。16GBあると良いです |
マイクロUSBとACアダプタ | ラズパイへの電源供給として必要 |
LANケーブル | 本記事ではネットワークを介してラズパイに(ssh)アクセスします |
無線LAN子機 | 本記事では無線LAN子機の設定も紹介したいと思います |
ブレットボード | ラズパイとセンサー等の電子機器を接続するための中継ボード |
ジャンパーワイヤー | オス・メスとオス・オスのワイヤー5本ずつあれば良いです |
抵抗 | 4.7k/10kΩがあればとりあえず大丈夫です |
DHT11 | 温湿センサー |
HDMIケーブル | (無くても良い)GUI画面出力用 |
ラズパイケース | (無くても良い)何かあると一発で壊れますので、予算があれば購入検討されても良いかと思います |
大体、上記の材料を全て購入すると約1万円ぐらいになります。
けして安くは無いですが、飲み会2.5回分ぐらいですので皆様、購入しては如何でしょうか。
事前にアカウント登録が必要なサービス
- Bluemix
上記リンク左記にアクセスして頂き、「まずは無料トライアルからスタート」ボタンをクリックして下さい。
アカウント登録画面が表示されますので必要な情報を記入し、登録をお願い致します。
アカウント作成に必要な情報は下記のとおりです。
情報 | 補足 |
---|---|
名前 | 英語・日本語どちらでも登録可能です |
姓 | 英語・日本語どちらでも登録可能です |
電話番号 | シチュエーションに合わせて登録してください |
会社名 | 登録は必須ではありませんので、お好きに登録して下さい |
国または地域 | 登録は必須ではありませんので、お好きに登録して下さい |
Eメールアドレス | ログインIDにもなります |
パスワード | ワーストランキングに載るパスワードはやめましょう |
セキュリティのための質問 | パスワードを忘れた際に聞かれる質問になります |
セキュリティのための答え | 同上 |
Raspberry Pi2 Bのセットアップ
Raspberry Pi2 B用OSのダウンロード
それでは早速Raspberry Piのセットアップを初めて行きたいと思います。
まず、下記URLにアクセス頂き、Raspberry Pi2 B用のOSイメージファイルをダウンロードします。
ダウンロードするOSは「RASPBIAN JESSIE」になります。(LITEではありません)
https://www.raspberrypi.org/downloads/
win32diskimagerのインストール
次はwin32diskimagerをダウンロードし、インストールを行います
win32diskimagerはラズパイのOSイメージファイルをマイクロSDカードに書き込むためのソフトです。
https://osdn.jp/projects/sfnet_win32diskimager/releases/
ダウンロードが完了したら「Win32DiskImager-0.X.X-install.exe」をクリックしてインストールを実施して下さい。
SDカードのフォーマット
マイクロSDカードをWindows7搭載PCへ接続した際にSDカードの最大サイズまで認識しない場合があります。
その場合はSD AssociationといったツールでSDカードをフォーマットしてから、Raspberry PiのOSイメージを書き込むことをおすすめします。
(SD Associationの場合、オプションは「イレースフォーマット」/「論理サイズ調整OFF」で設定して下さい)
マイクロSDカードへOSイメージファイルを書き込む
PCのSDカードスロット、もしくはUSB接続アダプタを介してマイクロSDカードとPCを接続して下さい。
接続が終わりましたら「Win32DiskImager」を起動して下さい。次に、先ほどダウンロードした「RASPBIAN JESSIE」のzipファイルを解凍を行います。
解凍完了後、Win32DiskImagerの画面に戻りウィンドウ右上のフォルダーマークをクリックし、「RASPBIAN JESSIE」のimgファイルを選択。
最後に「Write」ボタンをクリックし、マイクロSDカードに書き込みを実行して下さい。
Raspberry PiにマイクロSDカードをセットして起動
マイクロSDカードにOSの書込が終わりましたら、いよいよRaspberry Piの起動に移ります。
SDカードをRaspberry Piにセットします。
LANケーブルを自宅のルーター(筆者は家庭用NEC製ルーター)とRaspberry Piに接続マイクロUSBをRaspberry Pi接続し、コンセントに接続したACアダプタと接続するとRaspberry Piが起動します。
(Raspberry Pi自体には電源スイッチ等はついておりません)
Raspberry Piへ接続
Raspberry Piは標準でSSHプロセスが起動するようになっております。
そのため、Raspberry Piに割振られたIPアドレスが把握出来れば、SSH接続する事が可能です。
筆者はNEC製のルーターを使用しているためブラウザから「http://192.168.0.1/」に接続する事でルーターの管理画面へログインすることができ、何番のIPアドレスが振られた確認する事が出来ました。
今回は「192.168.0.10」が自動的に割振られている事が確認出来ました。
それでは早速、Raspberry Piにログインしてみたいと思います。
今回は、ターミナルエミュレータとしてTeraTermを利用します。
まず、TeraTermを起動後、以下の画像のように各種設定し、OKボタンをクリックします。
初回接続の場合、以下の様な警告画面が出力されますが気にせず続行をクリックして下さい。
SSH認証画面ではログインIDとパスワードを入力し、「OK」ボタンをクリックします。
IDは「pi」、初期パスワードは「raspberry」です。
無事接続出来ると以下の様な画面が出力されます。
おめでとうございます。
Raspberry Piの初期セットアップ
最低限以下のセットアップを行います。
* 初期パスワード変更
* ファイルシステムの拡張とアップデート&アップグレード
初期パスワード変更
piユーザとrootユーザパスワードを変更する場合はRaspberry Piのコマンドプロンプトで以下のコマンドを実行します。
○piユーザ
pi@raspberrypi:~ $ passwd
Changing password for pi.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
○rootユーザ
pi@raspberrypi:~ $ sudo passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
ファイルシステムの拡張とアップデート&アップグレード
Raspberry Piのアップデートとアップグレードをおこないますが
その前にファイルシステムをよくよく確認してみると。。。。。
ファイルシステムがフルサイズで認識していないことがわかります。
そこで、最初にファイルシステムの拡張から始めたいと思います。
以下のコマンドを実行して下さい。
sudo raspi-config
以下の管理画面が表示されたら
「1.Expand Filesystem」にマークを合わせEnterボタンを押下して下さい。しばらくすると、以下の画面が表示され自動的にファイルシステムの最適化が行われます。
更にEnterを押下し、「Finish」にマークを合わせた後、再度Enterを押下すると以下の画像のように再起動を求められますので、再起動を実施して下さい。
再起動後、Raspberry Piにログイン。
ファイルシステムが拡張されている事を確認して下さい。
次に、Raspberry Piのアップデートとアップグレードを行います。
下記のコマンドを実行して下さい。
(約40~50分ぐらいかかります)
sudo apt-get update
sudo apt-get upgrade
sudo reboot
再起動完了後、さらに以下のコマンドを続けて実行して下さい。
sudo rpi-update
sudo reboot
以上で、アップデート&アップグレードは終了です。
お疲れ様でした。
無線LANのセットアップ
今回は無線LAN子機としてELECOM製WDC-150SU2MBKのセットアップとiPhoneのテザリングでの接続方法を記載したいと思います。
無線LAN子機(ELECOM製WDC-150SU2MBK)をRaspberry Piに接続後
以下のコマンドを実行し無線LAN子機が正しく認識されているか確認して下さい。
(Elecom Co., Ltdと表示されていればOKです)
pi@raspberrypi:~
$ lsusb
Bus 001 Device 004: ID 056e:4008 Elecom Co., Ltd
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
次に無線LANのSSIDと接続用パスワードをRaspberry Piにセットアップします。
以下(sudo wpa_passphrase Your_SSID Your_PASS)のコマンドを実行して下さい。
(Your_SSIDとYour_PASSは自宅の無線LANルーターを確認して下さい)
pi@raspberrypi:~
$ sudo wpa_passphrase Your_SSID Your_PASS
network={
ssid="Your_SSID"
#psk="Your_PASS"
psk=XXXXX
}
同様の手順でiPhoneのテザリング用wifiも指定して実行して下さい
(SSIDに空白が含まれている場合は””で囲みましょう)
pi@raspberrypi:~
$ sudo wpa_passphrase "iPhone_SSID" "iPhone_PASS"
network={
ssid="iPhone_SSID"
#psk="iPhone_PASS"
psk=XXXXX
}
上記コマンドから得られた実行結果を「/etc/wpa_supplicant/wpa_supplicant.conf」に記載します。
pi@raspberrypi:~
$ ls -l /etc/wpa_supplicant/wpa_supplicant.conf
-rw------- 1 root root 83 Mar 18 08:10 /etc/wpa_supplicant/wpa_supplicant.conf
pi@raspberrypi:~
$ sudo vi /etc/wpa_supplicant/wpa_supplicant.conf
「wpa_supplicant.conf」は以下の様な設定が追加されます。
country=GB
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={ #←追記箇所
ssid="iPhone_SSID" #←追記箇所
#psk="iPhone_PASS" #←追記箇所
psk=XXXXX #←追記箇所
key_mgmt=WPA-PSK #←追記箇所
proto=WPA2 #←追記箇所
priority=1 #←追記箇所
}
network={ #←追記箇所
ssid="iPhone_SSID" #←追記箇所
#psk="iPhone_PASS" #←追記箇所
psk=XXXXX #←追記箇所
key_mgmt=WPA-PSK #←追記箇所
proto=WPA2 #←追記箇所
priority=2 #←追記箇所
}
続いて「/etc/network/interfaces」の設定値を変更します。
pi@raspberrypi:~
$ ls -l /etc/network/interfaces
-rw-r--r-- 1 root root 523 Mar 18 08:16 /etc/network/interfaces
pi@raspberrypi:~
$ sudo vi /etc/network/interfaces
「/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 eth0 inet manual
auto wlan0 #←追加箇所
allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
allow-hotplug wlan1
iface wlan1 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
設定が完了したら、Raspberry Piを停止後、LANケーブルを抜線。再度、Raspberry Piを起動します。
ルーターから割当てられたIPアドレスを確認しTeraTermからRaspberry PiにSSH接続出来れば完了です。
以上で「DHT11+Raspberry Pi+BluemixでIoTを体験 準備編」終了となります。
お疲れ様でした。
次回は、実際にDHT11を使って温度・湿度情報をRaspberry Pi上に表示されるまでを行いたいと思います。