{"id":13819229,"url":"https://github.com/avivace/ardumonitor","last_synced_at":"2025-05-07T00:48:16.274Z","repository":{"id":106677702,"uuid":"74848741","full_name":"avivace/ardumonitor","owner":"avivace","description":"Real time stats monitoring on Arduino.","archived":false,"fork":false,"pushed_at":"2016-12-08T17:23:15.000Z","size":19,"stargazers_count":13,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-07T00:48:15.576Z","etag":null,"topics":["arduino","cpu","ethernet-shield","lcd-display","linux-machine","monitor","statistics","stats"],"latest_commit_sha":null,"homepage":"","language":"Arduino","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/avivace.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}},"created_at":"2016-11-26T20:24:42.000Z","updated_at":"2020-01-28T14:47:15.000Z","dependencies_parsed_at":"2024-01-15T15:08:36.679Z","dependency_job_id":null,"html_url":"https://github.com/avivace/ardumonitor","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avivace%2Fardumonitor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avivace%2Fardumonitor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avivace%2Fardumonitor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avivace%2Fardumonitor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/avivace","download_url":"https://codeload.github.com/avivace/ardumonitor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252793574,"owners_count":21805055,"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":["arduino","cpu","ethernet-shield","lcd-display","linux-machine","monitor","statistics","stats"],"created_at":"2024-08-04T08:00:42.813Z","updated_at":"2025-05-07T00:48:16.250Z","avatar_url":"https://github.com/avivace.png","language":"Arduino","funding_links":[],"categories":["Arduino"],"sub_categories":[],"readme":"# ArduMonitor\nShows real-time CPU and RAM statistics of a **remote** Linux Machine on a LCD display via Arduino or on a web frontend. There is a Server software, running  on the machine you want to monitor and some Clients, to see the stats in realtime on varius platforms.\n\n[Arduino in action (Video)](https://gfycat.com/WhiteGrandioseAsianlion)\n\n\u003cimg src=\"http://i.imgur.com/4EwSknUl.jpg?2\"\u003e\n\n\n## Client\n#### Arduino\n  - Arduino UNO\n  - HD44780 LCD Display\n  - Ethernet Shield\n\n**statRead.ino** is the Arduino software. Sets up the display and the ethernet shield. Connects to Network and prints the results and a refresh indicator.\n\n#### Web Frontend\nHTML5 and some JS for fancy effects.\n\n\n## Server\n  - **statPoll.sh** The resident bash script. Fetches the stats from `/proc/meminfo`,`uptime`, `vnstat` and runs `statParse.rb` on them;\n\n  - **statParse.rb** Parses the relevant informations;\n\n  - **statWeb.php** Reads the final file and prints in a webpage;\n\nBe sure to sync the refresh rates of the server and the client so you don't waste work. Keep in mind that the `loadAvg` array in statParse contains the last 1 - 5 - 15 minutes average load.\n\n## Related implementations\n#### Local Machine\nThis project is focused on having a **standalone** Arduino configuration to monitor a remote Linux computer. Instead, if you have phisical access to the machine you want to monitor, you can just send the data via serial and print them on the display, without connecting it to the Network.\n\n#### Windows Server\nA cool application of this concept could be a real-time monitor of a gaming PC, showing every CPU and GPU core load, RAM and VRAM usage, temperature sensors, fan speeds, memory and processor clocks and so on.\n\nI've a sort of early release of this, showing only RAM and CPU usage using a resident VB script (the stats are from `ComputerInfo` .NET Framework property).\n\nFetching the stats from Windows isn't easy as on Linux, and that solution didn't bring me far. On the other hand, Open Hardware Monitor can provide all the stats I mentioned above and has a data interface. This should provide a good point of start.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favivace%2Fardumonitor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Favivace%2Fardumonitor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favivace%2Fardumonitor/lists"}