I developed an interactive WebSocket-based control system that enables seamless communication between a Laravel-powered web application and an ESP32 microcontroller. Built with Laravel, Tailwind CSS, and Livewire, this system provides real-time command execution and status feedback through Laravel Reverb WebSockets.
Key Features:
- Two-Way WebSocket Communication – Commands sent from the Livewire interface are delivered to the ESP32 via WebSocket messages. The ESP32 responds on a separate WebSocket channel, updating the interface with real-time status feedback.
- On-Device Display – Messages sent from Laravel are displayed on the ESP32’s OLED screen, utilizing the SSD1306Wire library.
- Asynchronous Processing – Laravel Events broadcast commands, while Listeners handle incoming WebSocket messages, which are queued and processed efficiently.
- Optimized Server Architecture – The system runs on Nginx, using Supervisor to manage Laravel Reverb WebSockets and queue workers for handling ESP32 responses.
- ESP32 Firmware – The ESP32 runs firmware built with Arduino.h, ArduinoJson.h, SPIFFS, WiFiManager, HTTPClient, and WebSocketsClient, ensuring robust network management and message handling.
This project demonstrates my expertise in real-time IoT communication, WebSocket integration, and asynchronous processing, bridging the gap between Laravel applications and embedded systems.