Projekt Píp šou

Verze z 5. 6. 2016, 19:11, kterou vytvořil Lucie.Rocnakova (diskuse | příspěvky) (Zkouška vložení obrázku.)

Členové projektu

Anna Marie Němcová (SNM, am.nemcova@yahoo.co.uk)
Vojtěch Soudný (SNM, vojtech.soudny@gmail.com)
Kateřina Cepáková (SNM, katka.ce@seznam.cz)
Lucie Ročňáková (SNM, lucierocnakova@gmail.com)
Eva Hryzbylová (SNM, ehryzbylova@seznam.cz)

Motivace vzniku projektu a jeho význam

Chtěli jsme vytvořit projekt, který by propojil fyzický svět s tím virtuálním. Sociální síť Twitter používá estetiku z ptačí říše (ve znaku je ptáček a příspěvek se označuje jako “pípnutí”), proto jsme chtěli tuto estetiku zhmotnit a následně ji na tuto sociální síť vrátit a tím tak kruh uzavřít.
Krmítko je pro ptáky obzvláště v chladnějších měsících podstatným rezervoárem potravy. Dochází také k interakci mezi lidmi a ptactvem, ke které v běžných situacích nedochází. I přesto je ale většina děje v krmítku lidem skryta. Pokud už se člověk rozhodne ptáky v krmítku pozorovat, ptáci během chvíle splašeně odletí.
Naše Píp šou se snaží skryté děje dokumentovat a v reálném čase odhalovat. Přílet ptáka do krmítka zaznamená pohybový sensor PIR, jehož signál aktivuje fotoaparát, který děj zachytí. Fotografie je následně přenesena na sociální síť Twitter, kde ji mohou lidé ihned vidět, okomentovat, sdílet či s ní jinak pracovat.
Počítáme s tím, že se na krmítku bude dále pracovat, například na přidání zvuku, krátkých videí, streamu anebo automatické detekce chybějící potravy a nezávislost celého systému.

Použitý materiál a software

Hardware:


Raspberry Pi
Pi Camera Module
PIR Motion Sensor
breadboard
3x odpor
propojovací kabely

Software:


OS Raspbian
Python
Cyberduck

Materiál:


dřevěnná prkna
vruty
sololitová deska
mech
rákosí
hlína
igelitová taška
lepící páska

Vlastní zdrojový kód

from picamera import PiCamera

import time

import RPi.GPIO as GPIO

import sys

from twython import Twython


CONSUMER_KEY = '****'

CONSUMER_SECRET = '***'

ACCESS_KEY = '***'

ACCESS_SECRET = '***'


api = Twython(CONSUMER_KEY,CONSUMER_SECRET,ACCESS_KEY,ACCESS_SECRET)

api.update_status(status=sys.argv[1])


GPIO.setwarnings(False)

GPIO.setmode(GPIO.BOARD)

GPIO.setup(11, GPIO.IN)


camera = PiCamera()

camera.rotation = -90


while True:

      i=GPIO.input(11)
      if i==0:  
      	print "Ptak neni",i           #Pokud je output z motion sensoru LOW
           time.sleep(3)
      elif i==1:                         #Pokud je output z motion sensoru HIGH
      	print "Ptak je!", i
           camera.capture("/home/pi/Desktop/pipsou_test/pipsou.jpg")
           photo = open('pipsou.jpg','rb')
           api.update_status_with_media(media=photo, status='Ptáček přiletěl!')
           time.sleep(10)

Zároveň jsme do RPi vložili shell kód tak, aby se automaticky spustil skript při spuštění RPi.

cd /

cd /home/pi/Desktop

sudo python pipshow_test_1.py

cd /

Popis vývoje a konečné verze

První varianta pracovala s Arduinem, které jsme pomocí sériového portu chtěli připojit k Raspbery Pi. Následně se ale ukázalo, že pro projekt je vhodnější jen samostatné Raspbery Pi. Pomocí breadboardu jsme k RPi připojili PRI Motion Sensor. Přes ethernetový kabel jsme RPi připojili k síti a nakonfigurovali tak, aby pracoval i Pi Camera Module. Následně jsme vytvořili skript v Pythonu, který při spuštění senzoru aktivuje kameru a následně fotografii uloží. V další fázi jsme kód upravili tak, aby fotku neukládal, ale tweetnul na sociální síť Twitter (@pip_sou): RPi zkontroluje PIR senzor:

- pokud aktivitu nezaznamená
tři sekundy počká, následně se aktivuje znovu
- pokud zaznamená aktivitu
spustí Pi Cam Module a vyfotí snímek
fotografii sdílí na sociální síť Twitter
po 10s se PIR senzor aktivuje znovu

V poslední fázi jsme přes crontab nastavili shellový skript tak, aby se skript v Pythonu automaticky spusti při zapnutí RPi. Nyní tedy stačí připojit RPi do sítě a krmítko začne automaticky fotit.

Predni pohled.jpeg

Návrhy na zlepšení

Dále je možnost celou jednotku učinit samostatně fungujícím systémem (napájení přes solární panely, připojení k WiFi)
Možnost využití videa