Raspberry pi 3 som mätstation, en vision

Hur ser ditt mät- och/eller hemautomations-system ut? Dela med dig av hur just Ditt projekt ser ut och fungerar, eller hur dina planer ser ut för framtiden. Att läsa om andra är bästa inspirationen.
Kategoriregler
Vill du visa bilder i ditt inlägg? Använd funktionen "Ladda upp bilaga" nedanför textrutan!
Holton
Tar hemautomation på allvar
Inlägg: 128
Blev medlem: 26 apr 2016, 21:45
Ort: Djurmo

Re: Raspberry pi 3 som mätstation, en vision

Inlägg av Holton »

svartöra skrev:Du ska lägga in det i /etc/fstab och starta om, men googla först så du vet vad du gör. Dumt om det blir fel där...
Har googlat ordentligt nu... Hittade detta som verkar innehålla rätt mycket matnyttigt:

http://www.zdnet.com/article/raspberry- ... e-sd-card/

En lista med mappar som linux ofta skriver till:
There are a variety of locations that GNU/Linux likes to make frequent writes. This is a list of entries below that I use as a starting point that should fit for most distributions.

tmpfs /tmp tmpfs defaults,noatime,nosuid,size=100m 0 0
tmpfs /var/tmp tmpfs defaults,noatime,nosuid,size=30m 0 0
tmpfs /var/log tmpfs defaults,noatime,nosuid,mode=0755,size=100m 0 0
tmpfs /var/run tmpfs defaults,noatime,nosuid,mode=0755,size=2m 0 0
tmpfs /var/spool/mqueue tmpfs defaults,noatime,nosuid,mode=0700,gid=12,size=30m 0 0
Nu ska det skrivas ihop något så att det mountas i ram, men samtidigt backupsparas till t.ex. USB en gång per dygn samt vid nedstängning och sedan laddas backupen upp i ramdisk vid uppstart. Borde vara rätt likt hur jag hanterar min ramdisk just nu...

Sedan kan jag tycka att man kanske borde testa att köra allt i Nard Os, verkar designat precis så som jag vill. Har presic beställt en till pi får prova Nard där =)

http://www.arbetsmyra.dyndns.org/nard/
svartöra
Gillar hemautomation
Inlägg: 32
Blev medlem: 10 jul 2012, 00:24
Ort: Göteborg

Re: Raspberry pi 3 som mätstation, en vision

Inlägg av svartöra »

/var/run ligger redan i tmpfs (via en symbolisk länk).
/var/spool/mqueue hittar jag inte hos mig men det är väl sendmails mailkö-bibliotek. Om man kör sendmail och monterar det som tmpfs försvinner icke-levererade email om man startar om datorn.

Jag provade för ett bra tag sedan att ha /tmp som tmpfs och fick lite problem vid uppdateringar, men det kanske fungerar numera.

Kan hålla med om att Nard verkar vara den principiellt rätta lösningen om man ska göra en riktig produkt, men hemma sitter man väl i praktiken med något mellanting mellan produkt och utvecklingskort. Då vill man nog att konfigurationsändringar ska sparas permanent och det gör inte Nard, skulle jag tro, utan då får man ändra os-imagen manuellt. Men helt klart värt att prova.
Holton
Tar hemautomation på allvar
Inlägg: 128
Blev medlem: 26 apr 2016, 21:45
Ort: Djurmo

Re: Raspberry pi 3 som mätstation, en vision

Inlägg av Holton »

svartöra skrev:/var/run ligger redan i tmpfs (via en symbolisk länk).
/var/spool/mqueue hittar jag inte hos mig men det är väl sendmails mailkö-bibliotek. Om man kör sendmail och monterar det som tmpfs försvinner icke-levererade email om man startar om datorn.

Jag provade för ett bra tag sedan att ha /tmp som tmpfs och fick lite problem vid uppdateringar, men det kanske fungerar numera.

Kan hålla med om att Nard verkar vara den principiellt rätta lösningen om man ska göra en riktig produkt, men hemma sitter man väl i praktiken med något mellanting mellan produkt och utvecklingskort. Då vill man nog att konfigurationsändringar ska sparas permanent och det gör inte Nard, skulle jag tro, utan då får man ändra os-imagen manuellt. Men helt klart värt att prova.
Ja, jag ska läsa på mer innan jag börjar mixtra...

Nard har en sådan funktion där man gör ändringarna på SD-kortet. Verkar som att ändringar görs och sedan vid reboot tar de verkan. Hittade detta i en faq:
How to store data in the SD-card?
The card path is /sdcard/ Accessing it will trigger a mount.
http://www.arbetsmyra.dyndns.org/nard/answers.html
svartöra
Gillar hemautomation
Inlägg: 32
Blev medlem: 10 jul 2012, 00:24
Ort: Göteborg

