Ichigojam web で使えるようになったバーチャル MixJuice を使ってみる。
IchigoJam Advent Calendar 2020 - Day 1
2020年12月1日、今年も Qiita で Advent Calendar がはじまりました。
今年は IchigoJam Advent Calendar 2020 の 1 日目、
ふうせん🎈 FU-SEN が行わせていただきます。
そういえば、このブログから Qiita と Qiita Advent Calendar へのリンクって、
行ってみた事がなかったので、リンクしておきますね。
IchigoJam の 2020 年
さて、IchigoJam の 2020 年、前半は IchigoDyhook が大きなイベントでしたが、
IchigoJam BASIC などはマイナーアップデートにとどまっています。
SkyBerryJAM の特別版が発売中とか、その位ですね。
コロナの影響で、動けていない関連プロジェクトもあるように思っています。
🎈 イチゴジャム レシピ も今年は大きな更新をしませんでした。
そんな中でも話題にすべきなのが……
IchigoJam web。IchigoJam 実機がなくても、Raspberry Pi がなくても、
Web が使えるパソコン、スマートフォン、タブレット端末で、
いつでも IchigoJam BASIC が使えてしまう素晴らしいアイテムです。
今年 2020 年この IchigoJam web に新機能が加わっています。
「バーチャル MixJuice」です。
BASICでもっと手軽にIoTプログラミング!IchigoJam webにバーチャルMixJuiceを実装、コロナ対策データ計算サンプルプログラム | 福野泰介の一日一創
MixJuice は元々 IchigoJam のネットワークボードとして
2016年10月に発売が開始された周辺機器です。
Wi-Fi を使ってインターネット接続し通信できてしまうのです。
このうち基本的な MJ GETS
を IchigoJam web で実装したのです。MJ GETS
コマンドは、https 通信でサーバから読み込みます。
ごく普通の Web サイトのサーバです。
ただし GETS
なので、SSL が有効になっている環境が必須です。
これは Ichigojam web そのものが https になっている影響で、
セキュリティ的な考慮上、ブラウザの制限があります。
とりあえず使ってみる
IchigoJam web を参照します。
IchigoJam をよく使っている人なら、
Web ブラウザの ブックマーク に登録しておきたいところ。
上の黒い画面は IchigoJam 実機と同じ画面です。
その下にいくつかのボタンが並んでいます。
まずはその下のボタンより I/O を選ぶと、
下に表示がありますが、ここで MixJuice に を入れます。
これでバーチャル MixJuice が有効になります。
🎈 イチゴジャム レシピ MixJuice コンテンツ | ?"MJ GET(S) 15J.RUN/ - fu-sen/15j.run | GitHub
運営者が公開している イチゴジャム レシピ MixJuice コンテンツ を見てみましょう。
IchigoJam の画面(黒い画面)上で次を入力します。
?"MJ GETS 15J.RUN/
IchigoJam web では GET
ではなく、必ず GETS
を使って下さい。
すると……
表示されました! あとは表示されているように操作をしていくだけです。
従来は IchigoJam に MixJuice を接続した状態で使用する必要がありましたが、
これが Web ブラウザ上で表示できるようになりました。
IchigoJam BASIC、MixJuice コマンドと実行結果
MixJuice の GETS
(GET
)の仕組みはとても簡単。
Web サーバから URL を実行し、その内のヘッダを外したファイル本体を
そのままシリアル送出します。あとは IchigoJam 側の OS で処理されます。
IchigoJam BASIC だとダイレクトコマンド実行だったり、プログラム入力だったり。?"MJ GETS ~
で更に MixJuice コマンドを実行する事もできます。
ここでは Qiita を使用している開発者らしく、GitHub の一サービス
GitHub Gist を使って試してみましょう。
とりあえずサンプルを……
簡単ですね。頭に '
が付いている事で BASIC ではコメント( REM
)となります。
コマンド実行やプログラムとして入力される事なく、任意の文字を表示できます。
ファイル名 mixjuice-test.bas
をクリックすると、次の画面になります。
ここで右下の Raw
を選択します。
上のブログへ貼り付けた Gist(ソース)表示にある view raw でも表示可能です。
シンプルなテキスト表示になりました。URL も変わっています。
この URL 部分をコピーし……
IchigoJam web の画面へ変更して、ボタンの下にあるテキストエリアに貼り付けます。
頭の https://
を消して ?"MJ GETS
に変更します。(選択・反転している部分)
IMPORT ボタンを押すと、IchigoJam 画面にコピーされます。
しかし、バーチャル MixJuice は実行されないので、
その行に 矢印 キーで移動し……
Enter(return) キーを押して下さい。
'ichigoJam
表示されました~~~! 👏👏👏パチパチ…
この方法でプログラムを転送して RUN
で実行できます。
GitHub にログインしているならアドレス部分に gist.new で
素早く GitHub Gist の新規画面になります。お試しあれ。
テキストをダイレクトに出力できる環境であれば、
GitHub Gist 以外の Web サービスを使用できます。レンタルサーバとかですね。
MixJuice に対応しているサービスとして Kidspod; があるのですが、
Kidspod; は SSL がまだ未対応なので、IchigoJam web から使用できません。
(2020/12/01 現在)
うむ……これもコロナの影響という事にしておきましょう。そうしておきましょう……
MixJuice コンテンツ サンプル
もう少し複雑な事をしたくなると思います。そのためのサンプルを紹介しています。
🎈 MixJuice コンテンツ サンプル | ?"MJ GETS MJ.15J.RUN/ - fu-sen/mj.15j.run | GitHub
?"MJ GETS MJ.15J.RUN/
ソースと実際の実行結果を見比べて下さい。
省略表記も使用できますが、
IchigoJam web ではこの場合も GET
ではなく GETS
です。
?"MJ GETS 15J.RUN/M
簡単に IchioJam web によるバーチャル MixJuice の使用方法をご紹介しました。
4 日目(12月4日)は、この機能を生かしてある情報を IchigoJam で表示してみます。
さあ、何の情報でしょう? 🌏 🍙(・~・)mogmog
追加 2020/12/07
短縮 URL 15JM.LI で Kidspod; の取得に対応しました。
15JM.LI そのものは IchigoJam web 対応済で、経由して出力するようにしました。
これにより IchigoJam web で Kidspod; のプログラムダウンロードなどが可能です。
?"MJ GET kidspod.club/mj/(ID)
の代わりに次を使用して下さい。
?"MJ GETS 15JM.LI/K/(ID)
追加 2020/12/12
よく考えたら 15JM.LI/●
の ●
は英字しか使っていなかったので、
数字の場合に Kidspod; からのダウンロードとしてみました。
?"MJ GETS 15JM.LI/(ID)
さらに IchigoLatte 向けの m15.lt も同じ状態だったので、
数字のみの場合は Kidspod; からのダウンロード対応しました。
終了コードを付加しているので、転送終了後は lash へ戻ります。
lash>echo MJ GET m15.lt/(ID)> uart;cat uart > .
15JM.LI は IchigoJam BASIC(IchigoJam web を含む)、
m15.lt は IchigoLatte での使用を想定して対応しているため、
必ず OS に合わせてコマンドを使用して下さい。
追加 2020/12/18
イチゴジャム レシピ MixJuice コンテンツ で短縮 URL を 15j.in
へ分割したのですが、
通常は 15J.IN/英 1 文字
なので 15J.IN/数字
を Kidspod; に対応させています。
?"MJ GETS 15J.IN/(ID)
15JM.LI は ' MJ GET kidspod.net/mj/●
を表示させていますが、
15J.IN はこれを表示させていません。
🎈 イチゴジャム レシピ MixJuice コンテンツ 短縮 URL | ?"MJ GET(S) 15J.IN/ - fu-sen/15j.in | GitHub
IchigoJam Advent Calendar 2020