WRX micro:bitを車両で使う その4 本体ファームウェアの更新とWebUSB

micro:bit, 社外部品・DIY

先日購入したmicro:bitは、最近ようやくMicrosot MakeCodeでプログラムを作り始めました。現在はとりあえずmicro:bitに搭載されている、方位センサーや加速度センサーを利用しているチュートリアルや参考プログラムを真似てみたりしています。Microsot MakeCodeでは画面内でmicro:bitのシミュレートも行えますが、やはり実際にmicro:bitに転送して試してみないと実感が湧きません。今回はその前段階としてmicro:bitのファームウェアとPCとの接続(WebUSB)についてです。

スポンサーリンク

前々回の記事でMicrosot MakeCodeのWeb版やアプリ版、スマホ用アプリについて記載しました。その際にPCからmicro:bitへの転送が少々面倒だったのですが、特にWeb版の場合はWebUSBという機能を使用する事でかなり簡単になります。当初はWebUSBの方がなんだか面倒な印象があり、実際に利用する場合も最初だけ作業が必要ですが、結果的にはその後の作業性にはかなり差が出ます。

※この記事の内容でのPC(OS)はWindows10を前提としています。

WebUSB

WebUSBはWebブラウザからUSBデバイスへの通信を可能にするもので、Web版のMicrosot MakeCodeから直接micro:bitにプログラムを転送(ダウンロード)する事が可能になります。ただしWebUSBを利用出来るWebブラウザは現在(2019年12月)の所はGoogle Chrome(もしくはChromeベースのWebブラウザ)のみで、その他にWindowsの場合は「8.1」以降(またはMac、Linux)、micro:bitのファームウェアは「0243」以降となっています(ただしMicrosot MakeCode上では「0249」ともあり・後述)。ちなみにWebUSBは現在もまだ開発中となっていて、正常に動作しない場合やバグ等があるかもしれませんが、私の環境では特に問題は起きていません。詳細についてはこちら(英文)に記載されています。

micro:bitのファームウェア

PCやWebブラウザ(Google Chrome)に関しては問題無いと思います。micro:bitのファームウェアに関しては、PCにmicro:bitをUSBケーブルで接続するとデバイスとして自動的に認識され、エクスプローラー内に表示されるテキストファイルを開く事で確認出来ます。

エクスプローラー内に「MICROBIT」というデバイス(ドライブ)が表示され、その中の「DETAILS.TXT」を開きます。通常であればメモ帳で内容が表示されます。「MICROBIT.HTM」は単なるmicro:bitサイトへのWebショートカットです。

上記は私が購入したmicro:bitの内容です。この中の「Interface Version」がファームウェアのバージョンとなり、この場合は「0249」です。「USB Interface」にWebUSBとの記載もあります。従って私のmicro:bitのファームウェアは条件をクリアしている事になります。また今後新たに購入する場合も、それほど古いバージョンの物が来る事も無さそうですが、一度使用しているmicro:bitのファームウェアの確認は行っておいた方が良いと思います。また今後もmicro:bitの不具合修正や機能追加などで新しいファームウェアが公開される場合もあります。

ファームウェアのアップデート

micro:bitのファームウェアはこちらのサイトで公開されていて、現在(2019年12月)の最新は「0253」となっています。WebUSBが利用出来て、特に問題が無い場合はアップデートの必要はありませんが、今回バージョン「0249」の私のmicro:bitを「0253」にアップデートしてみます。

※私の場合、ファームウェアのアップデートを行ってもmicro:bitに転送したプログラムはそのまま動いていましたが、プログラムも全て消去される事があるかもしれません。アップデート後に改めてプログラムも転送出来る環境で行った方が良いと思います。

1.ファームウェアのダウンロード(PCへ)

先のファームウェアが公開されているページからファームウェアをダウンロード(PC内へ保存)します。ファームウェアはmicro:bitのプログラムファイルと同じ「.hex」という拡張子のファイルです。

2.micro:bitをメンテナンスモードでPCに接続

