Resources
- ESP32’s code (C++)
- Server’s code (Python)
Highlights
Hardware & software configuration
The old laptop rocks an AMD A8 6410 @2.0GHz
CPU with 8GB DDR3
RAM and a 512GB SATAIII
SSD. Software side, it runs Proxmox Virtual Environment, a hosted hypervisor on which i configured two separate containers: one for a samba share (of the entire disk) and one for a wireguard VPN (PiVPN).
Network configuration
The laptop is suspended most of the time, and only gets turned on when i want to use it. To accomplish this, an always-on ESP32 microcontroller in the same local networks hosts a telegram bot and is instructed to send a WakeOnLan packet to the laptop if it receives the message /boot
.
The ESP32 also handles more complex commands that directly interact with the server, such as starting a proxmox container or vm /start container-id
or putting the server back to a suspended state /suspend
. To accomplish this, commands of such type are forwarded from the ESP32 to the server through a flask API (the ESP32 basically acts as a trusted relay node).



Pictures




Power consumption
