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

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

ただいまの
回答率

90.62%

  • PHP

    19786questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • Java

    13481questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Python

    7449questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

  • Ruby

    7306questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • C#

    6839questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

IoTの仕組みについて

解決済

回答 2

投稿 ・編集

  • 評価
  • クリップ 3
  • VIEW 2,527

chapp

score 156

お世話になってます。

今後、全てのものがインターネットと繋がる・・・という事が速いスピードで移り変わってくるものだと思います。

とても興味のある事ですが、お恥ずかしい質問だとは思いつつ、私自身、ブラウザベースでのプログラミングしか経験が無く、今後のIoTにおいて、流れ的な仕組みはイメージできても、言語や通信、そして端末機器など、どのような構成で成立つのか分かりません。

ここで質問なのですが、これら仕組みについて、端末にはどのようなコンピュータ?が使われ、どのようなプログラミング言語が使われているのですか?
また、通信機器や、通信方法はどのようなものになってくるのでしょうか?

あまりにも抽象的な質問で恐縮ですが、これまで学んできたPHP、MySQLにしても、知り合いに「会員サイトみたいなホームページはどういう仕組みで動いているの?」と単純な興味と質問から、「PHPとMySQLを勉強すれば出来るよ」と教えてもらったのが切っ掛けでした。

話が少しズレテしまいましたが、今後当り前となってくるIoTの構成について、お教え頂けると幸いです。

宜しくお願い致します。
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

+1

参考程度の情報ですが……。
IoT自体は徐々に盛り上がっているとはいえ、技術的に「こういう物だ」という明確なものがない印象です。以前盛り上がったWeb2.0のように。徐々に形になるとは思いますが、その過程で新しい言語やプロトコル、OSなども出てくると思いますので、これを勉強しておくと「確実に」「100%」IoTについていけると名言できるものがありません。

という前置きはある物の、ある程度の予測は出来るかと思います。
クライアント周りはあまり詳しくありませんが、例えば
 ・TCP、UDPなどが今後も使われる
 ・プロトコルは用途による
   ※HTTP(S)か、その上で動くものが多そう
 ・LinuxなどUNIXクローンベースのOSが内部で用いられる可能性が高いと思うが、
  組込み用途の商業OS(Windowsなど)のシェアはそれなりにあり、
  専用の新規OSの参入も考えられる
   ※ガラケーからスマホ移行期にiOSやAndroidが誕生したように。
 ・開発言語はある程度のトレンドがあるが、OSとの関連性が高いため、
  現在利用されている物がそのまま用いられるか、延長線上にあるのでは?
といった感じです。

体に身につけるウェアラブルな小型デバイスと、クルマに搭載する機器では用途もハードウェア的な要件も異なりますので一概にこれだとは言いにくいかもしれないですね。例えばクルマのような大型の端末が搭載できるスペースがあればかなり高機能なスペックが期待できそうです。

また、これらクライアントと連動する形で、それらを制御したりデータの授受を行うためのサーバも今後はより必要になるかと思います。クライアント側で実際の処理は行わず、サーバ側で判断をするケースも増加するでしょう。ロボット分野ではクライアントに載せきれない「知識」をすべてクラウド上に置く試みが何年も前から行われていたりシますし、ゲーム分野ではストリーミングを用いたクラウドゲーミングなども最近話しをよく耳にします。こういった上ではPHPやMySQLも生き続けるのかもしれませんね。


非常に漠然とした話しになってしまいましたが、もしもエンジニアとしてこれらのことに関わりたいのでしたら、現在動いている端末の内部仕様を調べることから初めてはいかがでしょうか?例えばルータはもとより最近はネットにつながる家電製品はたくさんあります。その上でどんなOSが動き、どんな言語で開発されているかを知ればイメージがつきやすくなるのではないでしょうか。

あとは電子工作なんかも参考になると思いますよ。
http://readwrite.jp/archives/4888
http://www.amazon.co.jp/dp/B00LP8GDKW/
http://www.amazon.co.jp/dp/B00OJRLZ7W/
 ※マンガですが、猫に端末くっつけてTwitter連動する話はIoTっぽいなと思いました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/02/04 18:05

    munyaXさん

    こんばんは。質問投稿後、早速の回答ありがとうございます。

    これまでPHPとMySQLくらいしか携わったこと無い者にとって、munyaXさんのように、このIoTのような仕組みを想像する機会は貴重でした。

    興味のある分野なので今後も色々と調べて行きたいと思います。

    ありがとうございました!

    キャンセル

checkベストアンサー

0

こんにちは。

