{"id":13607383,"url":"https://github.com/denmark111/esp32ServerMon","last_synced_at":"2025-04-12T11:32:28.329Z","repository":{"id":247602065,"uuid":"822631501","full_name":"denmark111/esp32ServerMon","owner":"denmark111","description":null,"archived":false,"fork":false,"pushed_at":"2024-07-09T22:17:43.000Z","size":11290,"stargazers_count":33,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-11-07T12:44:43.000Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/denmark111.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-01T14:02:45.000Z","updated_at":"2024-09-28T13:21:03.000Z","dependencies_parsed_at":"2024-08-01T19:53:41.675Z","dependency_job_id":null,"html_url":"https://github.com/denmark111/esp32ServerMon","commit_stats":null,"previous_names":["denmark111/esp32servermon"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denmark111%2Fesp32ServerMon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denmark111%2Fesp32ServerMon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denmark111%2Fesp32ServerMon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denmark111%2Fesp32ServerMon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/denmark111","download_url":"https://codeload.github.com/denmark111/esp32ServerMon/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248560242,"owners_count":21124615,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T19:01:18.142Z","updated_at":"2025-04-12T11:32:23.319Z","avatar_url":"https://github.com/denmark111.png","language":"C++","readme":"# esp32ServerMon\nOffline server monitoring tool  \nAny fixes or improvements are always welcome!!\n\n## Working examples\n\u003cimg src=\"./images/IMG_0277.jpg\" width=\"50%\" height=\"50%\"\u003e\n\u003cimg src=\"./images/IMG_0279.jpeg\" width=\"50%\" height=\"50%\"\u003e\n\n## Available metrics on screen\n- Current time\n- Wifi address\n- CPU usage in %\n- CPU usage history graph\n- CPU1/2 Temperature\n- Memory usage in %\n- Load Average (15m)\n- Disk R/W IOPS (Cycles between read and write with a button)\n- Disk health (green dots in top right corner of disk grid)\n- Overall health **(Currently not implemented)**\n\n## Tested environment\n1. Hardware\n    - Lilygo T-Display S3 (Non-touch version)\n    - Dell R740xd\n2. Software\n    - PlatformIO w/ VSCode\n    - ProxmoxVE 8\n    - Python3.11\n\n## Usage\n#### First, upload the firmware to lilygo t-display s3\n1. Install PlatformIO vscode plugin (install vscode first if not installed)\n2. Clone this repo\n3. Open repo directory in vscode\n    - platformio should setup environment automatically\n    - if not, check if platformio.ini file is visiable in vscode explorer.\n4. Connect lilygo t-display s3 via USB\n5. Start compile \u0026 upload\n    - If you successfully installed PlatformIO, right arrow button should be visiable on the bottom left corner\n6. Reset lilygo t-display s3 and check if default UI is loaded.\n\n#### Next, Setup collector in Proxmox\n1. Make sure python3.11 is installed\n    - python3.11 is installed by default in Proxmox 8\n2. Copy collector script\n    ``` bash\n    cd esp32servermon\n    cp -r metrics-collector /opt/\n    ```\n3. Install python requirments\n    ``` python\n    cd /opt/metrics-collector\n    python3 -m venv venv\n    venv/bin/pip install -r requirments.txt\n    ```\n4. Copy systemd service file\n5. Config collector script\n    - Change DEVICE_NAME\n    - Change BAUD_RATE **(Only if necessary)**\n    - Change CHECK_INTERVAL **(Only if necessary)**\n    ``` python\n    DEVICE_NAME = \"/dev/ttyACM0\"\n    BAUD_RATE = 115200\n    CHECK_INTERVAL = 30\n    ```\n6. Run collector\n    ``` bash\n    systemctl daemon-reload\n    systemctl start metrics-collector\n    ```\n\n#### Finally, check if all metrics are visiable in lilygo t-display s3\n1. Press right button to check if diskIO cycles between read and write.\n2. Check everything is working.\n\n","funding_links":[],"categories":["others"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdenmark111%2Fesp32ServerMon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdenmark111%2Fesp32ServerMon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdenmark111%2Fesp32ServerMon/lists"}