1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <?xml-stylesheet type="text/xsl" href="helma.xsl"?>
3 <xmlroot xmlns:hop="http://www.helma.org/docs/guide/features/database">
4 <hopobject id="2098" name="stache" prototype="Page" created="1347463134138" lastModified="1370280388422">
5 <hop:parent idref="20" prototyperef="Page"/>
6 <is_xhtml type="boolean">true</is_xhtml>
7 <http_remotehost>127.0.0.1</http_remotehost>
8 <pname>BeagleStache</pname>
9 <registrant>blog.hangerhead.com</registrant>
10 <oauth2-token></oauth2-token>
11 <http_language>en-US,en;q=0.8</http_language>
13 <http_browser>Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36</http_browser>
14 <time type="date">03.06.2013 12:26:28 CDT</time>
15 <updatetime type="date">12.09.2012 10:18:54 CDT</updatetime>
16 <hopsession>127.0.0.198.47.16.1dhr5p784slwt</hopsession>
17 <body><p>This application builds on an OpenCV face detection sample, but adds a black mustache on the faces detected and (now) uploads the picture to Twitter!</p>
\r
18 <a class="twitter-timeline" href="https://twitter.com/BeagleStache" data-widget-id="281231963107495936">Tweets by @BeagleStache</a>
\r
19 <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
\r
21 <a href="https://plus.google.com/u/1/104712705716996155416/posts/8FXA3CfCGLF"><img src="https://lh3.googleusercontent.com/-W6CK1Y5796Y/UBWCQKhU2FI/AAAAAAAAA1k/H_kPA894L4c/s777/34c4d75b18ad001d621c853fb33a7ecc.png" width="300" /></a>
\r
23 <p>You can see it in action in a <a href="http://www.engineeringtv.com/video/BeagleBone-and-Some-Fun-Applica;Only-Engineering-TV-Videos">video interview at DESIGN East</a>:<br />
\r
24 <iframe src="http://www.engineeringtv.com/video/BeagleBone-and-Some-Fun-Applica/player?layout=&read_more=1" width="420" height="300" frameborder="0" scrolling="no"></iframe>
\r
26 <p>There was also a video taken at CES 2013</p>
\r
27 <iframe width="560" height="315" src="http://www.youtube.com/embed/usITuaAsQek" frameborder="0" allowfullscreen></iframe>
\r
28 <p>BeagleStache premiered at <a href="http://east.ubmdesign.com/expo/design-east-theater">DESIGN East Theater during the Gadget Freak DIY Lab</a> on Sep 19, 2012 (<a href="https://github.com/jadonk/stache/raw/master/presentations/DesignEast-GadgetFreak-DIY-Lab-BeagleStache.pdf">slides</a>). More information about how it was created is referenced below.</p>
\r
29 <a href="https://plus.google.com/102344295024422039483/posts/bY9qMwqszVD"><img src="https://lh4.googleusercontent.com/-AiusjzEhdOs/UFi8ZrTcNQI/AAAAAAAAB4E/D3yNDwX9S1I/s634/12+-+1" /></a>
\r
30 <p>The BeagleStache was also featured at <a href="http://blog.makezine.com/2012/09/29/mini-mustache-machine/">Maker Faire NY 2012</a>:<br />
\r
31 <img src="http://makezineblog.files.wordpress.com/2012/09/beaglebone-mustache.jpg?w=598&h=424" />
\r
33 <p>Drew Fustini also did a very nice <a href="http://www.element14.com/community/community/knode/single-board_computers/next-gen_beaglebone/blog/2013/06/01/boothstache-facial-hair-fun-with-beaglebone-black">"BoothStache" using BeagleBone Black at DesignWest 2013</a> and did a very nice write-up.<a href="http://www.element14.com/community/community/knode/single-board_computers/next-gen_beaglebone/blog/2013/06/01/boothstache-facial-hair-fun-with-beaglebone-black"><img src="http://www.element14.com/community/servlet/JiveServlet/downloadImage/38-11795-151764/450-337/20130506_144729.jpg" /></a></p>
\r
34 <h2>How to build one</h2>
\r
35 <p>Follow the instructions on <a href="https://docs.google.com/presentation/d/1rb1Rvw05c1sFOoZiJ8Re86VVsU_-I90Ac0il8ZbXWD0/edit?usp=sharing">the Google Doc presentation</a>:</p>
\r
37 <li>Buy <a href="http://beagleboard.org/buy">BeagleBone</a>.</li>
\r
38 <li>Buy PS3 Eye.</li>
\r
39 <li><a href="http://beagleboardtoys.com/wiki/index.php?title=BeagleBone_LCD3">Buy BeagleBone LCD3 Cape</a> or another power source.</li>
\r
40 <li><a href="http://circuitco.com/support/index.php?title=BeagleBone_Battery">Buy BeagleBone Battery Cape</a>.</li>
\r
41 <li>For tweeting, buy <a href="http://www.iogear.com/product/GWU627/">Iogear GWU627 Ethernet-to-WiFi adapter</a> and tether it to WiFi. To overcome the limitations of the small screen, you should probably configure it separately to the WiFi and then connect it to your board.</li>
\r
42 <li>Assemble it together into some kind of case.</li>
\r
43 <li>You might want to <a href="http://beagleboard.org/Getting+Started#update">update BeagleBone to latest image</a>.</li>
\r
44 <li>Boot board and login to console, perhaps using <a href="http://beagleboard.org/getting-started">the built-in USB networking and Gate One</a>.</li>
\r
45 <li>Clone repository and build:
\r
47 root@beagleboard:~# git clone git://github.com/jadonk/stache
\r
48 root@beagleboard:~# cd stache
\r
49 root@beagleboard:~/stache# make && make install
\r
52 <li>Edit config.js to include your tweet message, location of your LED control files and API keys for your Twitter account. To acquire your keys:
\r
53 <ul><li>Sign in at <a href="https://dev.twitter.com/">dev.twitter.com</a>.</li>
\r
54 <li>Create an application on the <a href="https://dev.twitter.com/apps">"my applications" page</a>.</li>
\r
55 <li>Set the access level to "read and write".</li>
\r
56 <li>Create your access token.</li>
\r
57 </ul></li>
\r
58 <li>Make sure the date/time is set properly because Twitter requires it.</li>
\r
59 <li>Double-click the BeagleStache icon to execute 'runstache' and start the app running. Be patient and try not to start it up multiple times.</li>
\r
61 <h3>Alternatively building on BeagleBoard-xM, instead of BeagleBone</h3>
\r
62 <p>I believe I used <a href="http://angstrom.s3.amazonaws.com/demo/beagleboard/Angstrom-TI-GNOME-image-eglibc-ipk-v2012.01-core-beagleboard-2012.01.11.img.gz">this SD card image</a>.</p>
\r
64 root@beagleboard:~# opkg install --force-overwrite task-native-sdk cpp libstdc++6 opencv opencv-dev opencv-apps
\r
65 root@beagleboard:~# opkg install --force-overwrite libopencv-imgproc-dev libopencv-highgui-dev libopencv-ml-dev
\r
66 root@beagleboard:~# opkg install --force-overwrite libopencv-video-dev libopencv-features2d-dev libopencv-core-dev
\r
67 root@beagleboard:~# opkg install --force-overwrite libopencv-calib3d-dev libopencv-objdetect-dev libopencv-contrib-dev
\r
68 root@beagleboard:~# opkg install --force-overwrite libopencv-legacy-dev libopencv-flann-dev
\r
69 root@beagleboard:~# git clone git://github.com/jadonk/stache
\r
70 root@beagleboard:~# cd stache
\r
71 root@beagleboard:~/stache# make && make install
\r
73 <p>For reference, below is my version information:</p>
\r
75 root@beagleboard:~# cat /etc/version
\r
76 Angstrom v2012.01-core
\r
77 root@beagleboard:~# ls -l /etc/version
\r
78 -rw-r--r-- 1 root root 23 Jan 11 18:31 /etc/version
\r
79 root@beagleboard:~# cat /etc/angstrom-version
\r
80 Angstrom v2012.01-core (Core edition)
\r
81 Built from branch: angstrom-staging
\r
82 Revision: a9fe47faf2f4241a2b80c26d3d38ec8694c71c08
\r
83 Target system: arm-angstrom-linux-gnueabi
\r
84 root@beagleboard:~# cat /etc/angstrom-build-info
\r
85 Configured Openembedded layers:
\r
86 meta-angstrom = master:f0f99ea3cd132a6a69a9f4bad22da55403f9f940
\r
91 meta-xfce = master:c65139cd012231db6c3994481d11fe118773afab
\r
92 meta-java = master:bce529e9cde236a1814d8596bb93aed406680a28
\r
93 meta-ti = master:f9f283ea3cbd24cc9ba7c5ba830f10e30da5ea82
\r
94 meta-ettus = master:f097bb61772d07610d84a668dc19a47e180962b3
\r
95 meta-efikamx = master:2ef47fdd4e8232d766c0c63d9427253ee56e31d0
\r
96 meta-nslu2 = master:17853811179f2760791c6b138f96e9dd15493517
\r
100 meta-palm = master:6031c4359af9cea72c983df23e3c0cc9579cb126
\r
106 meta-n450 = master:7c3db7010479970f3f92501349827c517de3c36a
\r
107 meta = angstrom-staging:a9fe47faf2f4241a2b80c26d3d38ec8694c71c08
\r
109 <pseudoparent idref="20" prototyperef="Page"/>
110 <rssfeed>https://github.com/jadonk/stache/commits/master.atom</rssfeed>
111 <homepage>https://github.com/jadonk/stache</homepage>
112 <render_skin>project</render_skin>
113 <edit_skin>edit_project</edit_skin>
114 <http_referer>http://beagleboard.org/project/stache/edit</http_referer>
115 <http_host>beagleboard.org</http_host>
117 <shortdesc>OpenCV-based face detection sample with added mustache</shortdesc>
118 <user>blog.hangerhead.com</user>