4時間目:つくって解るIoT -その2- 準備編
身長計をつくってみよう
僕たちは、このRaspberry Pi 3 Model B を使用してどんな仕組みを製作するのか話し合いました。その結果、「身長計」を作ってみようということになりました。
体重計でIoT技術を用いたものはすでに多く製品化されています。「スマート体重計」です。僕たち高校生はまだ身長が伸びていて、実は体重よりも身長のほうが知りたい。しかし家には身長計はないので「スマート身長計」がIoTの仕組みでできるか?実験してみることにしました。
身長計の仕組みを説明します。
この身長計は超音波センサーを使って距離を測定しています。
超音波センサーには送信部と受信部があり、送信部から発射された超音波は物体に当たると反射して受信部が反射した超音波を受信します。
超音波を発射してから反射して受信するまでの時間を計測して距離を計算します。
この超音波センサーの仕組みを利用したのが今回制作する身長計です。
一定の高さ(今回は2mに設定します。)に超音波センサーを設置し、その下に人が立ちます。センサーから発射された超音波は下にいる人の頭に当たり、反射したものを受信部が受信して距離を計測します。
センサーの距離は固定されているので、センサーの高さから計測した距離を引けばセンサーの下の人の身長がわかるという仕組みです。
Raspberry Pi 3 Model B | 本体です (ケースもあると工作をするときに便利です) |
MicroSDカード | OSを書き込みます |
PC | HDMIケーブルを使ってモニターと接続することも可能ですが、今回はノートPCを使用します |
USB ACアダプタ(2.5A対応) | 電源に使います |
Micro USBケーブル | ACアダプタとRaspberry Piを接続するために使います |
USBシリアル変換ケーブル | 今回はノートPCを使うため、必要になります |
LANケーブル | 無線LANを使うことも可能ですが、設定が複雑なため今回は有線で接続します |
超音波距離センサー | 身長計の作成に使います |
ジャンパーワイヤー | 超音波距離センサーとRaspberry Pi本体を接続する際に使います |
ブレッドボード | 超音波センサーなどを配線する際に使います |
初期設定の流れは下のようになります。
1. OSの書き込み → 2. PCと接続 → 3. 言語などの設定
1. OSの書き込み
- microSDカードをPCに差し込み、フォーマットします
Raspberry Piのホームページ(英語) からOSをダウンロードします。
OSは“Raspbian Stretch”をダウンロードします。ダウンロードされたファイルはZIPファイルなので解凍します。- microSDカードにOSを書き込みます。今回は、WindowsのPCを使うのでWin32DiskImagerを使って書き込みます。
- OSの書き換えをします。
理由は、今回Raspberry Pi 3とノートPCを使うことにあります。Raspberry Pi 3はUSBシリアル変換ケーブルをつないだ際に使用するシリアルコンソールが使えなくなり、標準の設定ではBluetoothが使用されるように設定されているからです。
まず、SDカードの中のファイルを開き、config.txtを編集します。編集にはTeraPadを使用しました。Config.txtのファイルの最後に下記のコードを付け加えてください。
dtoverlay=pi3-miniuart-bt 追加したら保存してください。
![ラズパイOS](images/ra_disk.png)
2. PCと接続
- PCとRaspberry Piを接続します。
まず、USBシリアル変換ケーブルをPCに接続します。その後、デバイスマネージャーを起動し、接続を確認します。!のマークが表示されていたら、ケーブルに対応するドライバーをインストールしてください。 - USBシリアル変換ケーブルの接続を確認したら、変換ケーブルのUSB端子がついていない側のケーブルを6(GND),8(RX),10(TX)に接続します。違うピンに刺さないように注意してください。
Raspberry Piには40本のピンがついています。
ピンの配置は図のようになっています。 3.3Vや5Vプラス電源、GNDはマイナス電源です。また、GPIOとは” General-purpose input/output”の略で、汎用入出力を意味しています。このピンにセンサーなどをつなぐことでデータのやり取りなどを行うことができます。
- 起動をします。今回はシリアルコンソールを使ってログインします。
PC側でTera Termをインストールして起動します。
「新しい接続」の画面が出てきたら「シリアル」を選択してOKを押します
その後「設定(S)」→「シリアルポート(E)」から「ボー・レート」を115200に設定します。
ここまで出来たら、ACアダプタとRaspberry Piをmicro USBケーブルでつないで起動します。
Tera Termの画面に起動ログが表示されれば成功です。
その後、ユーザー名とパスワードを要求されるので、それぞれ入力してEnterキーを押してください。
デフォルトでは下記を入力すればOKです。
ユーザー名(login:) pi
パスワード (password) raspberry
3. 基本的な設定
次に、基本的な設定を行っていきます。まずは設定ツールを起動しましょう。
sudo raspi-config
基本操作は、上下キーでメニュー選択、TABキーで”Select” ,”Finish”,項目の選択ができます。また、Enterキーを押すことで「決定」、Finishを選択→Enterキーで終了となります。
- ユーザー・パスワードの変更
先ほども述べたように、設定を変えなければユーザー名とパスワードはすべて一緒です。「これではセキュリティに不安がある」という方は ”Change User Password” を選択して変更しましょう。 - タイムゾーンの指定
今回の実験には使いませんが、今後のためにもタイムゾーンの設定も済ませておきたいと思います。
デフォルトでは協定世界時が有効になっており、日本標準時とはかなりの時差があります。これでは、時間を活用するプログラムは正常に動作しないので日本標準時に設定を変更します。タイムゾーンの変更は次のように選択していけば完了です。
Internationalisation Options → Change Timezone → Asia → Tokyo
ここまで選択が終わったら最後にタイムゾーンを確認しましょう。
$ date
曜日や日付などの後に”JST”と表示されていれば完了です。
これで基本的な設定は完了です。 他にもWi-Fiの設定などがありますが、今回はLANケーブルを使うので行いません。
Raspberry Pi の設定も終わったので、次はいよいよ「スマート身長計」の工作実験を行っていきましょう。