2024/06/03 電子書籍「電子書籍出版・技術文書作成を劇的に加速!秀丸エディタ + Markdown + Pandocの驚異」を出版

M5Unifiedについて

M5Stack


M5Unifiedは、M5Stack製品の仕様の異なるハードウェアを共通のAPIで扱うためのライブラリです。M5Stack Core、M5Stack Atom、M5Stack Fire、M5Stack Grayなど、さまざまなM5Stack製品を、同じコード(API)で開発することができます。

M5Unifiedを使用すると、以下のことができます。

  • ディスプレイの初期化
  • ボタンの状態の取得
  • センサーの値の取得
  • スピーカーの音声出力
  • カメラの画像取得

M5Unifiedの紹介

今井英雄(らびやん)さんによる、M5Stack公式ライブラリのM5Unifiedの紹介スライドです。

2023年5月1日~5月5日、M5JPTour2023 にて使用したスライドとのことです。

これを見ると、M5Unifiedの開発意図がよくわかりますね。

M5Unifiedハンズオン

ハンズオンのスライドです。
サンプルも色々とありますので、M5Unifiedの参考になると思います。

M5Unifiedハンズオン
M5Unifiedハンズオン M5Stackシリーズ共通ライブラリ“M5Unified” を試してみよう! 2023/6/16 らびやん

対応デバイス

下記のデバイス以外でも対応している場合があります。最新情報は 以下のM5Unifiedのリポジトリ を確認してください。

GitHub - m5stack/M5Unified: Unified library for M5Stack series
Unified library for M5Stack series. Contribute to m5stack/M5Unified development by creating an account on GitHub.

メインデバイス

  • M5Stack Basic / Gray / Go / Fire
  • M5Stack Core2 / Core2 for AWSIoT EduKit / M5Tough
  • M5StickC / M5StickCPlus
  • M5Stack CoreInk
  • M5Paper
  • M5Atom Lite / Matrix / Echo / PSRAM / U
  • M5Stamp Pico / C3 /C3U
  • M5Station

外部ディスプレイ

  • Unit LCD
  • Unit OLED
  • Atom Display / Lite (M5Atom Lite / Matrix / PSRAMと接続します。)

外部スピーカー

  • SPK HAT (M5StickC / M5StickCPlus / M5Stack CoreInkと接続します。)
  • Atomic SPK (M5Atom Lite / PSRAMと接続します。)

LovyanGFX、M5GFX、M5Unifiedの関係

LovyanGFX、M5GFX、M5Unifiedの関係について説明します。

LovyanGFX

  • LovyanGFX は、ESP32 ベースのデバイスで使用される高性能なグラフィックライブラリです。M5Stack以外でも使用できます。
  • 主にディスプレイ描画を効率的に行うために設計されています。
  • 多様なディスプレイをサポートし、高速な描画能力を持っています。

M5GFX

  • M5GFX は、LovyanGFX をベースにして M5Stack シリーズ向けに最適化されたグラフィックライブラリです。
  • M5Stack デバイスに特化した追加機能やデバイスサポートが含まれています。

M5Unified

  • M5Unified は、M5Stack シリーズ全体を統合的にサポートするライブラリです。
  • デバイス管理、センサーインターフェース、ディスプレイ描画など、M5Stack デバイスの全体的な管理を目的としています。
  • M5Unified 内で M5GFX を利用してディスプレイ描画を行います。

M5Unified Appendix

M5.getBoard()

M5.getBoard() で取得できる開発ボードの一覧です。

BoardValue
M5Stackm5board_tboard_M5Stack
M5StackCore2m5board_tboard_M5StackCore2
M5StickCm5board_tboard_M5StickC
M5StickCPlusm5board_tboard_M5StickCPlus
M5StackCoreInkm5board_tboard_M5StackCoreInk
M5Paperm5board_tboard_M5Paper
M5Toughm5board_tboard_M5Tough
M5Stationm5board_tboard_M5Station
M5Atomm5board_tboard_M5Atom
M5AtomPsramm5board_tboard_M5AtomPsram
M5AtomUm5board_tboard_M5AtomU
M5TimerCamm5board_tboard_M5TimerCam
M5StampPicom5board_tboard_M5StampPico
M5StampC3m5board_tboard_M5StampC3
M5StampC3Um5board_tboard_M5StampC3U
開発ボードの一覧

M5.config()

M5.config() で設定できる項目の一覧です。

ArgumentTypeDescriptionInitial ValueRemarks
serial_baudrateuint32_tUSB serial baud rate115200Arduino-esp32 only
clear_displayboolclear the screen when the device is started or notTRUEvalid only for devices with a screen
output_powerboolexternal 5V output ON(true)/OFF(false)TRUEonly for devices with AXP192
internal_imuboolwhether internal IMU is used or notTRUEvalid only for models with IMU
internal_rtcboolwhether to use built-in RTC or notTRUEonly for the models with RTC
internal_spkboolwhether to use built-in speaker or notTRUEonly available on models with speaker
internal_micboolwhether to use built-in microphone or notTRUEavailable only for the model with microphone
external_imuboolwhether to use Unit IMU or AccelFALSEfor Unit IMU(*1) and Accel(*2)
external_rtcboolWhether Unit RTC is used or notFALSEFor Unit RTC(*3)
external_spkbooluse external speaker or notFALSEfor SPK_HAT(*4) or ATOMIC_SPK(*5)
led_brightnessuint8_tbrightness of built-in LED (0~255)0valid only for models with built-in LED (not for RGBLED)
M5.config()

M5.Speaker.config()

M5.Speaker.config() で設定できる項目の一覧です。

ItemTypeParameterInitial valueRemarks
pin_data_outintI2S Data Out-1GPIO
pin_bckintI2S bck-1GPIO
pin_wsintI2S WS(LRCK)-1GPIO
sample_rateuint32_tsample rate(Hz)64000stereo
stereoboolwhether the data to be handled is stereo or notFALSE
buzzerboolwhether buzzer output is used or notFALSEif buzzer is used, only pin_data_out needs to be set
use_dacbooluse built-in DAC for outputFALSEsetting is only for pin_data_out (GPIO_NUM_25 or GPIO_NUM_26)
dac_zero_levelunit8_tzero level reference value when DAC is used00: Dynamic Change
magnificationuint8_tmultiplier for output value1616
dma_buf_lensize_tlength of I2S DMA buffer128
dma_buf_countsize_tnumber of I2S DMA buffers8
task_priorityUBasetype_tpriority of speaker playback task2
task_pinned_coreBasetype_tcore to which speaker playback task is assigned-1
i2s_porti2s_port_tI2S porti2s_port_t::I2S_NUM_00 or 1
M5.Speaker.config()

参考URL

以下のURLも参照ください。

タイトルとURLをコピーしました