(trådstarter)
   #12
 1,126     Østfold     2
Elektronisk vakthund har vært en suksess. Den bjeffer på katter, avisbud, naboer og allt som beveger seg utenfor i tidsrommet 24.00 til 06.00. Kattene har sluttet å gå forbi, jeg ser at antall utløsninger har gått ned.

Rådata fra loggfilen. Hver rekke med 11111 er signal fra IR sensoren, her 1'er representerer 0,4 sekunder av pulsen fra sensoren. Altså trigger sensoren ca 3-4 sekunder i gangen.

Start scan: Sun Jan 17 05:32:06 2016
Hours: 5
1111111100000000000000000001111111000000011111110000000000000001111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

  (trådstarter)
   #13
 1,126     Østfold     0
Kode for c-programmet som leser sensoren og skriver til fil etc.


#include <bcm2835.h>
#include <stdio.h>
#include <time.h>
#define PIN RPI_GPIO_P1_15
int main(int argc, char **argv){
    if (!bcm2835_init())  return 1;
    bcm2835_gpio_fsel(PIN, BCM2835_GPIO_FSEL_INPT);
    bcm2835_gpio_set_pud(PIN, BCM2835_GPIO_PUD_UP);
    int value = 0;
    int i;
    int hours;
    time_t clk;
    time_t rawtime;
    struct tm *info;
    char buffer[10];
    FILE(*logfile);

    while (1)   {
        while (value == 0) {
           value = bcm2835_gpio_lev(PIN);
           delay(10);}
        logfile = fopen("logfile","a");
        clk = time(NULL); fprintf(logfile, "Start scan: %s", ctime(&clk));
        time(&rawtime);
        info = localtime(&rawtime);
        strftime(buffer,10,"%H", info);
        hours = atoi(buffer);
        fprintf(logfile, "Hours: %d\n", hours);
// Time in GMT, one hour behind
        if(hours < 5 | hours > 23) {
        fprintf(logfile, "Bark.mp3\n");
           system("omxplayer bark.mp3>/dev/null&"); }
        for ( i=1; i<350; i++) {
           value = bcm2835_gpio_lev(PIN);
           printf("%d", value); fprintf(logfile, "%d", value);
           delay(400); }
        printf("\n"); fprintf(logfile,"\n");
        fclose(logfile); }
    bcm2835_close();
    return 0; }


  (trådstarter)
   #14
 1,126     Østfold     0
OK. Kom hjem i dag og parkerte bak huset. Der lå en pose og noen papirer tilhørende naboen. Merkelig. Noen har vært i tilhengeren til naboen og tatt med seg en pose om skulle på dynga, gått gjennom den og droppa den bak huset.

Så nå er det på han igjen. Har tatt munnkurven av den elektroniske vaktbikkja mi, og vært på Clas Ohlson og kjøpt flere IR-detektorer...
   #15
 3,210     Vestlandet     0
Hva med et usb-kamera? IR-sensoren trigger permanent lagring.
  (trådstarter)
   #17
 1,126     Østfold     0
Har styra i helga med å få i gang igjen epostmeldinger fra raspberry til min gmail.
Bruker SSMTP programmet som er beskrevet manges steder på nett, men den slutta å funke når jeg sa opp nextgentel så nå måtte jeg ta jobben med å sende epost via gmail.
Det var litt styr inntil jeg skjønte at parameteren 'hostname' ikke funket fordi de fleste eksempel sier du skal skrive din epostadresse (brukernavn@gmail.com). gmail godtar ikke dette lenger, så jeg bare skrev inn IP adressen til raspberryen på lokalnettet.

/etc/ssmtp/ssmtp.conf

root=shreksbrukernavn@gmail.com
mailhub=smtp.gmail.com:587
rewriteDomain=gmail.com
hostname=10.0.0.201
AuthUser=shreksbrukernavn
AuthPass=sumpen1001
UseTLS=YES
UseSTARTTLS=YES
FromLineOverride=YES
TLS_CA_File=/etc/ssl/certs/ca-bundle.crt




  (trådstarter)
   #18
 1,126     Østfold     0
Scriptet som sender eposten setter sammen en fil med litt info og kjøres automatisk hver morra:

pi@shrekrasp-1 ~/gcc $ cat email.c
#include <stdio.h>

int main(int argc, char **argv)
{
system("date > logfile.datestamp");
system("grep -e UTC logfile| tail -n 50 > logfile.today");
system("grep -e Hours logfile| tail -n 50 > logfile2.today");
system("cat header.txt logfile.datestamp logfile.today logfile2.today > logfile.txt");
system("/usr/sbin/ssmtp -t < logfile.txt");
return 0;
}



  (trådstarter)
   #19
 1,126     Østfold     0
Etter mye om og men fikk jeg til å bruke crontab for å kjøre 'email' scriptet hver gang den lange viseren står på 30 og den korte viseren står på 5 eller 15 (Så jeg kan se om avisbudet har vært der om natta, og om unga har kommet hjem om ettermiddagen)

pi@shrekrasp-1 ~ $ crontab -u pi -l
# Edit this file to introduce tasks to be run by cron.
# m h dom mon dow command

MAILTO="shreksusername@gmail.com"
30 5 * * * cd /home/pi/gcc && /home/pi/gcc/email
30 15 * * * cd /home/pi/gcc && /home/pi/gcc/email



  (trådstarter)
   #20
 1,126     Østfold     0
Neste delprosjekt blir nå å koble innbruddsalarmen til så jeg får epost når alarmen kobles på og av og eventuell alarm.