Submit Search
ESP32開発環境まとめ2
Download as PPTX, PDF
1 like
1,252 views
K
Kenta IDA
2019年1月21日にCQ出版で開催されたM5Stack&ESP32オフ会での発表資料です。ESP32の各開発環境を簡単にまとめています。
Technology
Read more
1 of 23
Download now
Downloaded 12 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
More Related Content
PPTX
ESP32開発環境まとめ
Kenta IDA
PPTX
ESP32特集の内容紹介
Kenta IDA
PPTX
M5StackにFPGAをつないでみた
Kenta IDA
PPTX
M5StackをRustで動かす
Kenta IDA
PDF
Rust で RTOS を考える
ryuz88
PDF
Riscv+fpga200606
たけおか しょうぞう
PDF
Takep lpc1114-190614
たけおか しょうぞう
PDF
プログラマの為のESP-WROOM-02開発ボード組み立て
Naoto Miyachi
ESP32開発環境まとめ
Kenta IDA
ESP32特集の内容紹介
Kenta IDA
M5StackにFPGAをつないでみた
Kenta IDA
M5StackをRustで動かす
Kenta IDA
Rust で RTOS を考える
ryuz88
Riscv+fpga200606
たけおか しょうぞう
Takep lpc1114-190614
たけおか しょうぞう
プログラマの為のESP-WROOM-02開発ボード組み立て
Naoto Miyachi
What's hot
(18)
PPTX
Rclex: ElixirでROS!!
Hideki Takase
PDF
Esp8266でラジコン基板
Bizan Nishimura
PDF
Nervesが開拓する「ElixirでIoT」の新世界
Hideki Takase
PPTX
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
Hideki Takase
PPTX
PSoC4 BLEで作る簡単無線センサーユニット
Kenta IDA
PDF
Esp32でiot
Yusuke Kon
PDF
GR-SAKURAでEtherCAT
Bizan Nishimura
PDF
Internet Week 2018 知っておくべきIPv6とセキュリティの話
Akira Nakagawa
PDF
QoS for ROS 2 Dashing/Eloquent
Hideki Takase
PDF
Big Raspberry JAM TOKYO 2013 Hardware
Hideki Aoshima
PDF
サーバー初心者のためのWordPressサイト構築手順〜付録〜 MacターミナルやTera Termを使用したSSH接続方法など
IDC Frontier
PPTX
ElixirでIoT!?ナウでヤングでcoolなNervesフレームワーク
Hideki Takase
PDF
関数型言語ElixirのIoTシステム開発への展開
Hideki Takase
PPTX
Osc2017 nagoya
naoki okayama
PDF
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
Hideki Takase
PDF
03 第3.6節-第3.8節 ROS2の基本機能(2/2)
Mori Ken
PDF
20211023 node-red con 2021 kitazaki Japanese v1
Ayachika Kitazaki
PDF
Pythonにおけるデバッガツールpdbについて
Ryota Sakamoto
Rclex: ElixirでROS!!
Hideki Takase
Esp8266でラジコン基板
Bizan Nishimura
Nervesが開拓する「ElixirでIoT」の新世界
Hideki Takase
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
Hideki Takase
PSoC4 BLEで作る簡単無線センサーユニット
Kenta IDA
Esp32でiot
Yusuke Kon
GR-SAKURAでEtherCAT
Bizan Nishimura
Internet Week 2018 知っておくべきIPv6とセキュリティの話
Akira Nakagawa
QoS for ROS 2 Dashing/Eloquent
Hideki Takase
Big Raspberry JAM TOKYO 2013 Hardware
Hideki Aoshima
サーバー初心者のためのWordPressサイト構築手順〜付録〜 MacターミナルやTera Termを使用したSSH接続方法など
IDC Frontier
ElixirでIoT!?ナウでヤングでcoolなNervesフレームワーク
Hideki Takase
関数型言語ElixirのIoTシステム開発への展開
Hideki Takase
Osc2017 nagoya
naoki okayama
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
Hideki Takase
03 第3.6節-第3.8節 ROS2の基本機能(2/2)
Mori Ken
20211023 node-red con 2021 kitazaki Japanese v1
Ayachika Kitazaki
Pythonにおけるデバッガツールpdbについて
Ryota Sakamoto
Ad
More from Kenta IDA
(7)
PPTX
カスタムブロックで自作モジュールをUIFlow対応にする
Kenta IDA
PPTX
Using SORACOM 3G Module From MicroPython
Kenta IDA
PPTX
MicroPythonのCモジュールを作ってみる
Kenta IDA
PPTX
EC2 F1 Virtual JTAG
Kenta IDA
PPTX
PYNQ単体でUIを表示してみる(PYNQまつり)
Kenta IDA
PPTX
Windows10 IoT CoreとBLE
Kenta IDA
PPTX
おそらく明日から役にたつC++11新機能
Kenta IDA
カスタムブロックで自作モジュールをUIFlow対応にする
Kenta IDA
Using SORACOM 3G Module From MicroPython
Kenta IDA
MicroPythonのCモジュールを作ってみる
Kenta IDA
EC2 F1 Virtual JTAG
Kenta IDA
PYNQ単体でUIを表示してみる(PYNQまつり)
Kenta IDA
Windows10 IoT CoreとBLE
Kenta IDA
おそらく明日から役にたつC++11新機能
Kenta IDA
Ad
ESP32開発環境まとめ2
1.
ESP32 開発環境まとめ2 インターフェース オフ会
@ CQ出版 2019/01/21 Kenta IDA (@ciniml)
2.
自己紹介 •井田 健太 (@ciniml) •仕事:FPGAの論理設計 •使用言語:Verilog HDL,SystemVerilog,C++,Python •
元は組み込み?ソフト屋 • 最近はなぜかGoのコードを書いている… 2019/1/21ESP32 開発環境まとめ2 2
3.
最近執筆した記事 •インターフェース2018年9月号 ESP32特集 • 第3部 •
第2章 ESP32の主な開発環境 • Appendix2 純正ESP-IDFを導入する方法 • Appendix4 ESP32用Arduino開発環境を試す • 第4部 • 第1章 [実験1]ESP32のWi-Fiをマスタする • ESP32同士でWi-Fi経由で双方向通信する実験 2019/1/21ESP32 開発環境まとめ2 3
4.
最近のESP32の開発環境 •ESP-IDF •Arduino •MicroPython •その他 2019/1/21ESP32 開発環境まとめ2 4
5.
ESP-IDF 2019/1/21ESP32 開発環境まとめ2 5
6.
ESP-IDF (ESP-IoT Development Framework) •
Espressif公式開発環境 • 言語:C/C++ • GCC toolchain + ESP32用ドライバ + 各種ライブラリ • crosstool-NG (クロスコンパイル用ツールチェイン・ジェネレータ)を使 用 • ESP32用ドライバは一部はバイナリで提供される (無線に関する部分など) • 各種ライブラリにはオープンソースのライブラリが含まれる • 例:lwip (TCP/IPスタック), mbedtls(TLSライブラリ) 2019/1/21ESP32 開発環境まとめ2 6
7.
ESP-IDFの更新状況 •現時点のバージョン • Toolchain: crosstool-NG
1.22.0-80 (GCC 5.2.0) • ESP-IDF: v3.1.2 (release) 2019/1/21ESP32 開発環境まとめ2 バージョン リリース日 差分 (リビジョン数) 3.0 2018年4月24日 3.1 2018年8月31日 1793 3.1.1 2018年11月1日 142 3.1.2 2019年1月2日 82 7
8.
ESP-IDFの最近の更新 • 現時点のバージョン • Toolchain:
crosstool-NG 1.22.0-80 (GCC 5.2.0) • ESP-IDF: v3.1.2 (release) • v3.0→v3.1の変更点 • Automatic Light Sleep • 実行状態のタスクが無いときに自動的にLight Sleepする機能 • Modem Sleepと比べて平均消費電流が1/10くらいになるらしい (30mA→3.1mA) • Bluetooth Classic: シリアルポート・プロファイル(SPP)のサポート • 詳細は公式GitHubリポジトリのReleaseを参照 • https://github.com/espressif/esp-idf/releases 2019/1/21ESP32 開発環境まとめ2 8
9.
ESP-IDFの最近の更新 •v3.1→v3.1.2の変更点 • バグ修正のみ • いろいろ修正が入っている •
定期的に気になるところを確認した方がよい •詳細は公式GitHubリポジトリのReleaseを参照 • https://github.com/espressif/esp-idf/releases 2019/1/21ESP32 開発環境まとめ2 9
10.
Arduino 2019/1/21ESP32 開発環境まとめ2 10
11.
Arduino (Arduino core
for the ESP32) •Arduino core for the ESP32 • https://github.com/espressif/arduino-esp32 • ESP32をArduinoとして使えるようにするもの • ESP-IDFを使って作られている 2019/1/21ESP32 開発環境まとめ2 11
12.
Arduino core for
the ESP32の更新状況 •現在の最新 • v1.0.1 • この前更新された 2019/1/21ESP32 開発環境まとめ2 バージョン リリース日 IDFのリビジョン 1.0 2018年7月28日 aaf12390 (v3.2- dev) 1.0.1 2019年1月11日 e931fe9 (v3.3- dev) 12
13.
Arduino (Arduino core
for the ESP32) • けっこうバグがあるので、最新版推奨 • Arduino coreのバグ修正 + ESP-IDFのバグ修正 • Wi-Fi, BLE, I2C周りが多い印象 • BLE周りはBLEライブラリを個別に入れた方がいい • Arduino coreについてくるものは古い • ライブラリマネージャ→ESP32 BLE Arduino • ただし、最新版でもわりとバグがある • 特にGATT Client周り • BLEデバイスにConnectしただけでpanicなど。 • 正直つらいので筆者はあきらめたが、パッチを送っている人がいる模様 2019/1/21ESP32 開発環境まとめ2 13
14.
MicroPython 2019/1/21ESP32 開発環境まとめ2 14
15.
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 2019/1/21ESP32 開発環境まとめ2 15
16.
ESP32用のMicroPython • 主に2つある • MicroPython公式 •
MicroPythonのports/esp32以下にある • LoBo版 • 公式ESP32ポートをベースにいろいろ機能追加されたもの • https://github.com/loboris/MicroPython_ESP32_psRAM_LoB o • コミットログを見る限り個人開発っぽい • M5Stack用はこれがベース 2019/1/21ESP32 開発環境まとめ2 16
17.
MicroPython公式 •現在のバージョン: 1.9.4 (2018年5月11日) •
IDFのバージョン: 3.0開発版 (3ede9f0) •月数回くらいのESP32ポート固有の変更頻度 • MicroPython全体では週数回 2019/1/21ESP32 開発環境まとめ2 17
18.
LoBo版 • ベースのMicroPython: v1.9.4より少し新しい
(v1.9.4-29-g1b7487e51) • IDF: v3.0開発版 • ESP-IDFでビルドしやすいようにディレクトリ構成を調整 • MicroPythonがIDFのcomponentになっている • いろいろモジュールが追加されている • ハードウェアI2C (公式はソフトウェアI2C) • ネットワークサーバー (TELNET, FTP) • Wi-Fi経由でREPLにアクセス可能 • FTP経由でファイルをアップロード可能 • threadモジュールにスレッド間通信の機能追加 2019/1/21ESP32 開発環境まとめ2 18
19.
LoBo版の利点・欠点 • 利点 • 機能が豊富 •
欠点 • 開発者が一人なのでどうなるのかわからない • あまり手を入れてほしくないところに修正が入っている • MicroPythonのコア周りの排他制御部分など • ESP-IDFにも変更が加えられている • ESP-IDFの最新版に追従するのが難しくなっている • M5Stack用MicroPythonもLoBo版がベースなので同様 2019/1/21ESP32 開発環境まとめ2 19
20.
どちらを選ぶべきか? •LoBo版にしかない機能が必要ならLoBo版 • ただし、IDFのバグなどにより安定動作しない可能性があることを 念頭に •そうでないなら公式版 • Release版がだめならmasterブランチを試す •M5Stack用は、公式のアップデートを待つか自前でビルド •
筆者はIDFのバグ回避のためにM5Stack用のコードを修正して v3.1.1のIDFを使えるようにした 2019/1/21ESP32 開発環境まとめ2 20
21.
その他 2019/1/21ESP32 開発環境まとめ2 21
22.
その他の開発環境 • Moddableがおもしろそう • JavaScript
(ECMAScript 2018) • ECMAScript 2018の99%くらいの言語機能が使えるJSエンジン (XS) • ランタイムはLGPLv3ライセンス • Windows/Linux/MacOSで動作 • ただし、ビルド済みバイナリは配布されていないので、ビルドが必要 • Windowsでのビルドは割と難しい (筆者はうまくいっていない) • Linux (Ubuntu 16.04)では手順通りでビルドに成功 • 昨日ビルドしたばかりなのでまだ試せていない 2019/1/21ESP32 開発環境まとめ2 22
23.
おしまい 2019/1/21ESP32 開発環境まとめ2 23
Download