====== EPI Overview ====== The concept is to create a system that can create electrical circuits using software. The EPI system can create electrical connections between single pole electrical switches to 15 amp electrical outlets, using software. The [[https://www.dropbox.com/s/y7isdft3l3agw6p/e-PIController.png?dl=0 | web based UI]] allows a user to create electrical circuits, using the web based interface. Individual switches can be connected to 0 or 4 outlets. The image shows switch 1 connected to 3 outlets. It also shows that s1 and s2 can operate outlet 2 and switch 3 and switch 1 can operate outlet 3. This is accomplished via software. [[https://www.dropbox.com/sh/3eg0xxxm1rsaw9o/AABc_A83Qt45Mbjiv6ekqGh1a?dl=0 | Pictures]] [[https://www.dropbox.com/s/qrcpw2llkz116ok/e-PI%20Demo.pptx?dl=0 | Powerpoint Presentation]] ====== Hardware Overview ====== The hardware utilized is broken down into two parts. - Switch/control - Power output Software is used to provide the connection between the power output and the switches. ===== Power Output ===== [[https://www.dropbox.com/s/aarq170c3c98k6f/e-pi-relays.png?dl=0 | Power output panel]] The image displays the power output panel, which has the following components: * 60 amp circuit breaker panel * 4 x 15 amp circuit breakers * 4 x 20 amp mechanical relays * Arduino microcontroller * ZigBee series 2 radio * 4 x 15 power outlets * 4 x 60 watt lights The control software will send a message to the power output panel, using ZigBee. The Arduino receives and processes the message from the radio. If required the Arduino will cause a relay to trip, allowing power to flow to a particular outlet. The relay control and the Arduino utilize 5v to control 110v power, via the relays. ===== Switch/Control ===== The [[https://www.dropbox.com/s/batvd8v789y8jof/e-switches.png?dl=0| switch and control panel.]] This panel has the following components: * Raspberry PI * Arduino compatibility shield - cookinghacks.com * Arduino UNO * 2 x ZigBee series 2 radios * 4 x single pole electrical switches * Linksys WiFi router - used for demos The Raspberry PI is the master controller of the system It hosts the web based UI, as well as software that can translate between a RESTFul web request and a ZigBee radio request. It has two daemons, one that listens on the radio, and the other listens on the Websocket based Message Queuing system. It will properly translate between these components, creating a system that works using a normal light switch or a web based UI. The Arduino UNO makes the single pole switches compatible with the system. Effectively is is making them smart. When a switch changes state, the Arduino creates a ZigBee message. This is received by the Raspberry PI, which will cause that message to affect the web site. The ZigBee message is also processed by the Raspberry PI to determine what output devices are connected to the switch. A new message is created to cause the proper outlets to react to the switch action.