micro:bitの「リセットボタン」を押しながら、USBケーブルでPCに接続します。接続後はリセットボタンを離しても大丈夫です。通常はエクスプローラー内に「MICROBIT」と表示されますが、この時は「MAINTENANCE」と表示されます。

3.ファームウェアをmicro:bitにコピー

ダウンロードしたファームウェアを「MAINTENANCE」内にコピーします。コピーを行うと作成したmicro:bitのプログラムの時と同様に一瞬だけコピーされたファームウェアが表示されますが、その後はmicro:bitが自動的にファームウェアを書き込んでリセットが掛かります。リセットが掛かるとPCからは切断されますがまたすぐに再接続され、この時は通常の「MICROBIT」として表示されます。

4.ファームウェアバージョンの再確認

念の為、再接続で表示された「MICROBIT」内の「DETAILS.TXT」を開いてバージョンを確認します。ちゃんと「0253」になっています。

もし最新のファームウェアで問題が発生した場合は、先のファームウェアが公開されているサイトの最下部に、過去のファームウェアも公開されているので、古いファームウェアをダウンロードしてバージョンダウンも可能です。現在(2019年12月)は「0250」と「0241」の2つがありました。

WebUSBでの接続

ここからは実際にGoogle Chrome WebブラウザでWeb版Microsot MakeCodeを開き、micro:bitに接続を行います。micro:bitをPCに繋いだ状態で、Microsot MakeCodeの右上にある歯車アイコンから設定メニューを開き、「デバイスを接続する」をクリックします。

上記ウィンドウが出るので、もう一度「デバイスを接続する」をクリックします。ちなみにこのウィンドウではファームウェアのバージョンが「0249」以上の必要があるとなっていて、サイトの記載とは異なっています。

続いて上記のウィンドウが出るので、「BBC micro:bit CMSIS-DAP」を選択して「接続」をクリックします。初めてWebUSBで接続する場合はBBC micro:bit CMSIS-DAPではなく、「LPC1768」と表示されるとトラブルシューティングのサイトに記載されています。

一度接続を行ったmicro:bitは「ペア設定済み」となり、以降はPCにmicro:bitを繋ぐだけで認識されます。これでMicrosot MakeCodeの「ダウンロード」ボタンをクリックすると、プログラムはmicro:bitに直接転送される様になります。エクスプローラーでプログラムをコピペする場合よりも書き込み処理は早く完了する印象です。ただしプログラムはPC内には保存されていないので(履歴には残りますが)、ダウンロードボタンの右にある保存ボタンで別に行う必要があります。

micro:bitにはまだベータですがWeb版のPython Editorもあり、こちらもWebUSBでの接続が可能です。ここでは扱いませんがPython Editorでの接続方法もMicrosot MakeCodeとあまり違いは無い様子です。

Windows8.1・Windows10で繋がらない場合

Windows7からのアップグレードで更新したOSの場合は繋がらない場合があると、こちらのサイトに記載されています。この場合はデバイスマネージャーでmicro:bitが「mbed Composite Device」と認識されているので、このデバイスを削除(アンインストール)してmicro:bitを再接続する事で、正常に接続されるとあります。

正しく認識されると、デバイスマネージャーでは上記の様に表示されます。「mbed Composite Device」でも認識されていない場合は、PCとの接続で使用するUSBケーブルが通信の出来ない充電専用となっている場合があります。

※micro:bitのサポートサイトでは、WinUSBが利用出来るWindowsで「8+」と「8.1」の両方の記載があり、「8」がサポート対象なのか不明です。8.1との記載が多いのでこの記事でも8.1としていますが、もしかすると8でも可能かもしれません。

スマホ(Android)の場合

スマホにはmicro:bit用のアプリがあってプログラムの作成も可能ですが、結局はWebブラウザ上での作業になります。またスマホでもWebUSBを利用する事が可能でその方法もPCと変わらない様子です。ただしmicro:bitをスマホに接続する際のUSBケーブルは「OTG(USB On-The-Go)ケーブル」である必要があります(WebUSB詳細についてのサイトに記載あり)。

