temperature and Umidity sensor (python)

Raspberry projects

temperature and Umidity sensor (python)

Messaggio da leggereda root » 24/01/2018, 9:32

Immagine

DHT11:

- il prodotto ha un range operativo tra gli 0 e i 50 gradi celsius (i gradi italiani per intenderci) con un approssimazione di 2 gradi (puo’ segnare + o – 2 gradi rispetto alla temperatura reale).
- ha uno scarto sull’umidità del 5% rispetto al valore reale.
- ha un ciclo minimo tra una rilevazione e l’altra di 1 secondo.
- La tolleranza di questo sensore alla corrente è abbastanza con correnti tra i 3.3 v fino ai 5.5v

DHT11:


- il prodotto ha un range operativo ampio che va dai -40 e i +80 gradi celsius (i gradi italiani per intenderci) con uno scarto di soli 0.5 rispetto ai 2 del DHT11.
- lo scarto sull’umidità del 2% rispetto al valore reale con un range tra 0 e 100%
- ha un ciclo minimo tra una rilevazione e l’altra di 2 secondi.
- La tolleranza di questo sensore alla corrente è maggiore rispetto alla versione DHT11 con correnti supportate tra i 3.3 v fino ai 6v.

Nota: per entrambi e' meglio usare i 3.3V di alimentazione invece di 5V
Maurizio
Avatar utente
root
Amministratore
 
Messaggi: 394
Iscritto il: 10/04/2012, 10:55
Località: Turin

Re: temperature and Umidity sensor

Messaggio da leggereda root » 24/01/2018, 9:35

https://gcits.com/connect-a-dht11-temperaturehumidity-sensor-to-a-raspberry-pi/

Immagine

git clone https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT
sudo apt-get update
sudo apt-get install build-essential python-dev python-openssl
sudo python setup.py install
cd examples
sudo ./AdafruitDHT.py 11 4


Nota: 4 e' il pin GPIO che legge il segnale dal sensore, 11 e' il tipo di sensore (dht11)
ad esempio sudo ./AdafruitDHT.py 22 17 e' relativo al sensore DHT22 e al pin GPIO 17
Maurizio
Avatar utente
root
Amministratore
 
Messaggi: 394
Iscritto il: 10/04/2012, 10:55
Località: Turin

Re: temperature and Umidity sensor

Messaggio da leggereda root » 24/01/2018, 9:56

Script per controllo temperatura e invio SMS al superamento di una soglia (Gnokii)

Codice: Seleziona tutto
import RPi.GPIO as GPIO
from time import sleep
import datetime
import Adafruit_DHT
import subprocess
import urllib2, urllib, httplib
import json
import os
from functools import partial

GPIO.setmode(GPIO.BCM)
GPIO.cleanup()
GPIO.setwarnings(False)

# Sensor should be set to Adafruit_DHT.DHT11,
# Adafruit_DHT.DHT22, or Adafruit_DHT.AM2302.
sensor = Adafruit_DHT.DHT11

# Example using a Beaglebone Black with DHT sensor
# connected to pin P8_11.
pin = 4

# Try to grab a sensor reading.  Use the read_retry method which will retry up
# to 15 times to get a sensor reading (waiting 2 seconds between each retry).
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)

##Date time formatting
dateString = '%Y-%m-%d %H:%M:%S'

##check for max values

def updatetemperature():
        data = {"data": (datetime.datetime.now().strftime(dateString))}
        humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
        maxTemperature = 26
       
                if float(temperature) > maxTemperature:
                rc = subprocess.call("/root/emergenza-temperatura.sh"); print("temperatura eccessiva")

def updatemaxhumidity():

                maxhumidity = 30
                if float(humidity) > maxhumidity:
                                rc = subprocess.call("/root/emergenza-umidita.sh"); print("umidita eccessiva")

while True:
        updatetemperature()
        updatemaxhumidity()

        #sleepTime = int(sleepTime)
        sleep(15)


Da mettere in "/etc/rc.local" :

/usr/bin/python /root/dht-firebase.py &
Maurizio
Avatar utente
root
Amministratore
 
Messaggi: 394
Iscritto il: 10/04/2012, 10:55
Località: Turin

Re: temperature and Umidity sensor

Messaggio da leggereda root » 24/01/2018, 9:59

Script per invio SMS con Gnokii:

Codice: Seleziona tutto
#!/bin/bash
/bin/echo "EMERGENZA: superata temperatura massima" | /usr/bin/gnokii --config /etc/.gnokiirc --sendsms +393xxxxxxxx &
/bin/sleep 3
/bin/echo "EMERGENZA: superata temperatura massima" | /usr/bin/gnokii --config /etc/.gnokiirc --sendsms +393yyyyyyyyyy &
/bin/sleep 3
Maurizio
Avatar utente
root
Amministratore
 
Messaggi: 394
Iscritto il: 10/04/2012, 10:55
Località: Turin


Torna a Raspberry

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti

cron