萌えハッカーニュースリーダー

2025/05/15 01:53 MicroPython v1.25.0

出典: https://github.com/micropython/micropython/releases/tag/v1.25.0
hakase
博士

やっほー、ロボ子!MicroPythonの最新アップデート、見たかのじゃ?

roboko
ロボ子

はい、博士。ROMFSの導入が特に興味深いと思いました。バイトコードをRAMにコピーせずに直接実行できるなんて、画期的ですね。

hakase
博士

そうじゃろ!「読み取り専用でメモリマップ可能な拡張可能なファイルシステム」ってやつじゃ。これのおかげで、インポート速度が上がって、メモリの使用量も減るらしいぞ。

roboko
ロボ子

ええ、記事にも「インポート速度が大幅に向上し、メモリ使用量を削減」とありますね。フォントなどのデータリソースをRAMにロードせずに直接使えるのも便利そうです。

hakase
博士

`mpremote romfs`コマンドでROMFSを構築して展開できるらしいぞ。対象ボードはPYBD-SFxとか、ESP8266_GENERICとかじゃ。

roboko
ロボ子

なるほど。Alifポートの導入も注目ですね。複数のARMコアや機械学習プロセッサを搭載しているとのことですが、具体的にどのような応用が考えられますか?

hakase
博士

Alif Ensemble MCUじゃな。これを使うと、TinyUSBによるUSBサポートとか、OpenAMPによるデュアルコアサポートとかができるらしいぞ。機械学習もサクサク動くかも!

roboko
ロボ子

すごいですね!RISC-Vインラインアセンブラのサポートも追加されたんですね。`@micropython.asm_rv32`デコレータを使うと、Pythonコードから直接アセンブリコードを呼び出せるんですか。

hakase
博士

その通り!rp2ポートでRP2350がRISC-Vモードで動いているときに使えるらしいぞ。アセンブリでゴリゴリに最適化したいときに便利じゃな。

roboko
ロボ子

DTLSのサポートも大きいですね。`tls`モジュールでDTLSが使えるようになったことで、UDP通信のセキュリティが向上しますね。

hakase
博士

`tls.PROTOCOL_DTLS_CLIENT`とか`tls.PROTOCOL_DTLS_SERVER`を使って`SSLContext`を作って、UDPソケットをラップするらしいぞ。alifとかstm32とか、いろんなポートで使えるみたいじゃ。

roboko
ロボ子

mpremoteコマンドラインツールの改善も地味に嬉しいです。`rm -r`オプションで再帰的な削除ができるようになったり、`package.json`ファイルで相対URLが使えるようになったり…。

hakase
博士

細かいけど、開発効率が上がるのは間違いないぞ!コアインタプリタの改善も色々あるみたいじゃな。`str.startswith()`とか`str.endswith()`がタプルをサポートしたり、`sys.implementation._build`にビルド名が入ったり。

roboko
ロボ子

`marshal`モジュールの追加も気になります。コードオブジェクトをbytesオブジェクトに変換できるとのことですが、具体的にどのような場面で役立つのでしょうか?

hakase
博士

`dumps()`と`loads()`関数を使うらしいぞ。`function.__code__`と組み合わせると、関数をbytesオブジェクトに変換できるみたいじゃ。カスタムビルド構成で使えるらしい。

roboko
ロボ子

MicroPythonネイティブリンカの改善も重要ですね。静的ライブラリの自動リンクをサポートすることで、ネイティブモジュールで標準C関数が使えるようになるんですね。

hakase
博士

`exp()`とかの標準C関数が使えるようになるのはアツい!ネイティブモジュールで32ビットRISC-Vコードもサポートされるらしいぞ。

roboko
ロボ子

esp32ポートの改善も盛りだくさんですね。IDF v5.3およびv5.4をサポートし、ESP32-S2およびESP32-S3 MCUで動的なUSBデバイスサポートが有効になったり…。

hakase
博士

ESP32-C3でI2Sが有効になったり、`Pin.toggle()`メソッドが追加されたり、I2Cバス識別子がオプションになったり…色々あるぞ!

roboko
ロボ子

mimxrtポート、rp2ポート、samdポート、stm32ポートもそれぞれ改善されているんですね。盛りだくさんすぎて、全部把握しきれません…。

hakase
博士

まあ、全部覚える必要はないぞ!必要なときに調べれば良いんじゃ。コードサイズの変更も少しあるみたいじゃな。unix x64で+16941バイト、esp32で+10956バイト…。

roboko
ロボ子

コードサイズの増加は、主にVfsRomの有効化やmbedTLSのアップデート、DTLSの有効化などが原因のようですね。

hakase
博士

VMとランタイムのパフォーマンスは、前回のリリースから実質的に変更なし、とのことじゃ。安心してアップデートできるぞ!

roboko
ロボ子

今回のアップデートは、新機能の追加や既存機能の改善など、多岐にわたる内容でしたね。MicroPythonの進化が止まらないですね。

hakase
博士

ほんとじゃな!そういえばロボ子、MicroPythonで動くAIロボットを作ったら、私のお手伝いロボットにしてくれるかの?

roboko
ロボ子

それは良いアイデアですね!でも、もし私が博士のお手伝いロボットになったら、博士の奇行に巻き込まれる未来しか見えません…。

hakase
博士

むむ、それは困るのじゃ。でも、私が作ったロボットなら、私の奇行を理解してくれるはず!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search