× 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

More
11 years 1 month ago #1939 by 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?

Please Log in to join the conversation.

More
11 years 1 month ago #1940 by 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 ! ;)
The following user(s) said Thank You: buby84

Please Log in to join the conversation.

More
11 years 1 month ago #1941 by 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

Please Log in to join the conversation.

More
11 years 1 month ago - 11 years 1 month ago #1954 by 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
Last edit: 11 years 1 month ago by tony.

Please Log in to join the conversation.

More
11 years 1 month ago #1963 by buby84
per lo schermo solare tu come hai fatto? :O

Please Log in to join the conversation.

More
11 years 1 month ago #1964 by tony
- 10 sottovasi,
- 1 barra filettata,
- dei tappi di sughero
- Bomboletta di vernice bianca

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

Please Log in to join the conversation.

More
11 years 1 month ago #1965 by buby84
Grazie mille :)

Please Log in to join the conversation.

More
11 years 1 month ago - 11 years 1 month ago #1966 by 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
Attachments:
Last edit: 11 years 1 month ago by buby84.

Please Log in to join the conversation.

More
11 years 1 month ago #1973 by 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...

Please Log in to join the conversation.

More
11 years 1 month ago #1975 by buby84
si , ci avevo pensato pure io, sarebbe la cosa piu elegante, pero` non troppo, se tony mi da l'ok provo a farlo

Please Log in to join the conversation.

More
11 years 1 month ago #1982 by 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

Please Log in to join the conversation.

More
11 years 1 month ago #2001 by 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
Attachments:
The following user(s) said Thank You: alegrechi

Please Log in to join the conversation.

More
11 years 1 month ago #2003 by 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

Please Log in to join the conversation.

More
11 years 1 month ago #2132 by buby84
sono riuscito a provarli, ho fatto anche una piccola modifica, ora funzionano!!
gli aggiungi alla prossima release?
Attachments:

Please Log in to join the conversation.

More
11 years 1 month ago #2137 by tony
Se funziona con tutte le configurazioni possibili ... si

Please Log in to join the conversation.

More
11 years 1 month ago #2141 by buby84
si si l'ultima versione non dovrebbe avere problemi, la ho provata e mi sembrava funzionare

Please Log in to join the conversation.

More
11 years 1 week ago #2421 by Russo
Ciao a Tutti
sarebbe possibile installare due sensori DHT22 per TOut e Tin?

Saluti

Please Log in to join the conversation.

More
11 years 1 week ago #2426 by tony
Non nella versione ufficiale. Ti devi fare una versione dedicata o magari un plugin.

Please Log in to join the conversation.

More
11 years 1 week ago #2431 by Russo
Che file dovrei modificare?
Forse modificando i file che fanno riferimento al BPM085 riesco a gestire due DHT?

Please Log in to join the conversation.

More
11 years 3 days ago - 11 years 3 days ago #2453 by 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 http://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 ! ;)
Last edit: 11 years 3 days ago by alegrechi. Reason: update

Please Log in to join the conversation.

More
11 years 3 days ago #2464 by 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

Please Log in to join the conversation.

More
11 years 3 days ago - 11 years 3 days ago #2465 by 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!
Last edit: 11 years 3 days ago by alegrechi.

Please Log in to join the conversation.

More
10 years 11 months ago #2839 by Russo
OK. Appena mi arriva il secondo sensore DHT22 faccio subito la prova e ti faccio sapere.

Please Log in to join the conversation.

Time to create page: 1.016 seconds