PythonとIoTの関係性を現役エンジニアが解説【初心者向け】
初心者向けにPythonとIoTについて現役エンジニアが解説しています。IoTとはInternet of Thingsの略でモノのインターネットと呼ばれています。この記事ではIoTの環境についてみていきましょう。
TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。
PythonとIoTの関係性について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。
Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まるでしょう。
なお本記事は、TechAcademyのオンラインブートキャンプPython講座の内容をもとに紹介しています。

今回は、Pythonに関する内容だね!

どういう内容でしょうか?

PythonとIoTについて詳しく説明していくね!

お願いします!
IoT(Internet of Things)とは
IoTとは、Internet of Thingsの略で日本語ではモノのインターネットと呼ばれており、「モノ」がインターネット経由で通信を行う仕組みのことを指します。
「モノ」とは、これまでインターネットにつないでやり取りをすることがなかったセンサーや家電製品のことです。
「モノ」がスマホやタブレットなどの通信機器の発達とともに通信が可能になったことから、近年注目されている技術といえます。
PythonのIoTへの応用
IoTにおいて、Pythonは以下のような大きな役割を果たします。
- Webアプリで使われる言語であること
- Raspberry Piの普及
- MicroPythonの登場
Webアプリで使われる言語であること
Pythonには種類豊富なWebフレームワークが存在することから、Webに強い言語ともいえるでしょう。
センサーのデータを可視化するためにデータベースに接続したり、デバイスをコントロールするためのシステムを一貫してPythonで開発をすることが可能です。
MicroPython
通常IoTのプロジェクトを行う際には、「モノ」と通信を行う部分はマイコンを使用します。
マイコンの開発についてはArduinoで行うことが多いものの、最近ではMicroPythonで開発する事例も多く登場しました。
Arduinoでは実現が難しかった画像処理のプログラムをマイコン上で動かすことができるようになるなど、MicroPythonによってIoTの可能性が更に広くなりました。
Raspberry Piの普及
Raspberry PiはPythonを使って「モノ」を操作することができるパソコンです。
Pythonでセンサーの値を送信するプログラムを作成して実装している事例が多く存在し、IoTのプロジェクトに取り組みやすいツールとしてPythonとともに普及し始めました。
プログラミング言語MicroPythonとは
MicroPythonとは、Cで記述されたマイコンへの制御をPythonで制御できるように最適化された言語です。
2013年にクラウドファウンディングで資金集めを行い、オーストラリアのプログラマ・物理学者のダミアン・ジョージによって開発されました。
言語仕様はPython3と互換性があり、専用のPyBoardだけではなく、ESP32やmicro:bitでもMicroPythonで開発ができます。
Raspberry Piとは
Raspberry Piは2012年にイギリスのラズベリーパイ財団によって開発されたLinuxが動作するシングルコンピュータです。
Raspberry Piには他のマイコンのようにピンヘッダーが実装されておりここに電子部品を配線することでプログラムで制御することが可能です。
Pythonに関してはRasPiGPIOというライブラリでこれらのピンヘッダーの制御を行うことができるでしょう。
これにより、Pythonだけでセンサーのデータを取得してRaspberry Piからアップロードすることができるようになります。
もともとは教育向けに開発された製品だったものの、IoTが栄え出した2010年代後半からは、安価で手に入るコンピュータとして趣味での開発や業務で製品の試作など多くの目的で使われるようになりました。
Raspberry Piの「Pi」はPythonの「Py」からとったといわれているそうです。
PythonとRaspberry Piを使ってできること
実際にRaspberry PiとPythonを組み合わせてできることの例をいくつかみていきましょう。
その1 監視カメラシステム
Raspberry Piには専用のカメラモジュールが存在するため、そのカメラモジュールを使って画像を取得し、データを溜め込む仕組みを作ることが可能です。
また、データを溜め込む以外にもOpen CVやディープラーニングのライブラリを使って、カメラに写ったものが何かを知らせるアプリを作ることもRaspberry Piなら簡単に実現できます。
USB端子があるため、USBカメラを使って実装することも簡単です。
その2 スマートホーム化
Raspberry Piがあれば家にあるちょっとした家電をスマートホーム化させることが簡単です。
例えば、エアコンのリモコンをRaspberry Piを使って遠隔でオン・オフできるようにすれば快適になります。
その3 スマートスピーカー
マイクとスピーカーを入れることで自作のスマートスピーカーを作ることもできます。
自分の好みに合わせて機能を足すことができるのでアイデア次第で面白い作品が作れるでしょう。
執筆してくれたメンター
メンター三浦
モバイルゲームを運用している会社のエンジニアをしています。趣味でWEB開発やクラウドコンピューティングもやっており、ソフトもハードもなんでもやります。 TechAcademyジュニアではPythonロボティクスコースを担当しています。好きな言語はPython, Node.js。 |

PythonとIoTの関係性がよく分かったので良かったです!

ゆかりちゃん、これからも分からないことがあったら質問してね!

分かりました。ありがとうございます!
TechAcademyでは、初心者でも最短4週間で、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、参加してみてください。