質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
IoT

IoT(Internet of Things)とは、インターネットがコンピュータなどの情報・通信機器のネットワークだけでなく、世の中のある様々なモノに接続されて自動認識・自動制御・遠隔計測などの能力を備えることです。「モノのインターネット」と一般的にいわれます。

Q&A

解決済

5回答

1129閲覧

IoTを実現するにはどういった技術を使えばよい?

luckyclock

総合スコア73

IoT

IoT(Internet of Things)とは、インターネットがコンピュータなどの情報・通信機器のネットワークだけでなく、世の中のある様々なモノに接続されて自動認識・自動制御・遠隔計測などの能力を備えることです。「モノのインターネット」と一般的にいわれます。

0グッド

0クリップ

投稿2020/03/04 06:29

はやりのIoT家電ですが、よくあるものとしては宅外からスマホで制御したり、状況を知るということだと思うのですが、どういった方法で実現しているのか知りたいです。
おそらくAWSなどを使うのが簡単ではないのかと思うのですが、実際にAWSとかを使えばできるんでしょうか?
電源ONしたり状況を知ったりとそれなりのリアルタイム性が必要になると思うのですが、
スマホ側からAWSの何のサービスを使ってどういうことをしているのか?
例えば電源ONしたいならjsonかコマンドとかを飛ばしてる?
家電側からはAWSの何のサービスを使ってどういうことをしているのか?
あるいはAWS側から家電側に対して何かしているのか?(外から宅内のネットワークに入るのは簡単ではないからこれはない?)
色々方法はあるのかもしれませんがコストが安く簡単な方法が知りたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nskydiving

2020/03/04 07:57

>色々方法はあるのかもしれませんがコストが安く簡単な方法が知りたいです。 これは何のコストを指していますか?(IoT機器の制作コスト?サーバーの運用コスト?)
luckyclock

2020/03/04 23:21

サーバー運用のコストです。
guest

回答5

0

IoTと聞くとさもや新しい技術のように聞こえますが、基盤となる技術は30年以上前のイーサネットを使ったサーバクライアントモデルと何ら違いはありません

1990年代、大きくて高価なサーバと接続し様々な通信を行なっていました。

その大きくて高価なサーバが、いまや親指程度の大きさのコンピュータとなり(しかも無線LANやBluetooth,液晶ディスプレイも付いている!)、家中のいろんなものに組み込むことができるようになったため、家中のいろんな物をサーバとして通信することができるようになっただけの話です。

家中のいろいろなものにつけられたサーバは、キーボードやマウスの入力ではなく、センサから得た値を入力として蓄積し、処理し、外部からのリクエストに従いデータとして返答しているにすぎません。

もちろん、サーバを一から作ることもできますし、データとして返すバイト列も完全にオリジナルにすることも可能ですが、そんな車輪の再発明をしなくても、たとえばWebサーバを使い、JSON形式でデータを返す仕組み(あるいはMQTTとか)を流用すれば、サーバやクライアントの構築が安価に簡単に(いかないこともありますが)済むだけの話です。

もちろん、自宅などに置いた小さなサーバに、宅外から接続することは簡単ではありません。

それはお察しの通り、自宅や企業に置いたサーバというのは、いろんな事情で外部からは接続できないようにしてあるからです。それが単にグローバルなIPアドレスが足りないからという理由かもしれませんし、セキュリティの都合かもしれません。

もちろん、ルータに組み込まれたNATの設定を行い、ポートフォワーディングとかIPマスカレードなどの処理を行えば、宅外から自宅内への通信も行えますが、すべての人がIoTの恩恵を享受するには敷居が高いわけです(誰もがルータの設定を行えるわけじゃないですよね)

なのでどのようにして解決しているのかというと、家の外、つまり公衆がアクセスできる場所にサーバをおき、自宅にある小さなサーバは、その大きなサーバと定期的に通信を行い、自宅の気温や明るさなどのデータを置いたり、あるいは外部サーバに置かれたデータ(「電気をつけろ」という処理要求もデータとして考えてください)を取り寄せて、それに応じて電気をつけたりしているだけの話です。

めちゃくちゃ難しい話にみえるかもしれませんが、実は全ては単純な要素の組み合わせにしかすぎません

なので、あまり難しく考えず、シンプルに「どのようにしてつながっているのか」と考えてみて、どのようにお互いがつながっているのか整理してみるとわかりやすくなるのではないでしょうか。


2000年初頭は「ユビキタスコンピューティング」という言葉も流行りましたが(研究概念としては1990年代にはありました)、本質的な技術は一緒です。

家をIoTにするというアイデアも、2000年代にジョージア工科大学などが研究として行なっています。

組み込みのためのOSも、1980年代には東大の坂村先生がTRONの研究を開始され、その成果は多くの組み込み機器OSとして使われています。

アイデアという形では相当早い時期からあったのですが、それを実現できるハードウェアが存在しなかっただけの話です。


質問者さんの背景がわからないので何とも言えませんが、簡単にいわゆるIoTをやってみたいというのであれば、M5StackでIoTが簡単でいいのかな、という気はします。

ArduinoやRaspberry Piでもいいと思いますが、M5Stackの方がひとつの箱に全てがまとまっている上、単体でLCDやボタンなどの入出力が備わっていますし、センサとの接続もケーブル一本の上、ピンアサインに迷うこともないため、余計なトラブルは少ないかと思います。

M5Stack本体でセンサのデータを監視できる上、Webサーバにもなるので、任意のブラウザを使ってセンサの値を表示させたり、あるいはLEDなどを点灯させるということもできます。

開発言語もPython, C などのほか、UIFlow なども使えるので敷居は低いのではないでしょうか。

もちろん、M5Stackでもラズパイも何でも、自宅外から接続するとなると考えなければいけないことは当然あります。

でも、まずはローカルで簡単なIoT環境を実現させ、簡単な流れを把握してから宅外からの接続にチャレンジしてみても悪くはないと思いますが、いかがでしょうか。

投稿2020/03/04 08:06

TsukubaDepot

総合スコア5086

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

色々方法はあるのかもしれませんがコストが安く簡単な方法が知りたいです。

何をするために、何のコストを安くしたいのでしょうか?

IoT って雑な定義で「モノをインターネットに繋ぐ」ことを指します。
まず、要件を整理してみてください。

AWS で抑えられるコストの多くは運用等のナレッジコスト(造語w)です。
AWS 以外で運用経験がない場合、コスト計算ができないかも知れません。

投稿2020/03/04 06:41

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自己解決

その後いろいろ調べましたが、なんとなくわかってきました。
MQTTを使ってpub/subするのが一番簡単そうでした。
HerokuでCloudMQTTの無料版を使うのが安そうだと思いましたが、在庫切れ・・・

投稿2020/03/06 03:01

luckyclock

総合スコア73

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/03/06 03:27

通信プロトコルに限定した話であれば、最も実装が簡単なのは http です。 MQTT の実装は(今の所)設計も含めて非常に面倒です。 ただ、そんな話じゃないと思いますよ。。。
guest

0

色々方法はあるのかもしれませんがコストが安く簡単な方法が知りたいです。
サーバー運用のコストです。

サーバーのコストということなので、クライアントとなる IoT はあまり関係ありません。

要件にもよりますが、Heroku の無料プランAWS の無料利用枠を使えば、簡単かつタダでいけると思います。

投稿2020/03/06 01:42

nskydiving

総合スコア6500

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

AWS IoTを使って、証明書を発行し
エッジにいれてtopicを発行すれば良いです。

投稿2020/03/04 06:43

pokemonta

総合スコア170

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問