Raspberry Piのセットアップ

本章では、温度湿度センサーを利用してセンサーの値を取得するためのセットアップを行います。

本ハンズオンの実施に Raspberry Pi を利用する場合は以下のハードウェアが必要となります。

step2-1-1


2.2.1 OS イメージのダウンロードと microSD カードへの書き込み

このハンズオンでは OS として Raspbbery Pi OS を利用します。

Raspberry Pi の公式サイトより、 Raspberry Pi OS with desktop をダウンロードします。

balenaEtcher などのソフトウェアを利用して、 ダウンロードした OS イメージを microSD カードに焼き込みます。


2.2.2 OS 起動時の設定 (オプション)

この後の手順で Raspberry Pi に SSH で接続したい場合は、 書き込みが終わった microSD カードのルートディレクトリに、 ssh という空のファイルを作成します。

また、Raspberry Pi を無線LANで接続したい場合は、 microSD カードのルートディレクトリに wpa_supplicant.conf ファイルを配置しておきます。

wpa_supplicant.conf の例

country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
    ssid="Wi-Fi の SSID"
    psk="Wi-Fi の パスワード"
}

OS の書き込みが完了したら、イメージを書き込んだ microSD カードを Raspberry Pi Zero に挿入します。


2.2.3 Raspberry Pi へのセンサーの接続

step2-1-2

湿度・温度センサーをD16に接続します。

step2-1-3

LCDはI2Cに接続します。

step2-1-4

USB は ACからの給電の場合外側、PCからの接続の場合内側に接続します。


2.2.4 Raspberry Piへのログイン

まず、お使いのMacもしくはWindowsを Raspberry Pi と同一の Wi-Fi へ接続します。

Raspberry Pi が起動したら、Raspberry Pi へモニターを接続して確認する、ping raspberrypi.local を実行するなどの方法でRaspberry Pi の IP アドレスを調べておきます。

以下の手順はMacの場合、Windowsの場合のどちらかのみを進めてください

Mac の場合

ターミナルから Raspberry Pi へ SSH 接続します。

ssh pi@<Raspberry PiのIPアドレス>

パスワードはデフォルト設定の場合は raspberry です。

Windowsの場合

Tera Term を用いて Raspberry Pi へ SSH 接続します。ホストは Raspberry Pi のIPアドレス、ユーザ名は pi、パスフレーズは raspberry を入力します。


2.2.5 I2C の有効化

以下のコマンドをRaspberry Piへログインしたターミナルで実行し、ライブラリをインストールします。

sudo apt-get update
sudo apt-get install i2c-tools

以下のコマンドを実行します。

sudo raspi-config

5. Interfacing Options -> P5 I2C から I2C を有効化し、Raspberry Pi を再起動します。


2.2.6 ライブラリのインストール

以下のコマンドをRaspberry Piへログインしたターミナルで実行し、AWS IoT Device SDK Python v2 をインストールします。

sudo -H pip3 install awsiotsdk

2.2.7 プログラムのダウンロード

以下のコマンドを実行し、必要なプログラムをダウンロードします。

# フォルダの作成と移動
mkdir -p ~/dummy_client/certs/
cd ~/dummy_client/

# プログラムのダウンロード
wget https://awsj-iot-handson.s3-ap-northeast-1.amazonaws.com/aws-iot-core-workshop/dummy_client/device_main_raspi.py -O device_main.py
wget https://awsj-iot-handson.s3-ap-northeast-1.amazonaws.com/aws-iot-core-workshop/dummy_client/get_data.py -O get_data.py
wget https://awsj-iot-handson.s3-ap-northeast-1.amazonaws.com/aws-iot-core-workshop/dummy_client/set_display.py -O set_display.py

2.2.8 接続テスト

ここまでのセットアップが成功しているか接続テストを行います。

以下のコマンドをRaspberry Piへログインしたターミナルに入力するとLCDおよびターミナルに湿度と温度が表示されます。

cd ~/dummy_client/
python3 get_data.py

step2-1-9 step2-1-10

温度と湿度を確認したら、Ctrl-Cでプログラムを終了させます。

この後の手順では、手順内で Cloud9 となっている部分を Raspberry Pi と読み替えて進めてください。