Contenu connexe Similaire à ラズパイ × Bluemix IoTハンズオンセミナー (20) ラズパイ × Bluemix IoTハンズオンセミナー4. 用意するもの/前提環境
• IBM Bluemix アカウント
• ウェブブラウザの優先言語は日本語
• Bluemix データセンターは us-south (ドメインは mybluemix.net)を使う
• eu-gb データセンターの場合、ドメインは eu-gb.mybluemix.net となる
• eu-de データセンターの場合、ドメインは eu-de.mybluemix.net となる
• au-syd データセンターの場合、ドメインは au-syd.mybluemix.net となる
• 組織は自分の ID と同じ組織、スペースは dev を使うものとする
• ラズベリーパイ(anyPi)
• SIM カードを使った LTE 通信
• TeraTerm(シリアル接続可能なコンソールアプリケーション)
• http://forest.watch.impress.co.jp/library/software/utf8teraterm/
5. 「ラズベリーパイ」とは?
• 「シングルボードコンピュータ」
• 一枚の基盤にコンピュータの基本機能が搭載
• CPU(1.2GHz 64bit 4コア ARMv8)
• メモリ(1GB)
• ディスクストレージ(MicroSD)
• 電源(MicroUSB)
• グラフィックカード(VideoCore IV 3D)
• 配線
• 拡張インターフェース
• 有線LAN / 無線 LAN / Bluetooth
• ディスプレイ(HDMI)
• USB x 4
• カメラ
• オーディオ
• 40pin 汎用I/O etc..
ここに OS を入れて起動するだけ
5000 円くらい
もともとは教育用コンピュータ
各種センサーを接続して IoT 機器に
通称「ラズパイ」
6. ラズパイを IoT 機器として使う場合の問題点
• 初期設定
• OS 初期設定
• アプリケーション導入&セットアップ
• ネットワーク(特に無線LAN)
• 設定内容確認
上の2つは設定済みの MicroSD を用意して、
その MicroSD カードを挿して出荷、でもOK
外付けのディスプレイ、HDMI ケーブル、キーボード、マウスが必要
実機ごとに行う必要あり
業務で使えるようなアプリケーションを作って本格運用する場合、
各ラズパイのネットワーク設定をどうやって行う??
8. 大まかな流れ
1. IBM Bluemix アプリケーションプロジェクト作成
2. ラズパイ(anyPi)セットアップ
3. Node-RED にDashboard UI モジュールを追加
4. ラズパイの情報を取得する Node-RED アプリを作成
5. ラズパイの情報を Dashboard UI に送信する
この後のページの左上に表示
17. IoT レシピをインストールして、deviceId を確認
2. ラズパイ(anyPi)セットアップ
$ wget https://github.com/ibm-messaging/iot-raspberrypi/releases/download/1.0.2/iot_1.0-1_armhf.deb
(↑本セミナーではここまで実行済みなので、ここは省略)
$ sudo dpkg -i iot_1.0-1_armhf.deb
①以下のコマンドを実行して IoT レシピをインストール
②以下のコマンドを実行して deviceId を確認
$ sudo service iot getdeviceid
19. Dashboard UI モジュールを追加(1)
3. Node-RED に Dashboard UI モジュールを追加
①画面右上のハンバーガーメニューから「処理ノードの追加削除」を選択
②「処理ノードを追加」タブで “dashboard” を検索し、
node-red-dashboard の「処理ノードを追加」を選択
③確認ダイアログで “Install” を選択
21. Node-RED アプリ作成(1)
①キャンバスに IBM IoT のインプットノードを配置
4. ラズパイの情報を取得する Node-RED アプリを作成
②IBM IoT インプットノードをダブルクリックして、
deviceId 欄に P.17 で確認した deviceId を入力して Done
23. Node-RED アプリ作成(3)
⑥IBM IoT ノードと debug ノードの間に function ノードを置く
(線が点線になるタイミング)
4. ラズパイの情報を取得する Node-RED アプリを作成
⑦function ノードをダブルクリックして編集
return {payload: msg.payload.d};
(msg.payload.d の値で payload を
上書きする)
⑧再度デプロイして debug 情報を確認
ラズパイの情報が取得できた!
24. Dashboard UI に情報を送信する(1)
①function ノードをもう1つ追加し、debug ノードを最後に接続し直す
5. ラズパイの情報を Dashboard UI に送信する
②function ノードをダブルクリックして、
cputemp だけを取り出す内容に変更する
return {payload: msg.payload.cputemp};
③デプロイして、CPU 温度だけが流れてくることを確認
27. Dashboard UI に情報を追加する
①(CPU 温度以外の)他の情報も取り出して、適当なUIノードに繋ぐ
5. ラズパイの情報を Dashboard UI に送信する
②デプロイ&リロードすると、追加した UI が反映されることを確認
return {payload: msg.payload.sine};
③ラズパイに負荷をかけてグラフの変化を確認する
例: $sudo apt-get update
完成!