準備・使い方

ここでは PCN より発売されている MixJuice 組み立て済み完成品を使用する前提で記載しています。

 

MixJuice 組み立て済完成品 | PCN

 

ESP-WROOM-02 や関連ボードを用いて MixJuice 互換機を作る方法については MixJuice/Q&A に記載しています。

起動からの操作については MixJuice 互換機でも同じ操作になります。

 

2020年10月より IchigoJam web がバーチャル MixJuice に対応しました。ここでも簡単に触れます。


MixJuice の仕様

MixJuice は Espressif Systems の SoC である ESP8266EX を搭載した Wi-Fi モジュール 

ESP-WROOM-02 を使用しています。ESP-WROOM-02 の仕様は次のとおりです。

  • IEEE 802.11b/g/n (2.4GHz)
  • WPA・WPA2
  • WEP・TKIP・AES 対応
  • 電源電圧 3.0-3.6V(LPC1114 の 3.3V に同等)
  • 消費電流 平均 80mA

合わせて MixJuice は現在次の制限があります。

  • DHCP 必須(ネットワーク内に DHCP サーバが必要)
    固定 IP アドレスは現在ところ対応していません。

MixJuice に使用できる IchigoJam

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; のプログラム送受を可能にしています。

 

MixJuice を重ねる事ができる IchigoJam・互換機の種類

多くの場合 PanCake プリント基板 と同じですが、CN5 端子も足長ソケットになっているため、その影響を受ける場合があります。

 

重ねる事が可能な IchigoJam・互換機

  • IchigoJam Q
  • IchigoJam R(IchigoJam R β を含む)
  • IchigoJam S(圧電サウンダ付・無)
  • IchigoJam T
  • IchigoJam U
    CN5 端子にピンソケットを付けると
    MixJuice との電源共有が可能です。
  • IchigoCake (PCN などで販売する完成品)
  • SkyBerryJAM
  • IchigoJam EX (CN2 にピンソケットを付けた場合)
    CN5 の足長ソケットが 22μF コンデンサに当たります。
  • ai.Jam-T (IchigoJam T 互換)
  • ai.Jam (CPU の外側にピンソケットを付けた場合)
    5 ピンの足長ソケットがボタン SW2 に当たります。
    ボタンにキャップを付けていると使用できません。
  • ai.shuttle.jam (CPU の外側にピンソケットを付けた場合)
    シャトル部分を横にした状態での使用をおすすめします。
  • ai.jam.pi (CPU の外側にピンソケットを付けた場合)
  • ai.mini.jam (CPU の外側にピンソケットを付けた場合)
  • ai.bat.jam (CPU の外側にピンソケットを付けた場合)
  • ai.robot.jam (CPU の外側にピンソケットを付けた場合)
    ai.shuttle.jam 発射台を用いず
    横にした状態での使用をおすすめします。
  • mcu@sandwich (外側にピンソケットを付けた場合)
    ai.jam.sandwichシリーズ。

他の IchigoJam 互換機も IchigoJam U・T・S・R ベースは

使用できると思われます。

ジャンパワイヤ必須の IchigoJam・互換機

  • IchigoJam 初代プリント基板
    CPU-ピンソケット間の幅が異なるため、
    重ねる事ができません。
  • IchigoDake
    ピンソケットを付ける必要があり、
    まだ上に重ねるのは不安定になります。
  • IchigoCake (秋月電子通商販売の組み立てキット)
    CN5 端子にピンヘッダを付けた場合、
    MixJuice の端子が当たるため、重ねる事ができません。
    可能であればピンソケットへ交換して下さい。
  • KumaJam
    5 ピンの足長ソケットがキーボード USB 端子に当たり
    重ねる事ができません。
  • IchigoJam EX (ゼロプレッシャー装着時) 
  • 2線式breboジャム (標準状態)
    LED ボタン部を外すと使用可能のようです。
    大きなブレッドボードへの変更を推奨します。 

  • Raspberry Pi+IchigoJam BASIC RPi
    GPIO 端子の並びが IchigoJam とは異なります。
    ジャンパワイヤで接続して使用できます。

