Gjorde en liten analys av dina funktioner. Jag säger inte att de är fel, de fungerar bara inte för mig... ;-)

Dumpar lite variabler i din avläsnings/omräkningsfunktion:

Cold Junction register: 23.00
cj_volt: 0.94
tcv_float: 8182.00
tcv_float: 127.84
tc_volt: 128.78
tC: 0.00
tC[1]: 3230.28
tC[2]: 4533.83
tC[3]: -530073.81
tC[4]: 22340574.00
tC[5]: -412633152.00
tC[6]: 4059431424.00
tC[7]: ovf
tC[8]: ovf
tC[9]: ovf
Temperature: ovf

tC[1] osv är "//Convert from voltage to Celsius"-partiet där du itererar igenom din c[..]-array. Jag förstår inte riktigt matematiken bakom dina beräkningar, så jag kan inte säga vad som är fel.

Min gissning är att min avläsning ger ett värde som din rutin inte hanterar.
 
Kom att tänka på att jag, när jag körde testprogrammet OWtest, inte fick något temperaturvärde från termoelementet förrän temperaturen översteg en viss nivå. Jag har nu kollat upp detta och ser då att värdet blir -0.00 (vilket nog motsvarar "ovf" med din programversion) så länge temperaturen ligger under +28 ºC. Eftersom jag använder givaren för att mäta rökgastemperaturen brydde jag mig inte om detta, utan ignorerar helt enkelt värden <0. Kanske är det så att tabellen för temperaturkonverteringen inte går längre ned än motsvarande +28º.

/M-E

PS. Jag använder spetsgivaren TCPS samt termoelementinterfacet TC2 från m.nu.
 
PPS. Kopierade rutinen för konvertering till ºC direkt från det refererade exemplet i Arduino-forumet och grubblade inte närmare på denna, eftersom jag fick korrekta temperaturvärden i det område som var intressant för mig.
 
Yes! Det fungerar ju precis som du säger. Tänkte aldrig på att värma min sensor när jag testade. Men så fort jag värmde den med handen så fick jag temperaturer. Kaffet var 52,4 grader varmt i koppen!

Tack för hjälpen! Nu har jag något att bygga från!

Mvh Jens

Ps Har exakt samma sensorer som du har från m.nu. DS:)
 
B
fastmoving? skrev:
Har just köpt en Logger2020, och fick hem 50st givare i veckan (köpt på E-Bay). Blir att löda lite kablage nu de närmaste dagarna, ivrig att komma igång med loggningen. :)
hej

fick du igång detta?

hittar ingen info om vad e-logger kostar, men har saker för PI liggande.. men letar efter något enkelt system för att logga eller i alla fall se temperaturer som är kopplade till PI, jag är inte så haj på att koda, men någon borde väl gjort något som funkar?

EDIT: hittade info om priserna, men tror ändå jag ska försöka hitta en enkel lösning med PI, någon som har nåt väldigt enkelt? kommer nog kunna få igång OWFS men att ta det från det till tex en text-fil som går importera i excel... eller nåt. eller om någon har tips på nån enkel webserver som kan visa värden? helst köra på bara PI...
 
Redigerat:
Boan skrev:
hej

fick du igång detta?

hittar ingen info om vad e-logger kostar, men har saker för PI liggande.. men letar efter något enkelt system för att logga eller i alla fall se temperaturer som är kopplade till PI, jag är inte så haj på att koda, men någon borde väl gjort något som funkar?

EDIT: hittade info om priserna, men tror ändå jag ska försöka hitta en enkel lösning med PI, någon som har nåt väldigt enkelt? kommer nog kunna få igång OWFS men att ta det från det till tex en text-fil som går importera i excel... eller nåt. eller om någon har tips på nån enkel webserver som kan visa värden? helst köra på bara PI...
Jag följde wiki'n från m.nu http://wiki.m.nu/index.php/OWFS_på_Rasperry_Pi när jag gjorde min konfiguration. De har även ett forum som har lite mer fokus på temperaturloggning etc.

