大人・社会人

【初心者必見!】これから始めるIoT×プログラミング

アメリカではすでに小学生でも学校で勉強しているプログラミング。

これまでは一部のプロフェッショナルだけができればよいという世界で、一般人からは程遠い世界というイメージの方も多いのではないでしょうか。

しかし、ここ数年で両者の距離はどんどんと縮まってきています。 日本においても、子供向けのプログラミング教室が立ち上がるなど、プログラミング学習の低年齢化も加速する方向に向かっています。

さらに、これまではスマートフォンやPCだけがインターネットに繋がっている時代から、それ以外のモノがインターネットに繋がる、IOT(Internet of Things)時代が到来しようとしています。

今回は、プログラミングやIoTに興味を持ち、実際に始めようとしている人たち向けに、そのキッカケになるよう、プログラミングとIoTについてご紹介します。

そもそもプログラミングとは?

『IoTには興味あるけど、その前にそもそもプログラミングって何?』

この記事を読んでらっしゃる方にはそのような方もいらっしゃるかもしれません。

プログラミングとは一言で言うと「コンピュータに実行してもらいたい処理を、人間が理解できる言語で書くこと」です。

日本人同士であれば、日本語を使ってコミュニケーションを行うのが当然でしょう。

それと同じようにコンピュータにはコンピュータが理解できる言語があります。

その言語が機械語と呼ばれる0と1の集まりです。コンピュータは半導体の集まりでもあり、半導体は電気を通すか通さないかの2つのパターンしかありません。

その2つのパターンの組み合わせによってコンピュータに対する命令を記述するのです。

しかし、いくらコンピュータが0と1の集まり(機械語)を解釈できるとしても、人間にとってはただ数字の0と1が羅列されているようにしか見えません。

例えば、「010110が足し算を表す命令で、111000が引き算を表す命令です。」と言われたところで人間からすれば、直感的にはよく分からないですよね。

命令が少なければ憶えられるかもしれませんが、多くなれば直感的に命令を書く(プログラミング)ことが難しいでしょう。

だから、足し算は「+」、引き算は「-」といった、直感的に人間に分かりやすいように変換しているのがプログラミング言語であり、そのプログラミング言語を使って命令を記述する行為をプログラミングと呼びます。

IOT(Internet of Things)とは?

では次にIoTについてみていきましょう。

身近にあるIT機器を見渡してみて、インターネットに繋がっているモノとして何があがるでしょうか?

おそらく多くの方がスマホやパソコンをあげるのではないでしょうか。

これまでのIT社会ではそれが当たり前でした。

しかし、それが変わっていくのがIoTの概念です。

これまでは人間がパソコンを使用してデータを入力したりしていましたが、それ以外にモノに取り付けられたセンサーが直接人間の手を介さずにデータを入力し、インターネット経由で利用することができるのです。

IoTにより、センサーと通信機能を持ったモノ達がアウトプット(出力)している情報をインターネットを介し様々な場所で活用することができるようになりました。

モノをインターネットに繋ぐことによって、離れたモノの状態を知ったり、操作することができるのです。

IoTが無いときはユーザーが情報をインプット、アウトプットするのが当たり前でしたが、IoTによって、モノたちが情報をインプットして、それをインターネットで集約させることができるようになったわけです。

これは大きな違いですね。

IoTを使ったプログラミングを始めるためには?

『プログラミングとは何か?』『IoTとは何か?』が何となくでもイメージできたら、次は実際に手を動かしながら何か作ってみるとよいでしょう。

ただの知識としてIoTやプログラミングのことを知っていたとしても、あまり意味はありません。

得た知識をもとにどう実践行動するかの方が重要です。中国の陽明学に知行合一という言葉があるように、本当の知は実践を伴わなければならないのです。

IoTを自作するためのコンピュータとしてはRaspberry PiやArduinoが有名でしょう。

ここでは両者を紹介しながら、それぞれの特徴と違いについて説明します。

Raspberry Pi (ラズベリーパイ)について

Raspberry Piはイギリス生まれの小型コンピュータです。

元々学校でのプログラミング教育のために作られたコンピュータのため、初心者でも扱いやすいようになっています。

Arduino (アルドゥイーノ)について

こちらもRaspberry Piと同様に、低価格でハードウェアとソフトウェアの制御を行うことができる小型コンピュータです。

電子工作によって、センサーなど様々なハードウェアを付けるなど、自由にカスタマイズができる優れモノです。

Raspberry PiとArduinoの大きな違いとしては、前者はOS(Operating System)を持っていて、後者は持っていないという点です。

Raspberry PiはLinuxというOSが搭載されているため、そのOSが標準で持っているライブラリを活用することができますが、Raspberry
PiはOSを持たないためライブラリを使えません。

その分、OSの制限を受けずにハードウェアを追加できたりるというメリットもあります。

まとめ

今回はIoTのプログラミングに興味を持ち、始めてみたいけれど、どこから取り掛かってよいのかわからない方向けに、プログラミングの基礎、IoTの基礎、そしてIoTを実際に始めるにあたって必要な情報を提供しました。

この記事が一歩踏み出すキッカケとなってもらえれば幸いです。

コードキャンプ(CodeCamp)★公式サイト