Pythonが創造するIoTの未来


Pythonを使えることが「プログラマーの年収に影響する」となれば、穏やかではありません。2016年、求人検索エンジンの事業を手がける株式会社ビズリーチは、「プログラミング言語別 平均年収ランキング」を発表しました。プログラム言語が含まれる求人情報の給与金額の平均を集計したランキングです。

結果は、Python が1位で、求人の平均年収は651万円。2位はPerlの633万円、3位はRubyの606万円で、この3つの言語を使うことのできるプログラマーの求人ニーズが増加しているそうです。

ランキング結果のプレスリリースでは、機械学習エンジニアやロボットのアプリケーション開発エンジニアの需要と人工知能ブームの追い風によって、Pythonでプログラミングできる開発者の求人が増加していると考察しています。

ところで、AIのプログラミングでは自然言語処理や画像認識のようなデータ解析の分野がよく取り上げられます。しかし、今後は組み込みソフトウェアの開発需要も増えるのではないでしょうか。

IoTの未来を見据えつつ、組み込みソフトウェアの面からPythonのプログラミングを考察します。

組み込みソフトウェアとは何か

マイコン炊飯器という名称は聞いたことがあるかもしれません。炊き具合をマイコンで制御する炊飯器です。

テレビを録画するハードディスクレコーダーにも、冷蔵庫やエアコンにも、電子機器に組み込まれたOSやソフトウェアが動作を制御しています。もはや自動車も電子機器といってよいほど、あらゆる電子パーツが使われています。

このように、パソコンで使うソフトウェア以外に、家電などのデバイスで基本的な制御を行うソフトェアが組み込みソフトウェアです。ファームウェアと呼ばれることもあります。

PC中心のソフトウェア開発にない特長としては、基本データをROMに割り当て、実行データをRAMに割り当てるなど、メモリの設計が必要になります。おさいふケータイのプラットフォームFeliCaの開発においても重要です。さらに最小限のプログラムで実行できること、消費電力を抑えるなど、ハードウェアと関連した仕様も重視されます。

組み込みソフトウェア開発は一般のソフトウェア開発と比べると、どちらかといえば日の当たらない印象があるかもしれません。しかし、家庭や産業にIoTが浸透した場合、組み込みソフトウェアの開発は重要になるはずです。

組み込み系のMicro Python

Pythonには組込機器向けの環境があります。それが「Micro Python」です。

Micro Pythonは、マイコン上の動作を目的として最適化されたプログラム言語で、ArduinoやRaspberry Piではなくても、手軽にマイコン上で動作させることができます。

Micro Pythonは、PEALを使ってコマンドやコードの動作をインタラクティブに確認できることが特長です。Python3と互換があり、C言語によりスクラッチで作られました。FFI(Foreign function interface)により、音声読み上げ機能の追加など機能を拡張できる柔軟性があります、

現在、IoTといえばRaspberry Piを使った学習やプロトタイプの実作が多くなっています。しかし、Micro Python を使えば、Raspberry Piより低いスペックのマイコンでもWi-Fiによるネットワーク通信が行えます。

ハードウェアは「pyboard」が公式であり、マイクロコントローラはSTM32系、CPUは168 MHz Cortex M4 CPU with hardware floating point、1024KiB flash ROM and 192KiB RAMというスペックになっています。Micro Python の組み込みボードは電子パーツ専門店のほか、Amazonで購入できます(2017年6月現在)。

Micro Pythonの用途とは

最近、産業向けにRaspberry Piの需要が伸びています。Raspberry Pi は、2016年10月末まで1年間で400万台が販売されたとのこと。そのうち半数の200万台が産業用であり、主な用途はデジタルサイネージ(街頭用の液晶ディスプレイ)だそうです。

参考:産業用にも広がるRaspberry Pi、開発者Eben Upton氏 来日インタビュー

産業用のマイコンは、過酷な条件に耐える必要があります。たとえば、屋外の農場で植物の成長や水や肥料などの状態を計測するような機器の場合、耐水性や耐熱性が求められます。このとき、安価であればコストを抑えられます。壊れたときの代用も負荷になりません。

IoTは家電製品だけでなく、農業、工業、建設、流通などさまざまな産業で利用されるようになるでしょう。情報を蓄積する大規模なデータベースが必要になる一方で、情報を収集するための低コストで大量の端末が必要にする場合もあり得ます。

このような条件下では、安価なマイコン上でも作動するMicro Pythonとシンプルなプログラムを組み込んだIoTは、さまざまなフィールドで活用されるのではないでしょうか。

IoTの入り口として

IoTの開発では、Mycro Pythonでプロトタイピングを行い、実際には本格的なプログラムを組むステップもありそうです。入門学習にしてもプロトタイピングにしても、「IoTで何をプログラムしたいのか?」を明確にした後で、PythonやMicro Pythonでプログラムを組んでハードウェアを使って動作を確認すると、実践的なトライアルができます。

株式会社キャパでは、アプリの企画・開発についてご相談を承っています。

アプリを作りたいので、具体的な提案が欲しい。頭の中にあるアイデアを本当に実現できるのか知りたい。予算内に収まるのか?
などのお客様のご相談に、親身に応じます。
アプリ開発:実績のご紹介


関連記事一覧

we love develop
アプリやシステムの開発を通じて、お客様のビジネスを成長させることが私たちのビジネスです。お気軽にお問い合わせください。
 お問い合せ

お電話でのお問い合わせはこちらから
TEL:03-5297-2871

メールマガジンの登録

キャパでは誰かに話したくなるようなIT小ネタを、週に一回メルマガで配信しています。
ぜひ購読してみませんか?
 購読する

ホワイトペーパーの入手

ITブログ月間20万PV達成!自社オウンドメディアの運用ノウハウを無料公開しています。
 ダウンロード

記事カテゴリ記事カテゴリ

月別投稿記事

PAGE TOP