<?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>Matt(hew) Morey &#187; Projects</title>
	<atom:link href="http://matthewmorey.com/category/projects/feed/" rel="self" type="application/rss+xml" />
	<link>http://matthewmorey.com</link>
	<description>...an engineer who surfs, travels, and pretends to know the meaning of life.</description>
	<lastBuildDate>Fri, 17 Jul 2009 22:56:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Code (2 of 2) for @MattsOffice</title>
		<link>http://matthewmorey.com/projects/code-2-of-2-for-mattsoffice/</link>
		<comments>http://matthewmorey.com/projects/code-2-of-2-for-mattsoffice/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 21:04:55 +0000</pubDate>
		<dc:creator>Matt(hew)</dc:creator>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[home automation]]></category>
		<category><![CDATA[iobridge]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[soical network]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://matthewmorey.com/?p=164</guid>
		<description><![CDATA[As promised in my earlier post and the follow up post, here is some sample code I&#8217;m using to respond to @MattsOffice mentions. With a version of this code and a Cron job I can respond to any number of specific&#160;commands. This code only illustrates responding to one command, &#8220;light&#8221;, but could easily be extended [...]]]></description>
			<content:encoded><![CDATA[<p>As promised in my <a href="http://matthewmorey.com/projects/introducing-mattsoffice/">earlier post</a>  and the <a href="http://matthewmorey.com/projects/code-1-of-2-for-mattsoffice/">follow up post</a>, here is some sample code I&#8217;m using to respond to <a href="http://twitter.com/#search?q=@MattsOffice">@MattsOffice mentions</a>. With a version of this code and a Cron job I can respond to any number of specific&nbsp;commands.</p>
<p>This code only illustrates responding to one command, &#8220;light&#8221;, but could easily be extended as is done with&nbsp;<a href="http://twitter.com/MattsOffice">@MattsOffice</a>.</p>
<pre name="code" class="php">
&lt;?php
include_once('class.twitter.php');// http://code.google.com/p/php-twitter/

$ioBridgeJSONFeedURL = 'http://www.iobridge.com/api/feed/key=XXXXXXXXXXXXXXXXXXXXXX';
$buzzerOnURL = 'http://yourserver.com/iobridge-proxy.php?widget=buzzeron';
$buzzerOffURL = 'http://yourserver.com/iobridge-proxy.php?widget=buzzeroff';

$t = new twitter;
$t-&gt;username = 'twitter_username';
$t-&gt;password = 'twitter_password';

// Read the ID of the last reply
$myFile = "lastreply.txt";
$fileHandle = fopen($myFile, 'r');
$lastReplyID = fgets($fileHandle);
fclose($fileHandle);

// Get the latest unanwsered replies
$data = $t-&gt;getReplies('','',$lastReplyID);

$counter = 1;
if(!empty($data)){
&nbsp;&nbsp;&nbsp;&nbsp;foreach($data as $tweet) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!empty($tweet-&gt;user-&gt;id)){

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Check for valid command
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(stripos($tweet-&gt;text, "light"){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// retrieve data from ioBridge.com
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$curl_handle=curl_init();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl_handle,CURLOPT_URL,$ioBridgeJSONFeedURL);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ioBridgeResultsObject = curl_exec($curl_handle);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ioBridgeResultsObject = json_decode($ioBridgeResultsObject);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curl_close($curl_handle);

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$lightResults = $ioBridgeResultsObject-&gt;{'module'}-&gt;{'channels'}[2]-&gt;{'AnalogInput'};
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$updateText = ' @' . $tweet-&gt;user-&gt;screen_name . ' Ambient Light = ' . $lightResults;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// If no valid command was found reply with what commands are valid
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$messageText = ' Valid commands are: light, bright, dark, temp, hot, cold, lcd, and/or view';
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$updateText = ' @' . $tweet-&gt;user-&gt;screen_name . $messageText;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Send update
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$updateData = $t-&gt;update($updateText, $tweet-&gt;id);

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Update text file with ID of last reply (first reply of loop)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($counter === 1){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$myFile = "lastreply.txt";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$fileHandle = fopen($myFile, 'w') or die("can't open file");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fwrite($fileHandle, $tweet-&gt;id);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fclose($fileHandle);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$counter++;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Sound Buzzer (serves as an audible alert when someone pings @MattsOffice)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$curl_handle=curl_init();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl_handle,CURLOPT_URL,$buzzerOnURL);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,5);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$results = curl_exec($curl_handle);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl_handle,CURLOPT_URL,$buzzerOffURL);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$results = curl_exec($curl_handle);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curl_close($curl_handle);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}// if (!empty($tweet-&gt;user-&gt;id)){
&nbsp;&nbsp;&nbsp;&nbsp;}// foreach($data as $tweet) {
}// if(!empty($data)){
else {
&nbsp;&nbsp;&nbsp;&nbsp;echo 'All replies have been responded to.';
}

print '&lt;pre&gt;Twitter says(list of @mentions):'; print_r($data); print '&lt;/pre&gt;';
print '&lt;pre&gt;Twitter says(response to status update):'; print_r($updateData); print '&lt;/pre&gt;';
?&gt;
</pre>
<p>In order to keep track of what @MattsOffice mentions have already been answered, the ID of the last successful reply is saved to a plain text file. A database could also be used but the text file method is much simpler even if it doesn&#8217;t allow&nbsp;logging.</p>
<p>In order for this code to work your server needs the <a href="http://www.iobridge.net/wiki/api/php-widget-control-api">ioBridge PHP Widge Control API</a> and <a href="http://code.google.com/p/php-twitter/">this </a>Twitter&nbsp;library.</p>
]]></content:encoded>
			<wfw:commentRss>http://matthewmorey.com/projects/code-2-of-2-for-mattsoffice/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Code (1 of 2) for @MattsOffice</title>
		<link>http://matthewmorey.com/projects/code-1-of-2-for-mattsoffice/</link>
		<comments>http://matthewmorey.com/projects/code-1-of-2-for-mattsoffice/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 00:59:38 +0000</pubDate>
		<dc:creator>Matt(hew)</dc:creator>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[home automation]]></category>
		<category><![CDATA[iobridge]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[soical network]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://matthewmorey.com/?p=143</guid>
		<description><![CDATA[As promised in my earlier post here is the code that I&#8217;m using to auto-update the MattsOffice Twitter account. With this code and a Cron job I can update the light and temperature conditions of my office automatically at whatever time interval I&#160;choose. ioBridge.com does offer &#8220;Actions&#8221; but none of the current actions allow the [...]]]></description>
			<content:encoded><![CDATA[<p>As promised in my <a href="http://matthewmorey.com/projects/introducing-mattsoffice/">earlier post</a> here is the code that I&#8217;m using to auto-update the <a href="http://twitter.com/MattsOffice">MattsOffice Twitter account</a>. With this code and a Cron job I can update the light and temperature conditions of my office automatically at whatever time interval I&nbsp;choose.</p>
<p><a href="http://www.iobridge.com">ioBridge.com</a> does offer &#8220;Actions&#8221; but none of the current actions allow the trigger to be time based. Once they introduce time as a trigger this code will no longer be&nbsp;needed.</p>
<pre name="code" class="php">
&lt;?php
include_once('class.twitter.php');//http://code.google.com/p/php-twitter/

$ioBridgeJSONFeedURL = 'http://www.iobridge.com/api/feed/key=XXXXXXXXXXXXXXXXXX';

$t = new twitter;
$t-&gt;username = 'twitter_username';
$t-&gt;password = 'twitter_pwd';

$curl_handle=curl_init();
curl_setopt($curl_handle,CURLOPT_URL,$ioBridgeJSONFeedURL);
curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
$ioBridgeResultsObject = curl_exec($curl_handle);
$ioBridgeResultsObject = json_decode($ioBridgeResultsObject);
curl_close($curl_handle);

if (empty($ioBridgeResultsObject)){
    print "Sorry, something went wrong.";
}
else{
    $data = $t-&gt;update('Temperature = '. $ioBridgeResultsObject-&gt;{'module'}-&gt;{'channels'}[0]-&gt;{'AnalogInput'} . '°F / Ambient Light = ' . $ioBridgeResultsObject-&gt;{'module'}-&gt;{'channels'}[2]-&gt;{'AnalogInput'});
    print '&lt;pre&gt;Twitter says: '; print_r($data); print '&lt;/pre&gt;';
}
?&gt;
</pre>
<p>In a few days I will post the code that parses my Twitter account for <a href="http://twitter.com/#search?q=@MattsOffice">@MattsOffice mentions</a> and responds to them&nbsp;accordingly.</p>
<p>Update: 07/17/09<br />
Second <a href="http://matthewmorey.com/projects/code-2-of-2-for-mattsoffice/">post</a> is up with more&nbsp;code </p>
]]></content:encoded>
			<wfw:commentRss>http://matthewmorey.com/projects/code-1-of-2-for-mattsoffice/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Introducing http://twitter.com/MattsOffice</title>
		<link>http://matthewmorey.com/projects/introducing-mattsoffice/</link>
		<comments>http://matthewmorey.com/projects/introducing-mattsoffice/#comments</comments>
		<pubDate>Sat, 11 Jul 2009 02:19:05 +0000</pubDate>
		<dc:creator>Matt(hew)</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[home automation]]></category>
		<category><![CDATA[iobridge]]></category>
		<category><![CDATA[social network]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://matthewmorey.com/?p=104</guid>
		<description><![CDATA[A couple months back I came across IOBridge&#8217;s IO-204 and instantly knew I needed one. I went ahead and bought the device as well as several of their accessory boards. Once everything arrived I started tinkering and was amazed with how easy it was at connecting DIY projects to the&#160;web. Now if only I had [...]]]></description>
			<content:encoded><![CDATA[<p>A couple months back I came across <a href="http://www.iobridge.com/">IOBridge&#8217;s IO-204</a> and instantly knew I needed one. I went ahead and bought the device as well as several of their accessory boards. Once everything arrived I started tinkering and was amazed with how easy it was at connecting DIY projects to the&nbsp;web.</p>
<p>Now if only I had a project to use it&nbsp;with.</p>
<p>Lucky for me one of my graduate courses on computer communications requires a research paper on a &#8220;communications based&#8221; project.  Well actually maybe I&#8217;m not so lucky, who likes to write research papers? The title of the paper is &#8220;Feasibility Study of Home Automation via Social Networks&#8221; and I hope to have it finished by August. Once it is done I will post it&nbsp;here.</p>
<div id="attachment_113" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-113" title="System Diagram" src="http://matthewmorey.com/wp-content/uploads/2009/07/systemdiagram-300x143.jpg" alt="System Diagram" width="300" height="143" /><p class="wp-caption-text">System&nbsp;Diagram</p></div>
<p>The project was inspired by many of the current Twittering household&nbsp;devices.</p>
<ul>
<li><a href="http://twitter.com/mytoaster">http://twitter.com/mytoaster</a></li>
<li><a href="http://twitter.com/EDogFeeder">http://twitter.com/EDogFeeder</a></li>
<li><a href="http://twitter.com/PiMPY3WASH">http://twitter.com/PiMPY3WASH</a></li>
</ul>
<p>The one thing lacking in most of these devices was 2-way communication between Twitter and the device. In all of the examples I could find the device is sending an update to Twitter but is never performing an action based on a Twitter&nbsp;message.</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/PVm1VKB43ww&#038;hl=en&#038;fs=1&#038;rel=0&#038;color1=0x2b405b&#038;color2=0x6b8ab6"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/PVm1VKB43ww&#038;hl=en&#038;fs=1&#038;rel=0&#038;color1=0x2b405b&#038;color2=0x6b8ab6" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>With <a href="http://twitter.com/MattsOffice">http://twitter.com/MattsOffice</a> you can send a command by placing a keyword in a @reply message. Valid keywords are &#8220;light&#8221;, &#8220;bright&#8221;, &#8220;dark&#8221;, &#8220;temp&#8221;, &#8220;hot&#8221;, &#8220;cold&#8221;, &#8220;lcd&#8221;, and &#8220;view&#8221;. For example, to retrieve the temperature of my office I just need to update <a href="http://twitter.com/xzolian">my Twitter status</a> with a simple question like &#8220;@MattsOffice What is the temperature?&#8221;. Here are some more&nbsp;examples:</p>
<blockquote><p>&#8220;@MattsOffice How cold is it?&#8221;&thinsp;&#8211;&thinsp;replies with the current temperature<br />
&#8220;@MattsOffice How bright is it?&#8221;&thinsp;&#8211;&thinsp;replies with the current ambient light reading<br />
&#8220;@MattsOffice lcd test message&#8221;&thinsp;&#8211;&thinsp;outputs &#8220;test message&#8221; to my LCD sitting on my desk<br />
&#8220;@MattsOffice What is the view from your office look like?&#8221;&thinsp;&#8211;&thinsp;uploads a picture taken from my office window to&nbsp;<a href="http://twitpic.com">TwitPic.com</a></p></blockquote>
<p>Multiple commands can be posted&nbsp;together:</p>
<blockquote><p>&#8220;@MattsOffice temp bright view&#8221;&thinsp;&#8211;&thinsp;replies with the current temperature, brightness, and post a&nbsp;picture</p></blockquote>
<p>I can also turn off or on my desk light by updating my status with &#8220;@MattsOffice light on&#8221; or &#8220;@MattsOffice light off&#8221;. To prevent my light from turning off when I don&#8217;t want it to be off I have disable this feature for everyone but myself (i.e. it only works if @xzolian ask to turn the light on or&nbsp;off).</p>
<p>Go <a href="http://twitter.com/MattsOffice">try it out</a>! Let me know if there are any bugs. Look for a follow up post on how I made all this work and some example&nbsp;code.</p>
<p>Update: 07/15/2009<br />
The first part of the code can be found&nbsp;<a href="http://matthewmorey.com/projects/code-1-of-2-for-mattsoffice/">here</a>.</p>
<p>Update: 07/17/09<br />
Second <a href="http://matthewmorey.com/projects/code-2-of-2-for-mattsoffice/">post</a> is up with more code. This post was updated with Youtube&nbsp;video. </p>
]]></content:encoded>
			<wfw:commentRss>http://matthewmorey.com/projects/introducing-mattsoffice/feed/</wfw:commentRss>
		<slash:comments>36</slash:comments>
		</item>
		<item>
		<title>Implementation and Performance Traits of Select Reconfigurable Computing Platforms</title>
		<link>http://matthewmorey.com/projects/implementation-and-performance-traits-of-select-reconfigurable-computing-platforms/</link>
		<comments>http://matthewmorey.com/projects/implementation-and-performance-traits-of-select-reconfigurable-computing-platforms/#comments</comments>
		<pubDate>Tue, 11 Dec 2007 03:32:13 +0000</pubDate>
		<dc:creator>Matt(hew)</dc:creator>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[gidel]]></category>
		<category><![CDATA[RC]]></category>
		<category><![CDATA[reconfigurable computing]]></category>
		<category><![CDATA[report]]></category>
		<category><![CDATA[school]]></category>

		<guid isPermaLink="false">http://matthewmorey.com/blog/?p=8</guid>
		<description><![CDATA[The purpose of this project was to implement and run performance benchmarks on various reconfigurable computing (RC) platforms. During the process of implementation and benchmarking, all results as well as lessons learned where documented. Comparisons against pure software implementations where also made. In this paper we presented the results for three RC platforms: DS1002 development [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_33" class="wp-caption alignleft" style="width: 210px"><img class="size-full wp-image-33" title="RC" src="http://matthewmorey.com/wp-content/uploads/2009/01/rc.jpg" alt="RC Diagram" width="200" height="165" /><p class="wp-caption-text">RC&nbsp;Diagram</p></div>
<p>The purpose of this project was to implement and run performance benchmarks on various reconfigurable computing (RC) platforms. During the process of implementation and benchmarking, all results as well as lessons learned where documented. Comparisons against pure software implementations where also made. In this paper we presented the results for three RC platforms: DS1002 development system from DRC, PROCe development board from GiDEL, and the H101-PCIXM from&nbsp;Nallatech.</p>
<p>For more information on the details of this project please read my comprehensive <a href="http://matthewmorey.com/EEL5934_final_report.pdf">report</a> (about 5MB, right-click and save the document to your&nbsp;desktop).</p>
]]></content:encoded>
			<wfw:commentRss>http://matthewmorey.com/projects/implementation-and-performance-traits-of-select-reconfigurable-computing-platforms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iParty, a Novel Autonomous iPod Music Mixer</title>
		<link>http://matthewmorey.com/projects/iparty-a-novel-autonomous-ipod-music-mixer/</link>
		<comments>http://matthewmorey.com/projects/iparty-a-novel-autonomous-ipod-music-mixer/#comments</comments>
		<pubDate>Sat, 01 Dec 2007 14:35:59 +0000</pubDate>
		<dc:creator>Matt(hew)</dc:creator>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[iparty]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[project]]></category>

		<guid isPermaLink="false">http://matthewmorey.com/?p=127</guid>
		<description><![CDATA[As of October 2007, the iPod had sold over 119 million units worldwide and as a result, has become the best-selling digital audio player series in history. With such a huge user base the iPod accessory market is even larger, as most iPod users own several iPod accessories. Within the iPod accessory market a void&#160;exists. [...]]]></description>
			<content:encoded><![CDATA[<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/15QD_2uEwdw&#038;rel=0&#038;color1=0x3a3a3a&#038;color2=0x999999&#038;hl=en&#038;feature=player_embedded&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.youtube.com/v/15QD_2uEwdw&#038;rel=0&#038;color1=0x3a3a3a&#038;color2=0x999999&#038;hl=en&#038;feature=player_embedded&#038;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"></embed></object></p>
<p>As of October 2007, the iPod had sold over 119 million units worldwide and as a result, has become the best-selling digital audio player series in history. With such a huge user base the iPod accessory market is even larger, as most iPod users own several iPod accessories. Within the iPod accessory market a void&nbsp;exists.</p>
<p>For iPod consumers there is a distinct hurdle to go from unplugging the headphones to plugging multiple iPods into a stereo system. For example, at college parties and gatherings the party goers are often forced to suffer through the sometimes poor musical taste of the party thrower. The iParty device allows several of the party goers to connect their personal iPods to the device and as a result, allow their personal musical taste to be&nbsp;heard.</p>
<p>An early sketch of the first iParty prototype is shown&nbsp;below.</p>
<div id="attachment_128" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-128 " title="iParty Prototype" src="http://matthewmorey.com/wp-content/uploads/2009/07/iparty01-300x291.gif" alt="iParty Prototype" width="300" height="291" /><p class="wp-caption-text">Prototype</p></div>
<p>The iParty’s primary objective is to provide the consumer with the ability to mix multiple iPods into one standard stereo signal that can then be played on any sort of powered speakers or amplifier. The iParty’s secondary objective is to provide the best user experience possible without limiting or restricting the primary objective. The main features&nbsp;are:</p>
<ul>
<li>Automatic iPod detection
<ul>
<li>iPhone</li>
<li>iPod&nbsp;touch</li>
<li>iPod classic (starting with generation&nbsp;3)</li>
<li>iPod nano (all&nbsp;generations)</li>
<li>iPod mini (all&nbsp;generations)</li>
</ul>
</li>
<li>Stereo audio mixing
<ul>
<li>Line level&nbsp;output</li>
</ul>
</li>
<li>Autonomous DJ mode
<ul>
<li>Random song&nbsp;playback</li>
</ul>
</li>
<li>iPod charging&nbsp;circuit</li>
<li>One hand operation
<ul>
<li>Jog wheel with center&nbsp;select</li>
</ul>
</li>
<li>Graphical LCD
<ul>
<li>Used for displaying system&nbsp;information</li>
<li>Automatic backlight&nbsp;dimming</li>
</ul>
</li>
<li>Robust</li>
<li>Low&nbsp;power</li>
<li>Field&nbsp;upgradable</li>
<li>Visually&nbsp;pleasing</li>
</ul>
<div id="attachment_129" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-129 " title="iParty System Level Design" src="http://matthewmorey.com/wp-content/uploads/2009/07/iparty02-300x207.gif" alt="iParty System Level Design" width="300" height="207" /><p class="wp-caption-text">System Level&nbsp;Design</p></div>
<p>To control the connected iPods the microcontroller sends specific commands via 19200 bits per second serial communication using standard 8N1 settings. The transmitted commands follow a strict ordered structure as shown&nbsp;below.</p>
<table style="height: 114px;" border="0" cellspacing="0" cellpadding="0" width="493">
<tbody>
<tr>
<td>
<p align="center"><strong>Packet</strong></p>
</td>
<td>
<p align="center"><strong>Size(bytes)</strong></p>
</td>
<td>
<p align="center"><strong>Description</strong></p>
</td>
</tr>
<tr>
<td>Header</td>
<td>2</td>
<td>0xFF 0&#215;55</td>
</tr>
<tr>
<td>Length</td>
<td>1</td>
<td>Total number of bytes for   mode, command, and parameter</td>
</tr>
<tr>
<td>Mode</td>
<td>1</td>
<td>Mode of current connected   device operation</td>
</tr>
<tr>
<td>Command</td>
<td>2</td>
<td>Command sent or received   from connected device</td>
</tr>
<tr>
<td>Parameter</td>
<td>0 to 100</td>
<td>Optional, used by some   commands for additional information</td>
</tr>
<tr>
<td>Checksum</td>
<td>1</td>
<td>0&#215;100 – (Length + Mode + Command + Parameter)</td>
</tr>
</tbody>
</table>
<p>For example, to tell an iPod to play the currently selected song the following bytes should be serial&nbsp;transmitted:</p>
<blockquote><p>0xFF 0&#215;55 0&#215;04 0&#215;04 0&#215;00 0&#215;29 0&#215;01&nbsp;0xCE</p></blockquote>
<p>The iParty enclosure, was first designed using the CAD software, SolidWorks. After a preliminary design was completed, a generic ABS plastic enclosure was modified to match the&nbsp;design.</p>
<div id="attachment_130" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-130 " title="iParty Enclosure Design" src="http://matthewmorey.com/wp-content/uploads/2009/07/iparty03-300x221.jpg" alt="iParty Enclosure Design" width="300" height="221" /><p class="wp-caption-text">Enclosure&nbsp;Design</p></div>
<p>Here are some pictures of the final project:<br />
<div id="attachment_137" class="wp-caption aligncenter" style="width: 310px"><img src="http://matthewmorey.com/wp-content/uploads/2007/12/iparty05-300x247.png" alt="Printed Circuit Board Design" title="iParty PCB" width="300" height="247" class="size-medium wp-image-137" /><p class="wp-caption-text">Printed Circuit Board&nbsp;Design</p></div></p>
<div id="attachment_138" class="wp-caption aligncenter" style="width: 310px"><img src="http://matthewmorey.com/wp-content/uploads/2007/12/iparty07-300x225.jpg" alt="Inside View" title="iParty Inside View" width="300" height="225" class="size-medium wp-image-138" /><p class="wp-caption-text">Inside&nbsp;View</p></div>
<div id="attachment_139" class="wp-caption aligncenter" style="width: 310px"><img src="http://matthewmorey.com/wp-content/uploads/2007/12/iparty06-300x219.jpg" alt="Finished PCB" title="iParty Finished Circuit Board" width="300" height="219" class="size-medium wp-image-139" /><p class="wp-caption-text">Finished&nbsp;PCB</p></div>
<p>All 10MB of the final report can be downloaded&nbsp;<a href="http://matthewmorey.com/senior_design_report.pdf">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://matthewmorey.com/projects/iparty-a-novel-autonomous-ipod-music-mixer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>UF Theta Tau Web Site</title>
		<link>http://matthewmorey.com/projects/uf-theta-tau-web-site/</link>
		<comments>http://matthewmorey.com/projects/uf-theta-tau-web-site/#comments</comments>
		<pubDate>Fri, 29 Jun 2007 20:04:48 +0000</pubDate>
		<dc:creator>Matt(hew)</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Websites]]></category>
		<category><![CDATA[members section]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[theat tau]]></category>
		<category><![CDATA[UF]]></category>
		<category><![CDATA[University of Florida]]></category>
		<category><![CDATA[website]]></category>

		<guid isPermaLink="false">http://matthewmorey.com/blog/?p=60</guid>
		<description><![CDATA[This site (http://www.ufthetatau.org/) was completely done with PHP and MySQL. The visual design of the site is not the greatest but the database back end and members only section is rock solid. The members section serves over 250 members and is used for a calendar, contact information database, quote wall, photo gallery,&#160;etc&#8230; The website has [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_61" class="wp-caption alignleft" style="width: 205px"><img class="size-full wp-image-61" title="Theta Tau Website Screenshot" src="http://matthewmorey.com/wp-content/uploads/2009/03/thetatau.jpg" alt="Theta Tau Website Screenshot" width="195" height="144" /><p class="wp-caption-text">Theta Tau Website&nbsp;Screenshot</p></div>
<p>This site (<a href="http://www.ufthetatau.org/">http://www.ufthetatau.org/</a>) was completely done with PHP and MySQL. The visual design of the site is not the greatest but the database back end and members only section is rock solid. The members section serves over 250 members and is used for a calendar, contact information database, quote wall, photo gallery,&nbsp;etc&#8230;</p>
<p>The website has gone through several revisions since I graduated. The site I designed is no longer there but the members section I created is still being used. Just in case the actual site is down check out this <a href="http://matthewmorey.com/ufthetatau/">mirror </a>or this <a href="http://matthewmorey.com/ufthetatau.pdf">PDF </a>version.</p>
]]></content:encoded>
			<wfw:commentRss>http://matthewmorey.com/projects/uf-theta-tau-web-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apex Environmental Web Site</title>
		<link>http://matthewmorey.com/projects/apex-environmental-web-site/</link>
		<comments>http://matthewmorey.com/projects/apex-environmental-web-site/#comments</comments>
		<pubDate>Sun, 24 Jun 2007 20:07:49 +0000</pubDate>
		<dc:creator>Matt(hew)</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Websites]]></category>
		<category><![CDATA[Apex Environmental]]></category>
		<category><![CDATA[Dreamweaver]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[website]]></category>
		<category><![CDATA[WYSIWYG]]></category>

		<guid isPermaLink="false">http://matthewmorey.com/blog/?p=64</guid>
		<description><![CDATA[I used the template feature in Dreamweaver to design this site (http://www.apexenvironmental.com/). Most hard core web designer discredit WYSIWYG editors like Dreamweaver but in my experience they increase productivity by leaps and bounces. This site also has an administration backend developed with PHP. The backend allows the site owner to make changes to the content [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_65" class="wp-caption alignleft" style="width: 204px"><img class="size-full wp-image-65" title="Apex Environmental Web Site" src="http://matthewmorey.com/wp-content/uploads/2009/03/apex.jpg" alt="Apex Environmental Web Site" width="194" height="145" /><p class="wp-caption-text">Apex Environmental Web&nbsp;Site</p></div>
<p>I used the template feature in Dreamweaver to design this site (<a href="http://www.apexenvironmental.com/">http://www.apexenvironmental.com/</a>). Most hard core web designer discredit WYSIWYG editors like Dreamweaver but in my experience they increase productivity by leaps and bounces. This site also has an administration backend developed with PHP. The backend allows the site owner to make changes to the content without knowing any coding. I really like they way this site came&nbsp;out.</p>
<p>Since I designed the site someone else took control of the site and it now doesn&#8217;t function as it was intended. To see the site the way I originally designed it please view this <a href="http://matthewmorey.com/apex_environmental.pdf">PDF&nbsp;version</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://matthewmorey.com/projects/apex-environmental-web-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IRAS (Intelligent Refrigerator Alarm System)</title>
		<link>http://matthewmorey.com/projects/iras-intelligent-refrigerator-alarm-system/</link>
		<comments>http://matthewmorey.com/projects/iras-intelligent-refrigerator-alarm-system/#comments</comments>
		<pubDate>Sun, 03 Jun 2007 05:48:55 +0000</pubDate>
		<dc:creator>Matt(hew)</dc:creator>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[alarm]]></category>
		<category><![CDATA[junior design]]></category>
		<category><![CDATA[lcd]]></category>
		<category><![CDATA[microcontroller]]></category>
		<category><![CDATA[PIC]]></category>
		<category><![CDATA[refrigerator]]></category>
		<category><![CDATA[report]]></category>

		<guid isPermaLink="false">http://matthewmorey.com/blog/?p=15</guid>
		<description><![CDATA[I built IRAS in my Junior Design class. IRAS is a small self-contained and self-powered unit that will monitor the climate and door status of a refrigerator or freezer. The climate monitoring component outputs the temperature in °F and the relative humidity as a percentage on a low power reflective LCD screen. The Intelligent Refrigerator [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_19" class="wp-caption alignleft" style="width: 210px"><img class="size-full wp-image-19" title="IRAS" src="http://matthewmorey.com/wp-content/uploads/2007/04/iras.jpg" alt="IRAS" width="200" height="75" /><p class="wp-caption-text">IRAS</p></div>
<p>I built IRAS in my Junior Design class. IRAS is a small self-contained and self-powered unit that will monitor the climate and door status of a refrigerator or freezer. The climate monitoring component outputs the temperature in °F and the relative humidity as a percentage on a low power reflective LCD screen. The Intelligent Refrigerator Alarm System or IRAS (formally known as IRFCMDAS) monitors the opening and closing of the compartment&#8217;s door with a reed (magnetic) switch and sounds an alarm if either the door is left open for too long or if climate conditions are not ideal. The device was implemented using the C programming language and the PIC microcontroller. For more information about this project please read the <a href="http://matthewmorey.com/junior_design.pdf">report</a> (about 3.5MB, right-click and save the document to your&nbsp;desktop).</p>
]]></content:encoded>
			<wfw:commentRss>http://matthewmorey.com/projects/iras-intelligent-refrigerator-alarm-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Small8 &#8211; My version of an 8-bit computer</title>
		<link>http://matthewmorey.com/projects/small8-my-version-of-an-8-bit-computer/</link>
		<comments>http://matthewmorey.com/projects/small8-my-version-of-an-8-bit-computer/#comments</comments>
		<pubDate>Sun, 03 Jun 2007 05:19:51 +0000</pubDate>
		<dc:creator>Matt(hew)</dc:creator>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[8-bit]]></category>
		<category><![CDATA[altera cyclone]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[digital design]]></category>
		<category><![CDATA[fpga]]></category>
		<category><![CDATA[report]]></category>
		<category><![CDATA[school]]></category>
		<category><![CDATA[vhdl]]></category>

		<guid isPermaLink="false">http://matthewmorey.com/blog/?p=12</guid>
		<description><![CDATA[My final project in my Digital Design class was to design a simple 8-bit computer (called Small8) using VHDL and Altera&#8217;s Cyclone FPGA. Small8 consists of an 8-bit processor (64K address space), RAM, and I/O&#160;ports. The Small8&#8242;s design is split into three sections: Overall Architecture, Central Processing Unit (CPU), and External Components. For more information [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_36" class="wp-caption alignright" style="width: 210px"><img class="size-full wp-image-36" title="Small8 Diagram" src="http://matthewmorey.com/wp-content/uploads/2009/01/small8.jpg" alt="Small8" width="200" height="186" /><p class="wp-caption-text">Small8</p></div>
<p>My final project in my Digital Design class was to design a simple 8-bit computer (called Small8) using VHDL and Altera&#8217;s Cyclone FPGA. Small8 consists of an 8-bit processor (64K address space), RAM, and I/O&nbsp;ports.</p>
<p>The Small8&#8242;s design is split into three sections: Overall Architecture, Central Processing Unit (CPU), and External Components. For more information on the details of this project please read my comprehensive <a href="http://matthewmorey.com/SMALL8.pdf">report</a> (about 8MB, right-click and save the document to your&nbsp;desktop).</p>
]]></content:encoded>
			<wfw:commentRss>http://matthewmorey.com/projects/small8-my-version-of-an-8-bit-computer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Application Notes</title>
		<link>http://matthewmorey.com/projects/application-notes/</link>
		<comments>http://matthewmorey.com/projects/application-notes/#comments</comments>
		<pubDate>Fri, 10 Nov 2006 20:25:49 +0000</pubDate>
		<dc:creator>Matt(hew)</dc:creator>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[application note]]></category>
		<category><![CDATA[NMR]]></category>
		<category><![CDATA[PCI]]></category>
		<category><![CDATA[pulseblaster]]></category>
		<category><![CDATA[spectrometer]]></category>
		<category><![CDATA[SpinCore]]></category>

		<guid isPermaLink="false">http://matthewmorey.com/blog/?p=55</guid>
		<description><![CDATA[A major part of a product is the documentation that accompanies it. One thing SpinCore&#8217;s PulseBlasterDDS board lacked was a proper manual and application notes. In addition to redoing the manual, I wrote a brief document which describes how to set up a simple NMR spectrometer system using the PulseBlasterDDS&#160;board.]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_23" class="wp-caption alignleft" style="width: 204px"><img src="http://matthewmorey.com/wp-content/uploads/2009/01/applicationnotes.jpg" alt="Application Note" title="PulseBlasterDDS Application Note" width="194" height="244" class="size-full wp-image-23" /><p class="wp-caption-text">Application&nbsp;Note</p></div>A major part of a product is the documentation that accompanies it. One thing SpinCore&#8217;s PulseBlasterDDS board lacked was a proper manual and application notes. In addition to redoing the manual, I wrote a brief document which describes how to set up a simple NMR spectrometer system using the PulseBlasterDDS&nbsp;board.</p>
]]></content:encoded>
			<wfw:commentRss>http://matthewmorey.com/projects/application-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
