MicroPython ライブラリ - renesas/micropython GitHub Wiki

MicroPython ライブラリ

  • MicroPython に組み込まれているモジュール(関数とクラスのライブラリ)は大きく2つあります
    • 標準Pythonの機能のサブセットを実装したもの

      • 標準Python(CPythonと呼んでいる)のモジュール名とモジュール名の先頭に’u’をつけたモジュール名(例. osとuos)
      • ユーザーがPythonコードで拡張できるもの、できないもの
    • 特定の MicroPython ポート に固有のモジュール

      • MCU毎にモジュール名、使い方(API)が異なります。 - RA MCUでは、pybモジュールとrabモジュールは同じもの
      • ターゲットボードに固有のモジュール(例 pyb, rab, esp32…)とターゲットボードに共通のモジュール(例. machine)
    • ボードで使用できるモジュールは、help(“module”)で確認できます。

    • RA4M1 ClickerボードとEK-RA6M2ボードでは使用できるモジュールが異なります。

      • Flash容量の制限でRA4M1 Clickerボードに実装されているモジュールは制限されています。

      image

    • MicroPython に組み込まれているモジュールの詳細は、以下のurlを参照ください

RA MCUに固有のモジュール ("rab"モジュールは、"pyb"のaliasになっています)

Pybモジュールクラス Rabモジュールクラス 概要
Accel 未実装 加速度センサー
ADC ADC AD変換
CAN 未実装 CAN(controller area network communication bus)
DAC 未実装 DA変換
Extlnt Extlnt I/Oピンによる外部割込み
I2C I2C I2C (a two-wire serial protocol)
LCD 未実装 LCD制御
LED LED LEDオブジェクト
Pin Pin I/Oピン
PinAF 未実装 ピン周辺機能
RTC RTC リアルタイマー
Servo 未実装 サーボ(PWM)
SPI SPI SPI (a master-driven serial protocol)
Switch Switch スイッチ
Timer Timer タイマー
TimerChannel 同等機能なし タイマー向けチャネル設定
UART UART シリアル通信
USB_HID 未実装 USB Human Interface Device (HID)
USB_VCP 未実装 USB仮想COMポート

MicroPython ライブラリの補足

  • ソフトウェアTimer: 定義は、1msのSystickをもとに1ms毎に登録したタスクを実行するかどうかを決定する機能

  • ハードウェアTimer: RA MCUのAGTの2チャンネルで、周期タイマーで登録したタスクを実行する機能

  • ソフトウェアI2C/SPI: 定義は、GPIOピンのbitbang機能で実装したI2C/SPI機能

  • ハードウェアI2C/SPI: MCUの周辺モジュール機能で実装したI2C/SPI機能

  • ソフトウェアI2C/SPI/Timer: machineモジュールから呼び出します

  • ハードウェアI2C/SPI/Timer: 一般にMCU固有のモジュール(例. pyb/rab)から呼び出します

  • RA4M1 Clickerでは、ソフトウェアTimerとソフトウェアI2Cのみ。SPIはソフトウェア、ハードウェアを利用できます。

  • EK-RA6M2では、ソフトウェアI2C/SPI/TimerとハードウェアI2C/SPI/Timerの両方が利用できます。

ファイル操作

  • 別ファイルのPythonモジュールを利用する場合、あらかじめPythonモジュールファイルをターゲットボードにダウンロードが必要です。その場合は、ampyコマンドやVisial Studio CodeのPyMakrなどを利用します。

ampyコマンドの利用

  • ampyコマンドをホストにインストールする

    pip install adafruit-ampy 
    
  • ホストPCのコマンドプロンプトからPC上のtest.pyをターゲットボードで実行する方法

    echo print("test.py is running") > test.py
    ampy -p COM6 run test.py
    test.py is running.
    
    
  • ホストPCのコマンドプロンプトからPC上のtest.pyをターゲットボードへダウンロードする方法

    ampy -p COM6 put test.py
    ampy -p COM6 ls /flash
    /flash/boot.py
    /flash/main.py
    /flash/project.pymakr
    /flash/test.py
    
  • ホストPCのコマンドプロンプトからボード上のファイルをgetする方法

    ampy -p COM6 get main.py
    # main.py -- put your code hear!
    
    

    ファイルの内容は標準出力に表示されます。内容をファイルに保存したい場合にはリダイレクトしてください。

    ampy -p COM6 get main.py > main.py
    

Visual Studio CodeのPymakrを利用

Visual Studio CodeのPymakrを利用するには、Nodejs, Visual Studio Code, Pymakr拡張機能をインストールして設定が必要です。以下の操作を試す前に、"プログラム編集、実行"ページのVisual Studio Code + Pymakrによるプログラム編集 を参照してインストールと設定を行ってください。

  • "Download"と"Upload"用のフォルダーをオープンします。Visual Studio Codeの左上にある"EXPLORER"をクリックします。"Open Folder"をクリックして、新しいフォルダとして例えば"C:\pymakr-sample"を作成します。

  • 次のようなダイアログが表示されたら"Yes"ボタンをおします。

  • EXPLORERビューにPYMAKR-SAMPLEフォルダが表示されます。

  • ターゲットボードからホストPCへファイルをダウンロードするには、Pymakrメニューの"Download"をクリックします。"Do you want to download these files into your project..."と表示されたら、画面上部の確認ボックスの"Yes"を選択します。

  • すると、boot.pyとmain.py"がC:\pymakr-sample"フォルダにダウンロードされます。

  • Pythonプログラムを実行するには、Pythonプログラムを作成し(例えばtest.py)、Pymakrメニューの"Run"をクリックします。

  • ホストPCからターゲットボードにファイルをuploadするには、Pymakrメニューの"Upload"をクリックします。

  • MicroPythonのコンソールからosモジュールを使用する

    import os
    os.listdir()
    os.listdir('/flash')
    

    image