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

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

ただいまの
回答率

90.51%

  • IoT

    68questions

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

IoT、AIの仕組みについて

解決済

回答 1

投稿

  • 評価
  • クリップ 1
  • VIEW 1,326

chapp

score 170

お世話になってます。表題の「IoT、AIの構成」について、ご存知の方がいらしたら教えてください。

私のプログラム暦は、PHPとMySQLを6-7年程度の者で、プログラムを学ぶ切っ掛けとなったのも、プログラマーになりたい!というものでなく、ホームページの延長線で「会員サイトを作りたい」というところがスタートだったので、全て独学だったこともあり、その目的(会員サイト)を手にするためだけの理解(ハード的な構成も含め)しか持ち合わせておりません。

さて、以下は、あるサイトからの引用ですが、IoT、AIなどが注目されている現在、特に珍しくもない内容ですが、ここの仕組みやハード構成などが見えてこず、興味があっても何から学べばいいのか分からず、こちらに投稿した次第です。

~~~~~~~~~~~~~
電気自動車にAIを組み込むTesla Motors

Tesla Motorsといえば、高性能でスポーティな電気自動車のメーカーとして広く認知されている。自動(自律)運転に向けても先駆的に取り組んでいる。同社のシステムは、GPS(Gobal Positioning System:全地球測位システム)と連動する全車両からのリアルタイムにデータとフィードバックを受信し、学習に学習を重ねて、日々その機能を高めていく。車両には前方にレーダーとカメラ、車の周囲には16フィートを360°検知できる12個の超音波センサーが装備されている。

個々の車両は、Wi-Fi接続によりソフトウェアをアップデートし、機能を拡充させていく。ソフトウェアの更新はおおむね週1回の頻度だ。ディープラーニング技術を活用して、利用者が運転すればするほど知見が蓄積され学習し、その結果として車両自体が賢くなっていくという。すでに自宅の敷地内にある駐車場から玄関まで自動的に走行し、オーナーを迎え入れる機能まで実装している。
~~~~~~~~~~~~~~~

上の文章から例にとると、
Wifi接続により通信を行っているのは想像は付きます。
データを収集し、ビックデータの中から分析をし、個々のソフトウエアをアップデートしていくことも理解は出来ます。

ここで分からないのが(お恥ずかしいですが)、

・Wifi接続ってどんな機器をそろえる必要があるの?

・Wifi接続って個人が揃える機器で通信を行うことが出来るの?

・Wifiってプロバイダーとの契約が必要?

・個々の車両に取り付ける機器はどのようなものなのか?ウェブサイトを例に挙げるなら、車両につけるのはクライアントマシンになると思う。PCであればwindowsやMacなど、OSが組み込まれたものが売られているが、今回の例を含め、IoTの実現に向け設置されているクライアントマシンにあたるものは、どういったものなのか?

・このクライアントマシンに組み込みソフトウェアは、どのような言語になるのか?

・ウェブサーバー側で、データを分析するためのソフトウェアは、クライアントマシン側のプログラムと愛称はあるのか?もしくは適切なものがあるのか?

こういったところが想像の域を脱せないままでいる次第です。

恐れ入りますが、とても興味のある分野なのでお教えいただけると幸いです。
年末年始のお忙しい中恐縮ですが、宜しくお願い申し上げます。

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 1

checkベストアンサー

+2

chappさんのご質問は非常に広範囲かつ抽象的なので、このような質問サイトの回答欄でズバリ回答するのは非常に困難ですね…

しかし、理解を深める上でいくらか役立つかもしれない点があるので、ご参考になればと思い回答します。

1. Wi-Fiについて

Wi-Fiに関するご質問については、単純に以下のような言葉の意味を再確認すれば自ずと解決すると思います。Wikipediaからの引用で恐縮ですが…

Wi-Fiとは】

無線LANの規格のひとつ。

Local Area Networkとは】

広くても一施設内程度の規模で用いられるコンピュータネットワークのこと。

インターネットとは】

インターネット・プロトコル技術を利用してコンピュータネットワーク間の相互接続を行うことにより実現されるネットワークのことである。

インターネットサービスプロバイダとは】

インターネットへの接続を提供する組織のことである。プロバイダやISPなどと略して呼ばれることが多い。日本では電気通信事業者の一つとして位置づけられている。日本語では役務からインターネット接続事業者(略して接続事業者)と訳されることがある。

まず、Wi-FiとはLANに無線で接続するための技術で、プロバイダとはインターネット接続サービスを提供する事業者であるという点をご確認ください。

つまり、Wi-Fi自体はLANに接続するためのものであり、LANは「一施設」つまり自宅の中などのような限定された範囲で使用されるローカルなネットワーク(=個人的なもの)なので、利用に際してどこかの事業者と契約する必要性はありません。

ついでにちょっと補足すると、インターネットのインターとは「中、〜間、相互」を意味します。インターチェンジが複数の高速道路の間を繋ぎ乗り換えるための道路であるように、インターネットは複数のネットワーク(世界中に点在するLANを含む)を相互に接続した世界的なネットワークのことを指します。

