見出し画像

M5Stackで家までの距離を見える化してみた

小さいことはきっといいこと

何か作ってみたいと思わせる外見がM5Stackにはある。かつてのGame Boyを思わせるようなプラスチックの筐体にディスプレイ、物理ボタン、micro SDカードスロット、スピーカーを持ち、BLEやWiFiネットワークも適法に利用できる。外部センサーにも繋げることができる。ArduinoかPythonでプログラムを書き込めば、ある程度何にでもなってしまう緩さを秘めている、それがM5Stackの魅力だ。

付属のケースやロゴが可愛いらしい。

本体を開いたところ。5cm x 5cm x 1.7cmの筐体に可能性が詰まっている。

何ができるの?

Arduinoのサンプルで、時計の表示(デジタル/アナログ)、オーディオ再生(WAV/MP3)、文字・グラフィック・フリーフォントの表示、WiFiへの接続などが用意されているので、ソースを読めば概要を掴むことができる(FlappyBirdやテトリスのサンプルまで付いている)。他、外部のセンサーやライブラリを使うことで、水やりロボットを作ったり、RSSの取得をしたりと色々できるとしか形容のしようがないくらい色々できでしまう。

ライブラリとして公開してくれているものもある。例えば下のはお気に入りの顔表示ライブラリ。

M5Stackを作っている会社は杭州市に拠点を持つ、中国の会社のようだが、公式のTwitterのリツイートを見ると日本人の作品が多い印象を受ける。やはり日本人は小さいものをうまく使うことに長けているのかもしれない。

チュートリアルなどの情報が豊富なフォーラムは以下から。

私も何か作ろう

私はハード側のプログラミングの経験はほとんど無い。Arduinoを少し触ったレベルである。Rasberry Piも持ってるが、ディスプレイをつないだり、キーボードを繋いだりするのが面倒で触る機会が少なくなった。しかし、M5Stackはその可愛らしい外観で何かを作ろうと訴えてくる。

ディスプレイ一体型なのが便利で、サイズも大き過ぎないのがまた良い。USB-CケーブルでPCに繋げばそれで開発スタート。センサーやネットワークから取得した情報を手軽に表示させることができる。スイッチサイエンスには腕時計として使えるようにできるバンドとバッテリーのキットが売っていて、思わず買ってしまった。自分でプログラミングした時計が腕でコチコチ動いているなんて最高にクールじゃない?小学生の頃に紙とどんぐりで作った羽付きの腕輪を友人に自慢して周った、その熱い思いが蘇った。

さて、何作ろう?

まずはできる範囲でシンプルに作ってみることにした。ただし、iOSアプリを使うことと、データベースとの連携を行うことは条件に入れた。そこで、出張の多い私が、家からどのくらい離れているか、視覚化して子どもにも分かるものを作ってみることにした。遠くにいる、とか家に近づいてるとか、数値の増減の中に私の存在を感じてもらえたら面白いと思った。M5stackはUSBから電源供給すると常時起動が可能なので、リビングなどに置いてたまに見て楽しんでもらう想定だ。

登場人物はこんな感じ。

iOSアプリは、自分の家(起点)の座標と現在位置の座標から直線距離を求めてデータベースに送る。データベースに値が入ったらM5Stackはその値を表示させる、とてもシンプルなものだ。

実装にあたり、以下のサイトは大いに参考にさせいただいた。感謝!

文明の利器

作っていて改めて思ったのは、スマホってすごいな!である。アプリ開発を仕事にしている自分が今更言うのもおかしな話であるが、こんなにも正確に動くセンサーの塊が、キレイな筐体に包まれて存在しているのが奇跡にすら思える。しかし、筐体に若干の緩さのあるM5Stackもそれはそれで可愛い。ちなみに電池の接触の甘さに気づかないまま、初期不良の交換期限が過ぎてしまったので、M5Stackの緩さにはある程度注意を払ったほうがいい。

Firebaseもスゴイ。とりあえず、から本格使用にも使えるデータベースが基本無料で使えるなんて、ありがたい以外の言葉がない。Google先生はサービスがスケールアウトして従量課金をガンガン使ってくれるような生徒が爆誕するように、温かい目で我々を育ててくれている。

そして完成

文明の利器に感謝しながら、プログラミングを書いて…できたー!!

Firebaseから値が取れるか動確しているところ。最後に距離が飛ぶのは、後述の南極ボタン押下によるもの。

最初の一歩としては、まずまず納得のものができた。案の段階で会社の人に意見を求めたところ、自分の場所なんて知られたくないという、けしからん(?)人が一定数いたので、iOSアプリ側には南極ボタンをつけてみた。押すと自分の家から現在位置の距離の代わりに、南極の昭和基地までの距離がデータベースに送られるようになる。私の家から昭和基地までの距離は13,809kmだった。正直遠いのか近いのかよくわからないけど、非現実な場所も距離に直すと、現実味が増して妙な面白さがあるのを発見した。

子供の位置情報を取れば、常時表示可能な見守り装置になるし、GPSやBLEを駆使したレーダーを作って宝探しゲームで使うのも面白そう。色々な可能性を感じるやつなのです。

作るのも楽しかったけど、子どもも楽しんでくれるといいなー。肝心の運用はこれからです。

この記事が参加している募集

やってみた

この記事が気に入ったらサポートをしてみませんか?