WRX micro:bitを車両で使う その4 本体ファームウェアの更新とWebUSB
先日購入した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の本体バージョンによって異なるので注意して下さい。この記事で使用しているmicro:bitの本体バージョンは「v1.5」です。
2020年12月追記
2020年11月にmicro:bitの本体バージョン(v2.0)が発売されました。実際に購入してファームウェアについて確認してみた所、この記事でのmicro:bit本体バージョン(v1.5)のファームウェア「0253」が見当たりません。最新は「0249」になっています。
手順
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」になっています。
私の場合、ファームウェアのアップデートを行ってもmicro:bitに転送したプログラムはそのまま動いていましたが、プログラムも全て消去される事があるかもしれません。アップデート後に改めてプログラムも転送出来る環境で行った方が良いと思います。
もし最新のファームウェアで問題が発生した場合は、先のファームウェアが公開されているサイトの最下部に、過去のファームウェアも公開されているので、古いファームウェアをダウンロードしてバージョンダウンも可能です。現在(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 新バージョン「2.0」について
2020年11月25日より、Micro:bit本体の新バージョン「2.0」が発売になっています。従ってこれまでの古いmicro:bitを使用した記事(~その24)と新しいmicro:bitでは記事内容に相違がある場合があります。ただしこれまでのプログラムは基本的には新しいmicro:bitでも動作し、古いmicro:bitも引き続き使用する事が可能です(ハード的に新たに追加された機能は、拡張ボード等が必要ですが)。
なお新しいmicro:bitについては実際に1つ購入し、micro:bit関連記事「その25」から扱っています。
2022年4月追記
2021年12月にmicro:bit本体のバージョンが「2.2」になるとのアナウンスがありましたが、「2.0」との機能上の違いは無いとされています。
「micro:bit」関連記事
以下は「micro:bit」タグの記事一覧です(投稿順)。現在の記事とこれ以降に投稿した記事も含みます。「その24」までの記事ではmicro:bit本体のバージョン「1.5」を使用しています。
クリックで開きます
- WRX micro:bitを車両で使う その1 micro:bitの購入
- WRX micro:bitを車両で使う その2 Microsot MakeCodeとスマホ用アプリ
- WRX micro:bitを車両で使う その3 micro:bitの仕様と購入したブレイクアウトボード
- WRX micro:bitを車両で使う その4 本体ファームウェアの更新とWebUSB
- WRX micro:bitを車両で使う その5 無線機能の利用
- WRX micro:bitを車両で使う その6 方位センサーの利用
- WRX micro:bitを車両で使う その7 加速度センサーの利用
- WRX micro:bitを車両で使う その8 micro:bitからSIドライブのモード切替
- WRX micro:bitを車両で使う その9 サーボモーターの利用(準備編)
- WRX micro:bitを車両で使う その10 サーボモーターの利用(動作編)
- WRX micro:bitを車両で使う その11 可動式雲台を作る(2軸編)
- WRX micro:bitを車両で使う その12 可動式雲台を作る(1軸編)
- WRX micro:bitを車両で使う その13 連続回転サーボモーターの利用
- WRX micro:bitを車両で使う その14 Bluetoothでスマホから操作(データ受信)を行う
- WRX micro:bitを車両で使う その15 LCDパネル(I2C LCD1602・2004)の利用
- WRX micro:bitを車両で使う その16 シリアル通信(RS232C)を行う
- WRX micro:bitを車両で使う その17 光センサーと温度センサーの利用
- WRX micro:bitを車両で使う その18 LEDのフォントとスクロールスピードを変える
- WRX micro:bitを車両で使う その19 ELM327の車両との通信を確認する
- WRX micro:bitを車両で使う その20 アスキーコード16進数から数値10進数への変換
- WRX micro:bitを車両で使う その21 車両からエンジン回転数を得る
- WRX micro:bitを車両で使う その22 7セグメントLEDの利用(TM1637ドライバ)
- WRX micro:bitを車両で使う その23 DCモーターを制御する(TB6612FNG・DRV8833)
- WRX micro:bitを車両で使う その24 ステッピングモーターを制御する(ULN2003ドライバ)
- WRX micro:bitを車両で使う その25 micro:bit バージョン2.0を購入(2021年12月 v2.2アナウンスあり)
- WRX micro:bitを車両で使う その26 バージョン2.0で追加されたMakeCodeブロック
- WRX micro:bitを車両で使う その27 バージョン2.0の初期状態と追加された機能
- WRX micro:bitを車両で使う その28 新バージョン(v2.0)のI2C通信
- WRX micro:bitを車両で使う その29 環境モニターを作る(気温・気圧・湿度編)
- WRX micro:bitを車両で使う その30 環境モニターを作る(二酸化炭素・有機化合物編)
- WRX micro:bitを車両で使う その31 環境モニターを作る(LCD表示・動作確認編)
- WRX micro:bitを車両で使う その32 環境モニターを作る(RTCモジュール追加編)
- WRX micro:bitを車両で使う その33 環境モニターを作る(ロギングモジュール追加編)
- WRX micro:bitを車両で使う その34 環境モニターを作る(ログデータ記録編)
- WRX micro:bitを車両で使う その35 車内のCO2濃度と換気について
- WRX micro:bitを車両で使う その36 新バージョン(v2.0)でのI2C通信の問題解決
- WRX micro:bitを車両で使う その37 Microsoft MakeCodeの新バージョン(v4)と新機能データロガー
- WRX micro:bitを車両で使う その38 mp3音声ファイルの再生(DFPlayer Mini)
- WRX micro:bitを車両で使う その39 車速パルス信号から速度を計算する
- WRX micro:bitを車両で使う その40 フルカラーLED(WS2812B)でメーターを作る
- WRX micro:bitを車両で使う その41 フルカラーLEDマトリックス(WS2812B)で時計を作る
- WRX micro:bitを車両で使う その42 フルカラーLEDマトリックス(WS2812B)でピクセルアートアニメーションを作る
「micro:bit+プラレール」も始めました。
その他
FA用PLCとELM327を使用した「OBD2」関連の記事は以下の記事から始まります。
注記
-
- このブログ内で書いている内容はあくまで私の利用する製品(アプリ含む)や機器での場合です。他メーカーの製品や機器をはじめ、同じメーカーの製品・機器であってもバージョン違い等の場合もあるので、記事内容の保証や責任を負う事は出来ません。
- 記事内で紹介している製品や、その他の類似製品を購入・利用する場合はそのメーカーや購入先で仕様等を確認し、自己判断と自己責任の下で利用して下さい。
- 記事内で公開しているmicro:bit用プログラムは自由に利用・改変して頂いて構いません。ただし不具合やバグもありますので、プログラムを利用した際の故障や事故等についての保証や責任を負う事は出来ません。自己判断と自己責任の下で利用して下さい。
- micro:bit製品やプログラミング、その他記事内容について個別の問合せや依頼を頂いても回答する事は出来ませんので、予め御了承下さい。
- BBC micro:bitは、micro:bit教育財団の登録商標です。その他のブランド名または製品名は各所有者の商標です。