MicJack


IJUtilities - 公開元

 

MicJack(マイクジャック)は Micono さん(Micono Utilities)によって公開された
MixJuice 上位互換のファームウェアです。
CC BY(Creative Commons 表示)ライセンス で公開されています。

 

公開元 IJUtilities の説明には「Arduino スケッチ」とありますが、
当初ファームウェアを入れるために Arduino IDE を使用する必要があったためで、
Arduino は必要ありませんし、Arduino の知識・経験なども不要です。

最新版は Arduino IDE も必要なくファームウェアを入れて使用できます。

 

ESP-WROOM-02(ESP8266)を用いた様々な基板に対応していますが、
MixJuice プリント基板にもインストール可能です。

インストール手順より、Arduino IDE による開発経験がある人、

または MixJuice ファームウェアの更新経験がある人がインストールできる対象となります。 


MixJuice に比べて次の機能が追加されています。

  • MixJuice のコマンドに加え、MicJack 独自のコマンドを備えます。
  • スマートフォンなどで参照し操作できる Web サーバを備えます。
  • Web 画面経由で仮想キーボードを表示します。シリアル送出およびキーボード端子送出に対応します。
  • ホーム機能を備えます。よく参照する MixJuice コンテンツを設定し、短いコマンドで参照できます。
  • Kidspod; に対応した専用コマンドが用意されています。
  • IchigonQuest のプログラム送受に対応しています。(送信は Kidspod; へ) 

このページでは MixJuice とは異なる MicJack 独自の操作を中心に説明しています。

 



MicJack を使用できるボード

MicJack は次のボードにファームウェアを入れて使用できます。

 

MixJuice プリント基板

MixJuice プリント基板へ MicJack を入れて使用できます。

MixJuice の使用方法でそのまま MicJack も使用できます。

更に MicJack の追加機能で便利に使う事ができます。

 

MixJuice のファームウェアは上書きして消去されますが、

MicJack は上位互換で、MixJuice の機能を有していますので、

MicJack のままで問題なく使用しつづけられるでしょう。

もちろん MixJuice のファームウェアへ戻す事も可能です。

 

MixJuice プリント基板では

IO13・IO14 端子がピンソケットにでていないため、
Keyboard Mode の使用は容易ではありません。

 

ESP-WROOM-02 搭載ボード

ESP-WROOM-02 が基板に付いているボードを使用可能です。MixJuice/Q&A も参照して下さい。

新たに入手する場合は、技適マークが付いている ESP-WROOM-02 である事をご確認下さい。

MicJack の場合、独自で提供されている Keyboard Mode 向けの KBD1・KBD2 端子も直接接続できるメリットがあります。

 

ESP-WROOM-02 開発ボードで通常使用する際の接続は次になります。
KBD1・KBD2 端子は Keyboard Mode を使用する場合に接続が必要です。

直接 ESP-WROOM-02 のピンが出ている DIP 化モジュールは更に接続が必要です。
 

ESP-WROOM-02 開発ボード   IchigoJam など
RX - TXD
TX - RXD
GND - GND
3V3 - VCC
IO13(D7)※ - KBD1
IO16(D0)※ ★ - KBD2

※ ソースで対応する IO を変更できます。

★ バージョンにより IO14(D5)の場合があります。


MicJack のインストール

MicJack は現在 2 種類のインストール手順が存在します。

  • バイナリーファイルによるインストール(MixJuice ファームウェアと同じ手順)
  • Arduino IDE を用いたインストール

Arduino IDE での手順は Manual.pdf で記載がありますが、
Arduino を使用していない人は環境を整えるのに時間を要するでしょう。

MixJuice に MicJack をインストールする場合は、バイナリーファイルの手順を推奨します。

 

ESP8266 ボード情報のインストール

Arduino IDE の環境を一から整える場合、
Manual.pdf に ESP8266 ボード情報をインストール手順が抜けています。ここに記載します。

 

ツールバー ファイル - 環境設定 より「追加のボードマネージャのURL」に

http://arduino.esp8266.com/stable/package_esp8266com_index.json を入れます。

 

ツールバー ツール - ボード "~" - ボードマネージャ を選択します。

 

ボードマネージュ ウインドウが表示されたら、上部に esp を入れていくと、

esp8266 が一覧に表示されます。これを Install して下さい。

これで ツールバー ツール - ボード に項目が追加され、詳細な設定を行えます。

 


MicJack のインストール (バイナリー)

解凍した MicJack フォルダの中に bin フォルダがあります。

こちらが MicJack のバイナリーファイルです。

MixJuice と同じ手順で Micjack のインストール・更新を行えます。

