Muchas gracias!!!
Versión para imprimir
Muchas gracias!!!
Hola nikitto, me estoy pelenado con la raspberry y el hibrido, cuando ejecuto tu codigo (el que solo permite mandar los comandos prestablecidos) me salte el siguiento error:
*********
Enter command (qflag, qid, qmod, qpi, qpigs): qpigs
Comando= QPIGS
CRC= 0xb7a9
Error de conexion
Carga [VA]:
Traceback (most recent call last):
File "/home/pi/Desktop/Proves Python/Axpert.py", line 64, in <module>
print('Carga [VA]:'), int(i[4])
NameError: name 'i' is not defined
**********
Sabes ha que puede ser devido?
Tubiste que dar algun tipo de permiso cuando hiciste el "lsusb" ??
EDITO:
Ya esta solucionado, era cosa de permisos.
Tengo otra duda :) jeje
los paramentros IP2 y VP2 son la intensidad y tension de los paneles?, Si es así a yo no me coincide con los que me salen en la pantalla del Axpert, el VP2 es muy parecido o igual, pero el IP2 es mucho mayor que el del Axpert ( si en el Axpert me sale 1 en la Rapsberry 6, por ejemplo)
gracias!!
Entonces que intensidad estoy viendo en IP2? La que producen los paneles (la total)? No entiendo a que te refieres con "voltaje nominal conjunto baterías" Yo he hecho VP2 x IP2 y la potencia que sale es mucho mayor que la que me marca el inversor (potencia de los PV). Supongo que me estoy liando, pero no se donde jeje
Muchas gracias por la respuesta!!!
Amplió información.
esto es lo que me manda el inversor:
*********
Carga [VA]: 230
Carga [W]: 170
Carga [%]: 7
Vbat: 26.94
Carga bat: + 2
IP2: 9
VP2: 55.6
Descarga bat: - 0
*********
Entiendo que "Carga bat" es la intensidad que le entra a la batería (procedente de los paneles), "Descarga bat:" es la intensidad que sale de la batería para consumo. Pero la IP2, no coincide con lo que me marca la pantalla del híbrido.
No puedes hacer Vp2 x Ip2 porque no es real. La intensidad que llega de los panales no la sabemos.
En el ejemplo que pones se ve claro:
Vbat = 26,94V
Intensidad = Ip2 (9A) - Carga_bat (2A) = 7A ----> de los 9A que te producen los paneles, a salida regulador, 2A sirven para cargar la batería y el resto, 7A, van a consumo a través del inversor.
Potencia = 26,94V x 7A = 188,58W que más o menos se corresponde con la Carga [W] de 170W
Lo que NO sabemos es la Ipm que llega de los paneles.
Aunque podemos calcularla, ya que P = V x I
P = Vpanel x Ipanel donde Ipanel = P / Vpanel
Vale... ahora si!! Muchisimas gracias por la ayuda!
Oye una pregunta, he visto la página de monitoreo que tienes en un tú firma, esta muy guapa! ¿Seguiste algun tutorial para aprender ha hacerla (entorno grafico, etc) ? Si es así podrias decirme donde lo encontraste? Muchas gracias de nuevo!
http://www.solarweb.net/forosolar/fo...argas-etc.html
¡Qué no te asuste! Empezó Mleon con una duinomite y luego, cuando empecé con la raspberry, él también se paso a RPi.
Todo el software está a disposición de todos, si te interesa mándale un mensaje privado. Si miras los últimos mensajes del hilo, verás que eramos 2 y hace poco se nos ha unido Francesc. También tienes su web por ahí, en su firma.
Hola de nuevo Nikitto, te ha pasado alguna vez que cuando conectas el Axpert a la raspberry y lo dejas " comunicandose" ( es decir que reciba info como Vbat, IP2, VP, etc..) dentro de un rato (30 min más o menos) se " desconectase" ? El programa en python parece que sigue ejecutandose pero se queda como esperando recibir datos del Axpert, y como no los recibe se queda parado en el punto de recibir datos. No se a que puede ser debido...
Se queda en esta parte del codigo:
Comando = QPIGS
CRC = 0xb7a9
Y aqui se queda hasta que hago Cntr+C para interrumpir la ejecucion, despues de esto me sale el mensaje de la excepcion con el mensaje de "Error de conexion", despues de esto el script vuelve ha intentar conectarse al hibrido (y lo consegue) y el problema queda solucionado.
Se os ocurre alguna forma de solucionar esto? Lo ideal seria que si esta un cierto rato tratando de conectarse, saltase algun break o algo parecido, y que lo tratase de reiniciar de alguna forma..... nose si me explico
Gracias!!
Gracias!!
Para evitar estos errores usamos los comandos try / except.
Te pego parte del código como referencia:
Como ves, de fallar, se genera un registro en el LOG (puedes verlo en mi web), aunque no recuerdo que haya fallado nunca.Código PHP:
# *** HIBRIDO ***
try:
fd = open('/dev/hidraw0', 'r+')
time.sleep(.5)
fd.write('QPIGS\xB7\xA9\r')
time.sleep(.5)
res = fd.read(110).encode('string-escape')
res = res.split("\\")
res = res[0][1:].split(" ")
except:
log='error de conexion con hibrido'
logBD()
Las variables las tomamos aproximadamente cada 5 segundos.
Gracias por la respuesta!
Sisi, yo tambien tengo la excepcion, pero es como si el Axpert o las raspberry (no se cual) se quedase en espera, sin llegar a generar un error y por lo tanto no entra en el except, simplemente se queda parado alli, hasta que ahora un KeyInterrupt y salta al except, y cuando lo vuelve ha intentar entonces ya si que lee.
Bueno, esta mañana cuando he hido a ver como estaba, estaba funcionando sin ningun problema. :confused: No se que es, lo que le podria haber pasado ayer por la mañana, que hiciese que fallara la conexion....
De todas formas muchas gracias por la ayuda!
Buenas Tardes. Estoy liado con la conexion del mi hibrido mppsolar con la raspberry pi 3 usando el puerto de comunicaciones del hibrido. Estaria interesado en el programa que habeis usado para sacar los parametros del hibrido y luego poder usar reles para hacer funcionar una bomba sumergida de 220v, cuando haya excedentes suficientes para hacerla funcionar.
Alguien me puede pasar el programa en cuestion de control solar para hibridos tipo axpert...
gracias de antemano
Este puede ser el programa. Escribes en /home/pi: nano hibrido.py y pegas dentro el contenido.Código PHP:
import os, sys, time
# *** HIBRIDO ***
try:
fd = open('/dev/hidraw0', 'r+')
time.sleep(.5)
fd.write('QPIGS\xB7\xA9\r')
time.sleep(.5)
res = fd.read(110).encode('string-escape')
res = res.split("\\")
res = res[0][1:].split(" ")
print 'res=', res
except:
print 'error de conexion con hibrido'
Luego desde /home/pi escribes: sudo python hibrido.py
Deberías obtener una lista de variables.
*Fíjate primero que cuando conectes el híbrido a la RPi se cree el archivo /dev/hidraw0
Suerte. Una vez puedas obtener los resultados, podemos avanzar un poco más lejos.
Nikitto,perdona la tardanza en contestar pero hasta este fin de semana no he podido ir al campo a probar.
He hecho todo lo que me dijiste en el mensaje anterior y todo perfecto... me han salido las distintas variable que da el híbrido...
Archivo adjunto 18268
Cual es el siguiente paso?
Añade este código debajo de: print 'res=', resCódigo PHP:
print('Carga [VA]:'), int(res[4])
print('Carga [W]:'), int(res[5])
print('Carga [%]:'), int(res[6])
print('Vbat:'), float(res[8])
print('IP:'), int(res[12])
print('VP:'), float(res[13])
print('Ibat:'), int(res[15])
Código PHP:
print 'res=', res
print('Carga [VA]:'), int(res[4])
...
*Para salir del programa: CTRL+CCódigo PHP:
import sys, time
while True:
try:
fd = open('/dev/hidraw0', 'r+')
time.sleep(.5)
fd.write('QPIGS\xB7\xA9\r')
time.sleep(.5)
res = fd.read(110).encode('string-escape')
res = res.split("\\")
res = res[0][1:].split(" ")
#print res
print('Carga [VA]:'), int(res[4])
print('Carga [W]:'), int(res[5])
print('Carga [%]:'), int(res[6])
print('Vbat:'), float(res[8])
print('IP:'), int(res[12])
print('VP:'), float(res[13])
print('Ibat:'), int(res[15])
except:
print 'Error de conexion con hibrido'
time.sleep(4)
Este es un avance del anterior, donde aproximadamente cada 5 segundos te mostrará en pantalla, el contenido de los variables definidas. Con esas variables ya puedes hacer muchas cosas: mostrarlas por pantalla, almacenarlas en una base de datos, publicitarlas (MQTT-Mosquitto), etc.
Archivo adjunto 18276 Archivo adjunto 18277
Un par de ejemplo: El primero es usando un programa de suscripción a un broker (Mosquitto), donde puedes ver en directo los datos. Y el segundo es el envío de estos, cada 60' a una cuenta de Telegram.
Estoy flipando, de lo que sois capaces de hacer. Voy a intentar esta tarde poner todo esto en funcionamiento. Supongo que despues me quedaria el tema de reles, para arrancar la bomba sumergida con unos parametros que yo fije...ahí, si que estoy muy perdido...
Espero que me orienteis....
Nikitto,, no me habia dado cuenta que tenias subido un nuevo manual para el funcionamiento de todo esto con el mosquito incluido.
He ido cargando todo lo especificado hasta el punto 8. Me queda el punto 9, de instalacion de programa de control fotovoltaico, pero no se donde esta este programa...