自分の環境で動くLocal UIFlowが公開

概要

CM4Stackで動くと告知されていたLocal UIFlowが正式公開されました。Windows環境でも動かすことができるので、触ってみました。

ダウンロード

https://docs.m5stack.com/en/download

上記のようにWindows、MacOS、Ubuntu、Raspberry Pi(32bit)などの環境で動くものが公開されています。Windowsは11と書いてありますが10でも起動しました。

バージョン確認

解凍したファイルの中の「bin/app.info」ファイルをみることでバージョンが確認できます。

v1.12.8

現状の最新バージョンと同じですね。

起動してみる

上記の画面が表示されました。Startで起動するようです。IPは*になっているのですべてのIPで待ち受けます。有線LANや無線LANなど複数のネットワークに接続している場合には、特定のネットワークにだけ公開するような設定も可能です。

ポート番号はブラウザのポートで、ボード側は常に1883ポートで接続してくる気がします。

起動

起動しました。

ブラウザでアクセス

http://localhost:8800/

上記のアドレスにアクセスすることで接続が可能です。

こんな感じで接続できました。UIFlow1と2の選択がありますが、ローカルで動くのは1のみになります。2を選ぶとインターネット上にあるサーバーに接続します。

ちなみに「Don’t show again」をセットしておくと次回からこの画面がでなくてLocal UIFlowが開きます。どちらかを選択したかは保存していないので、基本的には「Don’t show again」をチェックして動かしたほうがよいと思います。

自分のIPアドレス確認

ipconfig

自分のIPを確認する必要があるので、ipconfigなどを使って確認をします。

http://192.168.1.2:8800/

上記などのプライベートIPになると思いますので、そのURLで画面を開き直してください。

他のパソコンからアクセス

スマートフォンでもよいので、上記のIPにアクセスできるか試してみてください。アクセスできない場合にはパソコンのファイアウォールの設定でポートが公開されていません。がんばってファイアウォールの設定を変更するかRaspberry Piなど専用環境を準備してみてください。

ちなみに私は設定変更ができずにWindowsマシンで動かすのを断念しました。。。

Raspberry Piで構築

とりあえず手元にあったRaspberry Pi 4の8GBで動かしました。注意点としては64ビットOSだと動かないことです。CM4Stackの標準OSは32ビットなので、バイナリも32ビットしか用意されていません。

あとはtarファイルがフォルダに入っていないので、そのまま展開するとDownloadフォルダとかに大量のファイルがばらまかれます。

実行方法はREADME.txtに書いてありました。

Run ./UIFlow.Server.Desktop

If run failed, try to run 

apt install ttf-mscorefonts-installer

UIFlow.Server.Desktopがプログラム本体なのですが、フォルダから実行するとテキストエディアが開いてしまいました。端末経由で実行したら大丈夫でした。

Raspberry Pi 4であればまずまずの速度で動きますので問題はなさそうでした。そのあとRaspberry Pi Zero 2 Wに同じSDを入れて起動したところ、かなり立ち上がりまで時間がかかりますが実行してしまえば結構快適に動きました。

UIFlow自体はブラウザ上で動いていて、端末とのやりとりはMQTTの設定情報のみなのでそれほどサーバーに負担はかからないと思います。そしてターミナル経由で実行すると接続ログなども表示されるのでいろいろ裏側の動きがわかって面白いかもしれません。

ただGUIアプリなので自動起動などができません。ちょっと不便なので自動スタートするオプションなどがあれば便利だと思います。

M5StackのボードにUIFlowを転送

M5Burner v3を使ってUIFlowを書き込みます。今回はCore2が手元にあったので、UIFlow_Core2を転送しました。

Configureで設定変更

上記のServerが「flow.m5stack.com」になっているとおもいますが、ここを起動したマシンのIPアドレスに変更します。私の場合には「192.168.1.2」ですね。

ブラウザから接続してみる

上記にAPIキーを入力して普通に実行します。

とりあえずは、上記みたいな最低限のプログラムを作って転送して動くことを確認しました。

まとめ

教育向けを考えるとバージョンが固定できない現状のUIFlowよりも、Local UIFlowを使ったほうが好ましいと思います。従来はデスクトップ版がありましたが、個別に準備するよりはLocal UIFlowの方が環境整備が楽だと思います。あとはChromebookなどの環境でも利用することができるので学校向けでよだそうですね。

気をつけないといけないのはやっぱりネットワーク環境ですね。学校とかだとMQTTで使っている1883ポートがインターネット側へ出れない設定になっていてUIFlowが使えないことがあるのでLocal UIFlowが便利です。ただLocal UIFlowも自分のパソコンで動かすとなるとファイアウォールの設定解除とかが必要でちょっと面倒かもしれません。

結局は専用Raspberry Piを準備して使うのが便利そうですね。その場合にはGUIが邪魔になって自動起動できないのがネックとなりそうです。CM4Stackを使って、タッチパネルで操作して起動すればいいのかな、、、

コメント