先月、開催された「世界経済フォーラム・年次総会(ダボス会議)」で、Googleのエリック・シュミット氏が講演し、インターネットは近い将来、生活のあらゆる面に浸透し事実上「姿を消す」だろうとの予測を示し話題になりました。
こうした背景には、IoT(Internet of Things)を取り巻く技術などの急速な進化があることはまちがいありません。

ということで、chappさんのご期待に応えられるかどうかはわかりませんが、僕なりに得ている IoTに関する情報をまとめてみたいと思います。

【通信技術】
一般的な通信手段と同様、モノとインターネットを接続する手段としては有線と無線があります。
有線には、おもに Ethernetが用いられますが、今後、IoTに用いられるケースは減少していくものと思われます。
無線には、WiFi、Bluetooth、WiMAX、IEEE802.15.4などが用いられていて、IoTの分野においてとくに注目されているのが最後にあげた IEEE802.15.4という通信規格です。
IEEE802.15.4が注目されている理由は、接続されるモノが多数ある場合、同一のエリアにある個々のノード接続に適切に対応できるナローバンドの通信技術が必要とされるためです。また、同規格の無線モジュールは低消費電力である点からも IoTに適しているといわれています。

【プログラミング言語】
これはひじょうにむずかしい問題です。極論すれば、現在すでにプログラミングに使用されている言語はどれでも使える(応用可能)といえるのではないかと思います。
僕個人としては、組み込みレベルのデバイス(モノ)をインターネットに接続して新しいサービスを生みだすのが IoTの本質であると考えていますので、そうしたサービスを実現できる開発スピードとメンテナンス性をそなえた HTML5や JavaScriptなどの Webプログラミングの言語が主流になるのではないかと思っています。
じっさい、HTML5や JavaScriptで IoTをプログラムしようという動きが世界の各所で起こっているという記事などを目にしますし、Intelは JavaScriptでIoTでバイスを自由に制御できるソフトウェアインフラを整えようとしているという話もききました。

くりかえしのようになりますが、IoTは、さまざまなモノがインターネットに接続され、センサーなどを用いてデータを収集したりコントロールしたりすることができる世界をあらわす概念です。そして、その本質はモノとネットワークとサービスの融合だと僕は考えています。

IoTのレイヤーの側には、アプリケーションの層として WoT(Web of Things)のレイヤーが存在します。このレイヤーには、開発者の裾野がひろい Webエンジニアの多くが IoTの進化に参加できる機会が用意されています。
たとえば、RESTful APIを使うことで、モノと Webとをシームレスにつなげ、最適なサービスを提供することができるようになるのです。
それを思うとき、とてもわくわくする世界がひろがっていると感じるのは、僕だけではないはずです。

以上、ご参考いただければ幸いです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/02/04 18:11

    GeorgeCohtaさん

    こんばんは。大変興味深いお話をありがとうございます。

    > とてもわくわくする世界がひろがっていると感じるのは、僕だけではないはずです。

    私も同感です。
    私自身、知識が乏しいと自覚している身、これまで他の言語を学ぶ切っ掛けがありませんでしたが、今回を機に、HTML5や JavaScriptを学んでみようと思います。
    また新たな視野が広がりそうな気がします。

    大変貴重なお話しをありがとうございました!

    キャンセル

  • 2015/02/05 10:09

    chappさん、コメント(返信)をいただきありがとうございます。

    もっと先の未来は、スマホやインターネットにアクセスできないひとたちもその恩恵をうけることができる、デバイスやテクノロジーを感じさせない、空気のような存在になることが IoTのあり方の理想なのではないかと僕は考えています。
    たとえば、あるひとが体調を悪くして病院を訪れたとしたら、そのひとが履いている靴は過去数カ月遡った歩行の変化に関するデータを、肌着は体温や発汗などの変化をクラウドからロードし、医師の診断にさきがけて予診が行われるといったようなことができる世界です。
    もちろん、個人情報のあつかいやセキュリティなどの体制を万全にしておく必要はありますが、より多くのひとたちが快適に暮らすことのできる社会に貢献することがテクノロジーには求められていると僕は考えています。

    キャンセル

  • 2015/02/10 21:46

    GeorgeCohtaさん

    こんばんは。ご丁寧にお返事いただきありがとうございます。

    > IoTのあり方の理想なのではないかと僕は考えています。

    GeorgeCohtaさんのように理想を求め、今後を描き続ける事ってとても大切ですよね。
    良いお話しを聞けたと思ってます。刺激を受けました。

    ありがとうございました!

    キャンセル

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

  • ただいまの回答率 90.62%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • PHP

    19786questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • Java

    13481questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Python

    7449questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

  • Ruby

    7306questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • C#

    6839questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。