Get Adobe Flash player

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.

 

#! /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):
    # 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.

Vårtecken!

Idag, den 8 mars så hade vi den första vårdagen med riktigt varmt väder och i likhet med många andra så passade jag på att ta med kameran ut på en promenad. . Ett av bevisen på att det äntligen är vår lyckades jag fånga nedan.

8mars

Morse-kodare

På den gamla goda C64-tiden, i slutet av 80-talet, så gjorde jag ett program för att enkelt kunna ”sända” morsekod. Detta gjordes genom att i högtalaren spela upp morsekoden samtidigt som reläet till bandpelaren var tänkt att kopplas istället för en telegrafinyckel. Eftersom jag var mer intresserad av programmeringsbiten än av radiobiten så provades det aldrig ”skarpt”, men jag lyssnade långa stunder på hur programmet arbetade.

För några år sedan gjorde jag en liknande sak till Arduino och nu har jag äntligen lagt upp det här på hemsidan.

Klicka här för att läsa mer.

Shitty Shitty WebCam!

Den uppmärksamme har nog noterat att jag håller på att lägga till en ”väderkamera” till hemsidan. Problemet är bara att webbkameran som jag använder är av så usel kvalitet att den nästan aldrig lyckas ta en ordentlig bild. Det kan iofs också bero på mjukvaran på den Raspberry Pi som den är kopplad till. Ska prova med något annat program innan jag dömer ut kameran helt och börjar gräva i gömmorna efter nån annan kamera.

Som det ser ut nu så är kameran kopplad till en Raspberry Pi som använder en crontab för att en gång per minut ta en ny bild och ladda upp den till hemsidan. På hemsidan så uppdateras den samtidigt som temperaturvärdena.

Störningar!

Det kommer att vara lite störningar på sidan några dagar, främst med webbtemperaturen. Jag håller på att slåss med JavaScript för att automatiskt kunna uppdatera flera fält. Tyvärr har jag inte lyckats få till det hela ännu och det kan som sagt bli lite störningar tills jag löst det hela.

JavaScript är långt ifrån min starkaste gren…

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