I have an offgrid solar setup in North Georgia (USA) with the following:
Single Huisun v1 PTZ ip camera
Raspberry Pi
Single 5-port LAN switch
Ubiquiti Nano M2 (1/2 mile connection to internet source)
2 - micro relay boards to switch a LED flood I occasionally use
My power consumption (load) is 700 mA daytime and 1.1 amps at night. If I turn on the 20W LED flood light the amperage increases by 2.
The solar panel is a Poly 100W Renogy 12V connected to a Tracer 10 amp MPPT charge controller charging two 35 AH deep cycle SLA batteries.
I have attached a customized graph showing setup performance detail for today.
View attachment 14436
I can think of a few long ways to write this, but am curious if you grabbed this graphing/logging from a software distribution or packaged Pi img? It looks fairly intuitive and easy to work with so I have to ask :-D Also did you buy a specific sensor tailored to solar measurements for the Pi or did you sensor them up individually?
do you think a 75-80Ah solar battery should be enough?
there are many website in the IoT world that offer free cloud service for your gadgets, I have been using this https://www.xively.com/ all you need to find is a IoT device that can work with this cloud. I use a voltage, current meter from http://www.yoctopuce.com/ and these are able to feed the measurement data into xively cloud where I can see the graphs. But there are other ways too, it is just one, maybe not the best, but works fine.
I can think of a few long ways to write this, but am curious if you grabbed this graphing/logging from a software distribution or packaged Pi img? It looks fairly intuitive and easy to work with so I have to ask :-D Also did you buy a specific sensor tailored to solar measurements for the Pi or did you sensor them up individually?
I have this type of tracer: http://www.giantpower.com.au/10a-tracer-mppt-solar-charge-controller-regulator It has TTL232 / 8pin RJ45. I am not a software developer, so Dear Yeme can you please give more details how to get measurement data from it, I have raspberry pi too, it would be great to know which GPIO PIN connect to where on Tracer, and how to install the app on the PI.
#!/usr/bin/env python
import csv
import time
import json
import serial
import sys
from tracer import Tracer, TracerSerial, QueryCommand
import httplib, urllib # http and url libs used for HTTP POSTs
import socket # socket used to get host name/IP
def queryTracer():
ser = serial.Serial('/dev/ttyAMA0', 9600, timeout = 1)
tracer = Tracer(0x16)
t_ser = TracerSerial(tracer, ser)
query = QueryCommand()
t_ser.send_command(query)
result = t_ser.receive_result()
current_time = time.localtime()
print time.strftime('%Y-%m-%dT%H:%M:%S',current_time)
print "Battery V\t %02.02f" % result.batt_voltage
print "Panel V \t %02.02f" % result.pv_voltage
print "Load A \t %02.02f" % result.load_amps
print "Charge A \t %02.02f" % result.charge_current
with open('tracer.csv', 'a') as csvfile:
csvwriter = csv.writer(csvfile, delimiter=';', quotechar='"', quoting=csv.QUOTE_MINIMAL)
csvwriter.writerow([time.strftime('%d.%m.%Y %H:%M:%S',current_time)] +
[result.batt_voltage] +
[result.pv_voltage] +
[result.load_amps] +
[result.charge_current]
)
# ThingSpeak stuff:
writeKey = "insert your TS channel's API write key here"
params = urllib.urlencode({'field1': result.batt_voltage, 'field2': result.pv_voltage, 'field3' : result.load_amps, 'field4' : result.charge_current, 'key': writeKey})
headers = {"Content-type": "application/x-www-form-urlencoded","Accept": "text/plain"}
conn = httplib.HTTPConnection("api.thingspeak.com:80")
try:
conn.request("POST", "/update", params, headers)
response = conn.getresponse()
print response.status, response.reason
data = response.read()
conn.close()
except:
print "connection failed"
while True:
queryTracer()
time.sleep(30)