Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
    JAWS-UG 愛媛:加藤 貴宏
初心者がAWS×IoTに挑戦してみた話
自己紹介
加藤 貴宏(かとう たかひろ)
愛媛県新居浜市在住
地元の会社でグループ内SEという名の何でも屋
35歳@定年
仕事でもAWSを使用したい!上司を説得中!!
(勉強する許可はもらえたから、あと少し?)
Facebookやってます!よけ...
今回使用した物
■Intel Edison for Arduino
Wi-Fi機能も備えた、SDカードサイズの組み込み用
超小型コンピュータであるEdisonと、
電子工作の初心者でも簡単にセンサーデータが取得
できるマイコンボードArudui...
今回使用したAWSのサービス
■Amazon Cognito
デバイス(Intel Edison for Arduino)に、
ゲストアクセス機能を用いてアクセス制限を行うサービス。
■Amazon Kinesis
大量に送信されるセンサーデー...
今回使用したAWSのサービス
■Amazon Lambda
イベント発生時(KinesisにデータがPUTされた時)に、
コードを実行するサービス。
■Amazon DynamoDB
完全マネージド型のNoSQLデータベースサービス。
Kine...
今回使用したプログラミング言語
■JavaScript
・mraa
ハードウェアを操作する為のフレームワーク
・node.js
サーバーサイドJavaScript
デバイスサイドの処理もLambdaの処理も、
全てJavaScriptでOK!
今回挑戦した内容
どれくらい初心者かというと
■Intel Edison
なにそれ?おいしいの?
(´・ ω ・)
■Arduino
何かのマンガで出てきたような・・・
どれくらい初心者かというと
■Amazon Web Services
EC2でMulti-Datacenterパターンと、
S3でWebサイトをホスティングしたくらい。
どれくらい初心者かというと
要するに・・・
未経験者も同然!
参考にした資料
■JAWS-DAYS 2015、AWSサミット 2015 報告
(Yukihito Kataoka さん)
http://u888u.info/nxc0
[ センサーデータ --Cognito-> Kinesis]
■池澤あやか...
IoTにチャレンジしてみた話
■kataoka さんの資料
・結論
資料の20ページ目のリンク先の内容を写経していけば、
結構簡単に作れた。
・トラブルや悩んだところ
-資料で紹介されていたセンサー部品が販売停止。
販売停止になったセンサー部品...
IoTにチャレンジしてみた話
-資料はMAC OS X、自分はWindows7 64bit
Edisonの公式ガイドを併せて見て進めていけばOK!
https://software.intel.com/en-us/iot/library/edi...
IoTにチャレンジしてみた話
■CodeZine さんの記事
・結論
記事の写経ではダメ!
今回ご紹介した2つの資料に関連性はないので、
必要な情報を見極め、内容を必要に応じて変える
必要がある。
難易度は高くない。
アドリブを求められるところ...
IoTにチャレンジしてみた話
・悩んだところ
-Lambdaのcontext.succeed()のせいでハマった
context.succeed()?
実行したプログラムがエラー無く正常に動作した時に、
コンソールに自分が設定した文言を表示させ...
IoTにチャレンジしてみた話
・どうハマった?
  【処理内容】
Kinesisのデータを読み込み
↓
読み込んだデータをDynamoDBへ書き込み
↓
context.succeed()実行
Lambdaを動かすnode.jsは非同期処理。
...
IoTにチャレンジしてみた話
・結果...
DynamoDBへの書き込み処理が終わる前に、
context.succeed()によってプログラムが終了し、
コードに問題もなく、コンソールにも成功を意味する
メッセージが表示されているのにも関わら...
感想
■動くものができたことに関する感想
今回M2Mの様な物を作ったが、
M2Mというと複数人の高い技術力を持った
様々な分野のエンジニアと、膨大な資金がなければ
作れなかったもの。
それが小規模なものとはいえ一人で作成できる事に
びっくりし、...
感想
■作業内容に関する感想。
やった事のない技術がたくさんあったが、
あまり難しい技術は求められなかった。
求められた技術はWeb上で分かるような
基本レベルのものだけだった(気がする)。
おそらく、そんなに難しいものでは無い。
感想
■DIVEした事についての感想。
初心者こそDIVEするべき!!
初心者のDIVEに必要だと思ったもの
・自分が利用したいサービスを使った実装系の資料
・自分が作りたいシステム(に近い)を作成した
実装系の資料
★それを得る為には?
->JAWG-UGに参加する!
->FacebookでJAWS-UGの人と友...
初心者のDIVEに必要だと思ったもの
■AWSのアカウント開設後にすべき事をまとめてみた
(クラスメソッド(株) suzuki.ryoさん)
http://dev.classmethod.jp/cloud/aws/after_get_aws_a...
これから
仕事ではAWSを使用できない・・・
だから、趣味を楽しむための何かを作ろう!
これから
・趣味のサポート?
この車を、IoTで湿気から守る!
これから
・具体的には!
危険を察知
プッシュ通知
湿度センサーを利用して、湿度が危険な値を示すと、プッシュ通知を行う。
将来的には天気予報、スケジュール、マシンラーニング、ロボを駆使して、
湿気除去作業を自動化!
最後に
DIVE!!
Slideshare版にて追記
■mraaでセンサーデータを扱う処理は何処に書くの?
一旦、そこの記事をとばすと、
次に「readIO.js」を実行する記事があります。
記事どおりに「readIO.js」を実行すると
「cannot find ...
Slideshare版にて追記
■Amazon KinesisへのデータのPutを止める方法
「kinesis.js」を止める方法は「Ctrl + C」
■Amazon Kinesisのストリームの削除
ストリームは存在するだけで時間課金される...
Upcoming SlideShare
Loading in …5
×
Upcoming SlideShare
Laptop and computer repair melbourne
Next
Download to read offline and view in fullscreen.

