SysResMon

by ZaNgAbY in Circuits > Arduino

181 Views, 6 Favorites, 0 Comments

SysResMon

1-1.png

System Resource Monitor

An easy way to monitor essential data from systems that are running "headless".

These systems, often Single Board Computers (SBCs) like the Raspberry Pi or home servers, are typically used for automation, media streaming, IoT purposes, or other continuous tasks. Since they run "headless," accessing their status or performance data can be more challenging compared to using traditional desktops.

Supplies

For this project only few parts are needed.


Wemos D1 Mini

1.3" Oled Screen

Dupont cables

3D Printer

Print the Case

5.jpeg

Using the your preferred filament color 3D print the case.

Case

Screen Clip

Flash the Wemos

The source ino file is available here:

https://github.com/zangaby/SysResMon

Compile and upload the code using Arduino IDE.

Connect the Wemos to the Oled

4.jpeg

Connect the screen to the Wemos as follows:


VDD --- 3V3
GND --- GND
SDK --- D1
SDA --- D2

Place the Wemos and the Oled Into the Case

3.jpeg

Place all the components in the case and close it.

Connect the USB Cable and Run the Script That Sends Data

1.jpeg

The system_info.py is available in the project repository.

This script sends the data to the microcontroller.

Startup Script

Add a startup script to be loaded every time the system boots.

Allow the current user to access the USB device.

sudo usermod -a -G dialout $USER


Create a service file /etc/systemd/system/sysresmon.service

[Unit]
After=network.target

[Service]
User=toor
ExecStart=/usr/local/bin/sysresmon.sh

[Install]
WantedBy=default.target


Add a bash script that calls the python script

/etc/systemd/system/sysresmon.service


#!/bin/bash

python3 /home/toor/system_info.py


Update the permissions


chmod 755 /usr/local/bin/sysresmon.sh
chmod 664 /etc/systemd/system/sysresmon.service


Enable the service


systemctl daemon-reload
systemctl enable sysresmon.service


Reboot to test


sudo reboot

Further Ideas

Few things that might be added to the project.

  1. Add more monitored data;
  2. Use different layout on the screen;
  3. Add OTA update capabilities.


Thank You !

FYXU7ELLN7H36ZO.jpg

Credits:

Case

Screen Clip

Hope you enjoyed this project and if you have any questions feel free to ask.

Thank you for reading!