MicJack 1.0.0b2 より正式対応になっています。

MicJack 1.0.0b1 以前は問題があるのを運営者が確認しています。

 

MicJack 1.0.0b5 からは
インストールアプリ ESPWriter が含まれています。

Install フォルダ内に OS 別で入っています。

MixJuice/ファームウェアの更新 の紹介ツールも使用可能です。

IJUtilities は IJUtilities 0.9.9d6 より MicJack に対応しています。

 

MixJuice と異なるのは、ファイルが 2 つになっている事です。

次のように指定して下さい。(Windows はフォルダ区切りが / の代わりに ¥ または \ です)

 

ファイル名 開始アドレス
~/MicJack/bin/MicJack.ino.bin 0x00000
~/MicJack/bin/MicJack.spiffs.bin 0x00100000

 

実行後の動作で 2 ファイルを順次入れている状態で進捗すれば正常です。

 

MicJack の動作確認と初期設定

MicJack の動作確認は IchigoJam BASIC がおすすめです。

 

MicJack を入れた基板を IchigoJam と接続します。

MixJuice プリント基板に MicJack を入れた場合は
今までの同様に上へ重ねるなどします。

 

電源を入れると ' が付いたコメント文で

MicJack の起動メッセージが表示されます。

この状態で正常です。

MicJuice と同じように Wi-Fi を検索し、接続して下さい。

 

?"MJ APL

?"MJ APC (アクセスポイント名) (キー)

 

IchigoJam 側の電源を入れるのが後になった場合は、

次のコマンドを入れてみて下さい。

 

?"MJ MJVER

 

「MicJack-1.0.0」などとMicJack とバージョンが表示されれば正常です。

MixJuice で「NG: MixJuice-1.2.1」などと MixJuice のバージョンが出ている場合は

MixJuice から更新されていませんので、再度インストールを行ってみて下さい。


Web ブラウザからの操作

Wi-Fi に接続した後、同じネットワークにあるパソコン・スマートフォン・タブレット端末から

http://micjack.local/ または http://(接続されたIPアドレス)/ で操作画面が表示されます。

IP アドレスは APC コマンドで Wi-Fi に接続した時に表示されます。
(一度接続すると MicJack が起動した時に自動接続するため、起動直後で表示されています)

主にスマートフォンからの操作を想定して設計されていますが、パソコンからでも操作可能です。

次の機能があります。

  • IchigoJam Keyboard・IchigoLatte Keyboard・操作ボタン
    仮想キーボードです。入力したキーを送出します。
    矢印と■・改行・space は IchigonQuest でも使用できます。
    シリアル(UART)と KBD1・KBD2 端子を用いた方法に対応します。
  • IchigoJam Command
    ダイレクトにコマンドを送出します。USB-シリアルのようにコマンド送出できます。
    例えば Web ブラウザなどからコピーし、ここに貼り付けてコマンド送出できます。
  • MixJuice/MicJack Command
    MJ を外した、それ以降のコマンドを入れて下さい。例えば GET ~ や MJVER などです。
  • Get Quest journey from kidspod
    IchigonQuest 接続時、Kidspod; からプログラムをダウンロードです。(後記)
  • Post Quest journey to kidspod
    IchigonQuest 接続時、プログラムを Kidspod; へアップロードします。(後記)

Wi-Fi へ接続できない場合に Web ブラウザの操作を使用する

MicJack は Soft AP によって独自にアクセスポイントを提供しています。

スマートフォンなどから Wi-Fi を検索し、Mixjack へ接続して下さい。

キーのデフォルトは abcd1234 です。
このアクセスポイント名とキーは MJ SOFTAP コマンドで設定・変更できます。

 

?"MJ SOFTAP (アクセスポイント名) (キー)

 

接続後 http://192.168.4.1/ を参照する事で、Web 上の操作画面を表示し、操作できます。


ホームの設定・参照

MicJack には GET コマンドの URL をホーム設定する事ができます。

これにより、よく使用するコンテンツの URL を毎回入力する必要がなく、短いコマンドで素早く参照可能です。

 

ホームの設定

