parMaster / rpid

Raspberry Pi temperature (fan) control systemd service. Frontend with nice charts and endpoints for monitoring services, logging CPU temps, fan RPM, environmental data (Ambient temperature, Relative humidity, Atmospheric pressure) from external sensors connected to Raspberry Pi GPIO.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RPId

Go Report Card Go License GitHub go.mod Go version

Raspberry Pi temperature (fan) control systemd service. Frontend with nice charts and endpoints for monitoring services, logging CPU temps, fan RPM, system info (load averages, cpu time in frequencies). Additional modules available to collect environmental data (Ambient temperature, Relative humidity, Atmospheric pressure) from external sensors connected to Raspberry Pi GPIO.

Setup

  • for step-by-step installation instructions, see dist/README.md
  • pi user must be added to the same group as /dev/gpiomem in (source).
  • i2c interface should be enabled using Interface Options menu in raspi-config. Installing i2c-tools could be beneficial as well, to run i2cdetect -y for example.
  • systemd service is supposed to be easily deployable by make deploy
  • config/config.yml obviously must be changed, accordingly to the specific GPIO configuration - modules can be disabled or even sections deleted.

Real life usage example

Latest revision is running on a Raspberry Pi 4 4Gb with a 50mm 12v fan installed on top, connected to 5v power through a npn-transistor.

  • /charts endpoint displaying data since system startup
  • /view endpoint displaying some of the data that was collected to the database since the feature was developed in version v0.2.0
  • /status endpoint for monitoring software

It could be down if there is a blackout caused by another russian missile strike on Ukraine power grid.

Credits

About

Raspberry Pi temperature (fan) control systemd service. Frontend with nice charts and endpoints for monitoring services, logging CPU temps, fan RPM, environmental data (Ambient temperature, Relative humidity, Atmospheric pressure) from external sensors connected to Raspberry Pi GPIO.

License:MIT License


Languages

Language:Go 67.6%Language:HTML 17.5%Language:JavaScript 12.9%Language:Makefile 1.8%Language:Dockerfile 0.2%