3. インテルEdisonの設定

インテルEdisonの準備を行います。

3.1. センサーの接続

Grove Kitの中から照度センサーと温度センサー、ボタン、LED、LCDを取出します。


照度センサーはこちらです。(LIGHTと書いてあります)

_images/3-illuminance-1.png

温度センサーはこちらです。(裏にTemperature Sensorと書いてあります)

_images/3-temp-1.png _images/3-temp-2.png

ボタンはこちらです。(裏にButtonと書いてあります)

_images/3-button.jpg

LEDは組み立て式となります。袋からLEDを取り出してボードに装着します。ピンが長い方が+です。+側の穴に刺します。

_images/3-led-1.png _images/3-led-2.png

LCDはこちらです。

_images/3-lcd-1.png

次に、Arduino互換ボードをEdisonに装着します。(Arduino互換ボードの図)

_images/3-arduino-1.png _images/3-arduino-2.png

Arduino互換ボードにセンサーとLED、LCDを接続します。以下のように接続してください。


ポート 設定
A0 照度センサー
A1 温度センサー
D4 ボタン
D8 LED
I2C(I2Cのどこでも) LCD

_images/3-edison-1.png

3.2. シリアルポート接続

Edisonへ接続します。まず、Edisonにシリアルポート経由で接続します。USBケーブルでPCとEdisonを接続し、シリアルコンソールを開きます。

USBケーブルとACアダプタを図のように接続します。

_images/usb-win.png

ターミナルソフトでEdisonに接続してください。接続に必要な情報はこちらです。特にBaud Rateにご注意ください!

項目
Port EEdisonが接続されているUSBポート (Windowsはデバイスマネージャで、Macであれば”ls /dev/tty.usbserial-*”で確認)
Baud Rate 115200
Data Bits 8
Stop Bits 1
Parity none

Teratermをご利用の場合、メニューの[設定]-[シリアルポート]からスピードを”115200”に変更します。 MacOSをご利用の場合は、ターミナルから以下のコマンドを入力することで接続が可能です。

$ sudo screen /dev/tty.usbserial-XXXXXXX 115200

または、

$ sudo cu -s 115200 -l /dev/tty.usbserial-XXXXXXX
Password: ← MacOSのrootパスワードを入力

プロンプトが表示されれば接続成功です。loginのプロンプトで、ユーザ名 ”root”、パスワード ”Password1” でログインします。

edison login: root
Password: ******** ←パスワードを入力
root@edison1: ~#

3.3. WiFi設定

WiFiの設定を行います。

WiFiのSSIDとPSKが明確な場合、下記のコマンドで一括設定できます。

# wpa_passphrase __SSID__  ____PSK____ >/etc/wpa_supplicant/wpa_supplicant.conf

通常のハンズオンでは、この設定になります。(SSIDが、awshandson5、 パスワードが、awshandson)

# wpa_passphrase awshandson5 awshandson >/etc/wpa_supplicant/wpa_supplicant.conf

設定を反映させるために、リブートして下さい。

# reboot

インターネットに接続できるか確認します。IPアドレスが表示されれば成功です。

# curl http://checkip.amazonaws.com/

リブート後、再度ログインして下さい。iwconfig でWiFi接続を確認します。ESSIDが表示されていれば、OKです。

# iwconfig
        wlan0     IEEE 802.11abgn  ESSID:"awshandson5"
        Mode:Managed  Frequency:5.18 GHz  Access Point: 8A:D7:F6:00:BA:6C
        Bit Rate=135 Mb/s   Tx-Power=31 dBm
...

ESSIDにSSIDが表示されていれば、OKです。

3.4. Edison環境のクリーンアップ

ハンズオンで利用するユーザーディレクトリのクリーンアップを行います。

# cd
# rm -rf *
# rm -rf ./.aws
# rm -f ./.profile
# rm -f ./.endpoint
# rm -f ./.region

3.5. AWS SDKの準備

Edison上でAWS IoTデバイスSDK、AWS SDK、その他のモジュールをインストールします。

# npm config set registry http://registry.npmjs.org/

# npm install aws-iot-device-sdk        42 sec
# npm install aws-sdk                   45 sec
# npm install argv                      12 sec
# npm install moment                    15 sec
                                        ↑↑ インストール時間の目安

3.6. 環境変数の設定

3.6.1. 参加者番号

参加者番号を設定します。以下の01となっている箇所を各自の参加者番号に変更して実行します。

# echo "export HandsOnNumber=01" >> .profile
# source ./.profile

3.6.2. リージョン

リージョンを設定します。下記のいずれかを実行してください。

バージニア北部の場合

# echo "export region=us-east-1" > .region

オレゴンの場合

# echo "export region=us-west-2" > .region

アイルランドの場合

# echo "export region=eu-west-1" > .region

東京の場合

# echo "export region=ap-northeast-1" > .region

3.6.3. 環境変数にリージョンを登録します

# source ./.region

3.7. ハンズオン用コード、証明書の準備

Edison上で以下のコマンドを実行し、本ハンズオン用に用意されているzipファイルのダウンロードと解凍を行います。

# cd
# wget https://s3-ap-northeast-1.amazonaws.com/awsiot-handson-dojo-jp/aws-iot-handson-dojo-basic.zip
# unzip -q aws-iot-handson-dojo-basic.zip

デバイス用証明書の準備を行います。解凍して作成されたaws-iot-handson-dojo-basic/certsディレクトリに移動し、OpenSSLを使ってプライベートキー(privatekey.pem)と証明書リクエスト(cert.csr)を生成します。

# cd ~/aws-iot-handson-dojo-basic/certs/
# openssl req -newkey rsa:2048 -new -nodes -keyout privatekey.pem -out cert.csr -subj "/CN=awshandson"

スクリプトの実行に必要なモジュールのインストールし、「AWS環境の準備」の最後でコピーしたCloudFormationの「出力」に表示された AccessKey と SecretKey をパラメータに指定してスクリプトを実行します。AWS IoTで証明書の作成と登録が行われます。出力される「証明書ID」をメモ帳にコピーします。次章のAWS IoTの設定の中で証明書を特定するために利用します。

# node create_cert.js -a <your access key> -s <your secret key>
certificateId: '<証明書ID>'

デバイス用証明書ファイル(cert.crt)がcertsディレクトリ内に作成されたことを確認します。

# ls
cert.csr  create_cert.js   get_endpoint2.js
cert.pem  get_endpoint.js  privatekey.pem

ルート証明書のダウンロードを行います。

# wget https://www.symantec.com/content/en/us/enterprise/verisign/roots/VeriSign-Class%203-Public-Primary-Certification-Authority-G5.pem -O rootca.crt

3.8. エンドポイントの設定

CloudFormationの「出力」に表示された AccessKey と SecretKey をパラメータに指定してスクリプトを実行します。AWS IoTのエンドポイントが取得され、~/.endpoint に書き出されます。source ~/.endpoint で、endpoint情報を環境変数に登録し、デバイス用プログラムで使用します。

# node get_endpoint2.js -a <your access key> -s <your secret key>  > ~/.endpoint
# source ~/.endpoint