Na de a telefon nem szólt, hogy csengettek… 🙂 írta ma Ákos nekem. Summa summarum, ma telefonos kapucsengőt szerelünk. Sokszor előjött már a probléma, hogy a lakásban levő csengőt nem halljuk, amikor kint vagyunk a kertben, sőt ez még inkább gond, ha épp valahol a városban bócorgunk és egy futár épp megáll az ajtó előtt. Mivel a kapucsengő is csak egy mezei kontaktus, ami a homeaut serverben egy digitális input formájában jelenik meg, így nem nagy dolog az egészet bárhová elirányítani. A bejáratot látja egy IP kamera is, úgyhogy akár meg is nézhetjük, ki tenyerelt rá a csengőre. Mindezekből a következő recept állt össze:
- a csengő megnyomása generáljon egy push notificationt a fiúk és eFi telefonjára
- a push üzenetből azonnal el tudjak navigálni abba az iOS alkalmazásba, amin látom a bejárati IP kamera képét
- egyúttal tegyük el a kameraképet egy network storage-ra, plusz küldjük el eFinek emailben
- mindezt tegyük védetté a csengőt N alkalommal kényszeresen egymás után megnyomókkal szemben
#!/bin/bash lastrun () { TESTFILE="./kapucsengo.timestamp" if [ -e $TESTFILE ] then LASTRUNDATE=`date +%s -r $TESTFILE` else LASTRUNDATE="0" fi NOW=`date +%s` DIFF=$((NOW-LASTRUNDATE)) touch $TESTFILE return $DIFF } MIN_REPEAT=30 # 30 másodpercen belül nem reagálunk újra lastrun LR=$? if [ $LR -gt $MIN_REPEAT ] then # ask pushover.net to send notification curl -s \ -F "token=MY_PUSHOVER_TOKEN" \ -F "user=MY_PUSHOVER_USERID" \ -F "message=CSENGETTEK" \ -F "title=ihome - r9" \ -F "url=ipcamviewer://launch?groupName=kapucsengo" \ -F "url_title=View cameras" \ https://api.pushover.net/1/messages.json 2>&1 /dev/null # save streetcam image on ring NOW=`date +%Y%m%d_%H%M%S` curl -u CAM_USER:CAM_PASS http://cam_url/cgi-bin/viewer/video.jpg >/media/cam_offline/$NOW.jpg cp /media/cam_offline/$NOW.jpg /media/camstorage/kapucsengo/ /usr/bin/mpack -s "Csengettek - r9" /media/cam_offline/$NOW.jpg EFI_EMAIL_ADDRESS find /media/cam_offline/* -mtime +365 -exec rm{} \; exit 0 else # Repeated call within $MIN_REPEAT seconds - script cancelled exit 1 fi
- szól a curl-nak, hogy küldjön a pushover.net felé egy notifikációs üzenetet JSON formátumban
- szintén a curl-t kéri meg, hogy cibálja le az IP kamerából az épp látott képet
- felmásolja az előbb letöltött képet a NAS-ra
- megkéri az mpack binárist, hogy küldje el nekem a fotót attachmentben
- végül a lokális storage-ből törli az esetlegesen meglevő, 365 napnál régebbi kameraképeket
Ez a homeaut új volt, köszi! Ezt is meg kell nézzem.
Egyébként egy éve volt az Indiegogo-n egy hasonló cucc:
https://www.indiegogo.com/projects/skybell-answer-door-from-mobile-device
Több mint fél millát összeszedtek a fiúk (/lányok) vele. Neked sem ártana lassan egy ilyen kampányt indítanod. 🙂
Crowdfunding ötlet van bőven, csak resource, ami terméket csinál belőle, az a kevés 🙂