Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
M5Stackボードの選び方
Search
TANAKA Masayuki
September 23, 2024
Programming
0
530
M5Stackボードの選び方
TANAKA Masayuki
September 23, 2024
Tweet
Share
More Decks by TANAKA Masayuki
See All by TANAKA Masayuki
一夜漬けULP -アセンブラでM5StickCをLチカ- / LED Blink on M5StickC(ESP32) using Arduino IDE and ULP Debugger
tanakamasayuki
0
3.2k
Other Decks in Programming
See All in Programming
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
0
190
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
200
Cap'n Webについて
yusukebe
0
150
ローカルLLMを⽤いてコード補完を⾏う VSCode拡張機能を作ってみた
nearme_tech
PRO
0
190
Deno Tunnel を使ってみた話
kamekyame
0
260
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
170
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
5
1.3k
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
150
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
630
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
290
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
310
Developing static sites with Ruby
okuramasafumi
0
330
Featured
See All Featured
Speed Design
sergeychernyshev
33
1.4k
Fireside Chat
paigeccino
41
3.8k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
32
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
0
970
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Reality Check: Gamification 10 Years Later
codingconduct
0
1.9k
Into the Great Unknown - MozCon
thekraken
40
2.2k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
110
Six Lessons from altMBA
skipperchong
29
4.1k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
200
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Transcript
M5Stackボードの選び方 たなかまさゆき 2024/9/23
タカヲ(Takao) @mongonta555
タカヲ(Takao) @mongonta555
タカヲ(Takao) @mongonta555 ①安い・シンプル 1,573円 ②S3+PSRAM+画面 安価な万能機 3,113円 ③バッテリー搭載 バランス型 4,147円
④スタックチャン 8,536円 10,120円 15,565円 15,345円 2,783円 6,743円 1,155円 1,144円
M5Stackボードの選び方 結論 好きなのを 選べばいい!
ESP32シリーズの選び方 ESP32 基本で無難、Bluetooth Classicが使える ESP32-S3 ESP32より少し速くて、USBが使える ESP32-S2 中途半端でおすすめしない ESP32-C2 廉価版でおすすめしない(プロ向け)
ESP32-C3 安価にしたい場合 ESP32-C6 Zigbeeを使う場合 ESP32-C5 (未発売)5GHzのWi-Fiに対応 ゲーム機のコントローラー などで多い
開発環境の選び方 開発環境 言語 備考 ESP-IDF C/C++ プロ向け Arduino(公式) C/C++ NanoC6を開発する場合
Arduino(M5) C/C++ 全員におすすめ 少し古いが安定 PlatformIO C/C++ 中級者以上におすすめ UIFlow ブロック型 入門者におすすめ UIFlow2 ブロック型 中級者以上におすすめ これ以外にもたくさんあるよ!
ESP-IDF • ESP32シリーズの公式開発環境 • 各開発環境はESP-IDF上で動いている • 業務用の安定稼働しているボードは基本はESP-IDFを使う • 新しいチップや新機能は新しいバージョンでのみサポート •
バージョンによる機能差が比較的ある (Arduinoはラッピングされて影響が少なくなっている) • ホビーユースではArduino環境がおすすめ
Arduino 公式環境 • Arduino IDEを利用してC/C++言語での開発 • ボードマネージャーURL https://espressif.github.io/arduino-esp32/package_esp32_index.json • ESP32シリーズ公式開発環境で新しいバージョンで開発が可能
• nanoC6などはESP-IDFか公式環境でないと開発不可 • 2系から3系にバージョンアップしたときに大幅変更が発生 →M5Unifiedがまだ3系に正式対応していない(対応中)
Arduino M5Stack環境 • Arduino IDEを利用してC/C++言語での開発 • ボードマネージャーURL https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json • 少し古いArduino公式バージョンをベースにM5Stackのボードの
みに限定した開発環境 • nanoC6の開発には対応していない • M5Unifiedでの開発をするのであればこの環境がおすすめ
PlatformIO • VSCodeなどのエディタとPlatformIO環境を組み合わせて C/C++言語での開発 • ESP-IDFやArduinoなど複数の環境から選択して開発可能 • defineなどのビルドオプションを指定することが可能 • ライブラリなどのバージョン指定が可能
• ビルドがArduino IDEより早い • arduino-esp32は2系までのサポート(3系はサポート外) →今はいいけれど、バージョンアップに追従できない! 技術的な問題ではなく、契約的な問題で3に対応しないらしい。 非公式なボードマネージャーでは3系を利用可能ですが、複数種類ありどれが主流になるかわからない
UIFlow • https://flow.m5stack.com/ • ブラウザ上でブロックを組み合わせてプログラミング • 内部はMicroPython環境で動作 • まずユニットを動かしてみるときに使いやすい •
無印ESP32のみの対応(ESP32-S3、C3、C6などには非対応) • ボードごとに微妙に違う機能で特に電源周りがカオス
UIFlow2 • 新しいバージョンのMicroPythonで構築しなおしている • ESP32、ESP32-S3が対応(ESP32-C3, C6は非対応) • ボードごとに異なっていた処理を統合して再構築 • 初期化なども適切に分解されており、高度なプログラムが可能
(初心者には複雑に見えるかも?) • ログインが必要になりボード管理が簡単になった (アカウントを作る必要があり、メールアドレスが必要)