MJ GETHOME (URL) で設定します。GET を GETHOME に変えます。
例えば BASIC/プログラム のトップページ(?"MJ GET ijprg.netlify.com/)を設定する場合は次のコマンドです。

 

?"MJ GETHOME ijprg.netlify.com/

 

ホームの参照

URL を外した MJ GETHOME のみで設定しておいたコンテンツを参照します。

 

?"MJ GETHOME


Kidspod; のプログラム送信・受信

MicJack は Kidspod; 向けの専用コマンド・操作が存在します。これで短いコマンドにより素早く操作できます。

もちろん MixJuice と同じコマンドでの送受も可能です。

 

Kidspod; 投稿プログラムの受信

GKP コマンドを使用できます。kidspod.club/mj/ を外した ID だけで参照できます。
例えば ID 3 縄跳びさっちゃんゲーム のプログラムをダウンロードする場合は

?"MJ GET kidspod.club/mj/3 と入力する代わりに次のコマンドで受信できます。

 

?”MJ GKP 3

 

Kidspod; へのプログラムアップロード

プログラムをアップロードは PKP コマンドを使用できます。

投稿の編集 より ソースコードを投稿 の右下に表示されている
MixJuice(2 行のうち 上)の URL が kidspod.club/mj/557:2C5B2D と表示されている場合は

?"MJ POST START kidspod.club/mj/557:2C5B2D と入力する代わりに
次のコマンドでアップロードできます。

 

?”MJ PKP 557:2C5B2D


IchigonQuest のプログラム送受

MicJack は IchigonQuest にも対応しています。

IchigonQuest は任意のコマンドを入力できないため、必ず Web ブラウザより操作する必要があります。

 

Kidspod;→IchigonQuest 投稿プログラムのダウンロード

IchigonQuest は つうしん - うけとる で受信待機にしておきます。

Web ブラウザ画面の Get Quest journey from kidspod に受信したい ID を入れて下さい。

 

ダウンロード後の動作がおかしい場合は該当の ぼうけん● を一度 けす として削除した後再度行って下さい。

 

Hex データ→IchigonQuest 転送

MicJack 1.0.0b5 より直接 Hex データを入れて送る事ができます。

Hex データは 0~9・A~F の文字列で、最大 1024 バイト(2 文字で 1 バイト)です。

この状態で公開されているプログラムをコピーしておきます。

 

IchigonQuest は つうしん - うけとる で受信待機にしておき、 

Web ブラウザ画面の Send Quest hex journey to IchigonQuest に Hex データを貼り付けて SEND して下さい。

この操作ではネット通信がないため、LED2(送信)ランプが付かない状態で正常です。

 

ダウンロード後の動作がおかしい場合は該当の ぼうけん● を一度 けす として削除した後再度行って下さい。

 

IchigonQuest→Kidspod; プログラムのアップロード

Kidspod; の プログラムの投稿 でプログラム以外のところを入れて、一度投稿します。

投稿の編集 を選択し、ソースコード の下に URL が表示されます。

この kidspod.club/mj/ を外した後ろの部分を

Web ブラウザ画面の Post Quest journey to kidspod に入れて POST して受信待機して下さい。

IchigonQuest より つうしん - おくる でプログラムをアップロードして下さい。

 

IJUtilities が IJUtilities 0.9.9d6 より MicJack が解読できる形式でファイル保存するようになりました。

.TXT 形式で保存したファイルの中身をそのまま Kidspod; のプログラムとして投稿する事で、
MicJack から Web ブラウザ操作でダウンロード可能です。


その他

  • GET コマンドなどの URL は末尾が / で終わる場合、/ を省略しても参照可能です。
    ?"MJ GET ijprg.netlify.com は MixJuice ではエラーになりますが、MicJack は参照できます。
  • GETS・POSTS など SSL を用いた参照は
    MixJuice では一部のサーバでエラーになる場合がありますが、MicJack は正常に参照できます。
  • MixJuice では起動時に文字化けした文字列を送出しますが、MicJack はこれがありません。正常に出力します。

MicJack に関する Q&A

MixJuice の基板に MicJack を入れた場合、MixJuice は使えなくなってしまうのですか?

MixJuice プリント基板に MicJack を入れた場合、MixJuice のファームウェアは上書きして消してしまいます。

しかし、MicJack は MixJuice のコマンドを対応させているので、通常は MicJack のままで問題なく使用できるでしょう。

コマンドを送った際に返ってくるメッセージは一部 MixJuice とは異なります。

 

MicJack を MixJuice の基板へインストールした場合、MixJuice へ戻す事はできますか?

はい。MixJuice/ファームウェアの更新 の手順で MixJuice.bin へ再度更新する事で MixJuice に戻せます。

Wi-Fi の接続情報はリセットされていますので、APC コマンドで改めて接続しなおして下さい。

 

MicJack をインストールしたところ、起動メッセージが繰り返し表示されます。

MicJack 1.0.0b1 以前でバイナリーからインストールした場合に発生します。
異常動作で再起動するために繰り返し起動メッセージが表示されます。

これは MicJack 1.0.0b2(2018年9月3日公開)で改善・正式対応されています。

最新の MicJack をダウンロードし、インストールしなおして下さい。

 

ファームウェアが MicJack か MixJuice かを確認する方法は?

起動の段階で MicJack と MixJuice は異なる動作をします。IchigoJam BASIC ですぐに確認できます。

  • MicJack = 'MixJack-(バージョン) など、多くの情報が表示されます。
  • MixJuice = 文字化けの文字列が表示されます。

これ以外に MJVER コマンドを実行する方法があります。IchigoJam BASIC では ?"MJ MJVER です。

  • MicJack =「'MicJack-(バージョン)」が表示されます。
  • MixJuice =「NG: MixJuice-(バージョン)」が表示されます。

MicJack はエラーメッセージも MixJuice 同等に出力するため、

文字の入力ミスは MicJack でも「NG: MixJuice-(バージョン)」が表示されます。ご注意下さい。

 

MicJack をインストールしたのですが、起動しても変化がないのですが……

運営者は Arduino IDE を用いたインストールだと正常終了しながらも、実際に更新されない問題に遭遇しています。

バイナリーからだと更新できています。

 

MicJack も存在しないコマンドは 'NG: MixJuice-~ で返します。

MJVER コマンドで確認してみて下さい。IchigoJam BASIC は ?"MJ MJVER です。

 

MixJuice 基板に MicJack を入れましたが、Wi-Fi 接続されていないようです。

MicJack をはじめて MixJuice へ入れた場合、MixJuice の Wi-Fi 設定は消されていて、Wi-Fi 接続されていません。

改めて MJ APL コマンドで Wi-Fi を検索し、MJ APC コマンドを用いて Wi-FI へ接続して下さい。

一度接続を行えば、再起動時に自動で Wi-Fi への接続を試みます。

 

Web ブラウザから micjack.local を参照したところ、NotFound と表示されます。

更新が中途半端になっています。2 ファイルあるので、更新に数分要します。

今一度ファームウェアを更新してみて下さい。

 

NodeMCU Flasher (A firmware Flash tool for nodemcu)  を用いる場合、

一番左の □ に × が付いている項目が書き込み対象です。

 

Keyboard Mode が反応しません。

Manual.PDF では KBD1 が IO13、KBD2 が IO14 に割り当てられた例で記載がありますが、

MicJack 1.0.0b5 では KBD=IO13、KBD2=IO16 が初期設定になっています。

この情報はソース MicJack.ino で記載があり、編集して割り当てを変更可能です。

 

モジュールによって端子の位置が異なり、印刷されている端子の記載も異なります。
次の表記になっているかもれません。

  • GPIO13 = D7
  • GPIO14 = D5
  • GPIO16 = D0

キーボード・基板/モジュールによっては Keyboard Mode での入力に問題があるかもしれません。

UART Mode での動作が無難な場合もあります。

 

IchigonQuest を起動しましたが、Wi-Fi が接続されていない事に気づきました。

Web ブラウザの画面から任意のコマンドを実行できるので、ここから接続が可能です。

MixJuice/MicJack CommandAPC (アクセスポイント名) (キー) を入力して接続して下さい。

 

IchigonQuest は Web から操作が必須ですか?

はい。IchigonQuest の送受は Web ブラウザからの操作が必須です。

IchigonQuest では任意の英数を入力してシリアルに送出する事ができません。

 

IchigonQuest のプログラムは Kidspod; 以外から受信できますか?

MicJack 1.0.0b5 より HEX ファイルを Web ブラウザから送信してプログラムを入れる方法が追加されました。
これを用いて Kidspod; 以外で公開されているプログラムを入れる事が可能です。

Hex ファイルをコピーし、 Web ブラウザの Send Quest hex journey to IchigonQuest に貼り付けて SEND して下さい。

 

IchigonQuest へ投稿するプログラムは他のツールで変換しパソコン等から投稿できますか?

MicJack を用いた投稿を行わず、パソコン等からでも投稿可能です。

IchigonQuest より受け取った 512 バイトのバイナリーデータを

空白・改行のない Hex 形式に変換して下さい。 1024 バイトになります。

この Hex 形式をそのまま Kidspod; のソースプログラムへ貼り付けて下さい。

IchigonQuest/ぼうけんしょのきろく はこの方法で Kidspod; へ公開しています。

 

Hex 形式以外(例えば手入力の操作)を含める場合は、[HEX] など

行頭が [ ではじまる行を任意文の末尾に入れ、その次の行に Hex 形式 1024 バイトを入れて下さい。

 

なお、IchigonQuest では 512 バイトのうちプログラムの末尾を 16 進数 FF で埋めますが、

MicJack では Hex 形式のデータでこれを省略できます。
サイズが不足している分は MicJack が FF を補完して転送します。