A lightweight, cross-platform server application that monitors system resources and provides real-time CPU and memory usage data to Skyloong keyboard displays.
- 🚀 Real-time monitoring of CPU and memory usage
- ⌨ Data transmission to compatible Skyloong keyboard displays
- 🖥 System tray integration for minimal desktop footprint
- 🌗 Dark/light theme support
- 🛠 Debug mode for troubleshooting
- 🔄 Daemon mode for automatic startup
The server uses psutil to collect real-time system information:
- CPU usage percentage across all cores
- Memory usage percentage
- Connection Protocol: The server listens on TCP port 1648 and accepts connections from compatible keyboard devices.
- Data Format: System information is transmitted as an 8-byte data packet:
- First 4 bytes: CPU usage as a floating-point number
- Last 4 bytes: Memory usage as a floating-point number
- Server sends the 8-byte data packet to connected clients
- Client responds with a 1-byte acknowledgment
- Cycle repeats approximately 2 times per second
- Each client connection is handled in a separate thread
- The server can handle multiple simultaneous connections (MAX 5)
- When a client disconnects, resources are properly cleaned up
- Download the latest release from the Releases page
- Run the executable file
SkyloongServer.exe
- Download the latest release from the Releases page
- Make it executable:
chmod +x SkyloongServer
- Run the application:
./SkyloongServer
-
./SkyloongServer --daemon
- Launch the application
- Click "Start server" to begin monitoring and data transmission
- Connect your compatible Skyloong keyboard to receive the data
- Monitor active connections and system resource usage
--daemon: Start the server minimized to system tray and automatically begin serving data
- Ctrl+D: Toggle daemon mode (start server and minimize to system tray)
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.