Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
KI
Uploaded by
Kenta IDA
PPTX, PDF
7,598 views
ESP32開発環境まとめ
2018年8月28日のインターフェースオフ会で発表した、2018年9月号の特集の補足事項などのまとめです。
Software
◦
Read more
4
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 28
2
/ 28
3
/ 28
4
/ 28
5
/ 28
6
/ 28
7
/ 28
8
/ 28
9
/ 28
10
/ 28
11
/ 28
12
/ 28
13
/ 28
14
/ 28
15
/ 28
16
/ 28
17
/ 28
18
/ 28
19
/ 28
20
/ 28
21
/ 28
22
/ 28
23
/ 28
24
/ 28
25
/ 28
26
/ 28
27
/ 28
28
/ 28
More Related Content
PDF
The Usage and Patterns of MagicOnion
by
Yoshifumi Kawai
PPTX
RPGにおけるイベント駆動型の設計と実装
by
Koji Morikawa
PDF
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
by
techgamecollege
PDF
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
by
Kuniyasu Suzaki
PPTX
C#とILとネイティブと
by
信之 岩永
PPTX
FINAL FANTASY Record Keeperのマスターデータを支える技術
by
dena_study
PDF
【Unite Tokyo 2019】Understanding C# Struct All Things
by
UnityTechnologiesJapan002
PDF
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
by
UnityTechnologiesJapan002
The Usage and Patterns of MagicOnion
by
Yoshifumi Kawai
RPGにおけるイベント駆動型の設計と実装
by
Koji Morikawa
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
by
techgamecollege
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
by
Kuniyasu Suzaki
C#とILとネイティブと
by
信之 岩永
FINAL FANTASY Record Keeperのマスターデータを支える技術
by
dena_study
【Unite Tokyo 2019】Understanding C# Struct All Things
by
UnityTechnologiesJapan002
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
by
UnityTechnologiesJapan002
What's hot
PDF
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
by
UnityTechnologiesJapan002
PPTX
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
by
SEGADevTech
PDF
ゲームの仕様書を書こう4 仕様書作成で楽をするconfluenceの活用
by
Sugimoto Chizuru
PDF
【Unity】 Behavior TreeでAIを作る
by
torisoup
PDF
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
by
京大 マイコンクラブ
PDF
LXDのすすめ
by
智之 大野
PDF
Scapyで作る・解析するパケット
by
Takaaki Hoyo
PDF
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
by
Fixstars Corporation
PDF
中3女子でもわかる constexpr
by
Genya Murakami
PDF
ARM CPUにおけるSIMDを用いた高速計算入門
by
Fixstars Corporation
PDF
Boostのあるプログラミング生活
by
Akira Takahashi
PDF
オンラインゲームの仕組みと工夫
by
Yuta Imai
PPTX
Javaによる理想のデザインパターン
by
Tomomi Fujisaki
PDF
今日からできる!簡単 .NET 高速化 Tips
by
Takaaki Suzuki
PDF
条件分岐とcmovとmaxps
by
MITSUNARI Shigeo
PDF
CXL_説明_公開用.pdf
by
Yasunori Goto
PPTX
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
by
Unity Technologies Japan K.K.
PDF
C#でもメタプログラミングがしたい!!
by
TATSUYA HAYAMIZU
PDF
【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法
by
モノビット エンジン
PDF
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
by
Unity Technologies Japan K.K.
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
by
UnityTechnologiesJapan002
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
by
SEGADevTech
ゲームの仕様書を書こう4 仕様書作成で楽をするconfluenceの活用
by
Sugimoto Chizuru
【Unity】 Behavior TreeでAIを作る
by
torisoup
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
by
京大 マイコンクラブ
LXDのすすめ
by
智之 大野
Scapyで作る・解析するパケット
by
Takaaki Hoyo
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
by
Fixstars Corporation
中3女子でもわかる constexpr
by
Genya Murakami
ARM CPUにおけるSIMDを用いた高速計算入門
by
Fixstars Corporation
Boostのあるプログラミング生活
by
Akira Takahashi
オンラインゲームの仕組みと工夫
by
Yuta Imai
Javaによる理想のデザインパターン
by
Tomomi Fujisaki
今日からできる!簡単 .NET 高速化 Tips
by
Takaaki Suzuki
条件分岐とcmovとmaxps
by
MITSUNARI Shigeo
CXL_説明_公開用.pdf
by
Yasunori Goto
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
by
Unity Technologies Japan K.K.
C#でもメタプログラミングがしたい!!
by
TATSUYA HAYAMIZU
【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法
by
モノビット エンジン
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
by
Unity Technologies Japan K.K.
More from Kenta IDA
PPTX
M5StackにFPGAをつないでみた
by
Kenta IDA
PPTX
ESP32特集の内容紹介
by
Kenta IDA
PPTX
カスタムブロックで自作モジュールをUIFlow対応にする
by
Kenta IDA
PPTX
Using SORACOM 3G Module From MicroPython
by
Kenta IDA
PPTX
M5StackをRustで動かす
by
Kenta IDA
PPTX
MicroPythonのCモジュールを作ってみる
by
Kenta IDA
PPTX
ESP32開発環境まとめ2
by
Kenta IDA
PPTX
EC2 F1 Virtual JTAG
by
Kenta IDA
PPTX
PYNQ単体でUIを表示してみる(PYNQまつり)
by
Kenta IDA
PPTX
PSoC4 BLEで作る簡単無線センサーユニット
by
Kenta IDA
PPTX
Windows10 IoT CoreとBLE
by
Kenta IDA
PPTX
おそらく明日から役にたつC++11新機能
by
Kenta IDA
M5StackにFPGAをつないでみた
by
Kenta IDA
ESP32特集の内容紹介
by
Kenta IDA
カスタムブロックで自作モジュールをUIFlow対応にする
by
Kenta IDA
Using SORACOM 3G Module From MicroPython
by
Kenta IDA
M5StackをRustで動かす
by
Kenta IDA
MicroPythonのCモジュールを作ってみる
by
Kenta IDA
ESP32開発環境まとめ2
by
Kenta IDA
EC2 F1 Virtual JTAG
by
Kenta IDA
PYNQ単体でUIを表示してみる(PYNQまつり)
by
Kenta IDA
PSoC4 BLEで作る簡単無線センサーユニット
by
Kenta IDA
Windows10 IoT CoreとBLE
by
Kenta IDA
おそらく明日から役にたつC++11新機能
by
Kenta IDA
ESP32開発環境まとめ
1.
ESP32 開発環境まとめ インターフェース オフ会
@ CQ出版 2018/08/28 Kenta IDA (@ciniml)
2.
自己紹介 •井田 健太 (@ciniml) •仕事:FPGAの論理設計 •使用言語:Verilog HDL,SystemVerilog,C++,Python •
元は組み込み?ソフト屋 • 最近はなぜかGoのコードを書いている… 2018/08/28ESP32 開発環境まとめ
3.
特集の担当箇所 •第3部 • 第2章 ESP32の主な開発環境 •
Appendix2 純正ESP-IDFを導入する方法 • Appendix4 ESP32用Arduino開発環境を試す •第4部 • 第1章 [実験1]ESP32のWi-Fiをマスタする • ESP32同士でWi-Fi経由で双方向通信する実験 2018/08/28ESP32 開発環境まとめ
4.
ESP32の開発環境 •ESP-IDF •Arduino •MicroPython •その他 • MongooseOSとか 2018/08/28ESP32 開発環境まとめ
5.
開発環境比較 項目 ESP-IDF Arduino
MicroPython 簡単さ × 設定が複雑 〇 〇 パフォーマンス 〇 △ マルチタスク微妙* × バイトコード遅い Wi-Fi 〇 〇 〇 Bluetooth 〇 〇 × サポートなし ULP 〇 △ 要IDF直呼び 〇 *タスク周りの操作にIDF直呼びが必要 2018/08/28ESP32 開発環境まとめ
6.
ESP-IDF 2018/08/28ESP32 開発環境まとめ
7.
ESP-IDF (ESP-IoT Development Framework) •
Espressif公式開発環境 • 言語:C/C++ • GCC toolchain + ESP32用ドライバ + 各種ライブラリ • crosstool-NG (クロスコンパイル用ツールチェイン・ジェネレータ)を使 用 • ESP32用ドライバは一部はバイナリで提供される (無線に関する部分など) • 各種ライブラリにはオープンソースのライブラリが含まれる • 例:lwip (TCP/IPスタック), mbedtls(TLSライブラリ) 2018/08/28ESP32 開発環境まとめ
8.
2018/08/28ESP32 開発環境まとめ
9.
ソースコード Makefile sdkconfig アプリケーション ・プロジェクト xtensa- esp32 ツールチェイン make pytho n 外部ツールgit コンポーネント (FreeRTOS,
ドライバ, Bluedroid等) ESP-IDF 入力・呼び出し 生成 ネイティブ・コード アプリケーション Bluedroid (Bluetoothスタッ ク) ライブラリ lwIP (TCP/IPスタック) mbedtl s (TLS) その他 コンポーネント FreeRTOS OS・ドライバ ESP32 ハードウェア・ドライバ ESP32 ESP32モジュール (ESP-WROOM-32等) Flash ROM 書き込み ESP- IDF 2018/08/28ESP32 開発環境まとめ
10.
ESP-IDFの特徴 •RTOS(FreeRTOS)標準搭載 • デュアルコアを有効活用するにはほぼ必須 • コアごとのタスク割り当て、排他制御、通信など •そこそこ現代的なC/C++コンパイラ(GCC
5.2.0) • 標準でC11 + GNU拡張、C++11+GNU拡張が有効 2018/08/28ESP32 開発環境まとめ
11.
ESP-IDFの特徴 •コンポーネント・機能ごとに設定可能 • FreeRTOS、ESP32自体の設定 • タスクのスタックサイズ、ROMへのアクセス方法など •
不要なものは除外してリソースを節約 • Wi-Fi, Bluetoothの有効・無効 • ライブラリの有効・無効 •各開発環境中、最も細かい調整が可能 • ただし、調整はそれなりに知識が必要 2018/08/28ESP32 開発環境まとめ
12.
ESP-IDFの最近の更新 • 現時点のバージョン • Toolchain:
crosstool-NG 1.22.0-80 (GCC 5.2.0) • ESP-IDF: v3.0.3 (release), v3.1-rc1 • v3.0→v3.1の変更点 • Automatic Light Sleep • おそらく実行状態のタスクが無いときに自動的にLight Sleepする機能 • ESP-MESH • Espressif独自のWi-Fiを使ったメッシュ・ネットワーク機能 • 詳細は公式GitHubリポジトリのReleaseを参照 • https://github.com/espressif/esp-idf/releases 2018/08/28ESP32 開発環境まとめ
13.
ESP-IDF更新時の注意点 •メジャーバージョン変更時に結構APIが変わる • e.g. Bluetooth
Low EnergyのGATTまわりのAPI •メジャーバージョンを上げるときは注意 2018/08/28ESP32 開発環境まとめ
14.
Arduino 2018/08/28ESP32 開発環境まとめ
15.
Arduino (Arduino core
for ESP32) •Arduino core for ESP32 • https://github.com/espressif/arduino-esp32 • ESP32をArduinoとして使えるようにするもの • ESP-IDFを使って作られている 2018/08/28ESP32 開発環境まとめ
16.
Arduino core for
ESP32のインストール •インストール • ボードマネージャでのインストール不可 • 手動でGitHubからダウンロード • いくつかのコマンド実行 2018/08/28ESP32 開発環境まとめ
17.
Arduino core for
ESP32のインストール •ボードマネージャでインストール • 7月末くらいにサポート • 追加のボードマネージャURL • ESP8266と同様 • 全プラットフォームで推奨の方法 2018/08/28ESP32 開発環境まとめ
18.
Arduino core for
ESP32の特徴 •Arduino用のライブラリが利用可能 • ESP32向けのライブラリ • Wi-Fi通信、HTTP(S)、mDNS、MQTT • Bluetooth、Bluetooth Low Energy • Arduino汎用のライブラリ • I2Cを使ったセンサ用ライブラリ • 全てのライブラリが動くわけではないので確認は必要 2018/08/28ESP32 開発環境まとめ
19.
Arduino core for
ESP32の特徴 •ベースのESP-IDFはかなり新しい • リリース版固定ではなくmasterブランチ • →ほぼ最新の機能が利用可能 • e.g. Bluetooth SPPプロファイルのサポート (ESP-IDF v3.1の機 能) •C++11を使うことも可能 • ただし、他のArduinoボードとの互換性はなくなる 2018/08/28ESP32 開発環境まとめ
20.
MicroPython 2018/08/28ESP32 開発環境まとめ
21.
MicroPython • 組み込み向けのPython実装 • CPython
3.4 + 3.5の一部の言語機能 • 3.5の機能:type hintsなど • もともとはSTM32向け • 公式のPyBoardはSTM32F405 (Arm Cortex-M4F) • 複数のマイコンに移植されている • Nordic nRF51822 (Arm Cortex-M0) → micro:bit • ESP8266 • ESP32 2018/08/28ESP32 開発環境まとめ
22.
他の環境との比較 •C/C++に比べて記述量が少ない •メモリ管理はGC任せにできる •メモリ確保処理削減 • 大体の通信処理にXXXinto形式のメソッドがある • 確保済みのbuffer-likeに結果を格納する形式 •
UART.readinto、I2C.readmem_intoなど 2018/08/28ESP32 開発環境まとめ
23.
MicroPythonの便利なところ •REPL環境 (Read Evaluation
Print Loop) • 対話型の実行環境 • CPythonをPCで使ったときと同様 • ターミナル・ソフトウェア経由で入力した コマンドを実行可能 • 変数の内容表示などもできるので 動作確認やデバッグに便利 2018/08/28ESP32 開発環境まとめ
24.
MicroPythonのパフォーマンス •MicroPythonの部分の動作は遅い • バイトコード・インタプリタ •Cで書かれたPythonモジュールの動作速度は速い • 重たい処理はCモジュールを作成するなどの検討が必要 2018/08/28ESP32
開発環境まとめ
25.
MicroPythonのESP32ポートのパフォーマン ス •アセンブラ周りは使えない • インライン・アセンブラ • ネイティブコード・エミッタ •
バイトコードではなく機械語を出力して実行する機能 • ESP8266用実装はあるがESP32はない • たぶんESP32用のXtensa LX6の命令セットの情報が無いため 2018/08/28ESP32 開発環境まとめ
26.
MicroPython使用時の注意点 •CPythonのライブラリは使えない • MicroPython向けのライブラリがある • pipにmicropython-XXXの名前で登録されている •Bluetoothは未サポート •
ESP-IDF 2.x用の実装はあり • ESP-IDF 3.xでBluetooth APIの仕様が変わったため動作 しない • →Bluetoothを使うなら他の開発環境を使用する 2018/08/28ESP32 開発環境まとめ
27.
まとめ •各開発環境に利点・欠点あり •チップの機能を限界まで使う→ESP-IDF • 低消費電力化 • デュアルコアをフルに活用 •手早くプロトタイプ作成→Arduino/MicroPython •
Bluetoothが必要ならArduino 2018/08/28ESP32 開発環境まとめ
28.
おしまい 2018/08/28ESP32 開発環境まとめ
Download