Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jul 2014

Temperatur DHT11

Jag är ny på Python, ja ganska nu i alla fall. Jag har inhandlat en DHT11 Temperature & Luftfuktighet Sensor.

Jag har testat flera program som finns på nätet i Python2.7 men, fungerar det får jag det inte.

Jag hittade ett litet program:

# MUST RUN FROM TERMINAL USING sudo

import subprocess
import re
import sys
import time

while(True):

# read the sensor for Temperature on Pin 4
output = subprocess.check_output(["./Adafruit_DHT", "11", "4"]);
print output
matches = re.search(“Temp =\s+([0-9.]+)”, output) Denna raden fel på sista parantesen
if (not matches):
time.sleep(3)
continue
temp = float(matches.group(1))
ftemp= temp* 9.0 / 5.0 + 32.0

# Read the sensor for Humidity on Pin 4
matches = re.search(“Hum =\s+([0-9.]+)”, output)
if (not matches):
time.sleep(3)
continue
humidity = float(matches.group(1))

#printout the information
print “Temperature: %.1f C” % temp
print “Temperature: %.1f F” % ftemp
print “Humidity: %.1f %%” % humidity

Jag får inte detta att fungera i windows.
Jag kör Raspbian, Python 2,7

Det jag vill är att jag kan få temperatur och luftfukt, i olika variabler som jag sedan kan använda i en fil och även på en LCD skärm.
Kan någon hjälpa mig så det blir så litet och lätt som mögligt utan att det blir krångligt, jag vill ju lära mig Puthon och då vill jag inte ha det för krångligt.

Trädvy Permalänk
Medlem
Plats
Uppsala
Registrerad
Jul 2009

Kör direkt på Pin med sensorn och alllt annan installerat och skit i att testköra på windows inann.
Det verkar som om det du skrivit kör en annan process "output = subprocess.check_output(["./Adafruit_DHT", "11", "4"]);"
Som spottar ut temp och humidity

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jul 2014

Jag har kört det från RPi men samma fel där också.
Finns det inget annat sätt som är enklare att få DHT11 avläst i Python?

Trädvy Permalänk
Medlem
Plats
Uppsala
Registrerad
Jul 2009

http://www.raspberrypi.org/forums/viewtopic.php?f=37&t=71336

Inte testat själv men kan vara värt ett försök iaf.

Trädvy Permalänk
Medlem
Plats
Straight outta Compton
Registrerad
Nov 2001

output = subprocess.check_output(["./Adafruit_DHT", "11", "4"]);

Den här raden kör binären Adafruit_DHT med växlarna 11 och 4 (för att det är DHT11, och för att den är kopplad till GPIO 4). Binären är kompilerad till raspberry pi så det är ingen idé att testa under windows. Det kommer inte att fungera.
Du kan börja med att se till att sensorn är ordentligt kopplad.

Typ såhär, det är alltså viktigt att du har en 4,7kOhm-resistor från + till datapinnen.
När det ser bra ut så kan du köra

sudo ./Adafruit_DHT 11 4

Du kan läsa mer på DHT Humidity Sensing on Raspberry Pi or Beaglebone Black with GDocs Logging

Trädvy Permalänk
Medlem
Registrerad
Jul 2003

matches = re.search(“Temp =\s+([0-9.]+)”, output) Denna raden fel på sista parantesen <- den raden ser ut att ha konstiga citattecken

Citera, tack!
Har du läst tråden om strandhögtalare och andra musiklådor?

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jul 2014

Skrev nog lite fel.

Jag använder Windows till en viss del då SSH till Raspberry Pi.

När jag kör programmen i Python så använder jag endast Raspberry Pi och Disten Rasbian.

DHT11 fungerar med kommandot men sen får jag felmeddelandet när jag kör sudo python /home/pi/test_11.py

Det jag försöker är att bygga en väderstation med LCD 4X20 tecken, 2 ds18b20, 1 DHT11 och sen blir det säker några andra censorer.

Allt detta skall in i en fil och även visas på LCDn.
LCD-n med de 2 ds18b20 sensorerna fungerar fint men jag får inte DHT11 att fungera, behöver bara ett enkelt litet program för detta.

Jag skall titta på de förslagen Ni har gett mig.