Igår var vi till Deje trä och köpte lite eklister, idag blev det montering. Det var ju det där med att såga rakt, gera i rätt vinkel och hålla fingrarna borta från spikpistolen också… Nåja, den kom upp på väggen i alla fall:
Månad: april 2015
Temperatur #2
Det som kan mätas ska loggas, därför har jag installerat MRTG på akvariets Raspberry Pi. Med hjälp av följande mrtg.cfg:
###################################################################### # Multi Router Traffic Grapher -- Sample Configuration File ###################################################################### # This file is for use with mrtg-2.5.4c # Global configuration WorkDir: /var/www/mrtg WriteExpires: Yes RunAsDaemon: Yes Interval: 5 Title[^]: Temperaturstatistik for Title[kar1]: kar 1 PageTop[kar1]: <h1>Temperaturen i kar 1</h1> Target[kar1]: `/usr/local/bin/aquacontrol/mrtg.py` MaxBytes[kar1]: 4000 Options[kar1]: growright,gauge,expscale Factor[kar1]: 0.01 YLegend[kar1]: Temperatur YTicsFactor[kar1]: 0.01 ShortLegend[kar1]: C Legend1[kar1]: Temperatur i grader celcius Legend2[kar1]: Legend3[kar1]: Maximal 5 Minute Incoming Traffic Legend4[kar1]: Maximal 5 Minute Outgoing Traffic LegendI[kar1]: Temp: LegendO[kar1]:
och ett litet pythonskript:
#!/usr/bin/python from time import strftime tfile = open("/sys/bus/w1/devices/28-0000065bd235/w1_slave", 'r') text = tfile.read() tfile.close() secondline = text.split("\n")[1] temperaturedata = secondline.split(" ")[9] temperature = float(temperaturedata[2:]) temperature = int(temperature / 10) print(str(temperature)) print("0") print(strftime("%Y-%m-%d %H:%M:%S")) print("Temperatur i kar 1")
loggas temperaturen och visas upp i fina grafer för senaste dygnet, veckan, månaden och året.
Spegelglas
I fredags hämtade jag glasskivan från glasmästaren och idag har jag gjort mina första stapplande steg i den ädla konsten att applicera film på glas. Jag har aldrig varit någon större fan av solskyddsfilm på bilar så det här var premiären med såpvatten, trasor och kreditkort. Blev sådär men jag har gott om film och det är enkelt att göra om.
Nu börjar man få en känsla för hur det kommer se ut och fungera.
Temperatur
När man har en dator till akvariet så kliar det lite i fingrarna, det finns ju mer att göra än att styra ljuset! Först ut blev en enkel sak, att mäta vattentemperaturen i karet. Jag införskaffade en DS18B20 som är en vanlig sensor med 1-wire-gränssnitt. Med hjälp av instruktionerna på Computer Laboratory var det enkelt att löda ihop den med ett pull-up-motstånd och koppla in den på min Pi.
Jag fick i och för sig flytta på styrningen av ett av reläerna och ändra lite i koden till ljusstyrningen men det var ett mindre bekymmer. Då var det lite jobbigare att den inte identifierades som den skulle… Efter ett tag hittade jag lösningen, version 3.18 av kerneln ändrade hanteringen av 1-wire och man är tvungen att lägga till ett par rader i /boot/config.txt:
# 1-wire settings dtoverlay=w1-gpio,gpiopin=4
Efter omstart gick det bra att söka upp sensorn med två modprobe-kommandon men de vill inte skriva in varje gång utan istället la jag in det permanent i /etc/modules:
w1-gpio w1-therm
För att kunna se temperaturen enkelt och på sikt presentera den på min spegel installerade jag Apache på min Pi med
apt-get install apache2
Sedan gick det enkelt att hacka ihop ett litet Python-skript som skriver aktuell temperatur varje minut till Apaches standardfil:
#!/usr/bin/python import time while True: tfile = open("/sys/bus/w1/devices/28-0000065bd235/w1_slave", 'r') text = tfile.read() tfile.close() secondline = text.split("\n")[1] temperaturedata = secondline.split(" ")[9] temperature = float(temperaturedata[2:]) temperature = temperature / 1000 wfile = open("/var/www/index.html", 'w') text = wfile.write(str(temperature)) wfile.close() time.sleep(60)
Nu ska det bara kompletteras med en JSON-variant och integreras i spegeln också men det får bli en annan dag.
Dags att bli lite fysisk
Idag fanns det en stund över för att fortsätta på spegelprojektet. Överst på dagordningen stod att bli av med så mycket plast som möjligt för att kunna bygga en så slimmad spegel som möjligt. Då den utvalda skärmen redan hade varit i golvet ett par gånger handlade det mest om att ta bort silvertejpen och bända lite:
Jag hade hoppats på att hitta någon användbar likströmskälla i skärmen och använda en LM2596 för att få 5V till min Pi (precis som i LED-rampen till akvariet). Inte bara hittade jag en strömkälla, det fanns dessutom en 5V-matning färdig att använda. Bingo! Det gjorde det lätt att snyggt och prydligt få dit prylarna:
HDMI-DVI-Kabeln kommer från min favoritleverantör av Raspberry Pi och andra leksaker, m.nu. Strömmatningen är på hela tiden och skärmen tänds när den får signal från datorn så allt går igång snyggt och prydligt så fort man sätter i sladden, perfekt! Nu är det dags att skaffa glasskivan och pyssla med lite träslöjd.