See PDF on github page.
1. What the system will do?
The primary function of this system is to monitor power consumption in a home, business, or appliance/equipment. The device works on anything that uses AC power, and can monitor certain aspects of the function of a device or many devices simultaneously. This system, with the proper setup, is also capable of detecting ground faults and soil moisture levels.
When reading the power consumption of many devices, such as being hooked to the incoming mains of a home, the system should be able to interpret when an 'event' has occurred and be able to interpret the nature of the event.
2. Who are the users of the software?
This devices is intended to be used by business owners/operators, those in the agricultural industries, home owners, and marine applications. Essentially, this device is intended for use by anyone using AC power that either needs a better feedback loop than the 30 days that is provided by power companies through the billing cycle, or anyone that needs near real-time feedback of the power-state of a machine or multiple machines.
3. What are the business rules?
System Design Considerations:
Right now the only hard requirement is that there is a LAN network present. Each node in this system should be able to function independently, or as a part of a larger system. For example, if an Internet connection is present then the power monitor is capable of pushing data to xively.com allowing the user to view their data through that service, and if so desired a custom application could be built that pulls the data from the xively service, but if an Internet connection is not available then it is possible to push data straight to a user defined database, a pre-built system such as emoncms ( http://emoncms.org/ ), or a solution such as phant.io ( http://phant.io/ ).
That said, there should be a system defined configuration page that allows for a user defined formatting of the data string and a system setup selection with the previously mentioned options.
The only other option that I am aware of that parallels my project is the openEnergyMonitor ( http://openenergymonitor.org/emon/ ), however, there are a number of proprietary and open source home automation projects. The primary difference between my system and other systems is the 'base station', or lack of one. As stated previously this system is intended to work at a minimum with out any external appliances, only requiring an Internet connection. The proposed consumer system however would be a wireless b/n/g router with Ethernet hub and computer preferably built into the same box, this is intended to be used as the base station to communicate with all sensors (This is not a system requirement though, any home with a computer and a LAN setup should be able to install the software and build the system). This would allow anyone using the project to essentially be able to implement a 'plug and play' setup.
Another primary design consideration is to keep the system 'hackable' and open source. Design specifications for the computer/router are as follows:
- Phant.io (currently using MySQL, phant needs to be tested)
- The unit is to be treated as a headless appliance with a web interface
- Programmed in python, interface uses flask and flask-socket.io
- Router using dd-wrt or openWRT (havn't used yet)
- All data manipulations are done on the computer, sensors only report data
- The computer/router is an appliance that could be used as if a product in and of itself without external sensors
- Sensors are 'modules' allowing easy installation and incorporation for system expansion, as well as intuitive implemented use of custom user defined sensors
Sensor Design Considerations:
- Capture Temperature
- Capture Humidity
- Capture RMS Amperage
- Capture RMS Voltage
- Capture Instantaneous Amperage
- Capture Instantaneous Voltage
- Remotely Programmable
- Selection of Output String Formatting
- Selection of Output String Destination
Other board features:...Read more »