https://github.com/jetsonhacks/system-monitor
A web enabled system monitor for NVIDIA Jetson Development Kits
https://github.com/jetsonhacks/system-monitor
Last synced: 6 months ago
JSON representation
A web enabled system monitor for NVIDIA Jetson Development Kits
- Host: GitHub
- URL: https://github.com/jetsonhacks/system-monitor
- Owner: jetsonhacks
- License: mit
- Created: 2024-10-16T00:37:13.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-11-20T06:26:01.000Z (6 months ago)
- Last Synced: 2024-12-04T07:24:42.296Z (6 months ago)
- Language: Python
- Size: 2.69 MB
- Stars: 10
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# system-monitor
A web enabled system monitor for NVIDIA Jetson Development Kits
## Video Tutorial[Watch the video on YouTube](https://youtu.be/zb6zoEMUyi0)
Requires Python 3.10+ - For Jetson Nano & Xaviers, consider using a virtual environment (e.g. Anaconda)
An example of creating a webserver to deliver a subset of system data such as CPU, GPU and memory usage. Please note that this is example code, and the webserver is not meant to be exposed to the Internet at large without adding in proper authentication and other security. For use on local private networks.
Websockets allow refreshing the data easily.
The Tutorial folder holds some resources which explain how the server is built incrementally. The supporting documentation will be available when the tutorial and video become available.
## Requirements
For this project, we're using Python based FastHTML for the web server.
* [FastHTML web page](https://fastht.ml)
* [FastHTML on Github](https://github.com/AnswerDotAI/fasthtml)FastHTML has built in support for websockets. However for this project we're using a different websocket library. This is for learning purposes, not quite so automagic.
Chart.js is used for the time series charts on the web client. [Chart.js on Github](https://github.com/chartjs/Chart.js)
You will need to install the requirements:
```
pip install -r requirements.txt
```To enable WebSockets when connecting from another machine, you need to set the server address in the server_config.ini file. The IP address should be the IP address of the server (this) machine.
## Notes
**November, 2024**
* Expanded Tutorial
* Better separation of Javascript into external .js files**October, 2024**
* Initial Release
* Tested on Jetson Nano, Jetson Xavier, and Jetson Orin
* Requires Python 3.10+ (tested in Anaconda enviornment)
* FastHML 0.6.13
* psutil 6.1.0