My project was to monitor the sensor data coming from the solar panel on the roof of 721 Broadway. This is part of a larger exploration into networking Solar Charge controllers. The purpose of this aspect of the project, as it relates to Understanding Networks, was to:
- better understand how such equipment is connected
- explore the RESTian model
- explore how to process requested data for real time applications
The system on the roof consists of a panel, a solar charge controller, a battery, and a netbook computer. All interaction with the system has been at the Application layer via HTTP protocol.
I first became interested with the system during the REST project in Understanding Networks. I wrote a sketch in Processing that parsed the XML in which the data had been formatted. In writing this sketch my goals were to:
- Acquaint myself with XML.
- Gain a working understanding of Processing XML library
- Learn how to move said XML data into arrays for further processing.
Processing XML parser
While the processing sketch provided a good solution for data visualization tests, I needed to write a parser that could reformat the data for Pachube, a website dedicated to tagging and visualizing sensor feeds throughout the world.
The Pachube site can automatically update feeds by “pulling” data from an XML and RSS files. However, not any XML feed will do. Pachube requires an XML Schema called EEML. EEML is designed for formatting data specifically from installations and buildings. Since everything in the roof solar system was already working, all I needed to do was reformat the XML data into EEML compliant XML for Pachube. PHP was the tool I used to do this.
Essentially I rewrote the Processing Sketch from the midterm. The feed has been created on Pachube. all that remains is to run the PHP script as a cron job for regular polling.
PHP XML to EEML XML translator
I am continuing this project.
Now that I have a working prototype, I will be reconfiguring the hardware on the roof to accommodate the arduino solar charge controller, bypassing the other controller and the netbook. I will most likely use either PHP or Processing to poll the sensors and create the EEML feed for Pachube. The translation parser will not be needed, but the aforementioned file saving functionality will.
I will be exploring various methods of connectivity at the PHY layer. It is my hope to use this controller in the developing world. Networking the hardware successfully will require overcoming local infrastructure and geographic challenges. In the near term I will be exploring ethernet, zigbee, bluetooth and GSM connectivity.
The other area of exploration will be at the application layer. moving, and displaying information from the controller to lower end cel phones (e. Nokia 1100 as opposed to smartphones with HTTP access) will be illuminating and will stimulate further exploration of the emerging solar controller system’s capabilities and uses.