diff --git a/README.md b/README.md new file mode 100644 index 0000000..c509fa6 --- /dev/null +++ b/README.md @@ -0,0 +1,23 @@ +# The OpenPDU project + +This repo contains the source code for the main binary of the OpenPDU project. + +OpenPDU is an OpenHardware and OpenSource project for a network-connected PDU. +The goal is to build a modular system than can be used to retrofit an existing 19" rack PDU to a real networked PDU. A secondary goal is the use of commonly available hardware, where possible, at least for the main controller. + +## Hardware +The first iteration will cover the scenario of a retrofit of an existing (rack) power strip. In any case we'll keep separated the system into the following modules: + + - DC power supply + - controller board + - power board + + The power supply will power the controller and the power board, taking the power from the existing power switch (it's uncommon to have a rack power strip without a power button; in this case it's required to add a power button). + + The controller board will be a commonly available one (let's say a Raspberry PI 2/3, Orange Pi, ...). The requirements are: + + - capable of running linux + - at least 256mb of RAM + - ethernet port + - GPIO/i2c port + - (40pin connector? some orangepis have only 26) diff --git a/openpdu b/openpdu index 42ff07f..3c87159 100755 --- a/openpdu +++ b/openpdu @@ -101,6 +101,16 @@ def getpower(outlet, json=False): return JSON.dumps({'powerstatus':out,'outlet':outlet}) if json else msg +# class Abstract1( object ): +# """Some description that tells you it's abstract, +# often listing the methods you're expected to supply.""" +# def aMethod( self ): +# raise NotImplementedError( "Should have implemented this" ) +# +# class Cipo(Abstract1): +# pass + + class BoardDummy(object): channels = []