Dörrövervakning med kamera

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!
Användarvisningsbild
Plutonium
Moderator
Inlägg: 1246
Blev medlem: 04 jan 2008, 02:34
Ort: Nossebro
Kontakt:

Dörrövervakning med kamera

Inlägg av Plutonium »

Har en Axis 205 nätverkskamera som är riktad ut från ingången till huset där även kan observera förrådet. Och idén slog mig att logga dörren så jag införskaffade mig några magnet brytare och kopplade enligt schemat nedan.

Men sen nöjde jag mig inte av det utan jag gjorde så att kameran tar en bild så fort dörren öppnas eller stängs.
Med hjälp av ett gammalt bash script som jag använde till annat så var saken biff.
Får även ett sms när dörren öppnas eller stängs.

Här blev resultatet http://plutonium.homelinux.com/index.php?fdorren


Bild
Bilden är kopierad från denna tråd http://www.temperatur.nu/forum/viewtopi ... =1020#1020

Kod: Markera allt

    #!/bin/bash

    # Mysql
    USER="1wire"
    PASSWD="******"
    DB="1wire"
    MYSQL="mysql -u $USER -p$PASSWD -D $DB -e"

    # Första argumentet i funktionen är första ordet i filen (nytt värde)

    function reagera {

            if [ ${1} -eq 0 ]; then

    SMSLARM="Förrådsdörren är nu öppen."

       BILDNAMN=`date +%Y%m%d%H%M%S`

       $MYSQL "INSERT INTO forradet (status, bild) VALUES ('öppen', $BILDNAMN)"

        wget -q http://192.168.9.5/jpg/image.jpg -O /home/plutonium/public_html/bilder/forradet/$BILDNAMN.jpg

       else

    SMSLARM="Förrådsdörren är nu stängd."

       BILDNAMN=`date +%Y%m%d%H%M%S`

       $MYSQL "INSERT INTO forradet (status, bild) VALUES ('stängd', $BILDNAMN)"

        wget -q http://192.168.9.5/jpg/image.jpg -O /home/plutonium/public_html/bilder/forradet/$BILDNAMN.jpg

            fi

    }

    function smslarm {

    if [ $LARM_VALUE -eq 1 ]; then

        echo -e "subject: Status$*\n\n  $(date +%Y:%m:%d:%k:%M:%S)"  $SMSLARM | sendmail -f Vakt@Home.nu 0730******@sms.comviq.se

    fi

    }

    # Inte lämna skräfiler kvar
    function cleanup {
            rm "$TEMPFIL"
            exit 0
    }

    # Första argumentet måste vara en fil
    [ -z "$1" -o ! -f "$1" ] && echo "overvakning.sh <fil>" && exit 1

    FIL=$1
    TEMPFIL=$(tempfile)

    # Hantera ^C och dylikt
    trap cleanup SIGHUP SIGINT SIGTERM

    cp "$FIL" "$TEMPFIL"

     while /bin/true; do

        # Kollar värdet sms alarm
           ROWS=`$MYSQL "SELECT value FROM settings WHERE setting='smsalarm'"`
           LARM_VALUE=$(echo $ROWS | cut -f2 -d' ')
        if [ `cat $FIL` -eq `cat $TEMPFIL` ]; then
    
                #echo "Value är lika med value"
                sleep 1

        
                        if [ `cat $FIL` -eq `cat $TEMPFIL` ]; then
      
                                echo "Avbryt eld upphör!" &>/dev/null
     
                        else
                                #echo "Allt stämde så skriv till databasen!"
    
           diff -qs $FIL $TEMPFIL &>/dev/null
           [ $? -ne 0 ] && reagera $(cat $FIL | cut -d " " -f 1) && smslarm
           cp "$FIL" "$TEMPFIL"

                        fi
    
        else
    
                echo "Allt är åt helskotta nu skiter jag i detta" &>/dev/null

        fi
    
        done

Sql struktur

Kod: Markera allt

-- phpMyAdmin SQL Dump
-- version 2.11.1.1
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Jan 26, 2009 at 01:42 AM
-- Server version: 5.0.37
-- PHP Version: 5.2.3

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Database: `1wire`
--

