micro:bitをiPadに有線で接続できるか試してみた

Facebookのコミュニティをみていて、iPadにUSBの有線接続してmicro:bitの接続・ダウンロードができるかっていう話題があったので試してみました。 もしかしたら別の方法もあるのかもしれないので、こんなやり方じゃないよという方がいたらコメントいただけると助かります。

ちなみに今回使用しているiPadはminiの第5世代、micro:bitは初代となります。

接続に使用する機器

有線接続を行うことはできないので、USBのOTG変換のコネクタを準備してみます。住んでいるところではなかなか売っていないので、秋葉原あきばお~で売っていた変換コネクタを準備します。(以前購入していたので実験しています)

f:id:ueponx:20201130213956j:plain

Amazonでも同じような変換コネクタ(OTG)は売っていますが、レビューを見ると熱で溶けるとか結構やばいものが多いみたいです。レビューを確認して品質が安定したものを選んだほうが良さそうです。USBメモリが使えるとか書いてあれば問題ないと思います。

そのまま、変換コネクタを接続してUSBメモリを接続するとちゃんと認識してファイルの読み込みも問題ありません。micro:bitはPCなどに接続するとストレージとして見えるので、これなら使用できる可能性は高いのかな?

f:id:ueponx:20201130215721p:plain

USBメモリのフォルダも中に入っている動画も再生で来ています。

では、USBケーブル(タイプA-マイクロBコネクタのケーブル)でiPadmicro:bitを接続してみます。裏面のアクセスランプは点灯しています。自分はmicro:bitをアクリルケースに入れているので、少し見た目が違いますが点灯している状態はわかるかなと思います。

f:id:ueponx:20201130215650j:plain

ではmicro:bitが同じようにストレージとして見えているか確かめてみると、問題なくUSBメモリと同じようにストレージとして見えています。

f:id:ueponx:20201130220542p:plain

micro:bitの中のファイルもちゃんと見えています。

f:id:ueponx:20201130220548p:plain

この領域に書き込む事ができれば、かなり期待できそうです。

ChromeブラウザからMakeCodeにアクセスしてオンラインバージョンでの書き込みを行う

今回はmicro:bitのアプリはBluetooth接続で書き込みを行うことしかできないようなので、iPadChromeブラウザを使用してMicrosoft MakeCodeのサイトにアクセスして、早速簡単なコードを作成して書き込みをしてみようろ思います。

Chromeブラウザからでも操作にはあまり大きな違いはありません。使用できる領域がツールバー分だけ狭くなる程度でしょうか。

f:id:ueponx:20201130221304p:plain

あとは【ダウンロード】ボタンをタッチするだけです。ボタンをタッチするとダイアログが表示されるので更に【ダウンロード】ボタンをタッチすると…

f:id:ueponx:20201130221308p:plain

インストールされていたmicro:bitアプリが起動します。何度やってもアプリが起動してきます。ファイル単体のダウンロードができません。アプリがインストールされているからでしょうか?

f:id:ueponx:20201130221314p:plain

では、アプリと一旦アンインストールして、同様の作業を行ってみます。すると…別アプリを開くか確認するダイアログが表示されます。

f:id:ueponx:20201130221318p:plain

うーん。ウェブサイト側が別アプリを開こうとしているようで、それを許可することができないようです。これ以上は駄目のようです。 直接micro:bitに書き込みができなくても、別の場所にHEXファイルをダウンロードできれば少しは可能性があったのですが、それもできないようです。残念。

おわりに

このやり方ではうまく行かないようでした。他の方法もあるのかなと思いますが、ブラウザを変更するくらいしかちょっと思いつきません。 もしかしたら別の方法もあるのかもしれないので、こんなやり方じゃないよという方がいたらコメントいただけると助かります。

とはいえ、公式のアプリがインストールできてしまえばこんなことをしなくてもいいのです。 アプリをインストールできない環境ってのもあるようですが…そのあたり本当にやめてあげてほしいです。

てな感じで、今回はできるかできないかの実験ということでしたが、残念な結果で終わります。

/* -----codeの行番号----- */