Skip to content

A software suite to conveniently collect, gather, and display power measurement from networking hardware.

License

Notifications You must be signed in to change notification settings

UsualSpec/autopower

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Autopower

The autopower project aims to collect power data from network devices automatically and save the measured data on a server.

Setting

Measuring

A power meter is connected to a Raspberry Pi which runs a client software called mmclient to control the measurements. Communication with the measurement device happens through pinpoint. More specifically, based on my fork of pinpoint which includes a flag for printing measurement data without a specified workload (see upstream PR #15 for more information).

Data storage on client

Data from pinpoint gets processed by mmclient and then saved to a local PostgreSQL database on each client. The schema can be found in client/client_db_schema.sql.

Data upload from client

The data of the database gets uploaded periodically to the server using grpc. By default this happens every 5 minutes.

Communication client/server

The client and server communicate via grpc. The protobuf API is described in proto/

Development

Compiling the client

See COMPILING.md in client/

Running the server

The server side consists of multiple python scripts. See server/README.md for information.

Deploy

To deploy clients, please see the client/ and for the server server/ folders respectively. Please make create a certificate authority to sign the certificates of autopower clients. See certs/

About

A software suite to conveniently collect, gather, and display power measurement from networking hardware.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 61.3%
  • C++ 20.8%
  • HTML 13.5%
  • Shell 2.8%
  • CMake 0.9%
  • JavaScript 0.4%
  • CSS 0.3%