-- --------------------------------------------------------

--
-- Table structure for table `entredoor`
--

CREATE TABLE IF NOT EXISTS `entredoor` (
  `id` int(20) NOT NULL auto_increment,
  `status` varchar(20) NOT NULL,
  `datum` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  KEY `id` (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=709 ;

--
-- Dumping data for table `entredoor`
--

INSERT INTO `entredoor` (`id`, `status`, `datum`) VALUES
(1, 'låst', '2008-07-26 18:55:39'),
(2, 'upplåst', '2008-07-26 18:56:09');


-- --------------------------------------------------------

--
-- Table structure for table `forradet`
--

CREATE TABLE IF NOT EXISTS `forradet` (
  `id` int(11) NOT NULL auto_increment,
  `status` varchar(16) NOT NULL,
  `bild` text NOT NULL,
  `datum` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  KEY `id` (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

--
-- Dumping data for table `forradet`
--

INSERT INTO `forradet` (`id`, `status`, `bild`, `datum`) VALUES
(1, 'öppen', '20090126010305', '2009-01-26 01:03:05'),
(2, 'stängd', '20090126010312', '2009-01-26 01:03:12');

-- --------------------------------------------------------

--
-- Table structure for table `settings`
--

CREATE TABLE IF NOT EXISTS `settings` (
  `id` int(14) NOT NULL auto_increment,
  `setting` varchar(16) NOT NULL,
  `value` tinyint(1) default NULL,
  KEY `id` (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

--
-- Dumping data for table `settings`
--

INSERT INTO `settings` (`id`, `setting`, `value`) VALUES
(1, 'smsalarm', 1);

http://essunga.org
Moderator - Temperatur.nu
the_tnt
Gillar hemautomation
Inlägg: 34
Blev medlem: 11 nov 2008, 16:20
Ort: Ludvika
Kontakt:

Re: Dörrövervakning med kamera

Inlägg av the_tnt »

Sju sekunder in och ut? Du borde bli bankrånare. ;)

Kul idé, men frågan är om bilderna skulle duga till identifiering. Något mörkt på natten också, rörelse detektor på strålkastare?


Blir att tänka på en demo jag var på arrangerad av Axis själva, de hade satt kameror på en bensinmack. När någon lyfte pumphandtaget för att tanka togs bilder på personen och på bilens nummerplåt. Om inte en betalning registrerats inom X minuter sparades bilderna, annars kastades de. Det gjorde jobbet att sålla fram smitare mycket enklare, speciellt som den aktuella macken haft VHS-band för övervakningen tidigare.

De har även mjukvara som tar bilder om det sker rörelser inom ett fördefinierat område av det kameran ser. På så vis kunde man t.ex. rikta kameran mot en hel parkeringsplats och markera en viss P-ruta. Bara om det var rörelser på den P-rutan togs det bilder.

Eller om man riktade kameran i ett rum där rörelser utanför ett fönster inte skulle registreras, bara att markera bort fönstret från rörelsedetekteringen.
larky
Moderator
Inlägg: 1166
Blev medlem: 01 feb 2008, 12:21
Ort: Skellefteå
Kontakt:

Re: Dörrövervakning med kamera

Inlägg av larky »

Det är väl 7 sek från det att dörren registreras som öppen tills att den är stängd igen?
Användarvisningsbild
Plutonium
Moderator
Inlägg: 1246
Blev medlem: 04 jan 2008, 02:34
Ort: Nossebro
Kontakt:

Re: Dörrövervakning med kamera

Inlägg av Plutonium »

Precis, 7 sek blev det att öppna ställa in lite sopper och stänga dörren igen..

Har en linux mjukvara till Axis kameran som heter motion, som dekterar en viss yta. Som kameran är riktad nu så dekteras det på gången om rörelsen består mer än 3 sek..

Det skulle nog kunna gå att identifiera nån person, om det är dagsljus ute :). På natten, nja, kan nog se färgen på jackan osv. Syftet till detta är en kul grej bara :) Måste utveckla sig lite ;)
http://essunga.org
Moderator - Temperatur.nu
Skriv svar