All Projects → mupuf → Wt Rpm

mupuf / Wt Rpm

Wt Remote Power Manager - This project acts as a web front end to a piece of hardware capable of electronically switching the power supply of one or multiple computers.

Labels

Projects that are alternatives of or similar to Wt Rpm

Pcb
PCB and PCB related bits
Stars: ✭ 325 (+4542.86%)
Mutual labels:  kicad
Gh60
GH60 - an open-source mechanical keyboard PCB designed for the community at geekhack.org
Stars: ✭ 638 (+9014.29%)
Mutual labels:  kicad
Iso Port
Isolated USB Serial Interface
Stars: ✭ 16 (+128.57%)
Mutual labels:  kicad
Uconfig
Datasheet pinout extractor from PDF and library Stylizer for Kicad.
Stars: ✭ 374 (+5242.86%)
Mutual labels:  kicad
Altium2kicad
Altium to KiCad converter for PCB and schematics
Stars: ✭ 490 (+6900%)
Mutual labels:  kicad
Splitflap
DIY split-flap display
Stars: ✭ 670 (+9471.43%)
Mutual labels:  kicad
Kicad Color Schemes
Want to change the color scheme of KiCad? Look here for Inspiration.
Stars: ✭ 315 (+4400%)
Mutual labels:  kicad
Esp8266 link test
Test link between an ESP8266 and a base station or another ESP8266 easily.
Stars: ✭ 24 (+242.86%)
Mutual labels:  kicad
Skidl
SKiDL is a module that extends Python with the ability to design electronic circuits.
Stars: ✭ 614 (+8671.43%)
Mutual labels:  kicad
Arduino scale
An Arduino bathroom scale with auto power-off using a 4-digit 7-segment display and the HX711 and MAX7219 chips.
Stars: ✭ 7 (+0%)
Mutual labels:  kicad
Pcbdraw
Convert your KiCAD board into a nice looking 2D drawing suitable for pinout diagrams
Stars: ✭ 426 (+5985.71%)
Mutual labels:  kicad
Espressif
all espressif stuff will committed here
Stars: ✭ 477 (+6714.29%)
Mutual labels:  kicad
Learn To Solder
Learn to Solder PCB Badge
Stars: ✭ 5 (-28.57%)
Mutual labels:  kicad
Awesome Electronics
A curated list of awesome resources for electronic engineers and hobbyists
Stars: ✭ 3,782 (+53928.57%)
Mutual labels:  kicad
Altair8800
Stars: ✭ 19 (+171.43%)
Mutual labels:  kicad
Rf Tools Kicad
KiCAD RF tools: footprints wizard and round tracks, mask expander, via fencing
Stars: ✭ 321 (+4485.71%)
Mutual labels:  kicad
Haswitchplate
LCD touchscreen for Home Automation
Stars: ✭ 666 (+9414.29%)
Mutual labels:  kicad
Pizerohub
USB Hub specifically designed for the Raspberry Pi Zero.
Stars: ✭ 24 (+242.86%)
Mutual labels:  kicad
6502 Kicad Library
Kicad Schematic Library for the 6502 microprocessor and associated ecosystem (MOS, CSG, etc)
Stars: ✭ 23 (+228.57%)
Mutual labels:  kicad
M2 Electronics
Stars: ✭ 6 (-14.29%)
Mutual labels:  kicad

Wt-RPM

Compilation

Dependencies

Ping support

If you are interested in supporting ping, you will have to install liboping.

Raspberry Pi backend

To compile the Raspberry Pi backend, please make sure you have installed libwiringPi.

Compilation

To compile the project, please execute the following steps:

If you plan on using Wt's internal http server:

CONNECTOR="-DUSE_CON_HTTP=ON"

otherwise

CONNECTOR="-DUSE_CON_HTTP=OFF"

mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr $CONNECTOR

Review the summary, fix as needed. Then do:

make
sudo make install

Configuration

Wt_rpm's configuration must be stored in one of the following location:

  • ./wt-rpm.json
  • ../wt-rpm.json
  • ~/.wt-rpm.json
  • /etc/wt-rpm.json

The file must follow the JSON format and must contain the backend attribute. At the moment, there are only two acceptable attribute: rasprpm and dummy_rpm. Here is a sample configuration file:

{ "backend": "rasprpm", "configuration": { "computers": [ { "name": "pc1", "ip_address": "192.168.0.42", "read_acl": ["all"], "write_acl": [],

                            "power_led_gpio": {
                                    "pin": 6,
                                    "inverted": "true"
                            },

                            "power_switch_gpio": {
                                    "pin": 8,
                                    "inverted": "false"
                            },

                            "atx_switch_gpio": {
                                    "pin": 10,
                                    "inverted": "false"
                            }
                    },

                    {
                            "name": "pc2",
                            "ip_address": "192.168.0.43",
                            "read_acl": ["toto", "john"],
                            "write_acl": ["toto"],

                            "power_led_gpio": {
                                    "pin": 1,
                                    "inverted": "true"
                            },

                            "power_switch_gpio": {
                                    "pin": 0,
                                    "inverted": "false"
                            },

                            "atx_switch_gpio": {
                                    "pin": 7,
                                    "inverted": "false"
                            }
                    }
            ]
    }

}

Authentication

If you want to authenticate users before allowing them to list and control computers, you will need to use an http server such as nginx. Here is an example:

worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream;

keepalive_timeout  65;

gzip  on;

server {
    listen       443 ssl;
    server_name  localhost;
    ssl_certificate /etc/nginx/ssl/nginx.crt;
    ssl_certificate_key /etc/nginx/ssl/nginx.key;

     # Wt
    location /resources/ {
        root   /usr/share/Wt/;
        index  index.html index.htm;
    }

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;

        auth_basic "WtRPM";
        auth_basic_user_file /etc/nginx/htpasswd;

        proxy_pass http://127.0.0.1:9090/;
    }
}

}

Don't forget to use SSL otherwise, the passwords will be sent through the network in plain text!

Post-Install

After installing Wt-RPM, the program needs some special capabilities to run as a normal user. Please run the following:

setcap "CAP_NET_RAW=+ep CAP_SYS_RAWIO=+ep" /usr/bin/wt_rpm

Please also make sure that the user has the right to write to /dev/mem.

Systemd

If you are able to execute wt_rpm properly, you can use the shipped systemd unit (configured for the user wtrpm).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].