Jag loggar/skickar temperaturen utomhus till temperatur.nu med hjälp av ett bash script så får de sköta databasen och lagringen etc. Jag har inte gjord någon egen databas men det finns wiki för det också (RRDTool) om man vill prova.
 
B
ok, ja, jag vill ju logga innetemperaturer o dyl, så svårt att ta det på temperatur.nu...

men vad har du för gränssnitt om du bara vill se på temperaturen? där du döpt om givare osv?
 
Som jag skrev tidigare använder jag ett bash script för att läsa ut temperaturen. Skriptet sparar ner allt till en textfil som jag sedan använder ett annat script till att skicka upp till en webserver. Det är även möjligt att ha en egen webserver på pi'en men jag har skippade den biten. Sedan använder jag cron för att köra scriptetn var 3'e minut.

Jag bifogar mitt script och resultatet i textfilen så har du något att börja med, det finns lite kommentarer (efter #) men allt är nog inte självklart (när man håller på är allt enkelt och sedan något år senare är det en annan femma).

#!/bin/bash
# Script for att skapa aktuell temperatur-fil
# filnamn och sokvag
file="/home/pi/temperatur/temperatur.txt"
sensor1="/mnt/1wire/28.C63AA4050000/temperature"
sensor2="/mnt/1wire/28.2C41A5050000/temperature"
sensor3="/mnt/1wire/28.F64695040000/temperature"

# Tar temperaturen datum klocka och lägger i variabler.
temp1=`cat "$sensor1"|sed -e s/" "//g|awk '{$1=$1 + 0.00001;printf "%.4f", $1}'`
temp2=`cat "$sensor2"|sed -e s/" "//g|awk '{$1=$1 + 0.00001;printf "%.4f", $1}'`
temp3=`cat "$sensor3"|sed -e s/" "//g|awk '{$1=$1 + 0.00001;printf "%.4f", $1}'`
datum=$(date +%F)
klocka=$(date +%T)

# Tar tempen och omvandlar den till heltal som är 10000 ggr större än aktuell temp avrundat till heltal
g1=`cat "$sensor1"|sed -e s/" "//g|awk '{$1=$1 * 10000+1;printf "%.0f", $1}'`
g2=`cat "$sensor2"|sed -e s/" "//g|awk '{$1=$1 * 10000+2;printf "%.0f", $1}'`
g3=`cat "$sensor3"|sed -e s/" "//g|awk '{$1=$1 * 10000+3;printf "%.0f", $1}'`

# Jämför värdet på givaren för att få fram den som har lägst temperatur
if [ $g2 -gt $g1 ] && [ $g3 -gt $g1 ]
then lagtemp=$temp1
elif [ $g1 -gt $g2 ] && [ $g3 -gt $g2 ]
then lagtemp=$temp2
else lagtemp=$temp3
fi

# värdet som den hämtar ovan läggs i filen ovan och den skrivs över varje gång skriptet körs
echo "$datum $klocka <br>" > "$file"
echo "Sensor 1: $temp1 <br>" >> "$file"
echo "Sensor 2: $temp2 <br>" >> "$file"
echo "Sensor 3: $temp3 <br>" >> "$file"
echo "Low temp: $lagtemp" >> "$file"

Textfilens innehåll just nu.
2016-01-14 21:18:03 <br>
Sensor 1: -11.3750 <br>
Sensor 2: -11.8750 <br>
Sensor 3: -12.0000 <br>
Low temp: -12.0000
 
M
För sakens skull så dumpar jag mitt script som jag använder för tillfället :)

Har inte hunnit lägga till funktionalitet för att kunna mata programmet med fler än en sensor som argument än.
Startas så här: python mittscript.py SensorID

Kräver dock att man har installerat paketet python-mysqldb, men det är det värt.



import re, MySQLdb, sys

sensorID = sys.argv[1] if len(sys.argv) >= 2 else exit("ERROR: You must specify sensor id!")


textfile = open("/sys/bus/w1/devices/%s/w1_slave" % sensorID, 'r')
filetext = textfile.read()
textfile.close()

