× Benvenuti sul nostro forum su Sint Wind PI!

Postate qui domande o segnalate problemi / bug che riscontrate,

file TOut e TIn con sensori stand alone

Di più
10 Anni 6 Mesi fa #1939 da buby84
ciao, volevo chiedere un informazione ho montato un dht22 e un bmp085 , il dht ( pressione di umidita` ) vorrei montarlo all'esterno del box mentre il bpm all'interno,
nel log li vedo configurati correttamente
es.
bpm085 Temperature 50 pressure 995
dht Temperature 10 humidity

pero nel riepilogo vedo
Tout 50 e tin 10 ,,
ovvero la temperature esterna e` presa dal bpm085 e la temperatura interna da quello di umidità, ovvero il contrario di come lo ho impostato io.

Volevo sapere se quindi era meglio spostare il sensore bpm all'esterno e tenere all'interno il dht e se si come mai?

altrimenti dove posso intervenire per fare la correzione?

Si prega Accedi a partecipare alla conversazione.

Di più
10 Anni 6 Mesi fa #1940 da alegrechi
Il bmp ha un sensore MOLTO più preciso e affidabile del dht22. Ecco perchè tony (e anche noi) lo utilizziamo per la temperatura esterna ! ;)
Ringraziano per il messaggio: buby84

Si prega Accedi a partecipare alla conversazione.

Di più
10 Anni 6 Mesi fa #1941 da buby84
grazie mille ma mi rimane un dubbio,l'umidità può cambiare parecchio da interno ad esterno, la pressione invece e` pressoché identica.
La temperatura tra sensore bpm085 e dht22 di quanto si puo discostare? di un grado o 2?
secondo la mia opinione quindi sarebbe da tenere all'esterno il dht, oppure entrambi e tenere il tmp36 per la temperatura esterna

Si prega Accedi a partecipare alla conversazione.

Di più
10 Anni 6 Mesi fa - 10 Anni 6 Mesi fa #1954 da tony
Non è sbagliato quello che dici anche perché effettivamente DH22 e BMP085 danno 2 temperature pressoché identiche ( pochi decimi di grado )

Lo puoi vedere dalla mia dashbord in montagna dove i sensori sono entrambi fuori ( www.vololiberomontecucco.it/vlmc/index.p...cle&id=62&Itemid=224 )

Purtroppo il codice funziona come dice Alessandro anche a causa del fatto che inizialmente avevo montato un DH11 che non è così preciso.

.. non so .... :blink: Per ora li devi tenere entrambi all'esterno e se vuoi una stima corretta della base cumulo prevedi anche uno schermo solare :

www.vololiberomontecucco.it/vlmc/index.p...t-wind-pi&Itemid=169
Ultima Modifica 10 Anni 6 Mesi fa da tony.

Si prega Accedi a partecipare alla conversazione.

Di più
10 Anni 6 Mesi fa #1963 da buby84
per lo schermo solare tu come hai fatto? :O

Si prega Accedi a partecipare alla conversazione.

Di più
10 Anni 6 Mesi fa #1964 da tony
- 10 sottovasi,
- 1 barra filettata,
- dei tappi di sughero
- Bomboletta di vernice bianca

se cerchi un po in rete trovi anche la ricetta :-)

Si prega Accedi a partecipare alla conversazione.

Di più
10 Anni 6 Mesi fa #1965 da buby84
Grazie mille :)

Si prega Accedi a partecipare alla conversazione.

Di più
10 Anni 6 Mesi fa - 10 Anni 6 Mesi fa #1966 da buby84
Allora ho modificato alcuni file per aggiungere una nuova voce di configurazione chiamata swap_temp nella sezione Sensor, questa opzione non fa altro che scambiare la tin e la tout ...

di seguito elencate le modifiche

File config.py
aggiunta a riga 172 :
self.swap_temp = config.getboolean('Sensors', 'swap_temp',False)
aggiunta a riga 344 :
config.setboolean('Sensors', 'swap_temp',self.swap_temp)

File sensor.py
aggiunta a riga 58:
		if ( self.cfg.swap_temp ):
			tmp = globalvars.meteo_data.temp_in
			globalvars.meteo_data.temp_in = globalvars.meteo_data.temp_out
			globalvars.meteo_data.temp_out = tmp
			#print "swap TIn TOut"

Non so se vuoi aggiungere il seguente codice nella prossima release.

in allegato i 2 file modificati
Allegati:
Ultima Modifica 10 Anni 6 Mesi fa da buby84.

Si prega Accedi a partecipare alla conversazione.

