クリエイター手抜きプロジェクト[617]IoT ATOM Matrix編 LEDパターンを点灯させる(1)
── 古籏一浩 ──

投稿:  著者:



今回は、ATOM Matrixという新たなIoTデバイスです。少し大きめのキャラメル「サイコロキャラメル」1個分くらいの、小さなIoTデバイスです。

・ATOM Matrix
https://www.switch-science.com/catalog/6260/

LEDがないATOM Liteというのもありますが、これはまた別の機会にでもやろうと思います。ちなみにこのATOM Liteにも、見た目にはわかりませんがLEDがついています。

・ATOM Lite
https://www.switch-science.com/catalog/6262/

ところで、ATOM Matrixなんてデバイス、聞いたことがないという人がほとんどでしょう。4月10日に日本で発売されたばかりなので、知らなくても当然です。これを作った会社は、M5 StackやM5 Stickを作っているところです。

以下のページに商品が掲載されています。M5Stack社のTwitterなどを追っていた人は、前々からアナウンスされていたので、入手した人もいるようです。

https://m5stack.com/collections/m5-core





なんにしても、日本でも普通に技適が取れたので、めでたく販売されるようになりました。技適については総務省のページにありますが、無線機器を使用する際に必要となるものです。日本では技適マークがついていない機器は、違法になることがあります。

・技適マーク、無線機の購入・使用に関すること
https://www.tele.soumu.go.jp/j/adm/monitoring/summary/qa/giteki_mark/

ところが、販売したATOM Matrixによっては技適マークが表示されていないものが、混入してしまったようです。商品の見分け方ですが、スイッチサイエンス社からのアナウンスでは、以下のようになっているそうです。

NG品:製品筐体のUSBコネクタの反対側の面に、「NOTE」というラベルが貼ってある
OK品:製品筐体のUSBコネクタの反対側の面に、「Model:ATOM-1」という技適表示を含むラベルが貼ってある

自分のを確認したら問題ないものだったので、そのまま使うことができました。それはよしとして、Atom Matrix、Liteは初回は一人3個までとなっていました。買い占め防止という意味もあるのかもしれませんが、そんなことに関係なくほぼ即日売り切れていました。

M5Stickもそうですが、とにかく発売日に注文しないと入手できず、数週間〜一か月待ちとなってしまいます。特に現在はコロナウイルスの関係で、期待通りに物が届くかどうかと問題もあります。

M5Stickの時と同じパターンだとすれば、一か月もすれば普通に買えるようになるのではないかと思います。用途にもよりますが、ATOM Matrixはひとつだけ買ってもあまり面白くないので、3〜4個買った方が楽しめます。

念のため書いておくと、初心者はATOM Matrixの前に、M5Stackで何か作って慣れてからの方が無難です。その後、M5Stickをいじってから、ATOM Matrixへと進んだ方がいいでしょう。原理はいずれのデバイスも同じですが、小型化にともなって裏技的な部分もあり、初心者では分かりにくいと思われるからです。

ということで、ようやく本題に入ります。ところが、M5Stack、Stickなら簡単にプログラムの作成に進めますが、ATOM MatrixではArduino-IDEを使わない場合、ファームウェアを書き換えなければなりません。

手軽にブロックプログラミングできるUIFlowを使う場合は、ファームウェアを書き換えないといけないのです。ここでは、UIFlowを使ってLEDを点灯させます。ブロックを使ってプログラミングできるので、その方が楽だからです。もちろん、バリバリのプログラマならArduino-IDEを使って作った方が、性能をフルに発揮できます。

ファームウェアを書き換える前に、いくつかやることがあります。まず、USB Driverのインストールです。以下のページにある、CP2104 Driverをダウンロードしてインストールします。

https://m5stack.com/pages/download

次にM5 Burnerをダウンロード、起動します。起動した段階では、書き込むファームウェアがダウンロードされていません。ATOM Matrix用のUIFlowファームウェアはUIFlow-v1.4.5.1です。これよりも新しいファームウェアがありますが、4月18日時点では、UIFlow-v1.4.5.1までしか対応していません。

左側のリストにあるUIFlow-v1.4.5.1の文字をクリックしたら、その右側に表示される↓をクリックします。ダウンロードが始まります。もし、エラーになってしまった場合は、M5 Burderを終了させてください。時間をおいてから再度、M5 Burnerを起動しダウンロードしてください。どうしても駄目なら翌日に試すか、他のマシンを使ってみてください。

ファームウェアをダウンロードしたら、ATOM MatrixをパソコンとUSBケーブルで直接つなぎます。COMのところに接続したATOM Matrixのデバイスがリストアップされます。何も変化がない場合は、ポップアップをクリックすると出てきます。

