[メダカビオトープIOT化] IOTする機器の選択

 

さて、どんなシステムを使ってIOT化するか。
「IOT」とは Internet Of Things の略で、

いろんな電子機器をインターネトに繋げて、管理したり情報を集めようというものです。

一番身近なものは「スマートフォン」ですね。

必須の機能は「無線通信が可能」であることです。

 

私が今まで使ってきた「マイコン」はここに書いてあるものですが、Arduinoはそれだけでは通信ができません。

 

機能と将来性と、一番大事な価格を考えると「M5」シリーズしか私には選択肢が無い・・・

 

「micro:bit」も無線機能は持ってますが、

教育用途だし

基盤むき出しだし

IOT応用として考えると将来性は無いでしょう。

 

 

 

 

2枚上の写真の

オレンジ色の製品が「M5 Stick-C」で1800円程度

灰色が「M5 Atom-lite」で1000円弱

(価格は購入当時。現在は値上げされてますね・・

当時は本当に儲け度外視の値付けでした。)

オレンジ君は電池内蔵で各種センサーと液晶表示を持つ万能選手です。

だが、周辺機器を内蔵している関係で、使える入出力用のピン数が少ないという弱点があります。

他にもフル装備の「M5Stack」という選択肢もあるのですが、目的からすると重装備過ぎるし高価

 

ということで、発売直後でネット資料は少なかったけど「M5 Atom-lite」を購入しました。

 

M5Stackに内蔵されているESP32というチップの解説書は広島市図書館に蔵書があったので、とりあえず借りて読みました。

ネット上でもほぼ同じ情報が筆者によって公開されてます。

機能説明はスイッチサイエンスから引用

 

M5Stackシリーズの中で最もコンパクトな開発モジュールで、サイズはわずか24 x 24 mmです。M5StickCに比べGPIOピンを多く持ち、小型の組み込みデバイス開発に適しています。メインコントローラとして、ESP32-PICO-D4チップを搭載しているので、Wi-FiとBluetooth、4 MBの内蔵SPIフラッシュメモリを利用できます。

本製品は、赤外線LED、 RGB LED、ボタン、Grove互換コネクタを備えています。さらに、六つのGPIOを介してセンサやモーターなどに接続できます。給電はType-Cコネクタから。

 

 

プログラム作成に使える環境は、

「ブロックエディタ」という「Scratch」を源流としたビジュアルな環境「UI-Flow」です。

表示を切り替えると「micro Python」での開発も可能です。

 

ただし、「UI-Flow」はベースとなるファームウエアプログラムを予め入れておく必要があることと、センサー製造会社がブロックパーツを提供していない場合は、利用ができない(私には)という不利な面があります。

 なので、これは使いません。(Stick-C上では使っていますけど)

 

「M5」シリーズ(Atom-lite)での開発は、真面目に取り組む場合は、「ArduinoIDE」と言いう専用のアプリケーションを使用します。

 

これはC言語を基本としたもので、何十種類ものArduino亜流マイコンに対応した開発環境です。

 

昔ながらの命令を手で入力していくもので、入力アシスト機能はありません。

(次期バージョンがあるようですが、改善されてるかも。)

 

各メーカーが開発用のライブラリなどをGitHub辺りで提供していますので、ここからダウンロードしてArduinoIDEシステムへインストールします。

 

M5を作ってる会社はものすごい勢いで新製品を発売するので「ESP32」では動かなかった。

 

とにかくネット上の情報が古くて、かなり迷いました。全部英語だし・・・

 

かなり四苦八苦して、プログラムを作成するまでにこぎつけました。

「Hello World」は初めてのCプログラムのお約束ですね。

 

 

#include "M5Atom.h"

void setup() {
    M5.begin(); 

    Serial.begin(115200);
}

 

void loop() {
    M5.update();    // update button state
    Serial.print("hello world\n");

    delay(1000);
}