match = re.findall("t=(\d+)", filetext)

sensorValue = float(match[0])/1000

print "Inserting: %.3f " % sensorValue

db = MySQLdb.connect(host="10.10.0:XXX", user="user", passwd="password", db="Monitoring")

cur = db.cursor()

try:
cur.execute("INSERT INTO sensorValues (ID, value) VALUES (%s, %s)", (str(sensorID), str(sensorValue)))
db.commit()
except MySQLdb.Error, e:
cur.rollback()
print "ERROR"
print "MySQL Error [%d]: %s" % (e.args[0], e.args[1])

cur.close()
db.close()
 
Redigerat:
B
kul! tackar för bra inpu, har fått mitt i2c kort idag från m.nu som ska in på Pi:en, ska få tag på några givare och börja testköra innan det är dags att bygga stora nätet...

såg även en del på denna:
https://sites.google.com/site/raspberry1wire/
som använde Digitemp och sen laddade upp till Thingspeak.com

såg även en som körde upp till Devicehive,

lite skumt att inte någon plitat ihop ett program för 1-wire, som identifierar samtliga givare, låter en sätta alias på dem samt loggningstäthet. Sen ett gränssnitt där man väljer vilka givare man vill titta på och hur länge.

eller är det svårare än jag tror? nu har jag ju inte programmerat på väldigt länge... så jag kanske helt missuppfattar hur svårt det är.

tänker ju att tex VLC osv görs ju som open source..
 
D
Söker lite tips om väg framåt..

Har en gammal datalogger monterad på min panna, den var med serieportsanslutning på den tiden, som inte används.

Min idé är att använda dessa sensorer kopplade till en Raspberry och sedan helst läsa värdena från denna till Home Assistant. Vad tror ni om detta, enkelt, några tips på vägen?
 
M Mr_Smurf skrev:
Ett annat tips är att köpa era DS18B20 från kina om ni behöver många, då kostar de bara 8:- styck.
Ja jag köpte 100st från Aliexpress, jag hamnade långt under 8:-
 
R
D djac skrev:
Söker lite tips om väg framåt..

Har en gammal datalogger monterad på min panna, den var med serieportsanslutning på den tiden, som inte används.

Min idé är att använda dessa sensorer kopplade till en Raspberry och sedan helst läsa värdena från denna till Home Assistant. Vad tror ni om detta, enkelt, några tips på vägen?
Koppla sensorerna till en ESP32 eller ESP8266 om du har wifi täckning där du skall mäta. Sedan är det bara att läsa värdena i Home Assistant. ESP kostar 2 till 6 euro per styck beroende på modell, tycker ESP8266 har bättre wifi signal. Du kan koppla många sensorer till en ESP kort
 
  • Gilla
djac
  • Laddar…
D
R rasse123 skrev:
Koppla sensorerna till en ESP32 eller ESP8266 om du har wifi täckning där du skall mäta. Sedan är det bara att läsa värdena i Home Assistant. ESP kostar 2 till 6 euro per styck beroende på modell, tycker ESP8266 har bättre wifi signal. Du kan koppla många sensorer till en ESP kort
Tack, det var mycket intressant, kände jag inte till. Jag får kolla runt om jag hittar någon/några bra guider på detta, du råkar inte ha snubblat över någon sådan?
 
R
D djac skrev:
Tack, det var mycket intressant, kände jag inte till. Jag får kolla runt om jag hittar någon/några bra guider på detta, du råkar inte ha snubblat över någon sådan?
Installera ESPHome Add-ons i HA därefter kan du programmera ESP32 eller ESP8266 via HA, första gången då du "aktiverar" den ( berätta wifi ssd och lösenord...)så måste du använda kabel, efter det kan du göra det över wifi nätverket

https://esphome.io/components/sensor/dallas.html

https://esphome.io/

Det är mycket enkelt att göra det, det mesta av koden kan du kopiera och klistra in...
 
Vi vill skicka notiser för ämnen du bevakar och händelser som berör dig.