Re: Raspberry pi 3 som mätstation, en vision

Inlägg av svartöra »

Holton skrev:Nard har en sådan funktion där man gör ändringarna på SD-kortet. Verkar som att ändringar görs och sedan vid reboot tar de verkan. Hittade detta i en faq:
How to store data in the SD-card?
The card path is /sdcard/ Accessing it will trigger a mount.
http://www.arbetsmyra.dyndns.org/nard/answers.html
Det är ju bra, för då kan man "arbeta fram" en image som man sedan använder. Däremot kommer uppdateringar av OS ("apt-get dist-upgrade" osv) inte att slå igenom utan kräver att man bygger en ny image vid sidan av och distribuerar ut. Som sagt, en professionell lösning för professionella produkter. Hemmavid blir det kanske lite mycket overhead men det vet man ju inte förrän man provat!
Holton
Tar hemautomation på allvar
Inlägg: 128
Blev medlem: 26 apr 2016, 21:45
Ort: Djurmo

Re: Raspberry pi 3 som mätstation, en vision

Inlägg av Holton »

Ytterligare ett problem... det verkar vara rätt glappt i 1wire-ledningen, titta på de båda bilder jag bifogar. Drifttid avgörs av två temperatursensorer, men har de sista dagarna gett sjukt hackiga kurvor, det saknas mätvärden helt enkelt, samma gäller både ute sensorn och den i poolen. Detta måste antingen bero på en glapp ledning innan sensorerna, eftersom alla är drabbade, eller så något vajsing i det där i2c-kortet som sitter på raspberryn... får åka och köpa ny kabel, det är billigast att börja där. Det stora glappet var då jag lämnade pajen avslagen under natten...
Ja, något är fel i alla fall... kan knappast vara så att alla fyra sensorer ballat ur samtidigt. Temperaturerna är lite knasiga... -14 grader i poolen idag, 13 augusti, känns lite orimligt, badade i den på eftermiddagen, men det kanske var då det var 35 grader...
Frågan är om det är rimligt att det är kabeln heller... -14 och +35 samma dag... kanske är kortet som gett upp. Men underligt att det ändå ger rimliga temperaturer där i melllan. Det borde ju vara mer galet än så i sådana fall... ja hur som, kabeln är billigast, börjar där.
Bilagor
pool_ute.png
pool_ute.png (23.25 KiB) Visad 12720 gånger
Drifttiden
Drifttiden
tid.png (58.49 KiB) Visad 12720 gånger
Holton
Tar hemautomation på allvar
Inlägg: 128
Blev medlem: 26 apr 2016, 21:45
Ort: Djurmo

Re: Raspberry pi 3 som mätstation, en vision

Inlägg av Holton »

Som väntat =) ny kabel och diagrammen är fina igen.
Holton
Tar hemautomation på allvar
Inlägg: 128
Blev medlem: 26 apr 2016, 21:45
Ort: Djurmo

Re: Raspberry pi 3 som mätstation, en vision

Inlägg av Holton »

Drifttiden på värmepumpen på en hel sommar blev knappa 700 timmar. Ingen aning om vad vi betalar per Kwh, men pumpen är på 2,2 kw så om vi betalar 2 kr per kwh så kommer kostnaden upp i 3000:- för en sommars värme (nu var det här året ovanligt kallt) Rätt ok får man väl säga, ja förutsatt att 2 spänn är rätt pris då...
Bilagor
drifttid sommaren 2017.png
drifttid sommaren 2017.png (63.7 KiB) Visad 12453 gånger
Holton
Tar hemautomation på allvar
Inlägg: 128
Blev medlem: 26 apr 2016, 21:45
Ort: Djurmo

Re: Raspberry pi 3 som mätstation, en vision

Inlägg av Holton »

Jag har ett nytt projekt på gång. Jag har en ovanmarkspool som står med vatten i över vintern. På botten av poolen har jag en ds18b20 sensor som levererar bottentempen i ett diagram
vinterpool.png
vinterpool.png (16.72 KiB) Visad 11389 gånger
Problemet är att upplösningen är lite klen, det blir trappsteg, vore roligare att se den mer högupplöst.
Tanken är att jag ska kunna visa att poolen inte bottenfryser utan att den värme som avges när vattnet övergår från flytande till fast kommer att hålla poolen från att bottenfrysa. Men för att detta ska bli tydligt behöver jag en lite bättre upplösning. Jag gissar att det är mina "get_"-script som avgör vilken temperatur som hämtas till RRD-filen. Scriptet ser ut så här

