esp32_devkit
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteDernière révisionLes deux révisions suivantes | ||
esp32_devkit [2019/01/05 16:49] – bigMax | esp32_devkit [2020/07/25 09:14] – bigMax | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== ESP32 devkit v1 ====== | ====== ESP32 devkit v1 ====== | ||
Ici sont rassemblés des informations pour travailler avec un ESP32 devkit. | Ici sont rassemblés des informations pour travailler avec un ESP32 devkit. | ||
- | Ce kit a été créé par une boit nommé | + | Ce kit a été créé par une boite nommée |
+ | |||
+ | {{ media_06: | ||
<WRAP center round important 60%> | <WRAP center round important 60%> | ||
Avant toute chose, il faut bien vérifier le modèle de l' | Avant toute chose, il faut bien vérifier le modèle de l' | ||
</ | </ | ||
+ | |||
+ | La version " | ||
+ | |||
+ | Un tuto complet ici : [[ https:// | ||
+ | |||
+ | <WRAP center round info 60%> | ||
+ | Beaucoup de versions sont listés dans ce [[ https:// | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Détails techniques ===== | ||
+ | Voici les détails techniques colléctés en vrac depuis le site internet de [[ https:// | ||
+ | |||
+ | ==== Fonctionnalités clées ==== | ||
+ | * 240 MHz dual-core Tensilica LX6 microcontroller avec 600 DMIPS | ||
+ | * 520 KB SRAM intégré | ||
+ | * Émetteur-récepteur Wi-Fi 802.11 b/g/n HT40 Wi-Fi transceiver intégré, baseband, stack et LwIP | ||
+ | * Bluetooth dual mode intégré (classic et BLE) | ||
+ | * 16 MB flash, memory-mapped to the CPU code space | ||
+ | * 2.3V to 3.6V operating voltage | ||
+ | * Temperature de fonctionnement de -40°C à +125°C | ||
+ | * Onboard PCB antenna / IPEX connector for external antenna | ||
+ | |||
+ | ==== Capteurs ==== | ||
+ | * Ultra-low noise analog amplifier | ||
+ | * Capteur à effet Hall | ||
+ | * 10x capacitive touch interfaces | ||
+ | * 32 kHz crystal oscillator | ||
+ | |||
+ | ==== 34 ports GPIO ==== | ||
+ | * 3 x UARTs, including hardware flow control | ||
+ | * 3 x SPI | ||
+ | * 2 x I2S | ||
+ | * 18 x ADC input channels | ||
+ | * 2 x DAC | ||
+ | * 2 x I2C | ||
+ | * PWM/timer input/ | ||
+ | * OpenOCD debug interface with 32 kB TRAX buffer | ||
+ | * SDIO master/ | ||
+ | * Supports external SPI flash up to 16 MB | ||
+ | * SD-card interface support | ||
+ | |||
+ | ==== Securité des communications ==== | ||
+ | * WEP, WPA/WPA2 PSK/ | ||
+ | * Hardware accelerated encryption: AES/ | ||
+ | |||
+ | ==== Performance ==== | ||
+ | * Supports sniffer, Station, SoftAP and Wi-Fi direct mode | ||
+ | * Max data rate of 150 Mbps@11n HT40, 72 Mbps@11n HT20, 54 Mbps@11g, and 11 Mbps@11b | ||
+ | * Maximum transmit power of 19.5 dBm@11b, 16.5 dBm@11g, 15.5 dBm@11n | ||
+ | * Minimum receiver sensitivity of -97 dBm | ||
+ | * 135 Mbps UDP sustained throughput | ||
+ | * 5 μA power consumption in Deep-sleep | ||
+ | |||
===== Utilisation de l'IDE Arduino ===== | ===== Utilisation de l'IDE Arduino ===== | ||
Ligne 12: | Ligne 68: | ||
Le projet annonce que la plupart du framework arduino est implémenté. | Le projet annonce que la plupart du framework arduino est implémenté. | ||
- | ===== Les premiers | + | ===== Les premiers |
- | Mes premiers ESP32 devkit semblent etre des "ESP32 devkit v1". C'est un terme plutot générique et il existe beaucoup de kit differents avec ce nom. | + | Mes premiers ESP32 devkit semblent etre des "ESP32 devkit v1". C'est un terme plutot générique et il existe beaucoup de kit differents avec ce nom. Mon devkit est chiant car il n'est pas breadboard friendly. Lorsque je le monte sur une breadboard, je n'ai accès quà un côté des pins dispositif. |
{{ : | {{ : | ||
Ligne 19: | Ligne 75: | ||
Voici un tuto bien étoffé pour commencer à bricoler rapidement avec le meme ESP32 devkit que le mien : [[ https:// | Voici un tuto bien étoffé pour commencer à bricoler rapidement avec le meme ESP32 devkit que le mien : [[ https:// | ||
- | {{tag> | + | ==== Ports de communications SPI ==== |
+ | cf: [[ http:// | ||
+ | |||
+ | Sur l' | ||
+ | * SPI2 (HSPI) | ||
+ | * SPI3 (VSPI) | ||
+ | |||
+ | Sketch examples pour manipuler les 2 ports SPI hardware : [[ https:// | ||
+ | |||
+ | === HSPI (SPI2) === | ||
+ | * CLK => GPIO 14 | ||
+ | * MISO => GPIO 13 | ||
+ | * MOSI => GPIO 12 | ||
+ | * SS => GPIO 15 | ||
+ | |||
+ | === VSPI (SPI3) === | ||
+ | * CLK => GPIO 18 | ||
+ | * MISO => GPIO 23 | ||
+ | * MOSI => GPIO 19 | ||
+ | * SS => GPIO 5 | ||
+ | |||
+ | |||
+ | ==== Notes ==== | ||
+ | * GPIO2 pilote la diode bleue. | ||
+ | * GPIO22 pas utilisable en INPUT ou en INPUT_PULLUP ? | ||
+ | |||
+ | ==== Troubleshooting ==== | ||
+ | * Lors de l' | ||
+ | * Lors de l' | ||
+ | * Ajouter l' | ||
+ | |||
+ | ==== Pilotage d'un écran TFT 240x240 px : le ST7789 ==== | ||
+ | {{ media_06: | ||
+ | |||
+ | Cablage | ||
+ | |||
+ | * 1 GND Power ground | ||
+ | * 2 VCC Power 3.3+ | ||
+ | * 3 SCL SPI clock line | ||
+ | * 4 SDA SPI data line | ||
+ | * 5 RES Reset | ||
+ | * 6 DC Data/ | ||
+ | * 7 BLK Backlight control, the default can be left floating, low level to turn off the backlight. | ||
+ | |||
+ | Je recommande la lib TFT-eSPI de Bodmer qui permet de driver beaucoup d' | ||
+ | \\ | ||
+ | Je déconseil la lib d' | ||
+ | \\ | ||
+ | Configuration de la lib TFT-eSPI dans le fichier User_Setup.h : | ||
+ | <code c> | ||
+ | #define ST7789_DRIVER | ||
+ | |||
+ | #define TFT_WIDTH | ||
+ | #define TFT_HEIGHT 240 | ||
+ | |||
+ | #define TFT_MISO 23 | ||
+ | #define TFT_MOSI 19 | ||
+ | #define TFT_SCLK 18 | ||
+ | #define TFT_CS | ||
+ | #define TFT_DC | ||
+ | #define TFT_RST | ||
+ | </ | ||
+ | |||
+ | Plus de code sur github ici : https:// | ||
+ | |||
+ | ===== Les premiers pas de Bjorn sur l' | ||
+ | Mon objectif initial est de tester des librairies graphiques en vue d'un futur projet sur ce genre de hardware (teasing de ouf). J' | ||
+ | Le module ESP32 m'a été gentiment prêté par Gaziel qui en avait un au fond de son sac. Celui-ci viens du marché chinois des internets et laisse une rangé de libre de chaque coté de la breadboard une fois enfiché. | ||
+ | |||
+ | ==== Hardware ==== | ||
+ | === L' | ||
+ | l' | ||
+ | === Le montage === | ||
+ | Le montage respecte le schéma présenté sur le site [[http:// | ||
+ | |||
+ | {{https:// | ||
+ | |||
+ | ^ LCD SCREEN ^ NODEMCU ESP32 ^ | ||
+ | |5V| 3v3| | ||
+ | |GND| GND| | ||
+ | |LED| 5V| | ||
+ | |SCL (SPI Clock)| GPIO18 VSPI SCK (SPI Clock)| | ||
+ | |SDA (SPI Data)| GPIO23 VSPI MOSI (MOSI, Data to Screen)| | ||
+ | |RS (Register Select)| GPIO2 (labelled as DC in Adafruit code)| | ||
+ | |RST (Screen reset) | GPIO4| | ||
+ | |CS (Chip Select : Defined as Slave Select in SPI) If low this device is active on data lines| GPIO5 VSPI SS (Slave Select/ Chip Select)| | ||
+ | |||
+ | ==== Software ==== | ||
+ | === Les librairies === | ||
+ | {{ media_02: | ||
+ | * Une des premières documentation que j'ai eu étant le site de [[http:// | ||
+ | * J'ai ensuite répéré la librairie [[https:// | ||
+ | * J'ai enfin arrêté de faire pas comme les autres et me suis rabatu sur la lib d' | ||
+ | <code c> | ||
+ | #define TFT_CS | ||
+ | #define TFT_RST | ||
+ | #define TFT_DC | ||
+ | </ | ||
+ | * Le truc un peu foufou avec cette lib c'est qu' | ||
+ | |||
+ | <code c> | ||
+ | Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, | ||
+ | |||
+ | tft.initR(INITR_BLACKTAB); | ||
+ | tft.initR(INITR_GREENTAB); | ||
+ | // if using a 1.44" TFT: | ||
+ | tft.initR(INITR_144GREENTAB); | ||
+ | //if using a 0.96" 180x60 TFT: | ||
+ | tft.initR(INITR_MINI160x80); | ||
+ | // etc. | ||
+ | </ | ||
+ | ==== Notes ==== | ||
+ | * todo | ||
+ | |||
+ | ===== Notes pour l' | ||
+ | Un tuto interessant au sujet de l' | ||
+ | On y parle notamment de SPIFFS le mini File System disponible pour ESP32. | ||
+ | cf : [[https:// | ||
+ | |||
+ | {{tag> |
esp32_devkit.txt · Dernière modification : 2020/10/27 18:33 de serge