最近「M5Stack」について触れた人「結局なにができるか知りたい。仕事に役に立ったりするのかな?」
こういった疑問に答えます。
「M5Stack」とは?
深センのスタートアップ起業が開発した「M5Stack」は小型のマイコンボードです。
5cm✕5cmのコンパクトな筐体の中に、マイコン、液晶ディスプレイ、ボタン、バッテリー、スピーカ、I/Oなど様々な機能が盛り込まれています。
ESP32というマイコンが組み込まれており、Wi-FiやBluetoothによる無線通信なども可能です。
2017年にM5Stackが登場し、その扱いやすさから人気を獲得し、M5Stackを使うユーザーが急激に増えています。
趣味や教育としてはもちろんのこと、実用的なIoT開発をする際にも使われています。
このページでは、「M5Stack」の将来性や身につくスキルについて説明していきます。
M5Stackでできることとは?
結論:M5Stackがあれば下記のようなことができます。
- C言語をはじめとするプログラミング
- 内蔵ディスプレイやボタン、スピーカを使った制御
- センサーや拡張モジュールを使った電子工作
- Wi-FiやBluetoothを利用した通信
- RTOSによるシステム設計
1.C言語をはじめとするプログラミング
M5Stackは簡単にプログラムを書き込めるので、初心者の方でもすぐにプログラミングを通じた開発ができます。
開発言語は、スタンダードなC言語やArduino言語だけではなく、Python系やJavaScript系など様々な言語に対応しています。
このようなハードウェア開発では、リアルで動くものを確認しながら開発できるので、楽しみながらプログラミングが可能です。
また、プログラミングは少しハードルが高い・・・という方にも「UIFlow」というプログラミング方法があります!
UIFlowはM5Stack社が開発した開発環境で、ブロックを組み合わせることで簡単にプログラミングできる手法です。
視覚的にわかりやすいため、誰でも抵抗感なく試してみることができるのでオススメです!
2.内蔵ディスプレイやボタン、スピーカを使った制御
M5Stackの筐体には、ディスプレイ、ボタン、スピーカ、microSD、バッテリなどがあらかじめ内蔵されているので、すぐに制御を試すことができます。(シリーズによっては、マイクや加速度センサなども入っている)
例えば、ディスプレイに操作画面やイラストを表示させてみるのも良いですし、「.mp3ファイル(音声データ)」を通じて、音楽や効果音を鳴らしたりできます。
安価なマイコンボードに、ここまでの機能が入ってるものはかなり少ないので、その点でもM5Stackは魅力的ですね♪
3.センサーや拡張モジュールを使った電子工作
M5Stackシリーズには、たくさんのセンサーやカメラといった拡張モジュールがリリースされているので、シーンによってカスタマイズしやすいのが特徴です。
例えば、温湿度センサを取り付けて農業のデータを取得したり、カメラを取り付け画像認識することでどんな人が来たかを監視する防犯カメラなんかも作れます!
マイコンボードはつい何をしたらよいか迷いがちですが、M5Stackであれば組み合わせが無限大なので、飽きずに取り組みやすいです!
4.Wi-FiやBluetoothを利用した通信
M5Stackに組み込まれているマイコンは、ESP32というもので、「Wi-Fi」や「Bluetooth」の機能がついているので、すぐに通信を使った開発を行えます。
例えば、センサーで取得した値をWi-Fi経由でサーバーに飛ばして、スマホで内容を確認したり、Bluetoothで近距離間のデータを送り合うなんてこともできます。
インターネットが普及し、技術が進化する現代では、WiFiやBluetoothの機能はあらゆる製品に組み込まれています。そのような開発の第一歩目として捉えると、いろんなものが作れる未来になりそうです。
5.RTOSによるシステム設計
こちらは上級者向けになりますが、「FreeRTOS」によるシステム設計ができるのも魅力のひとつです。
Amazonが2017年にFreeRTOSを買収し、時代が大きく変わりました。
とくにFreeRTOSで開発した製品を商業利用として扱うことが簡単になったことが大きく、様々な会社がFreeRTOSを利用した商品やシステム開発を行っています。
このように、M5Stackは試作だけにとどまらず、実用的な開発まで行えるので、遊びだけではないところも人気急上昇している理由です。
どんなスキルが身につくのか?
M5Stackの学習を始めれば下記のようなスキルが身につきます。
- 基礎的なプログラミングスキル
- OSやマイコンをはじめとするコンピュータの理解
- 電子部品の理解や通信の設定
基礎的なプログラミングスキル
M5Stackを通してプログラミング開発を行えば、自然とプログラミングスキルが身につきます。
経済産業省は2030年にIT人材が最大で79万人不足すると発表しています。
世界中におけるデジタル環境が加速する中で、優秀なIT人材はますます貴重になってきます。
今後どこの企業も人材の争奪戦がはじまり、当然ながら高い報酬や好待遇で迎え入れようとされるでしょう。
M5StackはそんなIoTやAI開発を、プログラミングを通してスキルアップできるので非常におすすめです。
OSやマイコンをはじめとするコンピュータの理解
M5Stackを触っていくと、コンピュータの理解がはかどります。
実際にものをうごかすハードウェア開発では、ソフトウェアの知識だけには限らず、情報がどのように処理されているかや、資源をどのように運用するかなど、幅広い知識が必要です。M5Stackに触れ、少しずつ何がどのように動いているかを理解していけば、自然と経験値も増えていくでしょう。
こういったハードもソフトも扱える人材は、知識やスキルの取得難易度が高いですが、その能力を身につけられれば、かなりの場面で活躍が期待できます。
電子部品の理解や通信の設定
M5Stackでは拡張モジュールやI/Oを通して、電子部品や通信のスキルも身につきます。
例えば、センサがどうやって値を取得しているのかや、電子回路がどのように動いているかなど、手にとってみないと分からなかったり、そもそも考えつかないこともあります。
また通信も同じで、情報がどのような仕組みで送られているかや、セキュリティがどのように設計されているかなど、実際にものを動かすことで理解できることは多いです。
よって、M5Stackはハードウェアを動かすのにかかせない知識を網羅的に理解したり、考えるきっかけになるので、初心者がはじめる一歩としても損はないと思います。
M5Stackを始めるポイント
M5Stackは誰でも簡単にはじめられます。
- 自分にあったM5Stackを見つける
- 開発環境を整える
- 手を動かして開発してみる
1.自分にあったM5Stackを見つける
M5Stackにはいくつか種類があるので、まずはそれぞれの比較する必要があります。
選び方は、ご自身の予算や使用用途により変わってくると思いますが、なかなか決められないという方は、まずは「M5Stack FIRE」なんかがオススメです。
他のシリーズにはない「PSRAM」や「マイク」をはじめ、9軸の加速度センサやバッテリの容量も多く、コストパフォマンスが最適なのが魅力出来です。(筆者も一番多く使ってます)
2.開発環境を整える
M5Stackをはじめるにはパソコンにいくつかのツールを、セットアップする必要があります。
もちろんツールは無料でダウンロードできますので、M5Stackを入手したら開発環境を整えましょう。
開発環境にも「ビジュアルプログラミングができるUIFlow」「定番マイコンArduinoの開発環境であるAruduino IDE」「本格的な開発環境でおなじみのVSCode」など種類がありますので、ご自身にあったものを選んでいただければと思います。
3.手を動かして開発してみる
最後になりますが、やはりハードウェア開発にかかせないのは、実際のものを動かしてみることだと思います。
どんなに原理や仕組みを頭で理解しても、それを動かしてみなければ、なかなかスキルとして身につきません。
逆にものを動かし失敗や成功を繰り返せば、確実に経験とスキルアップを積み重ねることができます。
M5Stackはそんな初心者から高度な技術者までが、様々な使い方で開発できるマイコンボードです。
ぜひM5Stackを通して、あなただけのアイデアを形にし、希少なエンジニアを目指してみてはいかかでしょうか?
参考までにTwitterで「#M5Stack」で調べると様々な人が、アイデアをSNSで投稿したりしてます。
また、M5Stack公式のコンテストなんかもありますので、慣れたらそういった場で披露してみるのもいいかもしれません。