ChronoCore is a real-time system monitoring tool I designed to display GPU, CPU, and RAM usage statistics about my gaming desktop PC on my Raspberry Pi touchscreen during gaming sessions. This project combines Python, React, and TypeScript, utilizing WebSockets for live data transmission.
- Real-Time Monitoring: Instantly view your GPU, CPU, and RAM statistics in real time.
- WebSocket Communication: Leverages WebSockets for seamless, live updates between the desktop and the Raspberry Pi display.
- Cross-Platform: Backend written in Python for gathering system stats, with a TypeScript WebSocket server and a React frontend-UI.
- Backend: Python script utilizing libraries such as GPUtil and psutil for monitoring system resources.
- WebSocket Server: TypeScript and ws for handling real-time data transmission.
- Frontend: React and styled-components for displaying the data on a Raspberry Pi.
To get ChronoCore up and running on your system, follow these steps:
-
Set up the Python Environment: Ensure Python is installed on your desktop, and set up the environment for running the monitoring script. Start the script.
-
Configure the WebSocket Server: Install Node.js and the necessary npm packages for the TypeScript WebSocket server. Start the server.
-
Prepare the Frontend: Install the React dependencies and build the frontend application.
-
Deploy on Raspberry Pi or respective device: Transfer the built React app to your Raspberry Pi or respective device and configure it to display the UI.