GithubHelp home page GithubHelp logo

danpeirce / esp32_ota_filesys Goto Github PK

View Code? Open in Web Editor NEW

This project forked from palmerr23/esp32-ota-and-file-manager

1.0 1.0 0.0 1.68 MB

An OTA and File management program for Arduino 2.x

License: GNU General Public License v2.0

C++ 95.85% C 4.15%

esp32_ota_filesys's Introduction

ESP32 OTA and File System Management

The Arduino V2.0 IDE does not yet include the 'Sketch Data Upload' plugin.

This program provides a web-based interface for

The program sets the real time clock in the ESP32 using web provided NTP servers.

A timestamp in the file system is updated every time a file is saved.

Example Screenshot

http://ESP32OTA.local

http://esp32ota.local/phys1600_parts.html#phys1600-parts-main-box

http://esp32ota.local/md-viewer.html

Limitations:

  • It must be compiled for either the SPIFFS or LittleFS file system.
  • It does not support LittleFS folder hierarchies.
  • WiFi credentials must be compiled in. in my fork I added WiFiManager to avoid compiling in credentials.
  • The code has only been tested in a Chrome and Firefox desktop browser on Windows. While it should function correctly in Mozilla-style browsers across all desktop OS platforms, functionality on mobile and other desktop browsers is untested.
  • Assumes ESP32 v2.x (ESP32-IDF v4.x) for Arduino 1.8.x or Arduino 2.0.x
  • It does not require additional libraries to be installed. This fork requires the WiFiManager library.
  • Tested on ESP32-DOWD (WROOM and WROVER) and ESP32-S3 (WROOM).
    • This fork tested on ESP32-S2 DEVKIT

How to Use This Code:

  • Select a board partition scheme that allows SPIFFS (and OTA if you require it). Either the first option or fourth from the bottom are known to work. Third from the top and fifth from the bottom (large FS) should work on ESP32's with sufficient resources, but haven't been tested.

Screenshot 2023-02-14 085739

  • Compile and load the program, using Arduino, onto your ESP32.
  • On first run only attach to ESP access point AP with SSID: ESP32-FS-AP
    • Point browser to IP address: 192.168.4.1
    • follow prompts to configure SSID (this information is stored in flash -- if it times out reset and try again)
    • ESP will then reconfigure itself to connect to router SSID
  • Access the http://ESP32OTA.local URL from your host machine.
  • Perform file functions (format, load, edit, delete) and upload other programs (OTA) on the ESP32

Updated to Use WiFi Favicon

The favicon used in the head section of the HTML was replaced to a wifi icon which seemed more fitting for this project.

The new icon can be seen on the tab in the upper right. This replaces the monkey face icon that had been there.

The same technique was used as in the original project. The base64 code was replaced at the end of webpages.ico. To convert a favicon.ico file to the base64 encoding example code from a stackoverflow answer was used.

Android did not Support mDNS on Older Devices

Android did not support mDNS on older devices (this includes my old phone). Windows computers and apple devices do support mDNS and I am reading newer Adrodid devices also now support it. On most devices http://ESP32OTA.local in the location bar of the browser will work. Not on old Android devices. On android my phone from 2013 I must enter the IP address. At home I set my router to have a IP reservation for the ESP32 so that the IP address is consistent and known.

Update here https://www.androidpolice.com/android-mdns-local-hostname/

GNU GENERAL PUBLIC LICENSE Version 2

Substantial portions of the code in this project is derived directly from examples in https://github.com/espressif/arduino-esp32 . That repository is licensed under the LGPL v2.1 for code libraries. Being primarily a remix of example code it seems fitting that this project should be subject to the GPL.

esp32_ota_filesys's People

Contributors

danpeirce avatar palmerr23 avatar

Stargazers

Tobias R avatar

Watchers

 avatar

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.