1

Share

Download to read offline

初心者がaws×iotに挑戦してみた話

Download to read offline

JAWS re:Mote 2015 発表資料
追記の内容は資料をみて作業をしないと役に立たない情報も含まれています。

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

初心者がaws×iotに挑戦してみた話

  1. 1.     JAWS-UG 愛媛:加藤 貴宏 初心者がAWS×IoTに挑戦してみた話
  2. 2. 自己紹介 加藤 貴宏(かとう たかひろ) 愛媛県新居浜市在住 地元の会社でグループ内SEという名の何でも屋 35歳@定年 仕事でもAWSを使用したい!上司を説得中!! (勉強する許可はもらえたから、あと少し?) Facebookやってます!よければ申請してください!! /takahiro.kato.9237
  3. 3. 今回使用した物 ■Intel Edison for Arduino Wi-Fi機能も備えた、SDカードサイズの組み込み用 超小型コンピュータであるEdisonと、 電子工作の初心者でも簡単にセンサーデータが取得 できるマイコンボードAruduinoを組み合わせたもの。
  4. 4. 今回使用したAWSのサービス ■Amazon Cognito デバイス(Intel Edison for Arduino)に、 ゲストアクセス機能を用いてアクセス制限を行うサービス。 ■Amazon Kinesis 大量に送信されるセンサーデータを、 連続的に取得して格納するサービス。
  5. 5. 今回使用したAWSのサービス ■Amazon Lambda イベント発生時(KinesisにデータがPUTされた時)に、 コードを実行するサービス。 ■Amazon DynamoDB 完全マネージド型のNoSQLデータベースサービス。 KinesisにPUTされたデータを格納。
  6. 6. 今回使用したプログラミング言語 ■JavaScript ・mraa ハードウェアを操作する為のフレームワーク ・node.js サーバーサイドJavaScript デバイスサイドの処理もLambdaの処理も、 全てJavaScriptでOK!
  7. 7. 今回挑戦した内容
  8. 8. どれくらい初心者かというと ■Intel Edison なにそれ?おいしいの? (´・ ω ・) ■Arduino 何かのマンガで出てきたような・・・
  9. 9. どれくらい初心者かというと ■Amazon Web Services EC2でMulti-Datacenterパターンと、 S3でWebサイトをホスティングしたくらい。
  10. 10. どれくらい初心者かというと 要するに・・・ 未経験者も同然!
  11. 11. 参考にした資料 ■JAWS-DAYS 2015、AWSサミット 2015 報告 (Yukihito Kataoka さん) http://u888u.info/nxc0 [ センサーデータ --Cognito-> Kinesis] ■池澤あやかさんにお願い!AWS Summit Tokyo 2015「デベロッパーカンファレンス」を盛り上げる アプリを一緒につくってください! (CodeZine さん [Webマガジン] ) http://codezine.jp/article/corner/581 [ Kinesis -> Lambda -> DynamoDB ]
  12. 12. IoTにチャレンジしてみた話 ■kataoka さんの資料 ・結論 資料の20ページ目のリンク先の内容を写経していけば、 結構簡単に作れた。 ・トラブルや悩んだところ -資料で紹介されていたセンサー部品が販売停止。 販売停止になったセンサー部品と同じシリーズの センサー部品(Grove スターターキットV3)を購入。 両者の違いは用意されているセンサーが異なるだけ。 今回使用するセンサーは両者共通の為、問題なし!
  13. 13. IoTにチャレンジしてみた話 -資料はMAC OS X、自分はWindows7 64bit Edisonの公式ガイドを併せて見て進めていけばOK! https://software.intel.com/en-us/iot/library/edison-getting-started -AWSのバージョンアップによる仕様変更 資料とAWSが用意してくれているテンプレートとで、 コードの書き方が異なっていた為、正しい手順を 踏んでいるのか不安になった。 両方試してみたら、両方とも動作したので不安解消した。
  14. 14. IoTにチャレンジしてみた話 ■CodeZine さんの記事 ・結論 記事の写経ではダメ! 今回ご紹介した2つの資料に関連性はないので、 必要な情報を見極め、内容を必要に応じて変える 必要がある。 難易度は高くない。 アドリブを求められるところは、ここまでの作業が終わっていれば それをこなせる知識が身についている。 そうでないところは、ほとんど写経でOK!
  15. 15. IoTにチャレンジしてみた話 ・悩んだところ -Lambdaのcontext.succeed()のせいでハマった context.succeed()? 実行したプログラムがエラー無く正常に動作した時に、 コンソールに自分が設定した文言を表示させ、 プログラムを終了させるというもの。 これを「ただのログ出力だろう」と決めつけていた\(^o^)/ Lambdaのblueprintに組み込まれていた。 (blueprint:使用用途に応じたテンプレートの様なもの)
  16. 16. IoTにチャレンジしてみた話 ・どうハマった?   【処理内容】 Kinesisのデータを読み込み ↓ 読み込んだデータをDynamoDBへ書き込み ↓ context.succeed()実行 Lambdaを動かすnode.jsは非同期処理。 DynamoDBへの書き込み処理の完了を待たずに context.succeed()が実行された。
  17. 17. IoTにチャレンジしてみた話 ・結果... DynamoDBへの書き込み処理が終わる前に、 context.succeed()によってプログラムが終了し、 コードに問題もなく、コンソールにも成功を意味する メッセージが表示されているのにも関わらず、 正しい動作が行われなかった・・・ これのせいで作業が2週間進まなかった。 一番悪いのはAPIをきちんと理解しようとしなかった自分(-_-;)
  18. 18. 感想 ■動くものができたことに関する感想 今回M2Mの様な物を作ったが、 M2Mというと複数人の高い技術力を持った 様々な分野のエンジニアと、膨大な資金がなければ 作れなかったもの。 それが小規模なものとはいえ一人で作成できる事に びっくりし、それと共にAWSやIntel等の凄さを再確認。
  19. 19. 感想 ■作業内容に関する感想。 やった事のない技術がたくさんあったが、 あまり難しい技術は求められなかった。 求められた技術はWeb上で分かるような 基本レベルのものだけだった(気がする)。 おそらく、そんなに難しいものでは無い。
  20. 20. 感想 ■DIVEした事についての感想。 初心者こそDIVEするべき!!
  21. 21. 初心者のDIVEに必要だと思ったもの ・自分が利用したいサービスを使った実装系の資料 ・自分が作りたいシステム(に近い)を作成した 実装系の資料 ★それを得る為には? ->JAWG-UGに参加する! ->FacebookでJAWS-UGの人と友達になる! というわけで、懇親会にも参加しましょう(^O^)/
  22. 22. 初心者のDIVEに必要だと思ったもの ■AWSのアカウント開設後にすべき事をまとめてみた (クラスメソッド(株) suzuki.ryoさん) http://dev.classmethod.jp/cloud/aws/after_get_aws_account/
  23. 23. これから 仕事ではAWSを使用できない・・・ だから、趣味を楽しむための何かを作ろう!
  24. 24. これから ・趣味のサポート? この車を、IoTで湿気から守る!
  25. 25. これから ・具体的には! 危険を察知 プッシュ通知 湿度センサーを利用して、湿度が危険な値を示すと、プッシュ通知を行う。 将来的には天気予報、スケジュール、マシンラーニング、ロボを駆使して、 湿気除去作業を自動化!
  26. 26. 最後に DIVE!!
  27. 27. Slideshare版にて追記 ■mraaでセンサーデータを扱う処理は何処に書くの? 一旦、そこの記事をとばすと、 次に「readIO.js」を実行する記事があります。 記事どおりに「readIO.js」を実行すると 「cannot find module <readIO.jsのファイルパス>」 というエラーが発生します。 上記のエラー内容から、 readIO.jsファイルを新規作成し、mraaの処理を書いて、 <readIO.jsのファイルパス>に保存すればよい。 という事が推測できます。
  28. 28. Slideshare版にて追記 ■Amazon KinesisへのデータのPutを止める方法 「kinesis.js」を止める方法は「Ctrl + C」 ■Amazon Kinesisのストリームの削除 ストリームは存在するだけで時間課金されるので、 使用しなくなった場合はコンソール画面から削除処理 を実施しておく事。 ※削除する前に、ストリームとやり取りしているアプリ (この資料だとkinesis.js)を全てシャットダウンしておく事。 これを忘れると予期しない動作につながるとの事!
  • MizuhoNakamura

    Nov. 15, 2016

JAWS re:Mote 2015 発表資料 追記の内容は資料をみて作業をしないと役に立たない情報も含まれています。

Views

Total views

733

On Slideshare

0

From embeds

0

Number of embeds

26

Actions

Downloads

4

Shares

0

Comments

0

Likes

1

×