# Joulemetre Viewer ## Overview The Joulemetre Viewer is a web application designed to display real-time data read from a serial port. It visualizes key electrical parameters including power, voltage, current, energy, and time. The application utilizes WebSockets for live updates, ensuring that users receive the most current data without needing to refresh the page. ## Project Structure ``` joulemetre-viewer ├── src │ ├── server │ │ ├── index.js # Entry point for the server, sets up Express and WebSocket communication │ │ └── serial.js # Manages serial port connection and data parsing │ ├── client │ │ ├── index.html # Main HTML file for the web application │ │ ├── app.js # Client-side JavaScript for WebSocket communication │ │ └── style.css # Styles for the web application │ └── shared │ └── types.js # Defines data structures for consistency between server and client ├── package.json # npm configuration file with dependencies and scripts └── README.md # Documentation for the project ``` ## Installation 1. Clone the repository: ``` git clone cd joulemetre-viewer ``` 2. Install the dependencies: ``` npm install ``` ## Usage 1. Start the server: ``` npm start ``` 2. Open your web browser and navigate to `http://localhost:3000` to view the application. ## Features - Real-time data display from a serial port. - WebSocket communication for live updates. - User-friendly interface for monitoring electrical parameters. ## Contributing Contributions are welcome! Please submit a pull request or open an issue for any enhancements or bug fixes. ## License This project is licensed under the MIT License.