マガジンのカバー画像

ゼロから作るIoT

38
【技術者向け】ハードウェアから無線技術、クラウドアーキテクチャからデータ分析手法まで、IoTに関する知識を総ざらいし、実践すればIoTサービスが使えるように書いています!
運営しているクリエイター

#テクノロジー

IoTサービス開発者が知るべき97のこと

※タイトルは例のシリーズのオマージュです IoTLTアドベントカレンダーの22日目担当のimaimaiです! IoTは総合格闘技というだけあり、様々なところで様々な問題が起こります。更に、実際にSaaSにて運用していくにはそれなりの準備が必要です。かくいう私も、3年間に渡る開発の過程で荒野に落ちる様々な地雷を踏み抜いてきました。あらゆる箇所で踏み抜いた経験や、やっていてよかったことを97個つらつらと書き連ねてみました。今後サービスを作りたい方にはチェックリスト的に、サービ

IoTで検証!ネズミ(デグー)は一日何m走るのか!?

とっとこ~走るよハム太郎 という人気アニメのオープニングがありますね。 ハムスターやラットなどの齧歯類(げっしるい)は昔からペットとして人気の動物です。 ところで彼らが回す滑車、眺めていると、一日中回してませんか? 暇さえあればランニングと、ライザップもびっくりのストイックぶりです。 そこで、こんな疑問が生まれました ネズミは、一日で何m走っているのか そこで今回は、弊社のCTモニターを応用して、検証してみます!CTモニターが何かわからない人はこちら。いわゆる、

IoTなわとびを作って1000回跳んだらドラマチックだった。

こんにちは、春ですね。春は出会いの季節です。いろいろと楽しみですね! ところで、私は普段車通勤です。東京の頃に比べ、運動はおろか歩くことさえもサボるようになり、一冬を超えてじっくりコトコトわがままボディが完成しました。通勤途中のラジオでは最近頻繁に、「冬にびっしりこびりついたお腹の脂肪!これは夏までにどうにかしないといけません!!」などと言いながらお腹周りに貼り付ける真偽の怪しい擬アブトロニック製品を売りつけようとしてきます。 さて、その擬アブトロニックの誘惑を振り切り、

【まとめ】AWSでエッジコンピューティングができる環境を作ってみた

AWSでエッジコンピューティング環境を作る 最終回です!(時間が空いてしまいました。) 試行錯誤しながらラズパイとAWSを用いて エッジコンピューティングを実現してきました。最後に、まとめと今後の展望を載せておこうと思います。 システム鳥瞰図Part1からPart9まで、もう一度図でまとめておきます。なるべく流れに沿って書いているつもりですが、ところどころバラけたりしているので、自分がどこのパートを見たいかの参考にしてください。 レシピ Part 1. きっかけとやりた

【Part9】DLR(Deep Learning Runtime)を使ってラズパイでディープラーニング

AWSでエッジコンピューティング環境を作る Part9です。 さて、いよいよPart8で作ったコンパイル済みモデルをGreengrassにデプロイしていきます。実際にラズパイで写真を撮って分類までできたら成功です。 ※なお、自分で学習モデルを作らず、既存モデルを取ってきてラズパイにデプロイする場合はこの記事が大変参考になります。私も自前モデルをデプロイする際にめちゃくちゃ参考にしました。 REF : SageMaker NeoでコンパイルしたモデルをラズパイにGreen

【Part8】学習モデルをハードウェアに最適化したコンパイル(Amazon SageMaker Neo)

AWSでエッジコンピューティング環境を作る Part8です。 学習モデルの軽量化Distillerを、Part7で書きました。今日は、そのモデルをエッジ端末(ラズパイ)上で動かす準備を行います。Amazon SageMakerNeoを用いると、対象のハードウェアに合わせて最適化されたコンパイルをよしなに行ってくれるので、とても良いです。 ・PyTorchのモデル保存とONNX形式 ・Amazon SageMaker Neoでのコンパイル ・エラーの格闘記録 あたりをお話

【Part7】ディープラーニングのモデル軽量化専門ライブラリ "Distiller"

