{"id":4456,"date":"2014-09-27T15:09:33","date_gmt":"2014-09-27T19:09:33","guid":{"rendered":"http:\/\/mti.code.arc.cmu.edu\/2014\/?p=4456"},"modified":"2014-09-27T22:24:08","modified_gmt":"2014-09-28T02:24:08","slug":"dizzy-the-deceitful-by-patt-vira-epic-jefferson","status":"publish","type":"post","link":"http:\/\/mti.code.arc.cmu.edu\/2014\/?p=4456","title":{"rendered":"&#8220;Dizzy, The Deceitful&#8221; by Patt Vira &#038; Epic Jefferson"},"content":{"rendered":"<p><a href=\"http:\/\/mti.code.arc.cmu.edu\/2014\/wp-content\/uploads\/2014\/09\/IMAG1084.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-4457\" src=\"http:\/\/mti.code.arc.cmu.edu\/2014\/wp-content\/uploads\/2014\/09\/IMAG1084-500x282.jpg\" alt=\"IMAG1084\" width=\"500\" height=\"282\" srcset=\"http:\/\/mti.code.arc.cmu.edu\/2014\/wp-content\/uploads\/2014\/09\/IMAG1084-500x282.jpg 500w, http:\/\/mti.code.arc.cmu.edu\/2014\/wp-content\/uploads\/2014\/09\/IMAG1084-300x169.jpg 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>Dizzy is a friendly looking teddy who actually watches your every move and makes everything it sees public.<\/p>\n<p>Making use of the Raspberry Pi&#8217;s GPIO, we hooked up a PIR sensor to trigger a webcam capture event and publish the image to Tumblr.<\/p>\n<p><em><a href=\"http:\/\/patt-vira.tumblr.com\/\">patt-vira.tumblr.com\/<\/a><\/em><\/p>\n<p>&nbsp;<\/p>\n<h3>Challenges<\/h3>\n<p>By far the most challenging part of this project was working with the API. Since it&#8217;s a lot easier to find examples of raspi projects written in python than in c++, we decided to use python. For example, the <a href=\"https:\/\/www.tumblr.com\/docs\/en\/api\/v2\">Tumblr API <\/a>page has example code for python but not c++, adafruit has a great python tutorial for <a href=\"https:\/\/learn.adafruit.com\/adafruits-raspberry-pi-lesson-12-sensing-movement\">hooking up a PIR sensor to a Pi&#8217;s GPIO<\/a>.<\/p>\n<p><a href=\"https:\/\/github.com\/tumblr\/pytumblr\">pytumblr <\/a>is Tumblr&#8217;s official API client for python, but the instructions are unclear.<\/p>\n<h3><\/h3>\n<p>&nbsp;<\/p>\n<h3>Python-to-tumblr Tutorial<\/h3>\n<p><a href=\"http:\/\/epicjefferson.wordpress.com\/2014\/09\/28\/python-to-tumblr\/\">epicjefferson.wordpress.com\/2014\/09\/28\/python-to-tumblr\/<\/a><\/p>\n<p>&nbsp;<\/p>\n<h3>Source Code<\/h3>\n<p><a href=\"https:\/\/github.com\/epicjefferson\/webcamToTumblr\">github.com\/epicjefferson\/webcamToTumblr<\/a><\/p>\n<p>&nbsp;<\/p>\n<p><iframe loading=\"lazy\" width=\"500\" height=\"281\" src=\"\/\/player.vimeo.com\/video\/107304694\" frameborder=\"0\" webkitallowfullscreen=\"webkitallowfullscreen\" mozallowfullscreen=\"mozallowfullscreen\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p><a href=\"http:\/\/mti.code.arc.cmu.edu\/2014\/wp-content\/uploads\/2014\/09\/spycam01.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-4464\" src=\"http:\/\/mti.code.arc.cmu.edu\/2014\/wp-content\/uploads\/2014\/09\/spycam01-500x372.png\" alt=\"spycam01\" width=\"500\" height=\"372\" srcset=\"http:\/\/mti.code.arc.cmu.edu\/2014\/wp-content\/uploads\/2014\/09\/spycam01-500x372.png 500w, http:\/\/mti.code.arc.cmu.edu\/2014\/wp-content\/uploads\/2014\/09\/spycam01-300x223.png 300w, http:\/\/mti.code.arc.cmu.edu\/2014\/wp-content\/uploads\/2014\/09\/spycam01.png 721w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/mti.code.arc.cmu.edu\/2014\/wp-content\/uploads\/2014\/09\/spycam.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-4465\" src=\"http:\/\/mti.code.arc.cmu.edu\/2014\/wp-content\/uploads\/2014\/09\/spycam.jpg\" alt=\"spycam\" width=\"500\" height=\"375\" srcset=\"http:\/\/mti.code.arc.cmu.edu\/2014\/wp-content\/uploads\/2014\/09\/spycam.jpg 500w, http:\/\/mti.code.arc.cmu.edu\/2014\/wp-content\/uploads\/2014\/09\/spycam-300x225.jpg 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/mti.code.arc.cmu.edu\/2014\/wp-content\/uploads\/2014\/09\/spycam03.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-4466\" src=\"http:\/\/mti.code.arc.cmu.edu\/2014\/wp-content\/uploads\/2014\/09\/spycam03.jpg\" alt=\"spycam03\" width=\"500\" height=\"375\" srcset=\"http:\/\/mti.code.arc.cmu.edu\/2014\/wp-content\/uploads\/2014\/09\/spycam03.jpg 500w, http:\/\/mti.code.arc.cmu.edu\/2014\/wp-content\/uploads\/2014\/09\/spycam03-300x225.jpg 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h3><\/h3>\n","protected":false},"excerpt":{"rendered":"<p>Dizzy is a friendly looking teddy who actually watches your every move and makes everything it sees public. Making use of the Raspberry Pi&#8217;s GPIO, we hooked up a PIR sensor to trigger a webcam capture event and publish the image to Tumblr. <a href=\"http:\/\/patt-vira.tumblr.com\/\" class=\"autohyperlink\">patt-vira.tumblr.com\/<\/a> &nbsp; Challenges By far the most challenging part of this project [&hellip;]<\/p>\n","protected":false},"author":158,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,47,14,44],"tags":[125,110,127,122,80,131,123,130,121,129,128,126,124],"coauthors":[117],"class_list":["post-4456","post","type-post","status-publish","format-standard","hentry","category-assignment","category-hardware","category-software","category-submission","tag-api","tag-epic-jefferson","tag-flickr","tag-gpio","tag-motion","tag-patt-vira","tag-pir-sensor","tag-python","tag-raspberry-pi","tag-spy","tag-teddy","tag-tumblr","tag-webcam"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"http:\/\/mti.code.arc.cmu.edu\/2014\/index.php?rest_route=\/wp\/v2\/posts\/4456","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/mti.code.arc.cmu.edu\/2014\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/mti.code.arc.cmu.edu\/2014\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/mti.code.arc.cmu.edu\/2014\/index.php?rest_route=\/wp\/v2\/users\/158"}],"replies":[{"embeddable":true,"href":"http:\/\/mti.code.arc.cmu.edu\/2014\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4456"}],"version-history":[{"count":10,"href":"http:\/\/mti.code.arc.cmu.edu\/2014\/index.php?rest_route=\/wp\/v2\/posts\/4456\/revisions"}],"predecessor-version":[{"id":4485,"href":"http:\/\/mti.code.arc.cmu.edu\/2014\/index.php?rest_route=\/wp\/v2\/posts\/4456\/revisions\/4485"}],"wp:attachment":[{"href":"http:\/\/mti.code.arc.cmu.edu\/2014\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4456"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/mti.code.arc.cmu.edu\/2014\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4456"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/mti.code.arc.cmu.edu\/2014\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4456"},{"taxonomy":"author","embeddable":true,"href":"http:\/\/mti.code.arc.cmu.edu\/2014\/index.php?rest_route=%2Fwp%2Fv2%2Fcoauthors&post=4456"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}