Skip to content

apaier/ESP32-Wifi-Repeater

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ESP32-Wifi-Repeater

An ESP32 Based WiFi Repeater that has a configurable UI for setup

Background

This code is based on the [example code] (https://github.com/espressif/arduino-esp32) that is available in the ESP32 Examples for the Ardunio IDE. Unlike the original example the WiFi and Access Point settings can be updated via a web UI that runs on the ESP32. This should allow for easy modification as needed by the end user.

The webserver code was derived from learnings based on the tutorial at Random Nerd Tutorials.

How to use

This writeup assumes you already have the ability to push code to the ESP32 board using the Ardunio IDE. Once you have that working -

Overview

  1. Clone the repository
  2. Ensure all the dependencies libraries are installed. (WiFi, LittleFS, ArduinoJson)
  3. Push the LittleFS files to your ESP32. This is the raw web page for configuration.
  4. Compile and push the code to your ESP32.
  5. Connect to the Access Point that should now be available. The default name is ESP32-WIFI-EXTENDER
  6. Navigate in the browser of whatever you connected to the access point to http://192.168.8.1
  7. Configure the settings for the WiFi and the AP name/password you want.
  8. You should be done.

Detailed Instructions

Clone Repository

I'm not going to explain this. Please look it up if you don't understand.

Install Libraries

In your Arduino IDE open the "Tools" menu and select "Library Manager". The libraries I explicitly installed are ESP32WiFiManager by Kevin Harrington and Arduinojson.

LittleFS I installed following the [tutorial on ArduinoYard] (https://arduinoyard.com/esp32-littlefs-filesystem-uploader-arduino-ide-2-0/)

Push the files to the ESP32

After connecting your ESP32 to the computer, open up the code for this solution (the WiFiExtender.ino in the folder WiFiExtender). Hit Shift-Ctrl-P (or Shift-cmd-P1 on Mac) and type in Upload and select the Upload LittleFS to Pico/ESP8266/ESP32 option. Important Note: This will not run correctly if you have the serial monitor open when you attempt to run it.

Compile and push the code to the ESP32

This should be straight forward. I do have some serial.println statements that should make what is going on fairly clear.

I don't feel the rest of the steps need to be explained. When you have successfully connected to a WiFi, the settings are saved and will be used as the default rather than the hardcoded ones in the file. If that access point is not available on startup, the code falls back to Access Point only mode.

Outstanding Items

At this time I've not experimented with the solution's behavior if the WiFi it is attached to is no longer available. After a reboot it should come up as an AP only mode, but if it hasn't been rebooted I don't know if the failure is elegant. I have this as an outstanding item to work when I have a less complicated topology I can test within.

#Performance This is not a high bandwidth solution. I've seen performance connected to the repeater where the throughput is significantly lower than a direct connection to the WiFi. I've only used this to extend IoT solutions to places that cannot connect to my WiFi directly and have relatively low bandwidth requirements.

About

An ESP32 Based WiFi Repeater that has a configurable UI for setup

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published