#author("2019-12-11T14:45:37+00:00","default:admin","admin") *ESP32 [#y66748a1] -[[ESP32 - A Different IoT Power & Performance:https://www.espressif.com/en/products/hardware/esp32/overview]] -[[ESP-WROOM-32 Datasheet:https://www.espressif.com/sites/default/files/documentation/esp-wroom-32_datasheet_en.pdf]] -[[ESP32 Technical Reference Manual:https://www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf]] -[[The Internet of Things with ESP32:http://esp32.net]] -[[ESP-WROOM-32に関するTIPS:https://trac.switch-science.com/wiki/esp32_tips]] -[[ESP-WROOM-32 に関する記事:https://ht-deko.com/arduino/esp-wroom-32.html]] -[[ESP-WROOM-32を使ってみる:http://okiraku-camera.tokyo/blog/?p=5948]] **概要 [#g0a06799] -ESP32は上海の企業であるEspressif Systemsから発売されているWiFi&Bluetoothモジュール -gccで開発できるマイコンでもある -ESP-WROOM-32という700円ほどの無線モジュールの中に入っているマイコンがESP32 -このマイコンがデュアルコアと高性能! **デュアルコアCPU [#wf7abee9] -[[ESP32でデュアルコアを使おう!:http://kerikeri.top/posts/2017-06-24-esp32-dual-core/]] -[[Arduino – ESP32 のマルチタスク ( Dual Core ) を試す:https://www.mgo-tec.com/blog-entry-arduino-esp32-multi-task-dual-core-01.html]] -[[マルチタスク・デュアルコアの実験(ESP-WROOM-32):https://garretlab.web.fc2.com/arduino/lab/esp32_task/index.html]] -[[ESP32 デュアルコア ( マルチタスク )で、4つの News 記事を取得する電光掲示板を作ってみた:https://www.mgo-tec.com/blog-entry-4news-oled-scroll-esp32-dualcore-multitask.html]] -[[ESP32 マルチタスク(デュアルコア)で、電光掲示板スクロールを止めずに、別のCPUで Web GET できました:https://www.mgo-tec.com/blog-entry-esp32-multi-task-dual-core-scroll-01.html]] **開発キット [#n28b28ab] -[[ESP32-DevKit C ESP-WRCOM-32開発ボード:http://akizukidenshi.com/catalog/g/gM-11819/]] -[[Wi-Fiモジュール ESP-WROOM-32 DIP化キット:http://akizukidenshi.com/catalog/g/gK-11755/]] -[[ESP32-KEY (ESP-WROOM-32開発ボード):https://www.amazon.co.jp/%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%83%95%E3%82%A1%E3%83%B3-ESP32-KEY-R1-ESP32-KEY-ESP-WROOM-32%E9%96%8B%E7%99%BA%E3%83%9C%E3%83%BC%E3%83%89/dp/B06XZK645T]] ***ESP32-DevKit C ピン配置 [#n26b7a3c] https://github.com/espressif/arduino-esp32/raw/master/docs/esp32_pinmap.png (出典:[[espressif/arduino-esp32:https://github.com/espressif/arduino-esp32]]) *開発環境 [#df0befc7] -[[ESP32の開発環境いろいろ:https://qiita.com/rukihena/items/efdf02bd728b01fd3330]] **Arduino Core for the ESP32 [#r5c94b75] **MicroPython [#r9a02393] -[[公式サイト:http://micropython.org]] --[[MicroPython documentation:http://docs.micropython.org/en/latest/pyboard/index.html]] --[[MicroPython libraries:http://docs.micropython.org/en/latest/pyboard/library/index.html]] -[[ESP32ボードでmicropythonを使う:http://dubstylee.net/v/micropython-esp32/]] -[[ESP32 MicroPythonの備忘録:http://www.hashiguchi.jp/tv/esp32/]] -[[Micropython + ESP32のためのIDE「uPyCraft」を使ってみた:http://blog.boochow.com/article/453812032.html]] -[[ESP32 + MicropythonでLCDにサーバから取得した情報を表示してみた:http://blog.boochow.com/article/453856306.html]] -[[ESP32 + MicroPythonでOLEDに表示させてみた:http://blog.boochow.com/article/453875276.html]] -[[Micropython + SH1106 OLEDでの表示:http://blog.boochow.com/article/453949310.html]] -[[TFT LCD(ST7735R)をMicroPythonで動かしてみた:http://blog.boochow.com/article/454010795.html]] -[[MicroPython + ST7735でのbitmap画像表示:http://blog.boochow.com/article/454678621.html?seesaa_related=category]] ***プログラム例 [#a3a8702b] -[[micropython on ESP32 でWi-Fiルータ(or AP)に接続する:http://ippei8jp.hatenablog.jp/entry/2017/08/17/113753]] ***ドライバ [#ec87c574] -[[ssd1306.py:https://github.com/micropython/micropython/blob/master/drivers/display/ssd1306.py]] --[[micropythonでOLED (SSD1306) I2C編:https://qiita.com/inachi/items/ceb3e8e12022a7cbdf7b]] $ ampy -p /dev/tty.SLAB_USBtoUART put ssd1306.py **FreeRTOS [#j3359324] **Lua [#iaa00eb3] ***[[LuaNode:https://github.com/Nicholas3388/LuaNode]] [#e9660861] ***[[Lua RTOS:https://github.com/whitecatboard/Lua-RTOS-ESP32]] [#w76670e0] *LCD [#pd2b8f8b] -[[2.4 Inch TFT Display For ESP32:https://macsbug.wordpress.com/2016/12/16/using-the-tft-lcd-display-in-the-esp8266/]] -[[フルカラー OLED SSD1331 を ESP32 ( ESP-WROOM-32 )で動かしてみた:https://www.mgo-tec.com/blog-entry-esp32-oled-ssd1331.html]] -[[TFT display for Raspberry pi with ESP32:https://macsbug.wordpress.com/2017/08/12/how-to-use-a-tft-display-for-raspberry-pie-with-esp32/]] *I2S [#o33acb14] -[[ESP32でI2S+DACを使う:https://qiita.com/h_nari/items/b52c525f0c5b35aaf692]] *コントローラー [#l275fe3c] -[[WiFi TCP/UDP Controller:https://play.google.com/store/apps/details?id=udpcontroller.nomal&hl=ja]] *GUI [#z49e43bb] -[[ESP32 Modules Now Support LittlevGL and μGFX:https://www.espressif.com/en/news/ESP32_Modules_Now_Support_LittlevGL_and_%CE%BCGFX]] -[[ESP32でLittlevGL(オープンソースの組込み向けGUIライブラリ)を使ってみた:https://qiita.com/TwDaiki/items/18ff2b8be2dfdeef47d1]] *Macとの接続 [#m409cb7b] -[[ESP32ボードでmicropythonを使う:http://dubstylee.net/v/micropython-esp32/]] -[[MacでESP32のLチカ(Arduino IDE版):https://qiita.com/naohiro2g/items/b8baa3f0e1a880ae9d0a]] -[[ESP-WROOM-32 を Mac で遊ぶための準備:https://qiita.com/zakkied/items/9a602878b9d178fa27b1]] -[[秋月で買ったESP32を触ってみた(Mac上のArduino IDEでコンパイルできたよ!)話:http://relativelayout.hatenablog.com/entry/2017/03/31/221700]] -[[ESP32開発ボードをMacで:https://jiwashin.blogspot.jp/2017/03/esp32devkitc-basic-and-idf.html]] 以下、MacOS からMicroPythonでESP32に接続する手順を記載 **接続 [#n0e1b904] -[[シリコンラボのUSBシリアルドライバ:https://jp.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers]] をインストール -ESP32をUSBケーブルで接続 -接続確認 $ ls /dev/tty.SLAB* /dev/tty.SLAB_USBtoUART <== これが出てくればOK **ツールのインストール [#k33dbacc] $ sudo pip install esptool $ sudo pip install pyserial -エラーや警告が出る場合は「sudo -H ...」とする **Firmwareのインストール [#jcfce522] ***ダウンロード [#cedf3c1b] micropythonの本家サイトのDownloadページ([[http://micropython.org/download]])の『Firmware for ESP32 boards』からファームウェアをダウンロード ***インストール [#zf6ddfab] $ esptool.py --port /dev/cu.SLAB_USBtoUART erase_flash $ esptool.py --chip esp32 --port /dev/cu.SLAB_USBtoUART write_flash -z 0x1000 esp32-20180203-v1.9.3-268-g4b8e5875.bin ***インストールの確認 [#s09eab50] ターミナルでシリアル接続(ボーレートは 115200bps) -screenコマンド $ screen /dev/tty.SLAB_USBtoUART 115200 --終了するときは Ctrl-a k -[[CoolTerm:http://freeware.the-meiers.org]] ***GPIO制御でLチカをやってみる [#g7033b8f] -IO32にLEDを接続 --IO32 - LED - 抵抗(330Ω)- GND -以下のプログラムを入力して実行 --Ctrl-e でペーストモードにして入力し、入力後に Ctrl-d を押して実行 import machine as m, time led = m.Signal(m.Pin(32,m.Pin.OUT)) for _ in range(10): led.on() time.sleep(1) led.off() time.sleep(1) *M5Stack [#kac82193] -[[M5Stackであそぼう:http://mag.switch-science.com/2018/02/28/getting-started-with-m5stack/]] -[[M5stack ( ESP32 搭載 ) を分解したり電源を入れてみて、いろいろ思ったこと:https://www.mgo-tec.com/blog-entry-m5stack-initial-operation.html]] -[[M5Stack −LCDとWi-Fi付きの小型マイコン− と開発環境M5Cloudをためしてみる :https://dev.classmethod.jp/hardware/m5stack-m5cloud-tasting/]] -[[小型万能マイコン「M5Stack」で自分だけのクソダサいスマートウォッチを作る:https://karaage.hatenadiary.jp/entry/2018/04/16/073000]] -[[M5Stackを試す1 (はじめに):http://artteknika.hatenablog.com/entry/2018/07/04/222131]] -[[M5Stackを試す2 (環境構築編):http://artteknika.hatenablog.com/entry/2018/07/04/222212]] *事例 [#ba670e50] -[[ESP32でGAMEエミュレーターを動かす:https://qiita.com/hi631/items/a0dfb6ee91b90c028445]] -[[ESP32でテトリスを作ってみた:https://qiita.com/Tw_Mhage/items/b1b1a774b4ae94722601]]