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.

Dörrövervakning med kamera

Inläggav Plutonium » 26 jan 2009, 02:41

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 viewtopic.php?p=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
Plutonium
Moderator
 
Inlägg: 513
Blev medlem: 04 jan 2008, 02:34
Ort: Essunga station

Annons


Re: Dörrövervakning med kamera

Inläggav the_tnt » 26 jan 2009, 17:03

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.
the_tnt
Wannabe
 
Inlägg: 34
Blev medlem: 11 nov 2008, 16:20
Ort: Ludvika

Re: Dörrövervakning med kamera

Inläggav larky » 26 jan 2009, 19:49

Det är väl 7 sek från det att dörren registreras som öppen tills att den är stängd igen?
larky
Moderator
 
Inlägg: 379
Blev medlem: 01 feb 2008, 12:21
Ort: Skellefteå

Re: Dörrövervakning med kamera

Inläggav Plutonium » 26 jan 2009, 21:09

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
Plutonium
Moderator
 
Inlägg: 513
Blev medlem: 04 jan 2008, 02:34
Ort: Essunga station


Återgå till Mitt System

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 1 gäst