ここでは PCN より発売されている MixJuice 組み立て済み完成品を使用する前提で記載しています。
ESP-WROOM-02 や関連ボードを用いて MixJuice 互換機を作る方法については MixJuice/Q&A に記載しています。
起動からの操作については MixJuice 互換機でも同じ操作になります。
2020年10月より IchigoJam web がバーチャル MixJuice に対応しました。ここでも簡単に触れます。
MixJuice は Espressif Systems の SoC である ESP8266EX を搭載した Wi-Fi モジュール
ESP-WROOM-02 を使用しています。ESP-WROOM-02 の仕様は次のとおりです。
合わせて MixJuice は現在次の制限があります。
MixJuice で対応している IchigoJam BASIC は IchigoJam BASIC 1.1.1 以降となっています。
IchigoJam BASIC 1.0.1 以前を使用している場合は IchigoJam BASIC も最新バージョンへ更新して下さい。
IchigoCake BASIC も使用できます。Raspberry Pi+IchigoJam BASIC RPi とジャンパワイヤで接続しての使用も可能です。
IchigoLatte(JavaScript 版)は IchigoLatte 0.7 以降で動作可能になっています。
IchigoCake JavaScript(IchigoLatte W)も使用できます。
IchigoLatte Ruby・IchigoLatte Forth は初版から動作可能です。
IchigonQuest は MixJuice 向けのコマンド送出・処理ができず、直接は対応していませんが、
上位互換ファームウェアの MicJack が Web ブラウザからの操作により Kidspod; のプログラム送受を可能にしています。
多くの場合 PanCake プリント基板 と同じですが、CN5 端子も足長ソケットになっているため、その影響を受ける場合があります。
他の IchigoJam 互換機も IchigoJam U・T・S・R ベースは
使用できると思われます。
2線式breboジャム (標準状態)
LED ボタン部を外すと使用可能のようです。
大きなブレッドボードへの変更を推奨します。
ジャンパワイヤ接続で使用する場合、
CN2・3 をブレッドボードへ
挿した状態で使用すると安定します。
大きいブレッドボードを
使用する場合、
5 ピンの CN5 を一緒に挿さないよう
ご注意下さい。
CN5 をブレッドボードに挿すと、CN3 と端子が異なるため、
動作できなくなり、最悪故障する場合があります。
少なくても MixJuice には電源供給が必要です。
CN6 を接続した場合、MixJuice は IchigoJam へ電源を供給します。
そのため IchigoJam には microUSB の電源を接続しないで下さい。
CN6 を外している場合は、IchigoJam へも電源供給を行う必要があります。
別々に供給した方が安定動作します。
MixJuice プリント基板は消費電力が大きいため、
USB-シリアルモジュール経由では動作しない場合があるかもしれません。
microUSB 経由で電源を供給するのが良いでしょう。
IchigoJam EX や ai.shuttle.jam は AC アダプタ使用が良いかもしれません。
MixJuice には 3 つの LED が付いています。それぞれの LED には次の意味があります。
IchigoJam の電源を入れた後、
MixJuice の電源を入れて下さい。
(この時文字化けした文字列が出力されますが正常です)
とりあえず次のコマンドを入れてみましょう。
?"MJ VER
※ ? は PRINT の省略表記です。
※ 末尾に " を付けても動作します。
次のように返ってきます。
'NG: MixJuice-1.4.1
NG と出てきて正常です。
VER というコマンドは存在しないためです。
このように MixJuice では存在しないコマンドの場合に
NG とファームウェアのバージョンを表示します。
IchigoLatte の電源を入れた後、
MixJuice の電源を入れて下さい。
次のコマンドを入れてみましょう。
(以下 lash> は入力不要です)
lash>echo > uart;echo MJ VER> uart;cat uart
文字化けした文字列が出てきて正常です。
最後に
'NG: MixJuice-1.4.1Ə
と表示されます。この表示を確認したところで Esc キーを押し
lash> の表示を出して下さい。
最初の echo > uart は文字化けした文字列により、
コマンドが受け付けられない可能性があるため、
一度改行を入れています。
まず MixJuice を Wi-Fi へ接続する必要があります。
まず無線 LAN アクセスポイントを探します。
?"MJ APL
とすると、一覧を返します。下は一例です。
'BALLOON-2.4G-123
'BALLOON-456
'OK
これで正常に MixJuice が動作しています。
MixJuice は多くの場合行頭に ' を付けて返します。
これは IchigoJam が BASIC コマンドとして
認識しないようにするためです。
?"MJ APC (アクセスポイント名) (キー)
と入力して接続します。下は一例です。
?"MJ APC BALLOON-2.4G-123 12345678
キーは現在 8 桁以上の英数になっています。
アクセスポイント名に空白が含まれる場合は
\ を空白の前に入れて下さい。
(ファームウェア 1.0.2 より対応)
正常に接続すると
'WiFi connected: 192.168.1.5
'OK
と MixJuice の割り当て IP アドレスを付けて返します。
これで Wi-Fi へ接続されました。
まず無線 LAN アクセスポイントを探します。
lash>echo MJ APL> uart;cat uart
とすると、一覧を返します。、下は一例です。
'BALLOON-2.4G-123Ə
'BALLOON-456Ə
'OKƏ
これで正常に MixJuice が動作しています。
IchigoLatte は改行コード CR を ▉ 表示にするため、
末尾に ▉ が付いている状態で正常です。
Esc キーで lash のコマンドラインに戻します。
lash>echo > MJ APC (アクセスポイント名) (キー)> uart;cat uart
と入力して接続します。下は一例です。
echo > MJ APC BALLOON-2.4G-123 12345678> uart;cat uart
(キー)の後ろは空白を入れずに > uart を続けて下さい。
(上の例では 5 と > の間に空白を入れない)
正常に接続すると
'Wifi connectd: 192.168.1.5Ə
OKƏ
を返します。これで Wi-Fi へ接続されました。
なお、一度接続すると、MixJuice の電源を入れただけで APC で最後に設定していたアクセスポイントに接続を行います。
そのため、通常は再度電源を入れた後、接続作業を行う必要はありません。これはプログラムでも同様です。
IchigoJam 画面の下にある I/O ボタンを選択し、下に表示された MixJuice を有効にして下さい。
これだけで MixJuice コマンドを受け付けるようになります。
とりあえずは MixJuice コンテンツを表示させてみましょう。
イチゴジャム レシピ 運営者が管理する短縮 URL 15JM.LI はいくつかの MixJuice コンテンツへリンクしてあります。
まずはこの画面を表示させて様々なコンテンツを参照してみて下さい。
?"MJ GETS 15JM.LI/
MixJuice を起動した直後に実行する場合は一度次のコマンドを表示させて下さい。
文字化けした文字列が表示されて正常です。(MicJack では起動メッセージが表示されます)
出力が止まっている事を確認し、Esc キーで lash> へ戻します。
イチゴジャム レシピの IchigoLatte+MixJuice コンテンツ 15lt.eu.org があるので、こちらを参照してみます。
この際、矢印 ↑ キーを押すと、直前に入れたコマンドが再表示されるので便利です。
lash>echo MJ GET 15lt.eu.org/> uart;cat uart
例えば JavaScript のプログラム一覧は次を入力します。
↑ キーで表示し、/ の右(> のところ)までカーソルを移動させて j を追加します。
lash>echo MJ GET 15lt.eu.org/j> uart;cat uart
場所によっては表示が終わっても lash へ戻りません。
LED3 が消えたのを確認し、Esc キーで lash> が表示されます。
MixJuice をよく用いるのはプログラムのダウンロードでしょう。手順を紹介します。
すでにプログラムが IchigoJam にある場合は削除して下さい。(SAVE しておくとなくなりません)
あとは MJ GET または MJ GETS コマンドを実行します。
?"MJ GET kidspod.club/mj/593
IchigoJam web は GET に対応していません。GETS のみです。
しかし Kidspod;(kidspod.club)そのものが GET に対応していません。15J.IN または 15JM.LI 経由で使用できます。
?"MJ GETS 15J.IN/593
正常であれば、プログラムが画面に表示されていきます。場所によっては NEW や CLS のコマンドも自動的に実行されます。
イチゴジャム レシピ で公開しているプログラムは NEW などを含んでいるので、MJ GET・MJ GETS コマンドのみで使用できます。
lash で操作します。コマンドが若干異なり、末尾に > . が含まれます。
このコマンドを実行した段階で現在入っているプログラムは消えます。
(JavaScript)
lash>echo MJ GET 15lt.eu.org/balloon.js> uart;cat uart > .
(Ruby)
lash>echo MJ GET 15lt.eu.org/balloon.rb> uart;cat uart > .
(FORTH)
lash>echo MJ GET 15lt.eu.org/balloon.fs> uart;cat uart > .
(Python)
lash>echo MJ GET 15lt.eu.org/balloon.py> uart;cat uart > .
正常な場合は MixJuice の LED3 が少しの間光っています。これがプログラムをダウンロードしている状態です。
画面は表示されなくて正常です。そのままお待ち下さい。
lash> に戻ればダウンロード完了です。
vi または cat . としてプログラムが正常に受信されている事を確認して下さい。
(JavaScript)
lash>echo MJ GET kidspod.club/mj/556> uart;cat uart > .
(Ruby)
lash>echo MJ GET kidspod.club/mj/824> uart;cat uart > .
(FORTH)
lash>echo MJ GET kidspod.club/mj/825> uart;cat uart > .
※ プログラム末尾に付ける改行の考慮で、Python 版は Kidspod; へ入れてありません。
Kidspod; などはダウンロードが終わっても lash へ戻りません。
LED3 が消えたのを確認し、Esc キーで lash へ戻ります。
vi または cat . としてプログラムが正常に受信されている事を確認して下さい。
MixJuice のコマンドは次のとおりです。
動作の()にある表記は対応バージョン、記載がない場合は初版 MixJuice 0.8 より対応しています。
1.2.2 と 1.3.0 の間に2つのベータ版が公開されていました。UDP のバージョンが 1.3.0 に継承されています。
そのため 1.3b の一部機能は 1.3.0 で使用できないのでご注意下さい。
コマンド名 MJ | 動作 |
APL | アクセスポイントを一覧表示します |
APC (SSID) (パスワード) | アクセスポイントに接続します ★ |
APD | アクセスポイントの接続を切断します |
APS | アクセスポイントの接続状態を返します。0=未接続・1=接続中(1.0~) |
SLEEP (秒) | 節電モードに切り替えます ※ |
SPW (ミリ秒) | 送受信のウェイトを設定します。デフォルトは 30 ミリ秒(1.0.4~) |
GET (アドレス) | http プロトコル・GET 通信を行います |
POST START (アドレス) | http プロトコル・POST 通信を開始します |
POST END | POST コマンドを終了します |
GETS (アドレス) | https プロトコル・GET 通信を行います(1.0~、IchigoJam web 対応) |
POSTS START (アドレス) | https プロトコル・POST 通信を開始します(1.0~) |
POSTS END | POSTS コマンドを終了します(1.0~) |
PCT (Content-Type) | GET・POST・GETS・POSTS の Content-Type を設定します(1.2.0~) |
MAC | MixJuice の Mac アドレスを返します(1.2.1~) |
UDP (IPアドレス) (ポート) (送出内容) | UDP プロトコルで送出します(1.2.2b・1.3.0~ / 1.3b は非対応) |
SERV START | HTTP サーバを起動 (1.3b / 1.3.0 は非対応) |
SERV STOP | HTTP サーバを停止 (1.3b / 1.3.0 は非対応) |
SERV NAME (mDNS) | mDNS 名の設定 (1.3b / 1.3.0 は非対応) |
★ 半角スペースを (SSID) に含む場合はスペースの前に \ を付けます。全角名は設定できません。
※ 0 秒設定の場合は CN4-2(RST) を HIGHで復帰、1 秒以上は CN4-2(RST) と CN4-6(IO16) を接続し指定秒後に復旧します。
SkyBerryJAM は 栃木県立栃木工業高等学校 が管理する登録商標であり、
SkyBerryJAM は 栃木県立栃木工業高等学校 の商標です。
Raspberry Pi は
Raspberry Pi 財団 の登録商標です。
Raspberry Pi is a registered trademark or
trademark of
the Raspberry Pi Foundation.
"RISC-V" の商品名は RISC-Vインターナショナル が管理する登録商標です。
The “RISC-V” trade name is a registered trade mark of
RISC-V International.