A simple and extensible framework for ESP32 based IoT projects with a feature-rich, beautiful, and responsive front-end build with Sveltekit, Tailwind CSS and DaisyUI. This is a project template to get you started in no time with a fully integrated build chain.
Overview:
The ESP32 SvelteKit is a simple and extensible framework for ESP32 based IoT projects. It includes a feature-rich, beautiful, and responsive front-end built with SvelteKit, TailwindCSS, and DaisyUI. This project template provides a starting point for building IoT projects with a powerful back-end service and an easy-to-use build chain. It is highly customizable and has a low memory footprint, making it ideal for constrained devices like the ESP32.
Features:
- Beautiful UI powered by DaisyUI and TailwindCSS: The framework provides a beautiful and responsive UI that works well on both desktop and mobile devices. It includes gentle animations for a modern and snappy feeling. Theming is made easy with DaisyUI and media queries for light or dark themes.
- Low Memory Footprint and Easy Customization by Courtesy of SvelteKit: SvelteKit is uniquely suited for serving from constrained devices like the ESP32. It has a low memory footprint and allows for easy customization of the front end. Developers can adapt and add functionality as needed.
- Rich Communication Interfaces: The framework includes a rich set of communication interfaces, such as an MQTT client, HTTP RESTful API, and WebSocket server. These interfaces are stateful and fully synchronized, allowing changes to propagate to all participants. The states can also be persisted on the file system, and time synchronization with NTP is supported.
- WiFi Provisioning and Management: ESP32 SvelteKit provides features for managing WiFi networks. It includes the ability to set up an access point for provisioning or as a fallback, scan for available networks, and connect to them. Advanced configuration options like static IP are also available.
- Secured API and User Management: The framework allows for managing different users with two authorization levels: administrator and guest. API calls can be authenticated with a JWT token. User profiles can be managed from the admin interface, but it is important to note that the framework is not secure without TLS/SSL encryption on the ESP32 server.
- OTA Upgrade Service: ESP32 SvelteKit supports over-the-air updates through three different channels: ArduinoOTA port for updates from the IDE, uploading a .bin file from the web interface, or pulling a firmware image from an update server.
Installation:
To install the ESP32 SvelteKit framework, follow these steps:
- Clone the repository from GitHub:
git clone https://github.com/username/repo.git
- Install the necessary dependencies:
Customize the framework as needed by modifying the configuration files and adding your own code.
Build the project:
Flash the built project onto the ESP32 device.
Start the server:
- Access the web UI by navigating to the specified IP address and port in your browser.
Summary:
The ESP32 SvelteKit framework is a powerful tool for building IoT projects with ESP32 devices. It provides a feature-rich and customizable front-end, along with a robust back-end service. With its low memory footprint, rich communication interfaces, WiFi provisioning and management capabilities, secured API and user management, and OTA upgrade service, it offers a comprehensive solution for developing IoT applications. However, it is important to note that additional security measures should be implemented when using the framework in production environments.