Spegelram

DSC_0001

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:

DSC_0003

Share

Temperatur #2

Skärmklipp

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]: &nbsp;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.

Share

Spegelglas

DSC_0201

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.

DSC_0202-e1429462796410-576x1024

Nu börjar man få en känsla för hur det kommer se ut och fungera.

 

Share

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.

DSC_0198

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.

Share

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:

DSC_0191

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:

DSC_0192

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.

 

Share