<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Fisher Innovation</title>
	<atom:link href="http://fisherinnovation.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://fisherinnovation.com</link>
	<description></description>
	<lastBuildDate>Sat, 12 May 2012 16:39:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>FITC Toronto 2012 – Ellie Met the World &amp; Jam3 Cleaned Up!</title>
		<link>http://fisherinnovation.com/fitc-toronto-2012-ellie-met-the-world-jam3-cleaned-up/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=fitc-toronto-2012-ellie-met-the-world-jam3-cleaned-up</link>
		<comments>http://fisherinnovation.com/fitc-toronto-2012-ellie-met-the-world-jam3-cleaned-up/#comments</comments>
		<pubDate>Fri, 27 Apr 2012 02:51:28 +0000</pubDate>
		<dc:creator>Matt Fisher</dc:creator>
				<category><![CDATA[Ellie]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[FITC]]></category>
		<category><![CDATA[Speaking]]></category>

		<guid isPermaLink="false">http://fisherinnovation.com/?p=621</guid>
		<description><![CDATA[FITC Toronto 2012 has come and gone and I have to say it was my favorite thus far. I had the opportunity of presenting my latest personal project called &#8220;Ellie&#8221;. Ellie is a project which uses a customized voice recognition system to provide assisting capabilities for the home. Ellie can take in spoken English commands, [...]]]></description>
			<content:encoded><![CDATA[<p>FITC Toronto 2012 has come and gone and I have to say it was my favorite thus far. I had the opportunity of presenting my latest personal project called &#8220;Ellie&#8221;. Ellie is a project which uses a customized voice recognition system to provide assisting capabilities for the home. Ellie can take in spoken English commands, perform tasks and calculations, and respond via synthesized speech. What makes Ellie different from other voice command systems is that Ellie listens for input 24/7, this allows her to be a hands free way to easily get tasks done around the home. Ellie is based on 100% open source technology and will be released open source upon completion. <span id="more-621"></span></p>
<p>During my presentation I talked about the project concept to initial development to the current status of Ellie. I also demoed the usage of Ellie and how to configure the system while it is running. This was honestly one of my favorite presentations I have ever done. A couple of video clips of my presentation have been edited together and you can view that below. Unfortunately, most of the usage demos didn&#8217;t get filmed, but more videos and demos will be released soon.<br />
<iframe src="http://player.vimeo.com/video/41106173" frameborder="0" width="500" height="281"></iframe></p>
<p>&nbsp;</p>
<hr />
<p>&nbsp;</p>
<div id="attachment_623" class="wp-caption alignleft" style="width: 310px"><a href="http://fisherinnovation.com/wp-content/uploads/2012/05/541314_10150714739997401_192489382400_9943254_1813417999_n.jpg"><img class="size-medium wp-image-623 " title="Jam3 Crew @ FITC 2012 Awards" src="http://fisherinnovation.com/wp-content/uploads/2012/05/541314_10150714739997401_192489382400_9943254_1813417999_n-300x200.jpg" alt="" width="300" height="200" /></a><p class="wp-caption-text">Jam3 at FITC 2012 Awards</p></div>
<p>On another note, Jam3 managed to take home a total of 4 FITC awards for our work in the past year. It was a great night where all the office employees came out to celebrate. We took home the awards for Technical Excellence (<a title="Bear71" href="http://bear71.nfb.ca/#/bear71" target="_blank">bear71.nfb.ca</a>), Self Promotion (<a title="Jam3" href="http://jam3.com/" target="_blank">jam3.com</a>), Visual Design (<a title="Jam3" href="http://jam3.com/" target="_blank">jam3.com</a>) and our Senior Designer took home the Best Canadian Designer Website award.</p>
]]></content:encoded>
			<wfw:commentRss>http://fisherinnovation.com/fitc-toronto-2012-ellie-met-the-world-jam3-cleaned-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FITC Amsterdam 2012 &#8211; jQuery, jQuery Mobile &amp; MyDataFurnace.com</title>
		<link>http://fisherinnovation.com/fitc-amsterdam-2012-jquery-jquery-mobile-mydatafurnace-com/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=fitc-amsterdam-2012-jquery-jquery-mobile-mydatafurnace-com</link>
		<comments>http://fisherinnovation.com/fitc-amsterdam-2012-jquery-jquery-mobile-mydatafurnace-com/#comments</comments>
		<pubDate>Tue, 28 Feb 2012 14:01:37 +0000</pubDate>
		<dc:creator>Matt Fisher</dc:creator>
				<category><![CDATA[Code Snippets]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[FITC]]></category>
		<category><![CDATA[Speaking]]></category>

		<guid isPermaLink="false">http://fisherinnovation.com/?p=594</guid>
		<description><![CDATA[FITC Amsterdam has been a blast and I have met a ton of great people while attending this conference. During my time here I presented two presentations as well as hosted a full day workshop. In case you were looking for examples files or reference material I used during my presentations, look no further. If [...]]]></description>
			<content:encoded><![CDATA[<p>FITC Amsterdam has been a blast and I have met a ton of great people while attending this conference. During my time here I presented two presentations as well as hosted a full day workshop. In case you were looking for examples files or reference material I used during my presentations, look no further.<span id="more-594"></span></p>
<p>If you have any questions, concerns and or comments please feel free to contact me anytime either on <a href="https://twitter.com/#!/fisherinnovate" target="_blank">Twitter</a> or by e-mail (<a href="mailto:fisher.matt@gmail.com">fisher.matt@gmail.com</a>).</p>
<p>I would like to also thank Shawn and the rest of the <a title="FITC" href="http://fitc.ca/" target="_blank">FITC</a> crew for putting on another epic event.</p>
<p>Be sure to also checkout the <a title="FITC Amsterdam Opening Titles" href="http://vimeo.com/37524556" target="_blank">Opening Titles for FITC Amsterdam 2012</a>.</p>
<h6>The In&#8217;s and Out&#8217;s of jQuery Mobile</h6>
<ul>
<li><a href="http://labs.fisherinnovation.com/fitc/presentation/">http://labs.fisherinnovation.com/fitc/presentation/</a></li>
<li><a href="http://labs.fisherinnovation.com/fitc/amsterdam/">http://labs.fisherinnovation.com/fitc/amsterdam/</a></li>
</ul>
<h6>Getting Acquainted with jQuery</h6>
<ul>
<li><a href="http://labs.fisherinnovation.com/jquery/">http://labs.fisherinnovation.com/jquery/</a></li>
</ul>
<h6>Heating Homes With Distributed Computing</h6>
<ul>
<li><a href="http://mydatafurnace.com/">http://mydatafurnace.com/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://fisherinnovation.com/fitc-amsterdam-2012-jquery-jquery-mobile-mydatafurnace-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ellie &#8211; Proof of Concept Video</title>
		<link>http://fisherinnovation.com/ellie-proof-of-concept-video/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ellie-proof-of-concept-video</link>
		<comments>http://fisherinnovation.com/ellie-proof-of-concept-video/#comments</comments>
		<pubDate>Sat, 21 Jan 2012 03:06:21 +0000</pubDate>
		<dc:creator>Matt Fisher</dc:creator>
				<category><![CDATA[Ellie]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Videos]]></category>

		<guid isPermaLink="false">http://fisherinnovation.com/?p=553</guid>
		<description><![CDATA[My latest project in the works is called Ellie. Ellie is a Fisher Innovation project to create a customized voice recognition system with assistance capabilities for use in the home. Ellie can take in spoken English commands, perform tasks and calculations and respond via synthesized speech. This video illustrates the idea put into action. I will [...]]]></description>
			<content:encoded><![CDATA[<p>My latest project in the works is called <strong>Ellie</strong>. Ellie is a Fisher Innovation project to create a customized voice recognition system with assistance capabilities for use in the home. Ellie can take in spoken English commands, perform tasks and calculations and respond via synthesized speech. This video illustrates the idea put into action.</p>
<p>I will be posting a lot more regarding this project very soon so be sure to stay tuned.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><iframe src="http://player.vimeo.com/video/35405179?title=0&amp;byline=0&amp;portrait=0" frameborder="0" width="601" height="338"></iframe></p>
<p><a href="http://vimeo.com/35405179">Ellie &#8211; Proof of Concept</a> from <a href="http://vimeo.com/user1141877">Matt Fisher</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://fisherinnovation.com/ellie-proof-of-concept-video/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Excited for FITC Amsterdam 2012!</title>
		<link>http://fisherinnovation.com/excited-for-fitc-amsterdam-2012/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=excited-for-fitc-amsterdam-2012</link>
		<comments>http://fisherinnovation.com/excited-for-fitc-amsterdam-2012/#comments</comments>
		<pubDate>Sat, 14 Jan 2012 19:20:46 +0000</pubDate>
		<dc:creator>Matt Fisher</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Speaking]]></category>

		<guid isPermaLink="false">http://fisherinnovation.com/?p=461</guid>
		<description><![CDATA[I couldn&#8217;t be happier to ring in 2012 by traveling over to Amsterdam this February to attend and speak at FITC Amsterdam (Feb. 26-28). I will be presenting two separate presentations this year, one on a overview of the jQuery framework and one on a personal project called MyDataFurnace.com. I will also be running a full day [...]]]></description>
			<content:encoded><![CDATA[<p>I couldn&#8217;t be happier to ring in 2012 by traveling over to Amsterdam this February to attend and speak at FITC Amsterdam (Feb. 26-28). I will be presenting two separate presentations this year, one on a <a href="http://www.fitc.ca/events/presentations/presentation.cfm?event=125&amp;presentation_id=1837" target="_blank">overview of the jQuery framework</a> and one on a <a href="http://www.fitc.ca/events/presentations/presentation.cfm?event=125&amp;presentation_id=1839" target="_blank">personal project called MyDataFurnace.com</a>. I will also be running a full day workshop on jQuery Mobile a day prior to the conference (<a href="http://www.fitc.ca/events/presentations/presentation.cfm?event=125&amp;presentation_id=1782" target="_blank">More details here</a>).</p>
<p>Be sure to get your ticket for the event if you haven&#8217;t already. <a href="http://www.fitc.ca/events/about/?event=125" target="_blank">Vist the FITC Amsterdam site</a> to get all the information you need.</p>
]]></content:encoded>
			<wfw:commentRss>http://fisherinnovation.com/excited-for-fitc-amsterdam-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FITC Screens 2011 &#8211; jQuery Mobile Presentation Slides</title>
		<link>http://fisherinnovation.com/fitc-screens-2011-jquery-mobile-presentation-slides/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=fitc-screens-2011-jquery-mobile-presentation-slides</link>
		<comments>http://fisherinnovation.com/fitc-screens-2011-jquery-mobile-presentation-slides/#comments</comments>
		<pubDate>Thu, 01 Dec 2011 16:11:53 +0000</pubDate>
		<dc:creator>Matt Fisher</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[FITC]]></category>
		<category><![CDATA[Learning]]></category>
		<category><![CDATA[Speaking]]></category>

		<guid isPermaLink="false">http://fisherinnovation.com/?p=471</guid>
		<description><![CDATA[After a great turnout to my jQuery Mobile presentation this year at FITC Screens 2011, I had a ton of attendees ask for the URL of the presentation I made in jQuery Mobile. So without anymore waiting here it is. http://labs.fisherinnovation.com/fitc/presentation/ More work like this can always be found in the Labs section of this [...]]]></description>
			<content:encoded><![CDATA[<p>After a great turnout to my jQuery Mobile presentation this year at FITC Screens 2011, I had a ton of attendees ask for the URL of the presentation I made in jQuery Mobile. So without anymore waiting here it is.</p>
<p><a title="FITC SCreen 2011 - jQuery Mobile" href="http://labs.fisherinnovation.com/fitc/presentation/" target="_blank">http://labs.fisherinnovation.com/fitc/presentation/</a></p>
<p>More work like this can always be found in the <a href="http://fisherinnovation.com/labs/">Labs</a> section of this site, so be sure to go and see if there is anything else you may be interested in.</p>
<p>You can also download the source for the presentation easily from it&#8217;s GitHub repo &#8211; <a href="https://github.com/fisherinnovation/Mobile-Cross-Browser-Sexiness-with-jQuery-Mobile" target="_blank">https://github.com/fisherinnovation/Mobile-Cross-Browser-Sexiness-with-jQuery-Mobile</a></p>
<p>The presentation and the conference were a hit! The room was packed and people even had to sit on the floor to just see the show. I was even happier when I received a tweet from the jQuery founder himself John Resig:</p>
<p><img class="aligncenter size-full wp-image-486" title="Tweet From John" src="http://fisherinnovation.com/wp-content/uploads/2011/12/john.jpg" alt="" width="546" height="180" /></p>
<p>&nbsp;</p>
<p>All in all, I had a great time, met some great new people and learned a lot of new things. How could anyone complain about that.</p>
]]></content:encoded>
			<wfw:commentRss>http://fisherinnovation.com/fitc-screens-2011-jquery-mobile-presentation-slides/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dean West and Jam3 Team up for an Epic Photoshoot</title>
		<link>http://fisherinnovation.com/dean-west-and-jam3-team-up-for-an-epic-photoshoot/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=dean-west-and-jam3-team-up-for-an-epic-photoshoot</link>
		<comments>http://fisherinnovation.com/dean-west-and-jam3-team-up-for-an-epic-photoshoot/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 21:23:47 +0000</pubDate>
		<dc:creator>Matt Fisher</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://fisherinnovation.com/?p=443</guid>
		<description><![CDATA[Bored with the commonplace/typical “Process” or “How We Work” sections found in most studio or agency websites, our creative intent was twofold: To defy convention and to demonstrate our process in a way that is creative, amusing and downright unique. Jam3 is known for work that is elaborate and visual, so collaborating with the very talented Dean West to transform our [...]]]></description>
			<content:encoded><![CDATA[<p>Bored with the commonplace/typical <strong>“Process”</strong> or <strong>“How We Work”</strong> sections found in most studio or agency websites, our creative intent was twofold: To defy convention and to demonstrate our process in a way that is creative, amusing and downright unique.</p>
<p>Jam3 is known for work that is elaborate and visual, so collaborating with the very talented <a href="http://deanwest.com/" target="_blank">Dean West</a> to transform our process into a series of over the top, epic photos was natural. Each person depicted in the Process collection is employed at Jam3. This is an important representation, as our people are the most integral part of the wonderful work that we produce.</p>
<p><a href="http://jam3.com/#/PROCESS/process2" target="_blank">Our Process</a> collection aims to attract the people who understand the concept; who get our creative style and who want to be a part of the worlds we create.</p>
<p>Read more on the <a href="http://blog.jam3media.com/2011/11/14/bringin-sexy-back-to-the-process-section/">Jam3 Blog</a>.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://fisherinnovation.com/dean-west-and-jam3-team-up-for-an-epic-photoshoot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux Screen Tutorial</title>
		<link>http://fisherinnovation.com/linux-screen-tutorial/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=linux-screen-tutorial</link>
		<comments>http://fisherinnovation.com/linux-screen-tutorial/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 23:21:14 +0000</pubDate>
		<dc:creator>Matt Fisher</dc:creator>
				<category><![CDATA[Code Snippets]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Learning]]></category>

		<guid isPermaLink="false">http://fisherinnovation.com/?p=503</guid>
		<description><![CDATA[If your a SSH, or command line user and haven&#8217;t used screen before be sure to look into it. Ever been transferring a file or running a program in a command line interface and accidentally close it or disconnect? The result will be a termination of the running application and possible loss of work. When Microsoft released Windows 3.1, [...]]]></description>
			<content:encoded><![CDATA[<p>If your a SSH, or command line user and haven&#8217;t used screen before be sure to look into it. Ever been transferring a file or running a program in a command line interface and accidentally close it or disconnect? The result will be a termination of the running application and possible loss of work. When Microsoft released Windows 3.1, the world was wowed with the fact that you can just open another window and run multiple applications at the same time. Well, you can easily do this on the command line as well. By launching each application or command in a screen session, you can easily detach the screen and put it away for later.</p>
<p>&nbsp;</p>
<p>Interested? Of course you are. It&#8217;s always best to start learning by checking out the <a href="http://www.slac.stanford.edu/grp/cd/soft/epics/extensions/iocConsole/screen.1.html" target="_blank">man page for screen</a>.</p>
<p>&nbsp;</p>
<p>Installing screen is easy, if your on a system like Ubuntu or Debian run the command <strong>sudo apt-get install screen</strong> or find it in your favorite application package installer. If your on OS X you may already have it installed.</p>
<p>&nbsp;</p>
<p>Once screen is installed, start up a new screen session by just typing <strong>screen</strong> in the command line.</p>
<p>&nbsp;</p>
<p>You should notice a fresh window appear possibly with a message from the application telling you what is going on. For leaning sake, lets run a simple command to show how this system works. In the new screen window that has started type <strong>ls</strong> to simply list the current directory contents. Now with that command done and the output visible, hit <strong>CMD+A </strong>and then <strong>D</strong>. You should be brought back to the original command line you had open and ran screen from. You should also see that the screen <strong>[detached] </strong>- what has happened is that your screen session (aka. the command line you wrote <strong>ls</strong> into) has been put into the background and is waiting for you to reattach it. This is where the power comes in, but you need to be able to reopen that command line again to make it actually useful. So just type <strong>screen -r</strong> and hit enter. You should be brought back into your screen session that your ran <strong>ls</strong> from. Behold the POWER! Type <strong>exit</strong> in the command line to close out this screen session for good now.</p>
<p>&nbsp;</p>
<p>The next step in screen mastery is setting up a configuration to your liking. By default screen reads it&#8217;s configuration from a <strong>.screenrc</strong> file in your home directory. So lets create one now, we will use my personal config as a starter &#8211; open up the text editor of your choice and write the following to .screenrc in your home directory (<a title=".screenrc Gist" href="https://gist.github.com/1476907" target="_blank">source is also on Gist</a>).</p>
<p>&nbsp;</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;">hardstatus alwayslastline
hardstatus string <span style="color: #ff0000;">'%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W}%c %{g}]'</span></pre></div></div>

<p>&nbsp;</p>
<p>Close the file and fire up a new screen session by typing <strong>screen</strong> again. You should notice some fancy footer on the bottom of the window now. Most likely in the centre it says <strong>(0*$bash)</strong>, this is the screen label for this current screen. Try hitting <strong>CTRL+A</strong> and then <strong>C</strong>. This should open up another command line inside the same screen session or effectly <strong>(1*$bash)</strong>. Now you can multitask like a mad-man and easily switch back and fourth between multiple command lines in the same screen session that can be closed and re-open at any time. To shuffle to the next command line in the list hit <strong>CTRL+A</strong> and then <strong>N</strong>. Do it again and back you go to the other window.</p>
<p>&nbsp;</p>
<p>By now you should have a understanding of the power of this application. I use it everyday and love showing command line new comers it as they usually have to pick their jaw off the floor when they realize what it will do for them. Be sure to read into the man pages for a ton more configurations to set to your liking!</p>
]]></content:encoded>
			<wfw:commentRss>http://fisherinnovation.com/linux-screen-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Speaking at FITC Screens 2011</title>
		<link>http://fisherinnovation.com/speaking-at-fitc-screens-2011/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=speaking-at-fitc-screens-2011</link>
		<comments>http://fisherinnovation.com/speaking-at-fitc-screens-2011/#comments</comments>
		<pubDate>Mon, 25 Jul 2011 21:38:14 +0000</pubDate>
		<dc:creator>Matt Fisher</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[FITC]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Speaking]]></category>

		<guid isPermaLink="false">http://fisherinnovation.com/i/?p=388</guid>
		<description><![CDATA[I will be doing a presentation at Screens 2011 this year on the jQuery Mobile framework and how we used it on the new Jam3 website. I will be speaking to the pro&#8217;s and con&#8217;s when developing for mobile and also share some of the interesting things we found out while working with this framework. [...]]]></description>
			<content:encoded><![CDATA[<p>I will be doing a presentation at <a href="http://www.fitc.ca/events/about/?event=118" target="_blank">Screens 2011</a> this year on the <a href="http://jquerymobile.com/" target="_blank">jQuery Mobile</a> framework and how we used it on the new <a href="http://jam3.com/" target="_blank">Jam3 website</a>. I will be speaking to the pro&#8217;s and con&#8217;s when developing for mobile and also share some of the interesting things we found out while working with this framework.</p>
<p><a href="http://www.fitc.ca/events/presentations/presentation.cfm?event=118&amp;presentation_id=1684" target="_blank">Presentation Deatils</a></p>
<p>Screens 2011 will be hosted in Toronto Ontario this year on November 14th and 15th. <a href="http://www.fitc.ca/events/about/?event=118" target="_blank">More information here</a>.</p>
<p>See you there!</p>
]]></content:encoded>
			<wfw:commentRss>http://fisherinnovation.com/speaking-at-fitc-screens-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple XBee Communication with Arduino</title>
		<link>http://fisherinnovation.com/simple-xbee-communication-with-arduino/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=simple-xbee-communication-with-arduino</link>
		<comments>http://fisherinnovation.com/simple-xbee-communication-with-arduino/#comments</comments>
		<pubDate>Sun, 12 Jun 2011 21:09:40 +0000</pubDate>
		<dc:creator>Matt Fisher</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Code Snippets]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Learning]]></category>

		<guid isPermaLink="false">http://fisherinnovation.com/i/?p=264</guid>
		<description><![CDATA[Call me blind but there just isn&#8217;t an easy to find tutorial to understand how to use XBee wireless modules with your Arduino micro controllers. I imagine it is because once you realize how simple it is, you wouldn&#8217;t think there would need to be a tutorial. Well I have had enough people ask me [...]]]></description>
			<content:encoded><![CDATA[<p>Call me blind but there just isn&#8217;t an easy to find tutorial to understand how to use XBee wireless modules with your Arduino micro controllers. I imagine it is because once you realize how simple it is, you wouldn&#8217;t think there would need to be a tutorial. Well I have had enough people ask me about this, so I figured I would post a demo. Over the couple years I have been using Arduino&#8217;s, I have embedded these wireless modules to many of my projects and found out many interesting quirks, mostly from trial and error. In this post I will be showing how to wirelessly control your Arduino via two XBee modules.</p>
<p><span id="more-264"></span></p>
<h2>Overview</h2>
<p>The goal of this post is to setup point to point wireless communication between your Arduino and your computer. The Arduino will be remotely controlled via Serial commands sent via the XBee modules.</p>
<h2>Hardware Used</h2>
<p>In this demo I am using the following setup,</p>
<ul>
<li>Arduino compatible micro controller &#8211; <a title="Arduino.cc" href="http://www.arduino.cc/" target="_blank">http://www.arduino.cc/</a></li>
<li>XBee Explorer Regulated &#8211; <a href="http://www.sparkfun.com/products/9132" target="_blank">http://www.sparkfun.com/products/9132</a></li>
<li>XBee Explorer USB &#8211; <a href="http://www.sparkfun.com/products/8687" target="_blank">http://www.sparkfun.com/products/8687</a></li>
<li>Small servo &#8211; <a href="http://www.sparkfun.com/products/9065" target="_blank">http://www.sparkfun.com/products/9065</a></li>
<li>2 x XBee 1mW Chip Antenna (Any XBee, these are just the cheap ones) &#8211; <a href="http://www.sparkfun.com/products/8664" target="_blank">http://www.sparkfun.com/products/8664</a></li>
</ul>
<h2>Part 1 &#8211; Putting it all Together</h2>
<p>As with most Arduino projects, the first thing we need to do is wire up our project. Thankfully, because we are using SparkFun&#8217;s XBee Explorer boards, this is relatively painless.</p>
<div id="attachment_272" class="wp-caption alignleft" style="width: 190px"><a rel="attachment wp-att-272" href="http://fisherinnovation.com/i/2011/06/12/simple-xbee-communication-with-arduino/08687-07-l/"><img class="size-medium wp-image-272 " title="XBee Explorer USB" src="http://fisherinnovation.com/i/wp-content/uploads/2011/06/08687-07-L-300x300.jpg" alt="" width="180" height="180" /></a><p class="wp-caption-text">XBee Explorer USB</p></div>
<p>So with that point in mind, let start with the easiest step. To allow your computer to talk to the remote Arduino, you will need a XBee connected to your computer. As mentioned, the SparkFun XBee Explorer USB board makes this super simple. Take one of your XBee modules and connect it to the Explorer USB board. With a USB cable at hand connect it to the board and just put this setup aside for now. We will be using it once we have loaded code to the Arduino and are ready to test. As a side note &#8211; since I use this Explorer USB all the time, I put a piece of Velcro on the back of it as well as another piece of Velcro on the back of my laptop. This is just to make my setup less cluttered with cables everywhere.</p>
<p>The next step in the setup process is getting our Arduino setup with our other XBee module.</p>
<h2>Part 2 &#8211; Writing the Code</h2>
<p>Here is the Arduino code I used for this demo. This demo is very simple, as it just prints the numbers 0 to 100 every second. As you can see, it is as simple as sending the data via the Serial.print command.</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">void</span> setup<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
  Serial.<span style="color: #202020;">begin</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">9600</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> 
&nbsp;
<span style="color: #993333;">void</span> loop<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
  delay<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> a <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> a <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> <span style="color: #0000dd;">100</span><span style="color: #339933;">;</span> a<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    Serial.<span style="color: #202020;">print</span><span style="color: #009900;">&#40;</span>a<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    Serial.<span style="color: #202020;">print</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot; &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
  Serial.<span style="color: #202020;">println</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p><strong>One thing to note about loading code to the Arduino while using XBee&#8217;s. Since the XBee uses the RX and TX of the Arduino, you must disconnect / turn off the connection to the XBee while loading code to the board. In my case, since I am use the <a title="SparkFun Xbee Shield" href="http://www.sparkfun.com/products/9588" target="_blank">SparkFun XBee Shield</a>, I can simple move the small switch on the shield from &#8220;DLINE&#8221; to &#8220;UART&#8221;.</strong></p>
<h2>Part 3 &#8211; Testing the Project</h2>
<div id="attachment_334" class="wp-caption alignleft" style="width: 310px"><a href="http://fisherinnovation.com/i/wp-content/uploads/2011/06/Screen-shot-2011-06-12-at-10.20.32-PM.png"><img class="size-medium wp-image-334" title="Arduino Serial Output" src="http://fisherinnovation.com/i/wp-content/uploads/2011/06/Screen-shot-2011-06-12-at-10.20.32-PM-300x171.png" alt="" width="300" height="171" /></a><p class="wp-caption-text">Arduino Serial Output</p></div>
<p>Once this sample code snippet it added to the Arduino, disconnect the Arduino and reconnect it to a external power source (not on the computer you want to wirelessly connect to). Grab the XBee Explorer we set aside earlier and plug it into your computer.</p>
<p>Make sure the correct COM port is selected in the Arduino IDE and then fire open the Serial Monitor. If you haven&#8217;t already &#8211; make sure that Arduino is externally powered and if everything is working properly, you should see the numbers (0 &#8211; 100) appearing on a new line every one second. Congrats, you got your computer listening to your Arduino, wirelessly!</p>
<h2>Part 4 &#8211; Something More Practical</h2>
<p>Here is a code snippet from when I was testing code for my ground antenna for my <a title="FI-AUAV" href="http://fisherinnovation.com/i/projects/fi-auav/">FI-AUAV</a>. The commands are for pan and tilt control on the antenna mount allowing me to track the position of the UAV in real-time. The commands are sent to the Arduino on the antenna, parsed and then the servo rotation of the antenna is updated.</p>
<p>The commands are PP000# and TT000#. Where PP is pan, 000 is the rotation amount for that servo to rotate to and # is the end line identifier. TT is for tilt control.</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include Servo.h</span>
&nbsp;
<span style="color: #339933;">#define BufferLength 16</span>
<span style="color: #339933;">#define LineEnd '#'</span>
&nbsp;
Servo pan<span style="color: #339933;">;</span>
Servo tilt<span style="color: #339933;">;</span>
<span style="color: #993333;">char</span> inputBuffer<span style="color: #009900;">&#91;</span>BufferLength<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #993333;">void</span> setup<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   Serial.<span style="color: #202020;">begin</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">9600</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
   pan.<span style="color: #202020;">attach</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">9</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   tilt.<span style="color: #202020;">attach</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
&nbsp;
   Serial.<span style="color: #202020;">println</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Ready for input!&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> loop<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
  <span style="color: #993333;">int</span> inputLength <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #b1b100;">do</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>Serial.<span style="color: #202020;">available</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    inputBuffer<span style="color: #009900;">&#91;</span>inputLength<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> Serial.<span style="color: #202020;">read</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span>inputBuffer<span style="color: #009900;">&#91;</span>inputLength<span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> LineEnd <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #339933;">++</span>inputLength <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> BufferLength<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  inputBuffer<span style="color: #009900;">&#91;</span>inputLength<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
&nbsp;
  HandleCommand<span style="color: #009900;">&#40;</span>inputBuffer<span style="color: #339933;">,</span> inputLength<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> 
&nbsp;
<span style="color: #993333;">void</span> HandleCommand<span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span><span style="color: #339933;">*</span> input<span style="color: #339933;">,</span> <span style="color: #993333;">int</span> length<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
  Serial.<span style="color: #202020;">println</span><span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>length <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> <span style="color: #0000dd;">2</span><span style="color: #009900;">&#41;</span>    <span style="color: #009900;">&#123;</span>     <span style="color: #b1b100;">return</span><span style="color: #339933;">;</span>   <span style="color: #009900;">&#125;</span>         <span style="color: #993333;">int</span> value <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>         <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>length <span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #0000dd;">2</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    value <span style="color: #339933;">=</span> atoi<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span>input<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #993333;">int</span><span style="color: #339933;">*</span> command <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span><span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span>input<span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #b1b100;">switch</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">*</span>command<span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">case</span> <span style="color: #ff0000;">'PP'</span><span style="color: #339933;">:</span>
     pan.<span style="color: #202020;">write</span><span style="color: #009900;">&#40;</span>value<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">case</span> <span style="color: #ff0000;">'TT'</span><span style="color: #339933;">:</span>
     tilt.<span style="color: #202020;">write</span><span style="color: #009900;">&#40;</span>value<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">default</span><span style="color: #339933;">:</span>
    <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>The is a simple interpretation of the current code I am using, but this version of the code can easily be implemented in many other robotic platforms.</p>
<p><strong>Final note: To power the XBee and two servos you will need to power the Arduino with something like a 9-12VDC power supply as most traditional 5V supplies won&#8217;t have the power to run everything.</strong></p>
<p>Feel free to leave a comment if you have a question. Good luck with your wireless projects!</p>
]]></content:encoded>
			<wfw:commentRss>http://fisherinnovation.com/simple-xbee-communication-with-arduino/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Simple Automated Backups Using rsync</title>
		<link>http://fisherinnovation.com/simple-automated-backups-using-rsync/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=simple-automated-backups-using-rsync</link>
		<comments>http://fisherinnovation.com/simple-automated-backups-using-rsync/#comments</comments>
		<pubDate>Tue, 07 Jun 2011 15:53:58 +0000</pubDate>
		<dc:creator>Matt Fisher</dc:creator>
				<category><![CDATA[Code Snippets]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://fisherinnovation.com/i/?p=287</guid>
		<description><![CDATA[rsync is a software application for Unix and Windows systems which synchronizes files and directories from one location to another while minimizing data transfer using delta encoding when appropriate. If your are on a Unix based system here is a simple snippet of code for crontab to automate backups or duplicate drives on or offsite. [...]]]></description>
			<content:encoded><![CDATA[<p><strong>rsync</strong> is a software application for Unix and Windows systems which synchronizes files and directories from one location to another while minimizing data transfer using delta encoding when appropriate. If your are on a Unix based system here is a simple snippet of code for crontab to automate backups or duplicate drives on or offsite. I sometimes refer to this as fake RAID0 as it keeps perfect replication of one drive on another and if you set a quick timer interval for backups, it almost is always duplicating your data for backup. Pending your second drive was offsite, this is a very safe way to store your data.<span id="more-287"></span> I usually just set a cron job to take care of the scheduling of the backup. Cron jobs are basically just scheduled actions taken by the computer. To modify how the cron jobs work, we need to edit our crontab. Start by opening up the crontab editor with the following command <em>(Unix based operating systems only).</em></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">crontab <span style="color: #660033;">-e</span></pre></div></div>

<p>Once your crontab editor is open, add the following line of code to the end of the file.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># This will run a backup from source to destination at 4:00am everyday.</span>
<span style="color: #000000;">0</span> <span style="color: #000000;">4</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> rsync <span style="color: #660033;">-a</span> <span style="color: #660033;">--delete</span> source<span style="color: #000000; font-weight: bold;">/</span> destination<span style="color: #000000; font-weight: bold;">/</span></pre></div></div>

<p>The following code requires some edits to work properly on your system so lets look at exactly what this is doing first. Any line starting with a # are full line comments, so the first line is just documentation on what this cronjob is. The second line is where the magic happens. Crontab formatting may look at little weird if you haven&#8217;t seen it before but once you understand what is what, it will all make sense.</p>
<p>The initial numbers and asterisks in the second line are the time declaration for our cron job. Since cron jobs can be run in intervals we need to specify what that interval is. Lets look at how to do that.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">*</span>     <span style="color: #000000; font-weight: bold;">*</span>     <span style="color: #000000; font-weight: bold;">*</span>   <span style="color: #000000; font-weight: bold;">*</span>    <span style="color: #000000; font-weight: bold;">*</span>        <span style="color: #7a0874; font-weight: bold;">command</span> to be executed
-     -     -   -    -
<span style="color: #000000; font-weight: bold;">|</span>     <span style="color: #000000; font-weight: bold;">|</span>     <span style="color: #000000; font-weight: bold;">|</span>   <span style="color: #000000; font-weight: bold;">|</span>    <span style="color: #000000; font-weight: bold;">|</span>
<span style="color: #000000; font-weight: bold;">|</span>     <span style="color: #000000; font-weight: bold;">|</span>     <span style="color: #000000; font-weight: bold;">|</span>   <span style="color: #000000; font-weight: bold;">|</span>    +----- day of week <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">0</span> - <span style="color: #000000;">6</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #007800;">Sunday</span>=<span style="color: #000000;">0</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #000000; font-weight: bold;">|</span>     <span style="color: #000000; font-weight: bold;">|</span>     <span style="color: #000000; font-weight: bold;">|</span>   +------- month <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">1</span> - <span style="color: #000000;">12</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #000000; font-weight: bold;">|</span>     <span style="color: #000000; font-weight: bold;">|</span>     +--------- day of        month <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">1</span> - <span style="color: #000000;">31</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #000000; font-weight: bold;">|</span>     +----------- hour <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">0</span> - <span style="color: #000000;">23</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
+------------- min <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">0</span> - <span style="color: #000000;">59</span><span style="color: #7a0874; font-weight: bold;">&#41;</span></pre></div></div>

<p>Finally, with the time, we need a script to call which will perform our back. Since the command to do this with rsync is relativly small, we can just add the command right on to the crontab rather then reference it in separate file.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">rsync <span style="color: #660033;">-a</span> <span style="color: #660033;">--delete</span> source<span style="color: #000000; font-weight: bold;">/</span> destination<span style="color: #000000; font-weight: bold;">/</span></pre></div></div>

<p>Replacing the &#8220;source&#8221; and &#8220;destination&#8221; references and replacing them with your own is all that is needed to do a differential rsync backup. This means that only new files that haven&#8217;t already been backed up yet are sent to the second drive.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://fisherinnovation.com/simple-automated-backups-using-rsync/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