次に、Seriesのところのポップアップから、ATOM-Matrixを選択します。すると、Baudtate(ボーレート)が750000に変わります。変わらない場合は、手動でポップアップから選択してください。

あとはBrunのボタンを押すと、ファームウェアが書き込まれます。最後に、以下のように表示されればOKです。

Writing at 0x003ff000... (100 %)
Wrote 100 bytes (16 compressed) at 0x003ff000 in 0.0 seconds (effective 210.5 kbit/s)...
Hash of data verfied.

Leaving...
Hard resetting via RTS pin...

これで、ATOM Matrixのファームウェアが、UIFlow用に書き換わりリセットされます。ATOM Matrixでは、デバイスの状態を表面のLEDの色と点滅具合で示すようになっています。

赤の点滅 → 起動中
青の点灯 → WiFi接続完了
緑の点滅 → UIFlowに接続完了

ファームウェアを書き換えれば、ATOM MatrixをUIFlowから使えるわけではありません。UIFlowとデバイスは、ネットワークで接続されている必要があります。今度はATOM Matrixを、WiFiネットワークに接続します。

ところが、M5Stack/Stickのようにデバイスキーが液晶画面に表示されていないので、デバイスキーをどうにかして取得する必要があります。

シリアルで接続すれば取得できますが、とりあえずダウンロードページにあるArduino-IDEを利用します。ダウンロードしたら起動します。

https://m5stack.com/pages/download

起動したらツールメニューのシリアルポートから、ATOM Matrixが接続されているポートを選択します。ウィンドウが表示されます。意味不明な文字が表示されることがありますが、気にする必要はありません。

ウィンドウ下部にある設定で、改行コードのポップアップから「CRおよびLF」を選択します。その右側にあるポップアップメニューから、通信速度として「115200 bps」を選択します。

次に、ATOM Matrixデバイスの横にある、リセットボタンを押します。ちなみに、ATOM MatirxはLED部分も押し込めるボタンになっています。

リセットボタンを押すと、ウィンドウにメッセージが表示されます。最後の方に、api key:E949EFBCといった文字列があります。このE949EFBCがデバイスキーになります。これはデバイスごとに異なります。

また、これまでのパターンからすると、新しいバージョンのUIFlowを書き込むと、この値も変わると思われます。そこで、新しいファームウェアを書き込んだ場合は、同様にデバイスキーの値を確認してください。

次に、ATOM MatrixをWiFiに接続します。iPhone/Androidなどを使って、ATOM Matrixに接続します(パソコンでもOK)。WiFiのリストに、M5FLOW-XXXXという名前がでてきます。ここに接続します。するとWiFi Setupの画面が出てきます。接続する自宅のWiFiルーターのSSIDを選択し、接続するWiFiルーターのパスワードを入力します。入力したらConfigureボタンを押します。

正常に設定されると、以下のようなメッセージが表示されます。

^_^ WiFi connection success
Reset device now...

これでATOM Matrixがリセットされ、表面のLEDが赤色の点滅から青色の点灯に変わります。UIFlowには接続されていないので、緑色にはなりません。

もし赤色のままであれば、デバイスが正常に機能していないかもしれません。その場合は、まず横にあるリセットボタンを押してみてください。それでもダメなら一度USBケーブルを外してから、再度接続してみてください。また、表面のLEDを押し込んだまま、横のリセットボタンを押してみたりするのもありかもしれません。

これで、ようやくプログラミングできる段階まできました。M5Stack/Stick経験者なら、ああなるほどと思うかも知れませんが、そうでない人にとっては、ちょっとハードルが高いかもしれません。まあ、ここまで設定してしまえば後は簡単です。

ということで、次回ようやくUIFlowを使ってLEDを点灯させてみましょう。


【古籏一浩】openspc@alpha.ocn.ne.jp
http://www.openspc2.org/

M5Stack関係はバージョンアップが早いので、このテキストが掲載される頃にはバージョン1.5.2とかが出て、ATOM Matrixも対応してそうです。

コロナウイルスのせいで、アニメや特撮がエンドレスループに陥ったような状態になってきました。1話から放送する「プリキュア」や、終わったばかりなのに、また放送される「ゲゲゲの鬼太郎」。総集編や再編集で頑張る「仮面ライダーや戦隊もの……都市部以外は自粛は解除されたのですが、スタッフが集まらないとできない撮影やアニメは、しばらく無理そう。

でも、この無限繰り返しするアニメが、どこかにあったな……と。これだ。
https://dic.pixiv.net/a/エンドレスエイト

・創って学ぼうプログラミング
https://news.mynavi.jp/series/makeprogram

・8K/4K/ハイビジョン映像素材集
http://www.openspc2.org/HDTV/

・クリエイター手抜きプロジェクト
http://www.openspc2.org/projectX/