arduino-esp32/libraries/README.md
Me No Dev f2026f1e34
3.0.0 Network Refactoring (#8760)
* Create ESP_NetworkInterface class and have Ethernet extending it

* Update CMakeLists.txt

* Split networking from WiFi (H2 can now use Ethernet)

Now all libs have been checked yet. More to do on WiFi side

* Fix build errors

* Guard WiFi classes and fix RMII ETH examples

* Decouple network related libraries from WiFi

* Fix examples and WiFiUpdate

* Guard WiFiProv lib to compile only on WiFi chips

* Add periman string for network and "fix" mdns on the first ETH

* Revert back location of Client/Server/Udp in order to accept some PRs

* Fix periman

* Some fixes from merging master

* Fix web server missing fs.h

* Move Client, Server and Udp out of WiFi

* More fixes

* more fixes

* Fix CMakekLists and rework lib menu dependencies

* Fix CMake issues

* move back WiFiClient to rebase with master

* Update ETH_TLK110.ino

* Move back WiFiClient

* Update progress

* Update WiFiGeneric.cpp

* More fixes

* Switch AP to the new interface

* Cleanup

* Rename AP methods

* Add extra interface info for Printable

* Rename IPv6 getters to clarify that they are returning LinkLocal address

cc @sgryphon

* Rename network classes

cc @sgryphon

* Update NetworkManager.h

* Rename WiFi Server and UDP

* Rename WiFiClient and WiFiClientSecure

* Update CMakeLists.txt

* Update on-push.sh

* Rename Network library

* Remove unnecessary guard

* Get the correct interface MAC address for mDND Workstation service

* Apply suggestions from code review

Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>

---------

Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
2024-03-26 23:31:23 +02:00

111 lines
2.4 KiB
Markdown

# ESP32 Libraries
arduino-esp32 includes libraries for Arduino compatibility along with some object wrappers around hardware specific devices. Examples are included in the examples folder under each library folder. The ESP32 includes additional examples which need no special drivers.
### ArduinoOTA
Over The Air firmware update daemon. Use espota.py to upload to the device.
### AsyncUDP
Asynchronous task driven UDP datagram client/server
### BLE
Bluetooth Low Energy v4.2 client/server framework
### BluetoothSerial
Serial to Bluetooth redirection server\
Note: This library depends on Bluetooth Classic which is only available for ESP32\
(Bluetoothserial is **not available** for ESP32-S2, ESP32-C3, ESP32-S3).
### DNSServer
A basic UDP DNS daemon (includes captive portal demo)
### EEPROM
Arduino compatibility for EEPROM (using flash)
### ESP32
Additional examples
* AnalogOut
* Camera
* ChipID
* DeepSleep
* ESPNow
* FreeRTOS
* GPIO
* HallSensor
* I2S
* MacAddress
* ResetReason
* RMT
* Time
* Timer
* Touch
### ESPmDNS
mDNS service advertising
### Ethernet
Ethernet networking
### FFat
FAT indexed filesystem on SPI flash
### FS
Filesystem virtualization framework
### HTTPClient
A simple HTTP client, compatible with NetworkClientSecure
### HTTPUpdate
Download a firmware update from HTTPd and apply it using Update
### HTTPUpdateServer
Upload a firmware for the update from HTTPd
### LittleFS
LittleFS (File System)
### NetBIOS
NetBIOS name advertiser
### Preferences
Flash keystore using ESP32 NVS
### ESP RainMaker
End-to-end platform by Espressif that enables Makers to realize their IoT ideas faster
### SD
Secure Digital card filesystem using SPI access
### SD_MMC
Secure Digital card filesystem using 4-lane access
### SimpleBLE
Minimal BLE advertiser
### SPI
Arduino compatible Serial Peripheral Interface driver (master only)
### SPIFFS
SPI Flash Filesystem (see [spiffs-plugin](https://github.com/me-no-dev/arduino-esp32fs-plugin) to upload to device)
### Ticker
A timer to call functions on an interval
### Update
Sketch Update using ESP32 OTA functionality
### USB
Universal Serial Bus driver (device only)
### WebServer
A simple HTTP daemon
### WiFi
Arduino compatible WiFi driver (includes Ethernet driver)
### NetworkClientSecure
Arduino compatible WiFi client object using embedded encryption
### Wire
Arduino compatible I2C driver