Di più
10 Anni 6 Mesi fa #1973 da alegrechi
L'ideale sarebbe poter scegliere autonomamente quale sensore usare per la Tin e quale per la Tout, in modo da adattarsi a tutte le possibili configurazioni.

Ma immagino che questo comporti una riscrittura del swpi probabilmente non proprio banale...

Si prega Accedi a partecipare alla conversazione.

Di più
10 Anni 6 Mesi fa #1975 da buby84
si , ci avevo pensato pure io, sarebbe la cosa piu elegante, pero` non troppo, se tony mi da l'ok provo a farlo

Si prega Accedi a partecipare alla conversazione.

Di più
10 Anni 6 Mesi fa #1982 da tony
Ok Stefano,

In questo momento sto sbattendo la testa su altre cose ( blipmap ) e quindi se vuoi puoi modificare come vuoi. Una volta fatto e testato postami il tuo codice e li inserisco nella release ufficiale .. poi magari ci organizziamo con GitHub.

L'importante è che la configurazione sia semplice e che vada senza modifiche alla conf per tutti quelli che hanno la vecchia versione.

TT

Si prega Accedi a partecipare alla conversazione.

Di più
10 Anni 6 Mesi fa #2001 da buby84
Allora includo co9me allegato i 2 file modificati per la definizione del sensore come tin e tou dir la verita` non e` la versione definitiva , ma per fare una cosa fatta bene bisognava riscrivere un bel pezzo di codice ,
non sono nemmeno riuscito a tastartela perché non ho qua il raspberry con i vari sensori, se qualcuno ne avesse voglia mi farebbe un piacere,
cmq i file modificati sono config.py e sensor.py altrimenti settimana prossima faccio delle prove io.
come funziona
sono possibili selezionare 2 nuovi settaggi nella sezione Sensor sensor_temp_out e sensor_temp_out con 3 possibili valori , Default, BMP085 e DHT
lasciando la voce default il software non interroghera` le 2 opzioni, mettendo BPM085 o DHT invece si andranno a sovrascrivere i valori di tout e tin con i sensori indicati
Allegati:
Ringraziano per il messaggio: alegrechi

Si prega Accedi a partecipare alla conversazione.

Di più
10 Anni 6 Mesi fa #2003 da tony
Bene Stefano,

L'impostazione mi piace. non ho tempo però in questi giurni di testare .. sto ancora sbattendo la testa con l'installazione RASP-Blipmap.

La includerò quando testata e stabile.

TT

Si prega Accedi a partecipare alla conversazione.

Di più
10 Anni 6 Mesi fa #2132 da buby84
sono riuscito a provarli, ho fatto anche una piccola modifica, ora funzionano!!
gli aggiungi alla prossima release?
Allegati:

Si prega Accedi a partecipare alla conversazione.

Di più
10 Anni 6 Mesi fa #2137 da tony
Se funziona con tutte le configurazioni possibili ... si

Si prega Accedi a partecipare alla conversazione.

Di più
10 Anni 6 Mesi fa #2141 da buby84
si si l'ultima versione non dovrebbe avere problemi, la ho provata e mi sembrava funzionare

Si prega Accedi a partecipare alla conversazione.

Di più
10 Anni 5 Mesi fa #2421 da Russo
Ciao a Tutti
sarebbe possibile installare due sensori DHT22 per TOut e Tin?

Saluti

Si prega Accedi a partecipare alla conversazione.

Di più
10 Anni 5 Mesi fa #2426 da tony
Non nella versione ufficiale. Ti devi fare una versione dedicata o magari un plugin.

Si prega Accedi a partecipare alla conversazione.

Di più
10 Anni 5 Mesi fa #2431 da Russo
Che file dovrei modificare?
Forse modificando i file che fanno riferimento al BPM085 riesco a gestire due DHT?

Si prega Accedi a partecipare alla conversazione.

Di più
10 Anni 5 Mesi fa - 10 Anni 5 Mesi fa #2453 da alegrechi
Avendo la necessità di usare un dht11 come temperatura/umidità interna (e un 22 per quelle esterne) oggi ho modificato il file sensor.py aggiungendo una funzione come questa:
def ReadDHTin(self):				
		try:

			output = subprocess.check_output(["./DHT/DHT_rf2","11","24"])
			#print output
			matches = re.search("Temp =\s+([0-9.]+)", output)
			if ( matches):
				dht_temp = float(matches.group(1))
				globalvars.meteo_data.temp_in = dht_temp				
			
			# search for humidity printout
			matches = re.search("Hum =\s+([0-9.]+)", output)
			if ( matches):
				dht_hum = float(matches.group(1))
				globalvars.meteo_data.hum_in = dht_hum
						
			log("DHT_IN - Temperature: %.1f C Humidity:    %.1f " % (dht_temp, dht_hum) )

		
		except:
			log("ERROR reading DHT_IN in sensor")