ジャンパワイヤ接続で使用する場合、

CN2・3 をブレッドボードへ

挿した状態で使用すると安定します。

 

大きいブレッドボードを

使用する場合、

5 ピンの CN5 を一緒に挿さないよう

ご注意下さい。

CN5 をブレッドボードに挿すと、CN3 と端子が異なるため、

動作できなくなり、最悪故障する場合があります。



CN6 と電源供給

少なくても MixJuice には電源供給が必要です。

 

CN6 を接続した場合、MixJuice は IchigoJam へ電源を供給します。

そのため IchigoJam には microUSB の電源を接続しないで下さい。

CN6 を外している場合は、IchigoJam へも電源供給を行う必要があります。

別々に供給した方が安定動作します。

 

MixJuice プリント基板は消費電力が大きいため、

USB-シリアルモジュール経由では動作しない場合があるかもしれません。
microUSB 経由で電源を供給するのが良いでしょう。

IchigoJam EX や ai.shuttle.jam は AC アダプタ使用が良いかもしれません。


LED の状態

MixJuice には 3 つの LED が付いています。それぞれの LED には次の意味があります。

  • LED1  緑 = 接続・モード
    点滅 = Wi-Fi アクセスポイントへの接続中
    点灯 = Wi-Fi へ接続している状態
    消灯 = Wi-Fi の接続をしていない状態
    若干の点灯 = ファームウェア更新モード
  • LED2  赤 = 送信
    点灯 = コマンドなどを送信している状態
  • LED3  黄色 = 受信
    点灯 = コンテンツなどを受信している状態

MixJuice の動作・ファームウェアのバージョンを確認する

IchigoJam BASIC

IchigoJam の電源を入れた後、

MixJuice の電源を入れて下さい。

(この時文字化けした文字列が出力されますが正常です)

 

とりあえず次のコマンドを入れてみましょう。

?"MJ VER

※ ? は PRINT の省略表記です。

※ 末尾に " を付けても動作します。

 

次のように返ってきます。

'NG: MixJuice-1.4.1

NG と出てきて正常です。
VER というコマンドは存在しないためです。

 

このように MixJuice では存在しないコマンドの場合に
NG とファームウェアのバージョンを表示します。

IchigoLatte

IchigoLatte の電源を入れた後、

MixJuice の電源を入れて下さい。

 

次のコマンドを入れてみましょう。

(以下 lash> は入力不要です)

lash>echo > uart;echo MJ VER> uart;cat uart

文字化けした文字列が出てきて正常です。

最後に

'NG: MixJuice-1.4.1Ə

と表示されます。この表示を確認したところで Esc キーを押し

lash> の表示を出して下さい。

 

最初の echo > uart は文字化けした文字列により、

コマンドが受け付けられない可能性があるため、

一度改行を入れています。



Wi-Fi への接続

まず MixJuice を Wi-Fi へ接続する必要があります。

 

IchigoJam BASIC

まず無線 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 へ接続されました。

IchigoLatte

まず無線 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 web での接続

IchigoJam 画面の下にある I/O ボタンを選択し、下に表示された MixJuice を有効にして下さい。
これだけで MixJuice コマンドを受け付けるようになります。


まずは表示させてみる

とりあえずは MixJuice コンテンツを表示させてみましょう。

 

IchigoJam BASIC(IchigoJam web)

イチゴジャム レシピ 運営者が管理する短縮 URL 15JM.LI はいくつかの MixJuice コンテンツへリンクしてあります。

まずはこの画面を表示させて様々なコンテンツを参照してみて下さい。

?"MJ GETS 15JM.LI/

IchigoLatte

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 BASIC(IchigoJam web)

すでにプログラムが 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 コマンドのみで使用できます。

 

IchigoLatte

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) を接続し指定秒後に復旧します。