AWSの使い方を学んでいろいろなものを作れるようになる、最近のエンジニアのための必須の書籍です。
クラウドのさまざまなサービスを組み合わせ、新たなサービスを生み出す、AWSの最新テクニックをハンズオンで学習!
--
自宅や職場で実際に試せるようなアプリケーションの作り方を、自分のペースで進められるハンズオンのような形で紹介しており、技術的な読み物としても楽しんでいただける内容となっています。
--
■遠隔操作スマートホームデバイスを作る
Raspberry Piの基礎知識、Linuxコマンド操作、電気回路の基礎知識……
■簡単おうちセキュリティカメラを作る
動画ストリーミング、Amazon Kinesis Video Streams……
■スマートホームを自作する ~ドアホン編~
AWS IoT Core、AWS Lambda、Alexa Skills Kit……
■ミーティング中の来客時に便利 ! インターホンと警告灯を連動させてみた
Arduino、AWS IoT Core、AWS IoT Events……
■自分だけが開ける「スマート宝箱」を作る
スマホアプリとバックエンドの開発、Amplify、FreeRTOS、IoT製品のプロトタイピング……
■施設の混雑状況をモニタリングするアプリを作ってみよう
Webアプリとバックエンドの開発、Amplify、Amazon Rekognition、AIサービスの活用方法……
■迷路や部屋を学習して自動走行するロボットを作る
AWS RoboMaker、AWS IoT Greengrass、強化学習……
■スマート家電をクラウドからコントロールしてみた
AWS IoT Core、AWS Lambda、Alexa Skills Kit、ECHONET Lite……
■Jetson Nano と AWS IoT サービスで一家団欒の時間を作ろう
VIDIA Jetson Nano、AWS IoT Events、AWS IoT Analytics、Amazon QuickSight、MXNet、GluonCV、BI分析、機械学習を用いたエッジ推論……
AWSの使い方をハンズオンで学んでいろいろなものを作れるようになる、最近のエンジニアのための必須の書籍です。
●第1章 AWSのアカウントを作る
ステップ 1: AWS アカウントの作成
ステップ 2: 連絡先情報を入力
ステップ 3: お支払い情報を入力
ステップ 4: SMS または日本語自動音声電話によるアカウント認証
ステップ 5: AWS サポートプランの選択
ステップ 6: IAM 管理者のユーザーおよびグループの作成
●第2章 管理ツールのセットアップ方法 – AWS CLI
2-1 AWS CloudShellを利用
2-2 自分の環境にCLIをセットアップ
2-3 IAM ユーザーのアクセスキーを作成するには
2-4 一時的なクレデンシャル情報の取得
●第3章 遠隔操作スマートホームデバイスをつくる
3-1 構成と使用するサービスの紹介
構成 / AWS IoT Greengrassとは / AWS IoT Coreとは / AWS利用料金 / 作業手順
3-2 使用するハードウェアの準備
3-3 ハードウェアのセットアップ
3-4 Raspberry Piのセットアップと動作確認
3-5 AWS IoT Greengrassのインストール
3-6 AWS IoT Greengrassの設定
デバイスリソースの追加 / コネクタの追加 / サブスクリプションの追加 / デプロイ
3-7 動作確認
まとめ
●第4章 簡単おうちセキュリティカメラを作る
4-1 アーキテクチャと利用する AWS サービス
4-2 Raspberry Pi のセットアップ
依存ライブラリのインストール / Amazon Kinesis Video Streams Producer SDK C++のインストール
4-3 Amazon Kinesis Video Streams のセットアップ
4-4 Amazon Simple Notification Service のセットアップ
4-5 AWS CLI を用いた手順
4-6 Raspberry Pi のプログラムの設定
Python プログラムの作成 / ソースコードの解説 / 環境変数の設定
4-7 アプリケーションの実行
4-8 アプリケーションの常時実行のための設定
4-9 運用コストの見積もり
まとめ
●第5章 スマートホームを自作する ~ドアホン編~
5-1 利用するデバイス
5-2 利用する AWS のサービス
5-3 Raspberry Piで Kinesis Video Streams with WebRTC のサンプルアプリを使えるようにする
KVS with WebRTC のセットアップ
5-4 よりセキュアな認証情報の利用について
AWS IoTの証明書を作成 / CloudFormation で AWS IoT に必要なリソースと Role を作成する / ロールエイリアスの作成 / クレデンシャルエンドポイントの確認 / サンプルソースコードの修正 / AWS IoT の root CA 証明書のダウンロード / 動作確認
5-5 Amazon Alexa のスマートホームスキルを作成する
スキルの登録 / Lambda の作成 / スキルの更新 / 動作確認
5-6 運用コストの見積もり
まとめ
●第6章 ミーティング中の来客時に便利 ! インターホンと警告灯を連動させてみた
6-1 はじめに
6-2 利用するデバイス
6-3 利用するAWSのサービス
6-4 全体のアーキテクチャ
6-5 M5StickCを使ってアナログ信号をMQTTメッセージに変換する
Arduino IDEのセットアップ / ライブラリのセットアップ / 実装
6-6 インターホンのスピーカーの配線をM5StickCに接続する
6-7 AWS IoT Coreに来たメッセージをAWS IoT Eventsに連携する
入力の定義を作成する(AWS マネジメントコンソールで作業する場合) / 入力の定義を作成する(CLIで作業する場合) / メッセージを連携する(AWS マネジメントコンソールで作業する場合) / メッセージを連携する(CLIで作業する場合)
6-8 AWS IoT Eventsでインターホン状態を管理する
AWS IoT Eventsを構成する(AWS マネジメントコンソールで作業する場合) / AWS IoT Eventsを構成する(CLIで作業する場合)
6-9 パトライトを構成する
パトライト向けのデバイス証明書を発行する / パトライトを設定する
まとめ
●第7章 自分だけが開ける「スマート宝箱」を作る
7-1 設計の概要
7-2 ハードウェア側の開発
ファームウェアのビルド / デバイス・クラウド間のメッセージング / ファームウェア側の処理の流れ / デバイス側の動作確認
7-3 加工と組み立て
7-4 モバイルアプリの開発
Android/Amplify 開発環境をセットアップ / Authentication / AppSync(GraphQL) / Android(Kotlin)の実装 / 7-5 システムの統合 / DynamoDBの更新をトリガーにDevice Shadowを更新 / Device Shadowの変更を検知し、AppSync API経由でスマホに通知
まとめ
●第8章 施設の混雑状況をモニタリングするアプリを作ってみよう
8-1 AWS 上に混雑状況モニタリングアプリを構築する
8-2 アプリケーションの構成を考える
1. 施設の様子を撮影するカメラ / 2. 撮影した画像を解析して施設の人数をカウントする仕組み / 3. エンドユーザーに施設の人数をリアルタイムに通知する仕組み / 4. アプリケーションの認証認可の仕組み
8-3 AWS のアーキテクチャを設計する
Amazon Cognito / AWS AppSync / Amazon Rekognition / Amazon DynamoDB
8-4 AWS Amplify について
Amplify ライブラリ / Amplify UI コンポーネント / Amplify CLI / Amplify Console
8-5 アプリケーションの実装
今回の開発スコープ / 開発環境の前提条件 / Amplify CLI のセットアップ / アプリケーションのセットアップ / バックエンド構築のための設定 / Amplify CLI でバックエンドを構築する / 認証基盤の設定 / GraphQL(AppSync)基盤の設定 / Amazon Rekognition の設定 / バックエンドへの反映 / アプリケーションを実行し、管理者用アカウントを作成する / 管理者のみ管理画面にアクセスできるようにする / エンドユーザー用のアカウントを作成する / 施設情報を登録する / 施設情報の混雑状況をモニタリングする / アプリケーションをデプロイする
8-6 アプリケーションコードの解説
アプリケーション全体で Amplify ライブラリを使用できるようにする / アプリケーションの認証処理を理解する / Amplify ライブラリを使って AppSync にアクセスする
まとめ
●第9章 迷路や部屋を学習して自動走行するロボットを作る
9-1 AWS RoboMaker 開発環境を構築する
9-2 サンプルアプリケーションを試す
シミュレーションの料金
9-3 ソースコードを理解する
基本構成 / 重要な箇所の紹介
9-4 AWS RoboMaker を使った開発のワークフローを確認する
迷路を変える / 強化学習の報酬関数を確認、アクションスペースを変更する
9-5 ロボット本体にサンプルアプリケーションをデプロイする
ロボット本体のセットアップ / Linux PC (Ubuntu 18.04) のセットアップ / ロボットが利用する IAM ロール の作成 / フリートを作成する / AWS RoboMaker にロボットの登録を作成する / ロボットをフリートに紐づける / デプロイする / ロボットを起動する
●第10章 スマート家電をクラウドからコントロールしてみた
10-1 全体の流れ
利用するデバイス / 利用する AWS のサービス / 全体アーキテクチャ
10-2 Jetson nano のセットアップ
SD カードイメージのダウンロード / SD カードへのイメージ書き込み / Jetson nano の起動、初期セットアップ / node.js のインストール
10-3 ECHONET Lite 対応デバイスを探す
echonet-lite ライブラリのインストール / デバイス探索プログラムの実装と実行 / 制御対象デバイスのリストアップ
10-4 デバイスを手動で制御してみる
デバイスの仕様を調べる / デバイス手動制御プログラムの実装と実行
10-5 デバイスの状態をクラウドと同期する
AWS IoT Greengrass V1 の実行に必要な設定を行う / Greengrass グループの作成 / Greengrass Core ソフトウェアのインストール / Greengrass Core ソフトウェアの起動
10-6 クラウドからデバイスを遠隔制御する
Greengrass グループへのデバイスの登録 / デバイスシャドウに開閉状態を定義 / AWS Lambda への Lambda 関数の登録 / Greengrass グループへの Lambda 関数の登録 / Greengrass グループへのサブスクリプションの登録 / 動作確認
10-7 Alexa による機器制御
Alexa スマートホームスキルとは / スマートホームスキルの開発方法
10-8 運用コストの見積もり
まとめ
●第11章 Jetson Nano と AWS IoT サービスで一家団欒の時間を作ろう
11-1 はじめに
利用するデバイス / 利用するAWSのサービス / 全体のアーキテクチャ
11-2 Jetson Nanoで人物検出できるようにデバイスをセットアップする
ACアダプタから給電するようにする / OSイメージをSDカードに書き込む / SWAP領域を増やす / MXNet及びGluonCVのセットアップ / 接続したUSBカメラの有効な解像度を調べる / AWS IoT Greengrassのセットアップ / Jetson Nanoの設置とUSBカメラの位置を調整 / GUIからCUIへの変更 / 推論Lambda関数のデプロイ
11-3 AWS IoT Eventsを使って人数状態に合わせた通知を設定する
通知用Amazon SNSトピックの作成 / AWS IoT Events 入力の作成 / AWS IoT Events 検知モデルの作成
11-4 Amazon QuickSightを使って変化を可視化してみる
AWS IoT Analyticsの準備 / Amazon QuickSightでのデータ分析
まとめ
●第12章 AWS のサービスとの連携
12-1 製品開発で利用するには
12-2 マネージド型サービスの活用
12-3 IoTセキュリティ対策
デバイス証明書の利用 / セキュリティ監視・監査 / ファームウェアの更新
12-4 ハードウェアの選び方
クラウドとの通信方法 / マイコンおよびマイクロプロセッサの選び方
12-5 より深く学習するには
AWS IoT 開発者ポータル / オンラインハンズオン / IoT関連のセミナーイベント
まとめ
補足資料 AWSのサービス説明