Hi all, just want some advice regarding the suitability of the ESP32 and current SDK for my project.
Requirements are:
- Hardware PWM LED control at least 10bit and 1khz without using CPU
- Capacitive touch sensors, pref with adjustable sensitivity via software or hardware (anyone tried this yet?)
- Basic http server (no tls required)
- Basic http client (tls required)
- Switch between AP and STA mode during runtime (reboot ok)
- Udp broadcast send/receive for device discovery
- Tcp send/receive for device control (ie setting PWM duty cycle)
- Enable / disable wifi & bluetooth radios
- Save string data to flash during runtime to persist across device reboots
- Remote firmware update via http polling of update server (if not too complex...)
Is all of the above possible with the current hardware and SDK? I don't mind which software toolset I have to use so long as it all works
ESP32 Suitability for Project?
Re: ESP32 Suitability for Project?
Yes, using LEDC peripheral (driver available).dspau1 wrote: - Hardware PWM LED control at least 10bit and 1khz without using CPU
Driver for touch sensor is available, although currently it doesn't have any adjustable parameters. Exposing them is possible though.dspau1 wrote: - Capacitive touch sensors, pref with adjustable sensitivity via software or hardware (anyone tried this yet?)
AFAIK Esphttpd project has been ported to the ESP32, and provides a feature-rich HTTP server.dspau1 wrote: - Basic http server (no tls required)
Depending on how basic it needs to be; Libcurl has been reported running on the ESP32 (see http://esp32.com/viewtopic.php?f=17&t=409). There is also a fair number of HTTP clients written in C and C++ using socket APIs — in general they should work with little or no modifications. TLS is supported via mbedTLS library. OpenSSL wrappers for mbedTLS are also available in the ESP-IDF.dspau1 wrote: - Basic http client (tls required)
This is supported in the current master branch.dspau1 wrote: - Switch between AP and STA mode during runtime (reboot ok)
- Enable / disable wifi & bluetooth radios
Supported using sockets API, or LwIP netconn API, or LwIP raw API.dspau1 wrote: - Udp broadcast send/receive for device discovery
- Tcp send/receive for device control (ie setting PWM duty cycle)
Supported in the SDK using non-volatile storage (NVS) library. SPIFFS file system has also been ported to the ESP32 (a number of open source projects are using it).dspau1 wrote: - Save string data to flash during runtime to persist across device reboots
This is supported, see OTA demo in the current master branch of ESP-IDF.dspau1 wrote: - Remote firmware update via http polling of update server (if not too complex...)
Re: ESP32 Suitability for Project?
https://github.com/Spritetm/libesphttpd/commits/esp-idfESP_igrr wrote: AFAIK Esphttpd project has been ported to the ESP32, and provides a feature-rich HTTP server.
Re: ESP32 Suitability for Project?
Great, it all sounds viable then, thanks for the detailed reply!
What would be your recommended toolchain to implement the above functionality? I'm most familiar with C in Visual Studio on Windows.
What would be your recommended toolchain to implement the above functionality? I'm most familiar with C in Visual Studio on Windows.
Re: ESP32 Suitability for Project?
Regardless of the development environment, you need to use https://github.com/espressif/esp-idf as the development framework. On Windows, you can use Eclipse or Visual Studio with VisualGDB plugin (https://visualgdb.com/w/tutorials/tag/esp32/). One note about VisualGDB though: it is not clear how often VisualGDB folks update their ESP-IDF package, or how difficult it would be to use VisualGDB along with an ESP-IDF copy obtained from GitHub.
Re: ESP32 Suitability for Project?
Hi everyone.
I tried to use the esphttpd freertos example with ESP32. But I could not manage to do it yet. Anybody successfull with this? later I would like to connect the esphttpd example in ESP32 with SSL (integrated TLS 1.2 library) to have a secure webserver in ESP32. Has anybody done this?
I tried to use the esphttpd freertos example with ESP32. But I could not manage to do it yet. Anybody successfull with this? later I would like to connect the esphttpd example in ESP32 with SSL (integrated TLS 1.2 library) to have a secure webserver in ESP32. Has anybody done this?
-
- Posts: 95
- Joined: Tue Feb 21, 2017 10:17 pm
Re: ESP32 Suitability for Project?
PlatformIO makes for a pretty good IDE for ESP-IDF and ESP Arduino setups. (http://platformio.org) It's built against the Atom Editor/IDE framework from GitHub. Works nicely and as long as you're not using an unreleased mid-stream from the GitHub pull for the IDF because of an issue, it's a bit easier for novices to deal with than the other two.ESP_igrr wrote:Regardless of the development environment, you need to use https://github.com/espressif/esp-idf as the development framework. On Windows, you can use Eclipse or Visual Studio with VisualGDB plugin (https://visualgdb.com/w/tutorials/tag/esp32/). One note about VisualGDB though: it is not clear how often VisualGDB folks update their ESP-IDF package, or how difficult it would be to use VisualGDB along with an ESP-IDF copy obtained from GitHub.
Drawback? It doesn't have the debugging hooks in place for the ESP32 yet...yet...
Who is online
Users browsing this forum: grantb and 60 guests