AWSでエッジコンピューティング環境を作る Part7です。今回から推論の話になります。エッジで推論を行うには、普段よりも計算リソースが限られていることを意識しなければなりません。そのため、ソフトウェア・ハードウェアの双面から高速化をしていく必要があるわけです。今回は、ソフトウェア面の高速化の話。 以前、エッジコンピューティングとは何か?というのを記事に書きました。 エッジでディープラーニングを可能にする「モデル圧縮」技術 ここで、枝刈り・量子化・蒸留という手法を紹介

【Part6】遠隔でのカメラ撮影&画像をS3に転送する

AWSでエッジコンピューティング環境を作る  Part6です。 Part5までで、エッジ端末からのメッセージをS3に保存することができました。エッジからクラウドストレージまでつながったわけです。 しかし、S3に保存していたのは単調な文字列です。せっかくエッジの端末があるんだったら、エッジから取得したデータを格納したいですね。今回は、ラズパイカメラで写真を撮影して、S3に保存していきます。 すべき事が結構たくさんあるので、順を追って説明しますね ・Lambda関数の変更

【Part5】エッジのメッセージをさばいてS3へと保存する

AWSでエッジコンピューティング環境を作る Part5です。デプロイ環境が構築できていない方はPart4までをどうぞ 【Part4】AWSでエッジコンピューティング環境を作る(ラズパイデプロイ編) 前回までで、ラズパイから遠隔デプロイを行い処理関数を更新する事ができ、さらにAWS IoTにデータを送信することができました。今回は、エッジ側の拡張の話と、AWS IoTがデータを受信した後の話をしたいと思っています。 データのさばき方データをさばいてS3へ送る方法はいくつ

【Part4】ラズパイにLambda関数をデプロイする

AWSでエッジコンピューティング環境を作る  Part4です。Greengrassの環境を構築できていない方はPart3からどうぞ 【Part3】AWSでエッジコンピューティング環境を作る(Lambda設定編) ラズパイにGreengrass Coreを載せ、そこにデプロイするLambda関数の作成までできました。いよいよ実際にクラウド上から遠隔でデプロイしましょう(On The Air アップデートとか言うらしいです)。 Greengrassの各機能しかし、まだ何がで

【Part3】Lambda関数を作り、エッジ用に設定する

AWSでエッジコンピューティング環境を作る Part3です。Greengrassの環境を構築できていない方はPart2からどうぞ 【Part2】AWSでエッジコンピューティング環境を作る(Greengrass編) 今回は、ラズパイにデプロイする関数をLambdaを用いて作ります。 デプロイ用に設定しなければいけないことが多少あるので注意してください。 Lambda関数の作成まず、Lambda関数の作成をします。ラズパイではなく、自分のローカルのPCで作業を進めていき

【Part2】AWS Greengrassの特徴と環境構築

AWSでエッジコンピューティング環境を作る、Part2.です。実際に作っていきましょう ※ 下記記事を読んでおくと、わかりやすいと思います。 ☑ AWS IoT入門(Raspi接続編) ☑ サーバーレスアーキテクチャの要「Lambda」とはなにか AWS IoT Greengrassとは?めちゃくちゃざっくりいうとこんな感じ AWS IoTの拡張的機能 エッジ端末への遠隔デプロイを可能にする エッジ側にLambdaの機能をもたせられる AWS IoT Coreを用い

【Part1】AWSでエッジコンピューティング環境を作る(全体像)

こんにちは! 先日、AIchi勉強会という会を開催して、喋ってきました。AIについて勉強しようぜ!という会だったので、なにかを学んで、発表できたらなと考えていたのですが、私は今IoT関係の仕事をしています。 IoT × AI = エッジコンピューティング やろ! という短絡的発想により、エッジコンピューティングの仕組みを作ろうと考えました。そして、頑張って作りました。 ちなみに、エッジコンピューティングとはなにかは、以前記事で書いたので、参照ください。 ☑ エッジ/

00. 「ゼロから作るIoT」サイトマップ

IoTは「ITの総合格闘技」と言われており、非常に多岐の分野に渡ります。 「あれ?どこを見ればイイんだっけ」となることも多いと思いますので、このマガジンのサイトマップを作っておきます。 概要、全体像☑ 最近流行りの「IoT」ってなに?どう使うの? ☑ 目的別!IoTの有益情報ソースをまとめてみた ☑ エッジ/フォグ/クラウド コンピューティングの違いとメリット ☑ ひとりIoTアドベントカレンダーまとめ ☑ スマートファクトリーを目指して 自作IoT事例☑ IoTで検