posto qui un dilemma che forse a qualcun'altro e' successo!
Ho un pluviometro semi professionale che utilizza i reed switch per segnare quando la paletta scarica la quantità di acqua.
Seguendo un esempio trovato su internet ho creato un mio script python che mi inserisce dentro un db mysql una riga con l'ora aggiornata al momento in cui la palettina scarica l'acqua.
Il contatto dei reed switch e' collegato in modo da avere un filo sul pin bcm 27 e l'altro su GND.
Code: Select all
import RPi.GPIO as GPIO
from time import sleep
import MySQLdb as mdb
# Pluvio Parameters
rainPin = 27
#bucket = 0.20
# Mysql Parameters
mysql_host = "localhost"
mysql_db = "miodb"
mysql_user = "miouser"
mysql_password = "miapass"
# Initialization Parameters
Rain = 0
Changestate = 0
GPIO.setmode(GPIO.BCM)
GPIO.setup(rainPin, GPIO.IN, pull_up_down=GPIO.PUD_UP)
# Functions
def mysqlconnect(rain):
con = mdb.connect(mysql_host, mysql_user, mysql_password, mysql_db);
cur = con.cursor()
cur.execute("INSERT INTO `miodb`.`pluvio_record` SET `Rain`='%f'" % rain)
con.commit()
con.close()
###############################################################################
try:
while True:
reading = GPIO.input(rainPin)
#print "Valore di reading %d " % reading
if reading == 1:
if Changestate == 0:
#Rain += bucket
#print "Rain is %f " % Rain
mysqlconnect(Rain);
Changestate = 1
sleep(0.1)
else:
Changestate = 0
finally:
GPIO.cleanup()Il fatto e' che accade una cosa strana..e' da un giorno che lo script e' avviato..e noto che ogni ora..intorno alle ore xx.50 (esempio: 20.50 21.52 etc) mi fà un inserimento nel db..quindi vuol dire che GPIO.input(rainPin) dovrebbe aver dato 1 come valore...eppure non piove..e non ci sono altri inserimenti subito successivi..
Mi chiedo..perche' accade questo? Come mai sempre a quell'orario più o meno? Ho controllato crontab, cron.daily, montly etc.. e non ci sono script almeno così ho visto che in quell'orario magari mandano in tilt il rasp..
Cosa può essere?
Bye.
Ruzzine