と言ってもスマホでのプログラミングは相当に無理があり、タブレットであれば何とか辛うじてという印象です。従って私はまだ試していません。スマホ用アプリではBluetoothによるmicro:bitへの接続とプログラム転送が可能になっているので、現状でスマホを利用するのはPCの無い環境でのプログラムの書き換え程度だと思っています。

Bluetoothによるプログラム転送は行ってみましたが少々時間が掛かります。Bluetoothによる転送方法は前々回の記事を見て下さい。

Windows版アプリ

Windowsにはインストールを行うアプリ版のMicrosot MakeCodeもあります。アプリ版の場合はWebUSBは利用しません。またアプリ版からmicro:bitへプログラムを転送する場合は特に事前の操作は必要なく、micro:bitをPCに接続して正しく認識出来ていれば「ダウンロード」ボタンで転送出来ます。設定メニュー内に「デバイスを接続する」もありません。

繋がらない場合は先の「Windows8.1や10で繋がらない場合」の作業を行ってみます。micro:bitがPCで正しく接続された状態でも転送出来ない場合は、こちらに記載されているアプリ版のトラブルシューティングを行ってみますが、内容はファームウェアの更新なので方法はWebUSBの場合と同じです。

※私の環境では時々、Web版・アプリ版のMicrosot MakeCodeのどちらでも、micro:bitは正しく接続・認識出来ている状態でプログラムの書き込みを行っても、その後一向に書き込みが完了しない事があります(ダウンロードボタン内の表示がクルクル回ったまま)。この場合は一旦Web画面やアプリを閉じてから再度開き直して行うと完了しました。プログラムは履歴に残っていますが、プログラムの書き込み前にはPC内への保存を行う癖を付けておいた方が良さそうです。

こうみると、Windows10であればアプリ版の方が利用し易いかもしれませんが、アプリのダウンロードはWindowsストア経由なので結局はインターネット接続が必要です。教育現場などではオフラインでインストールが出来る環境もあった方が良さそうですが。

その他

micro:bitではUSB接続によってプログラム転送や電源供給も行っているので、PC本体へのUSBコネクターの抜き差し頻度も多くなり、USBコネクターや内部回路への電気的あるいは物理的な故障の可能性も高まります。私の場合も使用しているノートPCのUSBコネクターが一部反応しなくなってしまいました。

USBコネクターへの負荷を減らす為には、micro:bitを直接PCに接続せずにUSBハブや延長ケーブルを使い、接続切断はそのUSBハブ・延長ケーブル側で行った方が良さそうです。またmicro:bit本体側のmicroUSB端子も同様で、microB→TypeAの変換コネクターや短いケーブルを利用して、出来るだけmicro:bit本体側に付けたままにし、microUSB端子への抜き差し頻度も減らした方が良いと思います。・・・教育現場でのmicro:bit本体の扱いも大変そうです。

「micro:bit」関連記事

以下は「micro:bit」タグの記事一覧です(投稿順)。現在の記事とこれ以降に投稿した記事も含みます。

その他

「OBD2」関連の記事は以下の記事から始まります。

注記

    • このブログ内で書いている内容はあくまで私の利用する製品(アプリ含む)や機器での場合です。他メーカーの製品や機器をはじめ、同じメーカーの製品・機器であってもバージョン違い等の場合もあるので、記事内容の保証や責任を負う事は出来ません。
    • 記事内で紹介している製品や、その他の類似製品を購入・利用する場合はそのメーカーや購入先で仕様等を確認し、自己判断と自己責任の下で利用して下さい。
    • 記事内で公開しているmicro:bit用プログラムは自由に利用・改変して頂いて構いません。ただし不具合やバグもありますので、プログラムを利用した際の故障や事故等についての保証や責任を負う事は出来ません。自己判断と自己責任の下で利用して下さい。
    • micro:bit製品やプログラミング、その他記事内容について個別の問合せや依頼を頂いても回答する事は出来ませんので、予め御了承下さい。
    • BBC micro:bitは、micro:bit教育財団の登録商標です。その他のブランド名または製品名は各所有者の商標です。