GithubHelp home page GithubHelp logo

flyinggorilla / esp32gong Goto Github PK

View Code? Open in Web Editor NEW
22.0 4.0 6.0 7.32 MB

ESP32 based Gong with embedded webserver, Audio/Sound player, OTA and more

License: MIT License

C 2.90% C++ 68.12% HTML 26.91% Python 0.18% Go 0.88% Batchfile 0.06% CMake 0.95%

esp32gong's Introduction

esp32gong

ESP32 based Gong with embedded webserver, Audio/Sound player, OTA and more - e.g. for Sparkfun thing, Adafruit Huzzah32, and many others

features

  • Webserver with GET/POST, multipart-mime upload and TLS support
  • Webclient with TLS support
  • Url/Querystring parser
  • Captive webserver in Access Point mode (needs improvement for true captive capabilities)
  • Responsive Web UI based on Phonon 1.4.5
  • Data embedding (such as HTML, CSS, font files, audio...)
  • WAV decoder (e.g. 8 or 16bit mono wav files 16khz work very well, but some other rates work too)
  • Audio player to I2S devices (e.g. Adafruit MAX98357A)
  • C++, ESP-IDF
  • Wifi AP/STA mode (GPIO0 button will toggle mode)
  • Stores config in NVS
  • Storage class to wrap SPIFFS read/write access for storing uploaded files on flash on dedicated data partition
  • ICMP Ping to Gateway address is used for a watchdog implementation that resets ESP32 in case of broken wifi

todo:

  • mp3 support

screenshots

storage

build

Updated to ESP-IDF 4.3. Works now also with Visual Code as editor and ESP-IDF plug-in.

  • Setup ESP-IDF toolchain according to http://esp-idf.readthedocs.io/en/latest/
  • run idf.py menuconfig
    • adjust flash to 4MB (assuming your ESP32 has at least 4MB flash)
    • change partition setting to custom and choose partitions.csv.
    • Sparkfun thing requires 26Mhz XTAL frequency (vs. 40MHz is default); Huzzah32 work fine at 40MHz

hardware

gong speaker-box

start

  • once your ESP32 is flashed and started the wifi and webserver, it launches an accesspoint called "esp32gong" by default. connect to it and launch http://192.168.4.1/ to configure wifi and upload wav files.

speaker-box with sparkfun thing

esp32gong's People

Contributors

flyinggorilla avatar happenpappen avatar

Stargazers

 avatar  avatar Sean Stevens avatar  avatar Damien avatar  avatar  avatar  avatar  avatar  avatar (Alex) Kwan Ting Lee avatar Colesnicov Denis Petrovich avatar  avatar Moukarram Kabbash avatar  avatar Melissa Coleman avatar Alvaro Viebrantz avatar Richard Osterloh avatar  avatar Ikbel avatar  avatar audioman avatar

Watchers

 avatar  avatar  avatar  avatar

esp32gong's Issues

"make" fails with current esp-idf tools (version 4.2)

the build process fails with:

CXX build/main/I2SPlayer.o
/Users/stoppe/esp32gong/main/I2SPlayer.cpp: In member function 'bool I2SPlayer::play()':
/Users/stoppe/esp32gong/main/I2SPlayer.cpp:80:3: error: 'i2s_push_sample' was not declared in this scope
i2s_push_sample(I2S_NUM, (char*) &sample_val, portMAX_DELAY);
^~~~~~~~~~~~~~~
make[1]: *** [I2SPlayer.o] Error 1
make: *** [component-main-build] Error 2

I checked this and from what i've read i guess this function has gone away in the newer tools versions. Do you know, how to replace it?

Build fails

Great project! Have you updated your ESP-IDF lately? Build fails on the first file

esp32gong/main/./WebServer.cpp:2:23: fatal error: Esp32gong.h: No such file or directory

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.