Kod: Markera allt

#!/bin/bash

pool="28.25859A070000"
ute="28.FFBD5D001602"
RRDDataDirectory="/mnt/ramdisk/"
RRDDataFile="pool_ute.rrd"
# Get temps form OWFS
pool=`cat /mnt/1wire/$pool/temperature|sed -e s/" "//g|awk '{$1=$1 + 0.005;printf "%.2f", $1}'`
ute=`cat /mnt/1wire/$ute/temperature|sed -e s/" "//g|awk '{$1=$1 + 0.005;printf "%.2f", $1}'`
#rrdtool update $RRDDataDirectory$RRDDataFile N:$pool:$ute:
#echo:$pool:$ute:
#Update RRD database
rrdtool update $RRDDataDirectory$RRDDataFile N:$pool:$ute
echo $pool:$ute
Jag inbillar mig att det är raden "pool=`cat /mnt/1wire/$pool/temperature|sed -e s/" "//g|awk '{$1=$1 + 0.005;printf "%.2f", $1}'`" och termen "%.2f som avgör detta... stämmer det? och vad bör jag skriva istället om jag vill ha bästa möjliga upplösning. Att en hög upplösning tar längre tid att avläsa har ingen betydelse, den här avsvalningen går så långsamt att tid inte är ett problem.
larky
Moderator
Inlägg: 1166
Blev medlem: 01 feb 2008, 12:21
Ort: Skellefteå
Kontakt:

Re: Raspberry pi 3 som mätstation, en vision

Inlägg av larky »

2:an specar till två decimaler, men kolla om det hjälper att läsa 12-bitarsvärdet på temperaturen, alltså inte bara ändra till 4 decimaler utan att även ändra sökvägen till "pool=`cat /mnt/1wire/$pool/temperature12|sed -e s/" "//g|awk '{$1=$1 + 0.005;printf "%.4f", $1}'`
Holton
Tar hemautomation på allvar
Inlägg: 128
Blev medlem: 26 apr 2016, 21:45
Ort: Djurmo

Re: Raspberry pi 3 som mätstation, en vision

Inlägg av Holton »

larky skrev: 26 dec 2018, 09:34 2:an specar till två decimaler, men kolla om det hjälper att läsa 12-bitarsvärdet på temperaturen, alltså inte bara ändra till 4 decimaler utan att även ändra sökvägen till "pool=`cat /mnt/1wire/$pool/temperature12|sed -e s/" "//g|awk '{$1=$1 + 0.005;printf "%.4f", $1}'`
Provade detta nu, och sedan körde jag först mitt get-script manuellt , då printades tempen med fyra decimaler i mitt terminalfönster, men sedan körde jag graf-scriptet manuellt (cron gör detta annars bara en gång per dag...) men de siffror som hamnar i diagrammet är trots detta endast en-decimala. Kan det vara något i mitt graf-script som definierar att jag vill ha endast en siffra?

Kod: Markera allt

#!/usr/bin/perl

use RRDs;

my $cur_time = time();
my $start_time = $cur_time - 864000;     # set end time to 24 hours ago 
                
RRDs::graph "/mnt/ramdisk/pool_temp_vinter.png",   
			"--start= $start_time",
			"--end= $cur_time",
			"--title= Pooltemp",
			"--height= 300",
			"--width= 500",
			"--vertical-label= °C",
	      "DEF:Pooltemp=/mnt/ramdisk/pool.rrd:pool:AVERAGE",                          
			"COMMENT:\t\t\t\tNu     Medel    Max    Min\\n",
			"HRULE:0#0000FF",         

		"DEF:Utomhustemp=/mnt/ramdisk/pool_ute.rrd:ute:AVERAGE",
	      "LINE2:Pooltemp#0000FF:poolbotten\t\t\t",    
			"GPRINT:Pooltemp:LAST:%6.1lf",
			"GPRINT:Pooltemp:AVERAGE:%6.1lf",
			"GPRINT:Pooltemp:MAX:%6.1lf",
			"GPRINT:Pooltemp:MIN:%6.1lf\\n";

 "LINE2:Utomhustemp#000000:ute\t\t\t",
                        "GPRINT:Utomhustemp:LAST:%6.1lf",
                        "GPRINT:Utomhustemp:AVERAGE:%6.1lf",
                        "GPRINT:Utomhustemp:MAX:%6.1lf",
                        "GPRINT:Utomhustemp:MIN:%6.1lf\\n";


my $err=RRDs::error;
if ($err) {print "problem generating the graph: $err\n";}

