Suitable for Bespoke Applications - e.g. Off Grid Wind Turbine?

Hi all,

I’m in the throws of developing a remote monitor for off grid Wind Turbines, I’m a volunteer for a Non govermental organisation, installing small turbines where there’s no grid connection.

We’ve got a prototype collecting DC voltage and DC Current generated of our turbine, and logging data to an excel file, and user OverDrive (Linux version of Gdrive to sync that file to the internet).

I’m also (intermittently) able to send data to an IoT cloud service of ThingSpeak.

Current system is a sensor cricuit with 2 analogue inputs, connected to an Arduino, then a serial link via the USB to Raspberry Pi, and a Python script running a data logging script saving the file as a CSV and date stamp.

I’m trying to get my head around if using the emonPi Operating system would be a good move. Anyone got experience or insights they could share with me.

Is it straight forward to edit so as any data can be displayed on emonCMS as the final outcome, i.e. is the logging script, where the software expects data in a certain order e.g. Current Transformer 1, Current Transformer 2, Current Transformer 3… in mine would likely be DC Voltage Generated, DC Current Generated, Wind Speed, DC Voltage Consumed, DC Current Consumed.

From researching on this site I can see the standard install is a domestic AC supply, which logs data to the cloud service emoncms.

Any guidance would be greatly appreciated. I’ve got a little experience with Raspberry Pi, but still learning.

Can you show us some serial output of your USB device/sensors?

Pretty much anything can be logged against time using emoncms,

Is the internet connection intermittent? If so how intermitant? is it regularly dropping out for short periods or is out for long periods of time with occasional connection?

Did you also want a remotely accessible copy of the data at another location or are you ok with the data being saved locally and accessible as and when the network is up?

  1. Serial Ouput

Here’s the serial print code from the Arduino, however I’ll be adding more sensors shortly;

//Serial.print("Volts = " );

The csv looks something like this;

10/21/2016 15:30:30	6.25	1.81	11.29
10/21/2016 15:30:30	6.29	1.82	11.48
10/21/2016 15:30:30	6.26	1.81	11.33
10/21/2016 15:30:31	6.27	1.81	11.38
10/21/2016 15:30:31	6.36	1.84	11.71
10/21/2016 15:30:31	6.27	1.81	11.34
10/21/2016 15:30:31	6.32	1.83	11.6
10/21/2016 15:30:32	6.3	1.84	11.6
10/21/2016 15:30:32	6.24	1.81	11.3
10/21/2016 15:30:32	6.3	1.82	11.45
10/21/2016 15:30:33	6.3	1.84	11.58
10/21/2016 15:30:33	6.24	1.81	11.3
10/21/2016 15:30:33	6.27	1.81	11.38
  1. Internet connection
    at present is intermittent, i’m using wvdial ppp software and a 3g usb modem dongle. I’ve seen the guide on this wiki on this topic but not attempted using the sg3 software, (I will trial that). However my connection will drop out (with no auto-reconnect, even though it says its trying to). I’m looking at trying to use the software monit, to ensure there’s a connection.

If anyone has any experience on this (off topic I realise, appologise if this is a problem) please share.

  1. I’d be happy for the data to be saved locally and transmitted when connection is available. The local copy would have to remain the monitor (backup purposes of collecting manually)

5 posts were split to a new topic: Using a RRD (Round Robin Database) for local storage

Stephen has offered and alternative local storage solution, which I have moved to it’s own thread as it has spawned a discussion of it’s own.

The serial output looks fine for adapting for emoncms or emonhub input, both work in unix timestamps and require a node id. So it would be easy to add a node id to the sketch and then you could accept that input straight into emonhub which would apply a unix timestamp immediately on arrival and then despatch it to one or more local or remote emoncms instances.

Or you could change your script to post direct to emoncms, again local or remote.

Unfortunately there is not currently any method for synchronizing data between emoncms instances so you would need to implement something like you have now to synchronize data in multiple locations to use the existing emonSD as it will store locally which you can access when there is a network or it will store remotely, when it’s possible, which you can access any time. However, the “emonpi” variant of emonhub doesn’t buffer data so when it cannot post remotely, it losses that data.

I use the original version of emonhub and that can be configured to store as much data as the on-board RAM will allow, when running a simple emonhub only Pi with 1Gb of RAM this can easily run into weeks, but it is only intended to smooth over network outages rather than provide a robust alternative to a network connection, so the data is held in RAM and if you are unliky enough to have a power outage towards the end of a prolonged network outage, that data held in RAM would be lost to.

In theory I see no reason why you couldn’t run a emonSD locally and use something like rsync (or perhaps OverDrive, Gdrive etc) to sync 2 emoncms instances so that one was collecting and processing data, while the other only displays the same data once synced.

First off sorry for the delay, in replying I was away for Christmas, and then this week got distracted getting the monitor to plot on an IoT cloud service on with some success, but problems with serial comms and unpacking data.Anyway. Thanks for the ideas and also keeping the thread on track.

Can I check something with this community? I’ve been looking at emoncms, and reading how to install that, and watching videos, and I’m a little confused.

From this page ; GitHub - emoncms/emoncms: Web-app for processing, logging and visualising energy, temperature and other environmental data I’m interpreting that potentially I could install emoncms on my Rapsberry Pi, and could send my Turbine data to it and get the benefits of all the data logging from emoncms?

Would I need to install an emon SD image to be able to do this?

As a newcomer to using Github I find it pretty confusing to follow. Appreciate anyones support and comments.