Projekt Píp šou
Obsah
Č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.
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