Dörrövervakning med kamera
Postat: 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

Bilden är kopierad från denna tråd http://www.temperatur.nu/forum/viewtopi ... =1020#1020
  
Sql struktur
			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
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
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);

 . På natten, nja, kan nog se färgen på jackan osv. Syftet till detta är en kul grej bara
. På natten, nja, kan nog se färgen på jackan osv. Syftet till detta är en kul grej bara