そして、そのインターネットへは、混乱を避けるために資格を持った事業者しか接続できない決まりになっているので、インターネットを利用したければ、資格を持った事業者から有償で接続サービスを受ける必要が有るということです。

Wi-Fiは、スマホを自宅内や商業施設内でWi-Fiモードで接続する際にもあまり意識せずに使用しているような普及した技術であり、必要な機器も個人レベルで簡単に購入できます。
親機(インターネットに接続する側)は無線LANアクセスポイント、子機(クライアント側)は無線LANアダプタなどと呼ばれますので、それをキーワードに検索してみれば色々と情報が得られると思います。

2. IoTについて

まずはIoTという言葉自体の意味を再確認してください。

モノのインターネットを指し、全てのモノがネットワークを介して繋がり、モノ同士が人の操作・入力を介さず、自律的に最適な制御が行われることを意味します

つまり、Iotとは非常に幅広い概念であり、クライアント側のマシンがどのようなものであるとか、どんな言語が使用されるとかのような具体的な回答は出しようがありません。
インターネットで人を介さずに直接接続されるシステムは全てIoTなので、何でも含まれる可能性があります。

3. 組み込み系システムについて

次に、組み込みシステムとはどのようなものかを確認してみてください。
いまや100円ショップで売っているような簡単な装置でさえ電子制御になっており、電子装置の多くがマイクロプロセッサを内蔵しています。(こちらも参照)

組み込みシステムは,特定の用途に向けて設計されたものです.つまり,汎用のシステム以外のマイクロプロセッサ搭載機器は,すべて組み込みシステムといえます.

マイクロプロセッサを活用する利点
● 開発効率が上がる
● 開発時の仕様の変更に柔軟に対応できる
● 出荷後でも機能のアップグレードができる
● 不具合の修正に柔軟に対応できる

このような目的でマイクロプロセッサが多用されていますので、自動車を例に上げれば、一台の車に既に数百〜千個ものコンピュータが搭載されています。
そのうちのどれがどんな目的でインターネットに接続されるかは分かりませんので、具体的な回答が難しいという次第です。

組み込み系の場合、搭載されているメモリ容量や実行速度上の制約がとても大きいです。

ですので、特に制御系システム(エンジンなどの動作をコントロールするシステム)であれば本格的なOSは搭載せず、アセンブラ言語でゴリゴリとプログラムを書いている場合が多いです。
最近では制御系システムも大規模・複雑化が著しいので、C言語が多く用いられています。
OSを搭載する場合も組み込み向けリアルタイムOSという特殊なOSが使用されます。

一方、オーディオシステムの制御など、より人間寄りの使い勝手に関わる分野では、JavaやC++なども多く使用されていると思います。

しかしながら、特定の分野に特化した特殊な言語も多数存在しますし、逆に運転者がインターネットからの情報提供を受けるための装置はもはやPCと変わらないので、その開発スタイルや使用言語も殆ど同じだと思います。

4. システム間の相性について

システムであれば、当然、相性というものはあると思います。しかし、IoTの場合はシステム同士が直結している訳ではなくインターネット経由なので、システム同士の相互作用はほぼ皆無であり、システム間の相性というよりは処理対象のデータの性質によるところが大きいと思います。

つまり、リアルタイム性を求められるのであればデータ処理に特化した処理速度優先の言語システム、高度に構造化されたデータの処理であれば複雑なデータ構造を扱いやすい言語システム、ビッグデータを扱う必要があるなら、たとえばHadoopのようなシステムなどが適してのは明らかです。

ちなみに、『ウェブサーバー側』でのデータ処理に言及されていますが、ウェブとはWorld Wide Webの略であり、インターネット上で提供されるハイパーテキストシステムのことです。これはいわゆるホームページから、リンクを辿って目的の情報を次々と閲覧するためのシステムであり、人間が利用する前提で設計されているので、IoTの世界ではあまり広くは利用されていないと思います。

また、通信に利用されるプロトコル(規約)も、Webの場合は一般にHttpを利用しますが、IoTの場合はより適切なプロトコルを使用します。

IoTでの利用を期待されているプロトコルについて

以上、幾らかでもご参考になれば幸いです。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2015/12/31 21:56

    pi-chanさん

    こんばんは。お忙しい中、またお疲れの中、ご親切な回答をありがとうございます。
    抽象的な質問にも拘らず、ご丁寧な回答に感謝です。

    これまで偏ったプログラム制作にしか携わっていないので、どれもありがたい情報であると考えてます。特に「組み込み系システム」というキーワードも始めて耳にしました。

    まだ具体的に作りたいモノがないので、どれも抽象的な質問になってしまいましたが、pi-chanさんからの情報を参考にして、知識を広げる切っ掛けにしたいと思います。

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

    キャンセル

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

  • IoT

    68questions

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