print "Done!\n"
Jag antar i så fall att det här:
"GPRINT:Pooltemp:LAST:%6.1lf",
på något vis preciserar hur talen ska anges, men hittar inget på nätet om vad man skriver istället.

%6.1lf",
det är inte helt självklart vad det betyder.
rogerthn
Tar hemautomation på allvar
Inlägg: 111
Blev medlem: 06 mar 2008, 22:25
Ort: Trollhättan

Re: Raspberry pi 3 som mätstation, en vision

Inlägg av rogerthn »

Holton skrev: 26 dec 2018, 12:11 %6.1lf",
det är inte helt självklart vad det betyder.
Testa med
%6.2lf
%6.3lf
%6.4lf
och se vad som händer
Holton
Tar hemautomation på allvar
Inlägg: 128
Blev medlem: 26 apr 2016, 21:45
Ort: Djurmo

Re: Raspberry pi 3 som mätstation, en vision

Inlägg av Holton »

rogerthn skrev: 26 dec 2018, 12:25
Holton skrev: 26 dec 2018, 12:11 %6.1lf",
det är inte helt självklart vad det betyder.
Testa med
%6.2lf
%6.3lf
%6.4lf
och se vad som händer
Det var precis så man skulle göra =)
Satte de olika raderna på 6.4 6.3 6.2 6.1 och det verkar ju vara så att siffran efter punkten talar om hur många decimaler det ska vara. Men vad 6:an har för betydelse vet jag inte...
vinterpool decimaler.png
vinterpool decimaler.png (16.14 KiB) Visad 11374 gånger
Nu ska jag fortsätta kolla på varför grafen blir så underlig. De horisontella "stegen" tycker jag borde bero på att temperaturen bara läses av en gång per dygn, men de där små hoppen i de mer lodräta stegen... ja dom är inte lika lättförklarade
rogerthn
Tar hemautomation på allvar
Inlägg: 111
Blev medlem: 06 mar 2008, 22:25
Ort: Trollhättan

Re: Raspberry pi 3 som mätstation, en vision

Inlägg av rogerthn »

Holton skrev: 26 dec 2018, 13:46 Det var precis så man skulle göra =)
Satte de olika raderna på 6.4 6.3 6.2 6.1 och det verkar ju vara så att siffran efter punkten talar om hur många decimaler det ska vara. Men vad 6:an har för betydelse vet jag inte
6:an står förmodligen för totala antalet tecken inklusive .
dvs. max med 6.4 är 9.9999
Holton
Tar hemautomation på allvar
Inlägg: 128
Blev medlem: 26 apr 2016, 21:45
Ort: Djurmo

Re: Raspberry pi 3 som mätstation, en vision

Inlägg av Holton »

Låter rimligt, kanske ska testa i sommar då om en decimal försvinner när vattnet når 10 grader.

Blir lite intressant att se hur det går med temperaturen och poolen. Jag vet att den här typen inte tål att bottenfrysa, vi har haft den i typ 10 år och den har hittills klarat sig varje år.
Enligt sensorn är tempen redan aningen under nollan. Nu beffinner vi orr visserligen nära 194 m över havet, kan ju påverka fryspunkten en aning, det finns en del poolkemikalier i vattnet, tror det är 5-6 år sedan vi helt bytte vatten, så lite lösta salter finns det med, troligen 5-10 kg på de här 18 kbm. Ja, sedan har vi ju ingen aning om hur kalibrerade sensorerna är heller... Men att tempen bör stanna rätt nära nollan tar jag för givet.
Holton
Tar hemautomation på allvar
Inlägg: 128
Blev medlem: 26 apr 2016, 21:45
Ort: Djurmo

Re: Raspberry pi 3 som mätstation, en vision

Inlägg av Holton »

Nu har det mesta av vintern passerat och jag kan konstatera att antingen är temperatursensorn inte särskilt noggrann, mängden salter så pass stor att vattnet inte fryser vid 0 grader eller så är det nått annat mysko, men just nu visar sensorn -0,37 grader Jag tycker att diagrammet rätt tydligt visar på effekten av hur fasövergången genererar tillräckligt med värme för att inte poolen ska bottenfrysa.

Har ytterligaren en liten idé, jag har en liten pi-zero och ett gäng olika sensorer. Det känns som läge att försöka göra något kul av den med. Men först lite frågor:
  • 1-wire och zero, funkar det?
  • Jag har läst att noobs nu har stöd för 1-wire, innebär det att man egentligen inte behöver i2c-modulen?
  • Sensorer som heter saker som adafruit, funkar dessa att ansluta till raspberry? Ja,g förutsätter att de inte kör på 1 wire utan via något annat system
Bilagor
vinter_pool_ute1.png
Skriv svar