今回は、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/