Richiamata dentro GetData con
if ( self.cfg.use_dht_in ):
				self.ReadDHTin()
La soluzione funziona anche se non è elegantissima.... avrei voluto fare un plugin ma ho avuto qualche problema: nonostante leggesse i valori dal sensore e li loggasse in consolle, non sono riuscito a scriverli nelle variabili globali globalvars.meteo_data.temp_in e globalvars.meteo_data.hum_in
Magari se Tony mi da' un suggerimento... :)

Allego la prova fatta: (ho dovuto duplicare il processo DHT_rf altrimenti mi dava errore..)
###########################################################################
#     Sint Wind PI
#     Copyright 2012 by Tonino Tarsi <tony.tarsi@gmail.com>
#   
#     USB comunication based pywws by 'Jim Easterbrook' <jim@jim-easterbrook.me.uk>
#     Please refer to the LICENSE file for conditions 
#     Visit https://www.vololiberomontecucco.it
# 
##########################################################################

##########################################################################
# This plugin reads another DHT sensor and outputs values as internal temp/hum
# Made by "Alessandro Grechi" <alessandro@grechi.it> - http://meteostrada.grechi.it
##########################################################################

"""DHT plugin."""

import threading
import random
import datetime
import sqlite3
import sys
import subprocess
import os
import thread
import time

import globalvars
import meteodata
import re
from TTLib import  *
import RPi.GPIO as GPIO


class swpi_plugin(threading.Thread):  #  do not change the name of the class
    
    def __init__(self,cfg):
        self.cfg = cfg
        threading.Thread.__init__(self)
        
        ###################### Plugin Initialization ################

    

        
        ###################### End Initialization ##################
        
        
    def run(self):
        log("Starting plugin : %s" % sys.modules[__name__])
        while 1:
        ###################### Plugin run
             
            output = subprocess.check_output(["./DHT/DHT_rf2","11","24"])
            matches = re.search("Temp =\s+([0-9.]+)", output)                           
            
            if ( matches ):
                dht_temp = float(matches.group(1))  
                globalvars.meteo_data.temp_in = dht_temp    

            matches = re.search("Hum =\s+([0-9.]+)", output)      
            
            if ( matches ):
                dht_hum = float(matches.group(1))
                globalvars.meteo_data.hum_in = dht_hum

            log("DHT plugin - Temperature: %.1f C in Humidity:    %.1f " % (dht_temp, dht_hum) )
            log("scrittura IN - Temperature: %.1f C Humidity:    %.1f " % (globalvars.meteo_data.temp_in, globalvars.meteo_data.hum_in) )

            time.sleep(60-datetime.datetime.now().second)

        ###################### end of Plugin run

Edit: alla fine ce l'ho fatta a fare il plugin che volevo (legge i due DHT e li invia)... appena lo avrò sistemato e testato non mancherò di condividerlo ! ;)
Ultima Modifica 10 Anni 5 Mesi fa da alegrechi. Motivo: update

Si prega Accedi a partecipare alla conversazione.

Di più
10 Anni 5 Mesi fa #2464 da Russo
OK. Grazie alegrechi del supporto. Il tuo Plugin sarà compatibile anche con due DHT22, o solo con l'11 e il 22?

Saluti Fabio

Si prega Accedi a partecipare alla conversazione.

Di più
10 Anni 5 Mesi fa - 10 Anni 5 Mesi fa #2465 da alegrechi
Si, puoi scegliere entrambe le versioni.

Puoi aiutarmi a testarlo, scarica doubleDHT.py da qui:
sourceforge.net/projects/meteostrada/files/swpi-plugins/

e mettilo nella cartella swpi/plugins.

Come vedi c'è una configurazione auto esplicativa, devi impostare il tipo di sensori e il numero del pin GPIO al quale hai connesso il piedino DATA.

Nella configurazione di swpi devi impostare a None il sensore del vento, e tutti i sensori (compreso il DHT) a False.

Ultima cosa, devi fare una copia del file /DHT/DHT_rf in /DHT/DHT_rf2, altrimenti mi dava errore di lettura con i due sensori.

Fammi sapere!
Ultima Modifica 10 Anni 5 Mesi fa da alegrechi.

Si prega Accedi a partecipare alla conversazione.

Di più
10 Anni 4 Mesi fa #2839 da Russo
OK. Appena mi arriva il secondo sensore DHT22 faccio subito la prova e ti faccio sapere.

Si prega Accedi a partecipare alla conversazione.

Tempo creazione pagina: 0.987 secondi