はじめに
せっかく休みに入ったので、積んであったMAIX DOCKで遊んでみようと思ったのですが、MaixPyのバージョンが0.3.2と最新の0.5.0から見るとかなり古くなってしまっていました。
Try Numpy on MaixPy v0.5~
— Sipeed (@SipeedIO) December 28, 2019
include: Basic ndarray, Matrix methods, Statistical , Manipulation of polynomials, FFT, etc.https://t.co/kMvwEWwhbg pic.twitter.com/EkjZVVhYyp
最新だとnumpyも使えるのか・・・というわけで、アップグレードしてみようと思います。
なお、一番最初のとりあえず動かしてみる系のことは以下にまとめてありますので、そちらに興味がある方は参考にしてください。
アップグレードしてみる
手順
以下にあります、が私の環境だとうまく動作しませんでしたし、結構ハマりポイントがありました。
Upgrade the firmware · MaixPy DOC
そのため、以下に手順を残しておきます。
kflash.pyの導入
kflash_guiというツールがあるのでダウンロードして、使える人はそれを使うほうが楽だと思います。
Releases · sipeed/kflash_gui · GitHub
が、私の環境では起動しないので前回同様kflash.pyというコマンドラインツール型のものを使います。
GitHub - kendryte/kflash.py: kflash, A Python-based cross-platform Kendryte K210 UART ISP Utility
pipで導入もできるようですが、これまた私の環境だとエラーが出て入らないので、このリポジトリをクローンして使うことにします。
$ git clone https://github.com/kendryte/kflash.py
クローンしたディレクトリ内にkflash.pyがあるので、そこにパスを通すなり、直接指定するなりはお好みで・・
ファームウェアのダウンロード
ドキュメントにはgithubのリンクとSipeed社のリポジトリへのリンクと2つありますが、v0.5.0に関して言うと、githubのreleasesにはソースコードしかないためSipeed社のリポジトリを見たほうがいいです。
http://dl.sipeed.com/MAIX/MaixPy/release/master/
v.0.5.0らしきところをたどっていくとこんな感じのが見つかりました。
ドキュメントを読むと命名規則でfullとついてるやつが全部のせと書いてあったので、それにしようと思ったら”みあたらない”のでなんか一番載ってそうなwith_lvglのものにしました。
いざアップグレード
ディレクトリ構成はこんな感じになっている、と想定します。
$ ls kflash.py maixpy_v0.5.0_9_g8eba07d_with_lvgl.bin
では実行します。
$ python3 kflash.py/kflash.py -B dan maixpy_v0.5.0_9_g8eba07d_with_lvgl.bin -p /dev/tty.wchusbserial1440
以下、ログです。
[INFO] COM Port Selected Manually: /dev/tty.wchusbserial1440 [INFO] Default baudrate is 115200 , later it may be changed to the value you set. [INFO] Trying to Enter the ISP Mode... . [INFO] Greeting Message Detected, Start Downloading ISP Downloading ISP: |=============================================| 100.0% 8kiB/s [INFO] Booting From 0x80000000 [INFO] Wait For 0.1 second for ISP to Boot [INFO] Boot to Flashmode Successfully [INFO] Selected Flash: On-Board [INFO] Initialization flash Successfully Programming BIN: |=============================================| 100.0% 10kiB/s [INFO] Rebooting...
無事に終わったようです。
試してみる
接続して試してみましょう。
$ screen /dev/tty.wchusbserial1440 115200
おお!接続できましたね!!「MicroPython v0.5.0-9-g8eba07d on 2019-12-25」ということで、ちゃんとアップグレードされていることがわかります。
では早速numpyを・・・
import numpy as np
Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: no module named 'numpy'
なん・・だと・・・
嘘だろ、と思って改めて冒頭のtweetを見てみます。
Try Numpy on MaixPy v0.5~
— Sipeed (@SipeedIO) December 28, 2019
include: Basic ndarray, Matrix methods, Statistical , Manipulation of polynomials, FFT, etc.https://t.co/kMvwEWwhbg pic.twitter.com/EkjZVVhYyp
おっ、そういうことか、というところで改めて。
import ulab as np np.array([1,2,3])
array([1.0, 2.0, 3.0], dtype=float)
おお!今度は大丈夫そうですね!!
まとめ
今回はファームウェアのアップグレードを実施しました。
ドキュメント通りいかなくても、まぁなんとかなるものですね!!
年明けにはなにか作って、それについてブログ書けるといいなぁ、と思っとりますのでご期待くださいw