1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MicroPythonAdvent Calendar 2018

Day 9

bpi:bit の MicroPython その1

Last updated at Posted at 2018-12-09

今日とりあえげるのは bpi:bit です。

ラズパイもどきとかArduinoもどきとか、いりいろな「もどき」ものを出しているBanana Piですが、bpi:bit はその名からも想像つくように BBC micro:bit もどきです。

bpi:bit のポータル的な Wiki サイトはのここにあります。

日本で技適もとれている ESP-WROOM-32 を採用していて、とうぜん Wi-Fi はサポート。下方にある端子は micro:bit と互換なので、micro:bit 用の周辺機器がいろいろ流用できます。LED の代わりに NeoPixel 25個ついていて、CPU温度ではない温度センサー、疑似でない光センサー、MPU9250、圧電ブザーがついていて、お値段は micro:bit とあまり変わりません。私はAliexpressSinoVoip Co.,Limited Banana PI ストアで送料込み 2,317円 で購入しました。「WiFi Display」と表記のある謎の箱が送られてきたのですが、中にはちゃんと bpi:bit が入っていました。

IMG_4680.jpg

開発環境は webduino というブロックプログラミング環境や Arduino IDE とかあるのですが、11月に MicroPython に対応したとのことで、積みボード化していた bpi:bit をひっぱりだしてきました。

bpi:bit MicroPython のドキュメントはここにあります。今のところは中国語の説明しかないのですが、chrome の翻訳機能使えば、なんとか内容の雰囲気はわかります。このドキュメントを読んで動かせたところまで書きます。

ドライバのインストール

ホストPCから bpi:bit に MicroPython ファームウェアを焼くには UART シリアル通信できなきゃなりません。

bpi:bit に載っている USB-シリアル変換チップは CH341 というもののようです。このチップを積んだボードを
使うのは初めてだったので、ホストOSにドライバをインストールする必要がありました。

Windows ではドキュメントどおりここからダウンロードしてインストールすればよいのですが、私が普段プライベートで使っている macOS 用の説明がありません。macOS 用ドライバを探したところここにありましたので、これをダウンロードして使いました。Linux 版もあるようですが試していません。インストール後に再起動が必要です。

ファームウェアのインストール

bpi:bit の MicroPython ファームウェアはここにあります。なにかいろいろあって分かりにくいでしょうが、ファームウェアは firmware.bin です。Windows の場合はファームウェアを焼くために以下もダウンロードして、firmware.bin と同じフォルダに置いておきましょう。

  • AutoErase.exe
  • AutoFlash.exe

mac/Linuxの場合は esptool.py をインストールしてください。python 3 が使える環境であれば以下のようにします。

$ pip install esptool

ホストPCと bpi:bit を以下の写真のように USB ケーブルで繋ぎます(bpi:bit 側は micro USB)。micro:bit と同じです。

IMG_4779.jpg

Windows の場合はダウンロードした以下のコマンド順番に実行します。

  • AutoErase.exe
  • AutoFlash.exe

macOS/Linux の場合は esptool を使って以下のようにします。

$ esptool.py --chip esp32 --port <シリアルポート> --baud 115200 erase_flash
$ esptool.py --chip esp32 --port <シリアルポート> --baud 115200 write_flash -z --flash_mode dio --flash_freq 40m 0x1000 firmware.bin

<シリアルポート> のところ、私の macOS では /dev/tty.wchusbserialfa1440 でした。Linux だとたぶん /dev/USB0 あたりでしょう。これらシリアルポートへのアクセス権のあるアカウントで実行してください。

正常終了したら、裏面のリセットボタンを押します。リセットボタンの位置も micro:bit と同様です。

IMG_4780.jpg

TeraTerm や screen などターミナルアプリでシリアルポートにアクセスすると、以下のように MicroPython の REPL にアクセスできます。これを書いている時点では 2018-12-07 にビルドされたもので、本家 MicroPython の v1.9.4 がベースになっていることがわかります。

I (191) wifi: Init data frame dynamic rx buffer num: 64
I (191) wifi: Init management frame dynamic rx buffer num: 64
I (201) wifi: Init static rx buffer size: 1600
I (201) wifi: Init static rx buffer num: 10
I (211) wifi: Init dynamic rx buffer num: 0
I (261) phy: phy_version: 3960, 5211945, Jul 18 2018, 10:40:07, 0, 0
I (271) wifi: mode : sta (30:ae:a4:8f:24:38)
I (271) wifi: STA_START
Press "A" to enter the smartconfig mode while the led is rolling
Started wifi in normal mode
OSError: [Errno 2] ENOENT
MicroPython v1.9.4-817-g72effc642-dirty on 2018-12-07; ESP32 module with ESP32
Type "help()" for more information.
>>> I (6351) wifi: n:11 0, o:1 0, ap:255 255, sta:11 0, prof:1
I (6911) wifi: state: init -> auth (b0)
I (6921) wifi: state: auth -> assoc (0)
I (6921) wifi: state: assoc -> run (10)
I (6961) wifi: connected with aterm-76af2c-g, channel 11
I (6961) wifi: pm start, type: 1

I (6961) network: CONNECTED
I (8191) event: sta ip: 192.168.0.8, mask: 255.255.255.0, gw: 192.168.0.1
I (8191) network: GOT_IP

とりあえず、本日はここまで。

次回、mpfshell を使った操作について説明します。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?