Get Adobe Flash player

Fjärrstyrning via mail

thumbEn av de saker man kan göra med sin Raspberry Pi är att styra saker. Det kan man göra på många olika sätt. Via webbservrar, IR, RF och annat. Om man inte har så bråttom så kan man även använda mail för att styra saker.

Jag har gjort ett litet exempel i Python på hur det skulle kunna fungera.

Läs mer här.

Fångat av väderkameran.

Idag fångade väderkameran denna bild som nästan ser ut som om de håller på med nukleära testsprängningar i Skogstorp. Skämt åsido, idag har det varit riktigt aprilväder i Eskilstuna. I ena stunden har det varit soligt och varmt, nästa har det varit blåsigt och regnigt. Sen har det blivit sol igen för att därefter hagla. Som sagt, riktigt aprilväder.
nuke

Problem med kameran.

Idag märkte jag att väderkameran inte ville vara med längre. Det gick knapp att logga in på den och efter ett par försök så vägrade den svara helt.

Efter en närmare undersökning så visade det sig att problemet var SD-kortet som av någon anledning slutat fungera. Oftast när ett SD-kort slutar fungera så beror det på att det på ett eller annat sätt skrivits sönder. Detta kan ske om en skrivning till kortet sker samtidigt som strömmen bryts. Enskilda cellar kan gå sönder om man skriver till samma celler hela tiden.

Python-programmet sparar en bild i minuten och skapar dessutom en flaggfil en gång per dygn. Inget av detta borde dock ha fått minneskortet att sluta fungera på bara en vecka.

Jag har nu installerat om systemet på ett nytt SD-kort så får vi se hur länge det håller den här gången.

Passade också på att, med hjälp av en kompass, rikta in kameran exakt mot söder.

CPU-temperatur på Raspberry Pi

Eftersom jag trodde att den Raspberry Pi som sköter webbkameran blev för varm i sin PiCe-låda så kan det ju vara bra att kunna kolla temperaturen på den. Nu har vi sån tur att det redan finns en temperatursensor inbyggd i CPUn som vi kan använda.  Det enklaste sättet att läsa av sensorn är med kommandot vcgencmd.

/opt/vc/bin/vcgencmd measure_temp

Om kommandot körs som ovan så fås temperaturen i klartext.

vcgencmd

 

 

 

Eftersom det kan vara krångligt att komma ihåg ovanstående kommando så är det enklaste att lägga till ett alias för det. Om det bara ska vara ett alias under denna session så skriv bara:

alias temp=’/opt/vc/bin/vcgencmd measure_temp’

(Obs: om ovanstående inte fungerar, prova att använda” istället för ‘. )

Om det istället ska ligga kvar efter en omstart så börja med att se till att vara i hemmabiblioteket genom att skriva:

cd ~

Sen skapar/editerar vi en fil att lägga till aliaset i.

nano .bash_aliases

Skriv sedan in hela alias-kommandot och spara filen. Nästa gång vi loggar in så finns aliaset ‘temp’ från början och i fortsättningen skriver vi bara temp för att se temperaturen.

temp

 

 

Ny kamera provas.

picam

Jag håller just nu på att prova ut en ny kamera till min ”väderkamera”. Den här gången så är det en PiCamera med en Raspberry Pi som får agera webbkamera. Den är riktad nästan exakt mot söder.

Tyvärr så hände något med kameran idag så att bilden blev helt grön, jag vet inte om det blev för varmt i lådan där kamera och Pi satt monterad eller om det var för att kameran fått alldeles för starkt ljus på sensorn. Just nu fungerar den iaf.

Den är bara igång mellan 07.00 och 19.00 och det sköts automatiskt. Anledningen till detta är dels att på natten så syns ändå inget väder men främst att eftersom kameran står på insidan av mitt köksfönster så blir det gärna en massa reflexer i glaset som man helst vill undvika.

Programmet för att kontrollera det hela är ganska enkelt och kan ses härunder eller laddas hem här.

 

#! /usr/bin/python
# -*- coding: utf-8 -*-
 
# webcam.py - Göran Gustafsson 2015 http://gorgusgfx.se
#
# Program som hanterar bildtagning, skalning och uppladdning av bilder
# till en server. Programmet är tänkt att köras en gång per minut
# via cron.
#
 
import os
import time
import Image
import ImageOps
import paramiko
 
 
# Funktionen som laddar upp small.jpg och big.jpg till webbservern
 
def upload():
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect('ssh.address.com', username="username", password="password")
    sftp = ssh.open_sftp()
    localpath = '/home/pi/webcam/big.jpg'
    remotepath = 'wp-content/cam/big.jpg'
    sftp.put(localpath, remotepath)
    localpath = '/home/pi/webcam/small.jpg'
    remotepath = 'wp-content/cam/small.jpg'
    sftp.put(localpath, remotepath)
    sftp.close()
    ssh.close()
    return 0
 
 
# Här kollar vi om vi ligger inom tidsfönstret och beroende på om vi gör
# det eller inte så tas antingen en ny bild av kameran eller så laddas 
# offline-bilden upp.
 
localtime = time.localtime(time.time())
tm = "{0:0>2}".format(localtime.tm_hour)
if (int(tm)>6 and int(tm)<20):
    # Först tar vi bort flaggfilen om den finns och sen tas själva bilden
    # med maxupplösning. Därefter laddas bilden in, skalas om och sparas 
    # två gånger innan de bägge bilderna laddas upp till servern.
 
    if  os.path.exists('/home/pi/webcam/flag.txt'): os.remove('/home/pi/webcam/flag.txt')
    command = "raspistill -w 2592 -h 1944 -rot 270 -o /home/pi/webcam/bild.jpg"
    os.system(command)
    im = Image.open("/home/pi/webcam/bild.jpg")
    img = ImageOps.fit(im,(640,480))
    img.save("/home/pi/webcam/big.jpg",quality=60,optimize=True,progressive=True)
    img = ImageOps.fit(im,(178,134),Image.ANTIALIAS)
    img.save("/home/pi/webcam/small.jpg",quality=75,optimize=True,progressive=True)
    upload()
else:
    # Om flaggfilen inte finns så kopiera offline-bilden till big.jpg 
    # och small.jpg och ladda upp dem till servern. Skapa sen flaggfilen 
    # för att tala om att vi gjort detta. Då slipper vi slösa bandbredd 
    # på att ladda upp samma 2 bilder gång på gång på gång...
 
    if not os.path.exists('/home/pi/webcam/flag.txt'):
        im = Image.open("/home/pi/webcam/offline.jpg")
        im.save("/home/pi/webcam/small.jpg",quality=90,optimize=True,progressive=True)
        im.save("/home/pi/webcam/big.jpg")
        upload()
        fd=open("/home/pi/webcam/flag.txt",'w')
        fd.close()

 

Ändra fontstorlek i Raspberry Pi-konsolen

IMG_6762När  man har trötta gamla ögon som jag så kan det ibland vara svårt att se små tecken på en monitor med HD-upplösning. T.ex. så blir tecknen i konsolen alldeles för små för att jag praktiskt ska kunna använda skärmen. Samtidigt är det ju bra att ha en högupplöst skärm om man vill titta på film eller bilder. Då får man ändra på teckensstorleken och till skillnad från terminalen i fönstermiljön där man kan ändra det direkt i fönstret så får man ändra i en konfigureringsfil för att ställa in fontstorleken.

Läs här för att se hur man gör.

Översätt sidan
EnglishFrenchGermanItalianPortugueseRussianSpanish
Live data
Besökskarta
Login-box
  • Login
    Login