SolarNetwork

Discussion in 'Application & Utilities' started by John Gorman, Jul 31, 2015.

  1. John Gorman

    John Gorman New Member

    Joined:
    Jul 31, 2015
    Messages:
    7
    Likes Received:
    2
    Hi,

    I just wanted to let people know about an open-source project that should work very well with a Udoo, and that is SolarNetwork. This is a Linux/Java based platform that uses an SBC to acquire data from a variety of solar inverters, charge controllers, kWh meters and control hardware such as industrial switches, PLCs. Using the Spring, OSGi and other frameworks, and employing a set of RESTful web services to handle 2-way communication with a cloud app server, this is a really great and solid platform for energy management services and experiments involving distributed generation. Anyway if anyone is already using an Udoo for grabbing data from your solar inverter and wants to visualize, analyse and control energy data flows locally, take a look here:

    http://www.solarnetwork.net/

    lots of development details on how to get started here on GitHub also:

    https://github.com/SolarNetwork/solarnetwork/wiki/Developer-Guide

    Thanks! John
     
  2. Andrea Rovai

    Andrea Rovai Well-Known Member

    Joined:
    Oct 27, 2014
    Messages:
    1,703
    Likes Received:
    240
    Hi there John Gorman,
    are you the author of the project? Seems interesting.
     
  3. John Gorman

    John Gorman New Member

    Joined:
    Jul 31, 2015
    Messages:
    7
    Likes Received:
    2
    Yes, I am one of the originators but much more technical talent is now pushing the project forward. It started as a an open source project which became a masters thesis at the U. of Auckland back in 2009. The idea was about exploring the opportunity of uniting (logically) the generation of a "federated" set of distributed generation assets. We won an industry award that year from SEANZ (Sustainable Electricity Association of New Zealand) - this being a country that is world leading in renewable electricity portfolios. However, solar PV still only represents a small fraction of the total generation portfolio, but it has tremendous potential, around the world in fact. Since 2009 the codebase of SolarNetwork has been refactored and has rocketed forward with the help of a community of real open-source professionals, and aims for the most agile enterprise architecture we can get. While there are probably lots of different platforms it could be implemented with, Java was chosen as the best option and we've now got an amazing foundation that is being used by schools, governments, private companies, large companies and individual innovators. SolarNetwork was invited to the White House in 2012 and 2014 to participate in the "Energy Datapalooza" focusing on opening energy data and innovating with it to increase conservation, efficiency and renewable energy use in government and the private sector. I think that the really important stuff the world needs at the moment is energy innovation, and its probably not going to come from the status quo. The pieces are all there to fix the energy issues we face - dramatic cost drops in photovoltaics, rapidly increasing energy density of deep-cycle storage, ubiquity of internet / IP transport, emerging credible digital currencies, extremely low-cost and low-power computing (Udoo!) and effective, creative, collaborative, open-source communities. The talent to make it happen (I think) will not come from the status quo but will emerge from communities like Udoo - and there's plenty to work on :) We have some very interesting development underway involving non-linear analysis (using ANNs) of energy use patterns so that soon your Udoo will be able to chart not only your power consumption and solar generation but also develop your increasingly accurate energy forecast. Combine that with distributed deep-cycle storage - even a small amount it has been shown - plus the ability to control/shift loads on a local level (in your home/business), and you have an repeatable ecosystem of real-time energy information that could/will alter the way power is used. We're calling them "actionable energy signatures" using a module called SolarQuant. The key is the application of the talent (that's already there) toward development platforms that give people more energy options, more access to the capability of optimizing energy using and choosing renewable energy. If you want change - and ecologically I think we need change at the moment - you have to be able give creative people (who have some autonomy) choices, that is what SolarNetwork is trying to do.
     
  4. Andrea Rovai

    Andrea Rovai Well-Known Member

    Joined:
    Oct 27, 2014
    Messages:
    1,703
    Likes Received:
    240
    Hi John,
    I'm so happy to meet such enthusiasm in new users! The solution you proposed seems bold to me, and that's why I really like it. I truly hope new users jumb on board and find the potential of your idea. UDOO is an optimal starting board to develop, and Neo seems even better for this context, where you don't need that much power but you have to rely on a reliable connectivity.
    Now what I'm truly looking for is the feedback from the forum. So people, talk!
     
  5. John Gorman

    John Gorman New Member

    Joined:
    Jul 31, 2015
    Messages:
    7
    Likes Received:
    2
    Thanks Andrea! For those Java developers interested in giving it a try, this is probably a good starting point: https://github.com/SolarNetwork/solarnetwork/wiki/Developer-VM
    we'd love to see some UDOO SolarNodes happening! For a pretty low cost but very effective setup for measuring household-size AC power loads and generation is the CurrentCost EnviR unit - those work well and you can record the 3 phases independently. We have plugins on our repository to add this device among many others.
     
  6. Andrea Rovai

    Andrea Rovai Well-Known Member

    Joined:
    Oct 27, 2014
    Messages:
    1,703
    Likes Received:
    240
    Great! I'm also looking forward to hearing some results from UDOOers! Unfortunately I can't test it at the moment, but I hope someone will soon.
    Just a question John: say I'm not an experienced coder. What is the required coding experience to approach it?
    Cheers and thanks for your time!
     
  7. John Gorman

    John Gorman New Member

    Joined:
    Jul 31, 2015
    Messages:
    7
    Likes Received:
    2
    There are a bunch of ways to use a SolarNode - if you know Java, the code is built using the OSGi framework so that new functionality can be added using the modular framework of "bundles". There are tutorials on creating your first bundle here: https://github.com/SolarNetwork/solarnetwork/wiki/First-Bundle-Guide , but basically it's a way of packaging the methods of connecting to a new piece of hardware, and grabbing data off it. Sometimes it's a serial interface, or a Modbus interface, or a webservice XML interface - but either way you populate a "datum" a kind of unit of information from this device, and SolarNode takes care of that datum, and shuttles it up to SolarNet for storage and later visualization. But if you're not a Java programmer but want to chart your electricity usage, you can create HTML5 dashboards that look like this below. In this case the blue lines are the power being used by 3 phases of a building, and the green is the solar from a nearby solar array. Because they come from different sources, you can "virtually" see what a solar array in your neighborhood could do to your power bill. The red line is the "net" value and because you can scale the solar data with a multiplier, you can see how big an array you might need to perfectly knock out your bill. You don't need to be a programmer to boot up a SolarNode and create these kinds of charts, and you can put the custom HTML5 visualization right on your own webserver. lots of examples here too: https://data.solarnetwork.net/dev/charts/ animated and fast and they even print well - that's the great part of using an open-source charting library like d3.
    [​IMG]
     
  8. fetcher

    fetcher Member

    Joined:
    Mar 9, 2014
    Messages:
    159
    Likes Received:
    17
    Very nice! I have an Udoo at home which (amongst other duties) logs data from a small solar-power system, capturing serial streams from an Outback Mate and Brultech ECM-1240 on the AC side. Does SolarNetwork know about those particular devices? So far mine's just recording data into text files, daily reports and using GNUplot for simple graphs, but it might be worthwhile to move to a more sophisticated system at some point.

    To cut down on USB-converter clutter, and keep power consumption to a minimum I use i.MX6 UARTs 3 and 5 (/dev/ttymxc2 & /dev/ttymxc5), converted to standard RS-232 levels through a MAX232-type chip (salvaged from failed PC motherboard) on a custom shield. Normally the Outback Mate wants +/- 12V, supplied on RTS & DTR pins to power its optoisolated serial transceiver, but can also work from +12V only using this wiring arrangement: http://www.righthandeng.com/making_an_outback_mate_adapter.pdf ... with +12V available from the Udoo's Vin pin (tapped through a resistor for safety), this avoids having to waste MAX232 output channels to supply the negative rail, allowing one converter chip to handle both serial ports.
     
  9. John Gorman

    John Gorman New Member

    Joined:
    Jul 31, 2015
    Messages:
    7
    Likes Received:
    2
    Yes we support the Outback FM80 using the Mate 2 DB9 serial port, and if I remember correctly, there are a bunch of Outback sources you could listen to through that device. I am not familiar with the Brutech unit, but sounds very good and that it exposes the data for developers with some Python source code as a model. Nice job multiplexing your serial sources, that takes some expertise! you would like solarnode as software because it persists the data in a small footprint relational database on the unit but because everything fits in RAM mostly it is very economical with resources. Plus no loss of data as even with internet dropouts, because it gets cached on the SolarNode.
     
  10. John Gorman

    John Gorman New Member

    Joined:
    Jul 31, 2015
    Messages:
    7
    Likes Received:
    2
    Just back on this forum after a while, but SolarNetwork is just adding support for generic modbus devices. here is an example of a SolarNode connecting to a thermopile pyranomter to collect irradiance data: http://solarnetwork.net/v4/testing-the-modbus-device-plugin/ but it could be any device that supports Modbus RTU or TCP and publishes the register addresses.
     
    Laura likes this.

Share This Page