<?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>Andy&#039;s Life</title>
	<atom:link href="http://blog.thiseldo.co.uk/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://blog.thiseldo.co.uk</link>
	<description>My small corner of the web...</description>
	<lastBuildDate>Thu, 23 May 2013 06:09:58 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Using the Scrolling message display</title>
		<link>http://blog.thiseldo.co.uk/?p=864</link>
		<comments>http://blog.thiseldo.co.uk/?p=864#comments</comments>
		<pubDate>Wed, 10 Apr 2013 21:01:21 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Home Monitoring]]></category>
		<category><![CDATA[mbed]]></category>

		<guid isPermaLink="false">http://blog.thiseldo.co.uk/?p=864</guid>
		<description><![CDATA[<p>Following on from a previous post describing the scrolling message display, I&#8217;m adding a few notes on how to use it with a service called If this then that (ifttt.com).</p> <p>The idea behind IFTTT is tthat when an event occurs on one application or site it can trigger another application or event. There are [...]]]></description>
				<content:encoded><![CDATA[<p>Following on from a previous post describing the <a href="http://blog.thiseldo.co.uk/?p=703" title="http://blog.thiseldo.co.uk/?p=703" target="_blank">scrolling message display</a>, I&#8217;m adding a few notes on how to use it with a service called <a href="https://ifttt.com/" title="https://ifttt.com/" target="_blank">If this then that (ifttt.com)</a>.</p>
<p>The idea behind IFTTT is tthat when an event occurs on one application or site it can trigger another application or event. There are a number of channels including Google Calendar, date and time, weather, Facebook, Twitter, Foursquare, Dropbox, Google Drive, Skydrive, RSS amongst others and interestingly SMS.</p>
<p>It is the ability to send SMS when a certain event occurs that can create messages for the scrolling message display. For example I have created recipes for:</p>
<ul>
<li>Send SMS when I checkin with Foursquare, showing my location and date/time</li>
<li>Send SMS when an event in my Google Calendar is to start</li>
<li>Send SMS with daily summary of weather, days high/low etc</li>
<li>Send SMS if tomorrow is to be cold or rainy</li>
<li>Send SMS when new mail recieved in GMail inbox</li>
</ul>
<p>Other ideas could be to send a message when trains are delayed by using the RSS feed, to send a message when someone tags you in a photo on Facebook.</p>
<p>Its use is only limited by your imagination and and the technical tools you have for sending SMS messages.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thiseldo.co.uk/?feed=rss2&#038;p=864</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mbed platform &#8211; FRDM-KL25Z</title>
		<link>http://blog.thiseldo.co.uk/?p=795</link>
		<comments>http://blog.thiseldo.co.uk/?p=795#comments</comments>
		<pubDate>Sun, 10 Mar 2013 18:55:06 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[mbed]]></category>

		<guid isPermaLink="false">http://blog.thiseldo.co.uk/?p=795</guid>
		<description><![CDATA[<p>I&#8217;ve been using the mbed platform for a while now after receiving one to develop the IoT Gateway project. This was based on the NXP LPC1768 chip, the details can be found here. One of the downsides of this mbed was its price, even though the features are impressive for a microcontroller development board. [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been using the mbed platform for a while now after receiving one to develop the IoT Gateway project. This was based on the NXP LPC1768 chip, the details can be found <a href="http://mbed.org/handbook/mbed-NXP-LPC1768-Getting-Started" title="http://mbed.org/handbook/mbed-NXP-LPC1768-Getting-Started" target="_blank">here</a>. One of the downsides of this mbed was its price, even though the features are impressive for a microcontroller development board. Recently I came across the <a href="http://mbed.org/handbook/mbed-FRDM-KL25Z-Getting-Started" title="http://mbed.org/handbook/mbed-FRDM-KL25Z-Getting-Started" target="_blank">Freescale FRDM-KL25Z</a> boards which are a similar size to the well known <a href="http://arduino.cc" title="arduino.cc" target="_blank">Arduino</a> but for around £10 (prices may vary) they offer more power and features than the Arduino. They have a 48MHz cpu with 16K RAM and 128K Flash compared to the Arduino&#8217;s 16MHz cpu, 2K RAM and 32K Flash. The FRDM-KL25Z doesnt include any headers so these have to be purchased separately and soldered in yourself.</p>
<p>The mbed boards use the same on-line compiler which makes for quick and easy development without having to install full development environments on all the computers you use. The FRDM-KL25Z, when it arrives, does not contain the mbed bootloader code. This must be applied as a simple download from the <a href="http://mbed.org/handbook/mbed-FRDM-KL25Z-Getting-Started" title="http://mbed.org/handbook/mbed-FRDM-KL25Z-Getting-Started" target="_blank">getting started page</a> on the mbed website</p>
<p>For a comprehensive article on the FRDM-KL25Z, head on over to <a href="http://tronixstuff.wordpress.com/2013/03/07/mbed-and-the-freescale-frdm-kl25z-development-board/" title="http://tronixstuff.wordpress.com/2013/03/07/mbed-and-the-freescale-frdm-kl25z-development-board/" target="_blank">Tronixstuff</a>. </p>
<table border="0">
<tr>
<td>
<a href="http://blog.thiseldo.co.uk/wp-content/uploads/2013/03/2013-03-02-12.44.22.jpg" rel="lightbox[795]"><img src="http://blog.thiseldo.co.uk/wp-content/uploads/2013/03/2013-03-02-12.44.22-300x196.jpg" alt="FRDM-KL25Z" width="300" height="196" class="alignnone size-medium wp-image-799" /></a></td>
<td>
<a href="http://blog.thiseldo.co.uk/wp-content/uploads/2013/03/2013-03-22-21.05.52.jpg" rel="lightbox[795]"><img src="http://blog.thiseldo.co.uk/wp-content/uploads/2013/03/2013-03-22-21.05.52-300x225.jpg" alt="Basic Snake game" width="300" height="225" class="alignnone size-medium wp-image-853" /></a>
</td>
</tr>
<tr>
<td>FRDM-KL25Z with headers added</td>
<td>Nuelectronics Nokia 3310/5110 LCD and joystick shield on FRDM-KL25Z</td>
</tr>
</table>
<p>One of the interesting features is the Arduino compatible header layout, this enables a range of Arduino shields to be used with the FRDM-KL25Z providing the appropriate libraries are available. For shields to be compatible, they need to be 3.3V shields or use the 5V line to power 3.3V devices via an on-shield voltage regulator as the pins on the FRDM-KL25Z are only 3.3V tolerant. The SPI pins are in the correct place and the STDIO serial pins appear to be in the same place too.</p>
<p>At present I have found existing mbed example code for the Nuelectronics Nokia 3310/5110 LCD and joystick shield and have now converted this to a library. Additional graphic drawing functions have been added, that I had in aprevious Arduino version, to make it more useful.The  mbed code and libraries available at <a href="http://mbed.org/users/SomeRandomBloke/code/" title="http://mbed.org/users/SomeRandomBloke/code/" target="_blank">mbed.org/users/SomeRandomBloke/code/</a>.</p>
<p>Another library that I&#8217;ve ported is the Adafruit Arduino library for WS2801 RGB LED drivers. This can be used to display patterns on a number of RGB LEDs that are chained together. I have 2m of LED strips totaling 64 LEDs which can be quite impressive when all are being used at once! However they do need to be powered from an external source.</p>
<p>More updates on the FRDM-KL25Z libraries and usage coming later.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thiseldo.co.uk/?feed=rss2&#038;p=795</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bitbucket or GitHub?</title>
		<link>http://blog.thiseldo.co.uk/?p=751</link>
		<comments>http://blog.thiseldo.co.uk/?p=751#comments</comments>
		<pubDate>Thu, 31 Jan 2013 21:13:06 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://blog.thiseldo.co.uk/?p=751</guid>
		<description><![CDATA[<p>I&#8217;ve been using GitHub for a couple of years now for distributing code, but for about the past 6 months I&#8217;ve started using Bitbucket, initially in a collaboration for http://max1284.homelabs.org.uk/. Both services offer similar features but at present neither ticks all the right boxes. Below is my comparison of the two.</p> <p>Both services offer [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been using <a href="https://github.com/" title="https://github.com/" target="_blank">GitHub</a> for a couple of years now for distributing code, but for about the past 6 months I&#8217;ve started using <a href="https://bitbucket.org/" title="https://bitbucket.org/" target="_blank">Bitbucket</a>, initially in a collaboration for <a href="http://max1284.homelabs.org.uk/" title="http://max1284.homelabs.org.uk/" target="_blank">http://max1284.homelabs.org.uk/</a>. Both services offer similar features but at present neither ticks all the right boxes. Below is my comparison of the two.</p>
<p>Both services offer the basic features you&#8217;d want:</p>
<ul>
<li>Public repositories</li>
<li>Use standard Git client tools integrated with favourite dev tools</li>
<li>Issue tracking</li>
<li>Wiki</li>
<li>Revision history</li>
<li>Forking</li>
</ul>
<p><strong>Comparison</strong></p>
<table border="0" width="80%">
<tr>
<th>GitHub</th>
<th>Bitbucket</th>
</tr>
<tr>
<td><div id="attachment_764" class="wp-caption alignnone" style="width: 310px"><a href="http://blog.thiseldo.co.uk/wp-content/uploads/2013/01/2013-01-31-21.04.40.jpg" rel="lightbox[751]"><img src="http://blog.thiseldo.co.uk/wp-content/uploads/2013/01/2013-01-31-21.04.40-300x179.jpg" alt="GitHub screenshot" width="300" height="179" class="size-medium wp-image-764" /></a><p class="wp-caption-text">GitHub screenshot</p></div></td>
<td><div id="attachment_763" class="wp-caption alignnone" style="width: 310px"><a href="http://blog.thiseldo.co.uk/wp-content/uploads/2013/01/2013-01-31-21.03.41.jpg" rel="lightbox[751]"><img src="http://blog.thiseldo.co.uk/wp-content/uploads/2013/01/2013-01-31-21.03.41-300x179.jpg" alt="Bitbucket screenshot" width="300" height="179" class="size-medium wp-image-763" /></a><p class="wp-caption-text">Bitbucket screenshot</p></div></td>
</tr>
<tr>
<td>$7/m for private repositories, couldn&#8217;t determine how many though.</td>
<td>Unlimited free private repositories</td>
</tr>
<tr>
<td>No teams, but any number of collaborators on a repository</td>
<td>Free plan can include team of 5 members</td>
</tr>
<tr>
<td>Community backed, but uses a .com domain!</td>
<td>Corporate backed but uses a .org domain!</td>
</tr>
<tr>
<td>GitHub pages for documentation as well as wiki</td>
<td>Wiki only</td>
</tr>
<tr>
<td>Mobile App</td>
<td>Not Yet? Although mobile Git clients could be used</td>
</tr>
<tr>
<td>Doesn&#8217;t appear to be an import option</td>
<td>Can import repositories from GitHub, but just latest version, no history retrieved.</td>
</tr>
<tr>
<td>New features added on regular basis</td>
<td>New features arrive less frequently</td>
</tr>
<tr>
<td>Supports Git</td>
<td>Supports Git and Mercurial</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>Can use own domain e.g. <a href="http://code.thiseldo.co.uk">code.thiseldo.co.uk</a></td>
</tr>
</table>
<p><strong>Conclusions</strong></p>
<p>At present I&#8217;m tending towards <em>Bitbucket</em> mainly because of the free private repositories that will enable code to be kept private if it is work for a customer or before it is released to a wider audience. As a result I&#8217;ve started to move a number of my repositories from <em>GitHub</em> to <em>Bitbucket</em>. I&#8217;m also re-pointing the Git origin for my local repositories so that they can push to <em>Bitbucket</em> instead of <em>GitHub</em>.</p>
<p><em>The opinions and views expressed here are my own.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thiseldo.co.uk/?feed=rss2&#038;p=751</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Coolcomponents 1Kg box of fun!</title>
		<link>http://blog.thiseldo.co.uk/?p=705</link>
		<comments>http://blog.thiseldo.co.uk/?p=705#comments</comments>
		<pubDate>Tue, 29 Jan 2013 20:27:25 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Electronics]]></category>

		<guid isPermaLink="false">http://blog.thiseldo.co.uk/?p=705</guid>
		<description><![CDATA[<p>I recently spotted that Coolcomponents were offering a small number of 1Kg packages of cool stuff for the bargain price of £10. With the usual VAT and postage this was just under £20 for a 1Kg box of fun cool stuff that you&#8217;ve no idea what you&#8217;re going to get. The small number of [...]]]></description>
				<content:encoded><![CDATA[<p>I recently spotted that <a href="http://www.coolcomponents.co.uk" title="Coolcomponents" target="_blank">Coolcomponents</a> were offering a small number of 1Kg packages of cool stuff for the bargain price of £10. With the usual VAT and postage this was just under £20 for a 1Kg box of fun cool stuff that you&#8217;ve no idea what you&#8217;re going to get. The small number of boxes sold out fairly quickly, but I was able to get one for myself. The box contents were described as old stock, returns, broken and non-functioning items including Arduino boards.</p>
<p>Here is a photo of the items within the box I received:</p>
<p><a href="http://blog.thiseldo.co.uk/wp-content/uploads/2013/01/2013-01-29-18.36.58.jpg" rel="lightbox[705]"><img src="http://blog.thiseldo.co.uk/wp-content/uploads/2013/01/2013-01-29-18.36.58-1024x613.jpg" alt="Assorted stuff" width="640" height="383" class="alignnone size-large wp-image-706" /></a></p>
<p>Inside the box were the following items and their condition: (Prices include VAT and are from searching on net if not currently available from Coolcomponents)</p>
<table border="0">
<tr>
<th>Item</th>
<th>Condition</th>
<th>Approx Value when new (£)</th>
</tr>
<tr>
<td>Arduino BT (Bluetooth), BT06 with ATmega328</td>
<td>Appears to be working after bootloader update, can upload sketches over bluetooth serial when paired with laptop</td>
<td>100.00</td>
</tr>
<tr>
<td>Arduino Ethernet + POE module</td>
<td>Was able to upload sketches but board has problems. POE module and Wiznet chip appear to be very hot.</td>
<td>60.00</td>
</tr>
<tr>
<td>Arduino Ethernet</td>
<td>Powers on, verify errors on burning bootloader.</td>
<td>40.00</td>
</tr>
<tr>
<td>Seeedstudio Seeduino v2</td>
<td>Power light comes on, unable to upload sketches or bootloader</td>
<td>20.00</td>
</tr>
<tr>
<td>Lithium Backpack for Mega (Hi-Capacity)</td>
<td>Broken switch to flip between charge and use. Can be replaced easily. Battery seems to be able to be charged and provides 3.3V out.</td>
<td>40.00</td>
</tr>
<tr>
<td>Sparkfun MP3 trigger, v2</td>
<td>Would not read uSD cards. Found dry joint on uSD socket, resoldered. Now firmware updated and plays MP3 files</td>
<td>35.00</td>
</tr>
<tr>
<td>FEZ Spider 1.0</td>
<td>Unknown, assumed faulty</td>
<td>??.??</td>
</tr>
<tr>
<td>GPS Module EB-3531 &#038; MT-662</td>
<td>Identified as a Globalsat EB-3531 GPS receiver module on a demo board. Found datasheet, hooked up antenna and I&#8217;m now able to get data from it.</td>
<td>??.??</td>
</tr>
<tr>
<td>Large Surface transducer</td>
<td>One lead slightly damaged, not fully tested</td>
<td>20.00</td>
</tr>
<tr>
<td>NEMA17 Stepper motor with leads</td>
<td>One wire broken at motor. Wire fixed but motor not yet tested.</td>
<td>10.00</td>
</tr>
<tr>
<td>Servo, boxed with accessories. Model Sky Holic DGS-299</td>
<td>Appears unused. Tested with Arduino Servo library and works fine.</td>
<td>10.00</td>
</tr>
<tr>
<td>2x 1m RGB LED Strips with 32 RGB LEDs each strip</td>
<td>Appears to have been bent too sharp as it is cracked in places. Total of 64 RGB LEDs and Driver chips. Tested both strips on an Arduino with example sketch and it can light up all 64 LEDs in sequence. So even though it looks in a bad way, it actually works. See video below.</td>
<td>70.00</td>
</tr>
</table>
<p>Overall a mix of boards and parts with an original selling price of over £400. The best finds appear to be the MP3 Trigger, now that it works and the Arduino BT, closely followed by the lithium backpack. <strong>Result!!</strong></p>
<p>I&#8217;ll try to update this if and when parts get fixed or re-used somehow.</p>
<p><strong>More images of the box contents:</strong></p>

<a href='http://blog.thiseldo.co.uk/?attachment_id=724' title='Arduino BT'><img width="150" height="150" src="http://blog.thiseldo.co.uk/wp-content/uploads/2013/01/2013-01-29-19.55.27-e1359490149794-150x150.jpg" class="attachment-thumbnail" alt="Arduino BT" /></a>
<a href='http://blog.thiseldo.co.uk/?attachment_id=725' title='Pair of Arduino Ethernet'><img width="150" height="150" src="http://blog.thiseldo.co.uk/wp-content/uploads/2013/01/2013-01-29-19.56.02-e1359490180796-150x150.jpg" class="attachment-thumbnail" alt="Pair of Arduino Ethernet, one with POE module" /></a>
<a href='http://blog.thiseldo.co.uk/?attachment_id=729' title='Seeeduino'><img width="150" height="150" src="http://blog.thiseldo.co.uk/wp-content/uploads/2013/01/2013-01-29-19.57.27-e1359490352991-150x150.jpg" class="attachment-thumbnail" alt="Seeeduino" /></a>
<a href='http://blog.thiseldo.co.uk/?attachment_id=727' title='Lithium backpack'><img width="150" height="150" src="http://blog.thiseldo.co.uk/wp-content/uploads/2013/01/2013-01-29-19.56.41-e1359490303261-150x150.jpg" class="attachment-thumbnail" alt="Lithium backpack" /></a>
<a href='http://blog.thiseldo.co.uk/?attachment_id=728' title='MP3 trigger'><img width="150" height="150" src="http://blog.thiseldo.co.uk/wp-content/uploads/2013/01/2013-01-29-19.57.02-e1359490328661-150x150.jpg" class="attachment-thumbnail" alt="MP3 trigger" /></a>
<a href='http://blog.thiseldo.co.uk/?attachment_id=730' title='FEZ Spider'><img width="150" height="150" src="http://blog.thiseldo.co.uk/wp-content/uploads/2013/01/2013-01-29-19.58.07-e1359490377967-150x150.jpg" class="attachment-thumbnail" alt="FEZ Spider" /></a>
<a href='http://blog.thiseldo.co.uk/?attachment_id=731' title='Stepper motor and servo'><img width="150" height="150" src="http://blog.thiseldo.co.uk/wp-content/uploads/2013/01/2013-01-29-19.58.38-150x150.jpg" class="attachment-thumbnail" alt="Stepper motor and servo" /></a>
<a href='http://blog.thiseldo.co.uk/?attachment_id=732' title='Large surface transducer'><img width="150" height="150" src="http://blog.thiseldo.co.uk/wp-content/uploads/2013/01/2013-01-29-19.59.18-e1359490410670-150x150.jpg" class="attachment-thumbnail" alt="Large surface transducer" /></a>
<a href='http://blog.thiseldo.co.uk/?attachment_id=733' title='RGB LED strips'><img width="150" height="150" src="http://blog.thiseldo.co.uk/wp-content/uploads/2013/01/2013-01-29-19.59.42-e1359490448373-150x150.jpg" class="attachment-thumbnail" alt="2m of RGB LED strips" /></a>
<a href='http://blog.thiseldo.co.uk/?attachment_id=723' title='GPS module'><img width="150" height="150" src="http://blog.thiseldo.co.uk/wp-content/uploads/2013/01/2013-01-29-19.55.04-e1359491160681-150x150.jpg" class="attachment-thumbnail" alt="GPS Module" /></a>

<p><strong>RGB LED strips video</strong></p>
<p><iframe width="420" height="315" src="http://www.youtube.com/embed/wHgomt7GfGQ?rel=0" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thiseldo.co.uk/?feed=rss2&#038;p=705</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Scrolling message display &#8211; From Meetup to Product</title>
		<link>http://blog.thiseldo.co.uk/?p=703</link>
		<comments>http://blog.thiseldo.co.uk/?p=703#comments</comments>
		<pubDate>Sat, 08 Dec 2012 19:15:11 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Home Monitoring]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[mbed]]></category>

		<guid isPermaLink="false">http://blog.thiseldo.co.uk/?p=703</guid>
		<description><![CDATA[<p>Introduction</p> <p>I originally saw a demo of the Vodafone K3770 Mobile broadband dongle given by Ashley Mills of Vodafone at IoT London Meetup 9. In the demo the mbed was receiving SMS and outputting them to a printer. Shortly after this I got myself a Vodafone K3770 dongle and started to see what I [...]]]></description>
				<content:encoded><![CDATA[<p><strong>Introduction</strong></p>
<p>I originally saw a demo of the Vodafone K3770 Mobile broadband dongle given by <a href="https://twitter.com/ashleyjsmills" title="Ash" target="_blank">Ashley Mills</a> of Vodafone at <a href="http://www.meetup.com/iotlondon/events/65547222/" title="meetup 9" target="_blank">IoT London Meetup 9</a>. In the demo the <a href="http://mbed.org" title="mbed" target="_blank">mbed</a> was receiving SMS and outputting them to a printer. Shortly after this I got myself a Vodafone K3770 dongle and started to see what I could do with it. At the time the library was still in a beta state so any feedback was welcomed by the team developing it. Eventually the library was released as an official mbed library.</p>
<p><a href="http://blog.thiseldo.co.uk/wp-content/uploads/2013/03/2013-03-16-16.49.27-e1363453749384.jpg" rel="lightbox[703]"><img src="http://blog.thiseldo.co.uk/wp-content/uploads/2013/03/2013-03-16-16.49.27-e1363453749384-300x63.jpg" alt="2013-03-16 16.49.27" width="300" height="63" class="alignnone size-medium wp-image-814" /></a></p>
<p><strong>The idea</strong></p>
<p>I had previously done projects with a number of 8&#215;32 LED matrix displays with Arduino and had a code base to work with that could then be ported to the mbed platform. The idea of receiving SMS and displaying them on a scrolling message display sounded like an interesting project to use the mobile broadband dongle with. I had also started using the service <a href="https://ifttt.com/" title="ifttt" target="_blank">IFTTT</a> so the idea of being able to automate messages from weather reports to FourSquare checkins while still being able to receive and display other messages was being formed.</p>
<p><strong>The prototype</strong></p>
<p>The prototype was built on stripboard and consisted of the mbed module, a USB socket, voltage regulator and of course 4 8&#215;32 LED matrix displays giving a total message area of 8&#215;128 pixels. I opted for the horizontal format as this lends itself better to long scrolling messages. Alternative configurations include 16&#215;64 which could give a moving display and a static display to include date/time display.</p>
<p><a href="http://blog.thiseldo.co.uk/wp-content/uploads/2013/02/2013-02-18-22.30.44.jpg" rel="lightbox[703]"><img src="http://blog.thiseldo.co.uk/wp-content/uploads/2013/02/2013-02-18-22.30.44-300x225.jpg" alt="2013-02-18 22.30.44" width="300" height="225" class="alignnone size-medium wp-image-786" /></a></p>
<p><strong>Mounting the displays</strong></p>
<p>I had a number of reclaimed oak floorboards that I had bought for a woodworking project and thought that mounting the displays in an oak panel would give a combination of old and new things. The oak would also match the furniture in the house so make the display more acceptable as a piece of furniture. The plank was planed and a cutout made using a router. The rear was also recessed to receive the displays.</p>
<p><a href="http://blog.thiseldo.co.uk/wp-content/uploads/2013/03/2013-03-16-16.49.37-e1363453787679.jpg" rel="lightbox[703]"><img src="http://blog.thiseldo.co.uk/wp-content/uploads/2013/03/2013-03-16-16.49.37-e1363453787679-300x60.jpg" alt="2013-03-16 16.49.37" width="300" height="60" class="alignnone size-medium wp-image-815" /></a></p>
<p><strong>Software</strong></p>
<p>The software has a number of features:</p>
<ul>
<li>Query Network for its phone number</li>
<li>Display initial message showing its number</li>
<li>A number of SMS command words are recognised to perform simple actions (e.g. Retrieve balance)</li>
</ul>
<p>The code is available from <a href="http://mbed.org/users/SomeRandomBloke/code/SMS_LEDMatrixPrinter/" title="http://mbed.org/users/SomeRandomBloke/code/SMS_LEDMatrixPrinter/" target="_blank">my mbeed page</a> ready to import into your own mbed.</p>
<p><a href="http://blog.thiseldo.co.uk/wp-content/uploads/2013/03/2013-03-16-16.50.07-e1363453843486.jpg" rel="lightbox[703]"><img src="http://blog.thiseldo.co.uk/wp-content/uploads/2013/03/2013-03-16-16.50.07-e1363453843486-300x65.jpg" alt="2013-03-16 16.50.07" width="300" height="65" class="alignnone size-medium wp-image-816" /></a></p>
<p><strong>Designing a PCB</strong></p>
<p>In order to learn how to use EagleCAD for schematic and PCB design I decided to use this project as a learning exercise with the intention of having a number of boards made.</p>
<p><strong>PCB manufacture</strong></p>
<p>The production files were sent to Seeedstudio using their <a href="http://www.seeedstudio.com/depot/fusion-pcb-service-2-layers-p-835.html?cPath=185" title="seeed" target="_blank">2 layer Fusion PCB service</a>. This is a relatively cheap way to have a minimum of 10 boards manufactured. The downside is that it takes a number of weeks for the boards to arrive in the UK form China.</p>
<p><strong>Building first PCB</strong></p>
<p>After just over 2 weeks, the PCBs arrived in all their green glory.</p>
<table border="0" width="75%">
<tr>
<td>
<a href="http://blog.thiseldo.co.uk/wp-content/uploads/2013/03/2013-03-19-08.30.27.jpg" rel="lightbox[703]"><img src="http://blog.thiseldo.co.uk/wp-content/uploads/2013/03/2013-03-19-08.30.27-300x217.jpg" alt="PCB topside" width="300" height="217" class="alignnone size-medium wp-image-837" /></a>
</td>
<td>
<a href="http://blog.thiseldo.co.uk/wp-content/uploads/2013/03/2013-03-19-08.24.57-1.jpg" rel="lightbox[703]"><img src="http://blog.thiseldo.co.uk/wp-content/uploads/2013/03/2013-03-19-08.24.57-1-300x207.jpg" alt="PCB underside" width="300" height="207" class="alignnone size-medium wp-image-836" /></a>
</td>
</tr>
<tr>
<td>Topside</td>
<td>Underside</td>
</tr>
<tr>
<td>
<a href="http://blog.thiseldo.co.uk/wp-content/uploads/2012/12/2013-03-20-20.11.45-e1363815827120.jpg" rel="lightbox[703]"><img src="http://blog.thiseldo.co.uk/wp-content/uploads/2012/12/2013-03-20-20.11.45-e1363815827120-300x222.jpg" alt="low components" width="300" height="222" class="alignnone size-medium wp-image-843" /></a>
</td>
<td>
<a href="http://blog.thiseldo.co.uk/wp-content/uploads/2013/03/2013-03-20-20.36.34-e1363815388857.jpg" rel="lightbox[703]"><img src="http://blog.thiseldo.co.uk/wp-content/uploads/2013/03/2013-03-20-20.36.34-e1363815388857-300x209.jpg" alt="2013-03-20 20.36.34" width="300" height="209" class="alignnone size-medium wp-image-839" /></a>
</td>
</tr>
<tr>
<td>First the resistors, diode and other components close to the board.</td>
<td>Add the headers and sockets. At this point the board was powered up and the voltage regulator tested to ensure that all the points that need 5V have the correct voltage.</td>
</tr>
<tr>
<td>
<a href="http://blog.thiseldo.co.uk/wp-content/uploads/2013/03/2013-03-20-20.37.19-1.jpg" rel="lightbox[703]"><img src="http://blog.thiseldo.co.uk/wp-content/uploads/2013/03/2013-03-20-20.37.19-1-300x211.jpg" alt="Completed board" width="300" height="211" class="alignnone size-medium wp-image-840" /></a>
</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>Completed board</td>
<td>&nbsp;</td>
</tr>
</table>
<p><strong>In use</strong></p>
<p>The new board was connected up to the displays and the first problem was noticed, the displays were in the wrong order. Checking the PCB I had drawn the schematic with the different select lines going to different digital outputs on the mbed. This is an easy fix in the code and within minutes it was displaying scrolling messages properly.<br />
The printer port hasn&#8217;t yet been tested</p>
<p><strong>Improvements</strong></p>
<p>A couple of people had noted that the copper layer covered the area where the dongle was connected, this could affect the signal being received. The other issue is that if the USB socket is soldered in correctly then the dongle is too fat to be able to fit. This was temporarily solved by raising the connector at an angle but this would put strain on the soldered joints.<br />
Both of these issues can be fixed by altering the shape of the board so there is a cutout where the dongle is.</p>
<p><strong>Todo</strong></p>
<ul>
<li><del datetime="2013-04-08T21:06:38+00:00">Mount the board on back of display</del></li>
<li>Test printer port</li>
<li>Update PCB with cutout for dongle</li>
<li>Add licensing details</li>
<li>Release schematics, parts list and all build files</li>
</ul>
<p><strong>And finally&#8230;</strong></p>
<p>I have a few spare PCBs so if anyone in the UK would like one drop me a message either via <a href="https://mbed.org/users/SomeRandomBloke/" title="https://mbed.org/users/SomeRandomBloke/" target="_blank">my mbed page</a> or via Twitter <a href="https://twitter.com/andrewdlindsay" title="https://twitter.com/andrewdlindsay" target="_blank">@andrewdlindsay</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thiseldo.co.uk/?feed=rss2&#038;p=703</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Max1284 &#8211; The next step for opensource IoT Gateway</title>
		<link>http://blog.thiseldo.co.uk/?p=701</link>
		<comments>http://blog.thiseldo.co.uk/?p=701#comments</comments>
		<pubDate>Sun, 12 Aug 2012 08:12:39 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.thiseldo.co.uk/?p=701</guid>
		<description><![CDATA[<p>I&#8217;ve been helping with a small project over at Homelabs.org.uk to produce a cheap, modular Internet Of Things gateway. Progress can be followed on its dedicated page. So far it has support for a number of wireless connections including RFM12 for Jeelab related sensor nodes, XBee and XRF. The data, once collected can then [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been helping with a small project over at <a href="http://max1284.homelabs.org.uk/" title="Max1284">Homelabs.org.uk</a> to produce a cheap, modular Internet Of Things gateway. Progress can be followed on its dedicated page. So far it has support for a number of wireless connections including RFM12 for Jeelab related sensor nodes, XBee and XRF. The data, once collected can then be sent to various destinations including Cosm, Open Sen.se, Open Energy monitor EmonCMS or custom scripts. The gateway software is currently under development and is base don the successful Mbed IoT gateway project.</p>
<p>The current status of the project is that the first batch of PCBs have been produced, initial boards have been built and are being tested to identify any issues and changes needed for a larger production run with a view to offering a number of kits for sale.</p>
<p>More updates to follow.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thiseldo.co.uk/?feed=rss2&#038;p=701</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Slice of Pi &#8211; Interfacing the Raspberry Pi</title>
		<link>http://blog.thiseldo.co.uk/?p=689</link>
		<comments>http://blog.thiseldo.co.uk/?p=689#comments</comments>
		<pubDate>Sun, 10 Jun 2012 15:10:05 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.thiseldo.co.uk/?p=689</guid>
		<description><![CDATA[<p>Having recently acquired a Raspberry Pi on loan for a few days I decided to try some interfacing. The simple solution would have been to put together a cable and header plug to connect to the I/O pins on the Raspberry Pi. This would need a custom circuit each time I wanted to try [...]]]></description>
				<content:encoded><![CDATA[<p>Having recently acquired a Raspberry Pi on loan for a few days I decided to try some interfacing. The simple solution would have been to put together a cable and header plug to connect to the I/O pins on the Raspberry Pi. This would need a custom circuit each time I wanted to try something. Another solution is to buy a board that connects to the I/O pins and provides a prototyping area in a similar manner to the Arduino proto-shields. The board chosen is the <a href="http://shop.ciseco.co.uk/slice-of-pi/" title="Slice of Pi">Slice of Pi</a> from Ciseco plc. This has a number of features that make it a good board to use:</p>
<ul>
<li>It&#8217;s cheap!</li>
<li>Comes in kit form so you can include as much of it as you want, the minimum being the pcb and 26 way connector</li>
<li>Includes connectors for XBee/XRF/RN-XV wifi module.</li>
<li>SPI, I2C and GPIO on a pair of 8 way header sockets</li>
<li>Pads for 5V, 3.3V, GND, RX and TX</li>
</ul>
<p>Building the kit is straightforward and is shown in the images below. After building a couple of these I found that if you need the Xbee connectors then its best to put them in first.</p>
<table border="0">
<tr>
<td>
<!--Mime Type of File is image/jpeg --></p>
<div class="postie-image-div"><a href="http://blog.thiseldo.co.uk/wp-photos/pi_001.jpg" rel="lightbox[blog]"><img src="http://blog.thiseldo.co.uk/wp-photos/pi_001th.jpg" alt="" style="border: none;" class="postie-image" /></a></div>
</td>
<td>
<!--Mime Type of File is image/jpeg --></p>
<div class="postie-image-div"><a href="http://blog.thiseldo.co.uk/wp-photos/pi_002.jpg" rel="lightbox[blog]"><img src="http://blog.thiseldo.co.uk/wp-photos/pi_002th.jpg" alt="" style="border: none;" class="postie-image" /></a></div>
</td>
<td>
<!--Mime Type of File is image/jpeg --></p>
<div class="postie-image-div"><a href="http://blog.thiseldo.co.uk/wp-photos/pi_003.jpg" rel="lightbox[blog]"><img src="http://blog.thiseldo.co.uk/wp-photos/pi_003th.jpg" alt="" style="border: none;" class="postie-image" /></a></div>
</td>
<td>
<!--Mime Type of File is image/jpeg --></p>
<div class="postie-image-div"><a href="http://blog.thiseldo.co.uk/wp-photos/pi_004.jpg" rel="lightbox[blog]"><img src="http://blog.thiseldo.co.uk/wp-photos/pi_004th.jpg" alt="" style="border: none;" class="postie-image" /></a></div>
</td>
<td>
<!--Mime Type of File is image/jpeg --></p>
<div class="postie-image-div"><a href="http://blog.thiseldo.co.uk/wp-photos/pi_005.jpg" rel="lightbox[blog]"><img src="http://blog.thiseldo.co.uk/wp-photos/pi_005th.jpg" alt="" style="border: none;" class="postie-image" /></a></div>
</td>
<td>
<!--Mime Type of File is image/jpeg --></p>
<div class="postie-image-div"><a href="http://blog.thiseldo.co.uk/wp-photos/pi_007.jpg" rel="lightbox[blog]"><img src="http://blog.thiseldo.co.uk/wp-photos/pi_007th.jpg" alt="" style="border: none;" class="postie-image" /></a></div>
</td>
</tr>
<tr>
<td>The contents of the Slice of Pi kit.</td>
<td>Main connector is soldered underneath pcb.</td>
<td>Add some headers to the top of the board</td>
<td>Add the XBee/XRF header sockets if required</td>
<td>Underside view, all soldered.</td>
<td>Example showing connector to enable FTDI cable to be used as console cable</td>
</tr>
</table>
<p>That&#8217;s all there is to the Slice of Pi from <a href="http://shop.ciseco.co.uk/slice-of-pi/" title="Slice of Pi">Ciseco plc</a>. While you&#8217;re there, check out the XRF radio modules, compatible with Slice of Pi!</p>
<p>More to follow on adding specific hardware.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thiseldo.co.uk/?feed=rss2&#038;p=689</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Long time no post</title>
		<link>http://blog.thiseldo.co.uk/?p=676</link>
		<comments>http://blog.thiseldo.co.uk/?p=676#comments</comments>
		<pubDate>Mon, 21 May 2012 21:23:49 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.thiseldo.co.uk/?p=676</guid>
		<description><![CDATA[<p>It looks like its been an absolute age since I posted anything here, too much going on but here are a few things I&#8217;ve been doing:</p> Mbed based IoT Gateway Attending IoT London Meetups and Giving talk on mbed IoT gateway CO Sensors using details from here Helping fund a kickstarter project Amazon Web [...]]]></description>
				<content:encoded><![CDATA[<p>It looks like its been an absolute age since I posted anything here, too much going on but here are a few things I&#8217;ve been doing:</p>
<ul>
<li><a href="http://mbed.org/users/SomeRandomBloke/programs/IoTGateway_Basic/m9qlaj" title="Mbed based IoT Gateway">Mbed based IoT Gateway</a></li>
<li><a href="http://www.meetup.com/iotlondon/">Attending IoT London Meetups</a> and <a href="http://www.slideshare.net/SomeRandomBloke/iotlondon-mbed-based-iot-gateway-talk" title="Talk">Giving talk on mbed IoT gateway</a></li>
<li><a href="http://thesis.jmsaavedra.com/kit/mq-7-breakout-kit-maker-faire-talk/" title="CO Sensors">CO Sensors using details from here</a></li>
<li><a href="http://www.kickstarter.com/projects/680121538/air-quality-egg">Helping fund a kickstarter project</a></li>
<li><a href="http://aws.amazon.com/free/">Amazon Web Services Free Usage Tier</a> &#8211; I have been running my own cloud based linux server</li>
<li><a href="http://open.sen.se">Open Sen.se</a> &#8211; An alternative to Cosm (Formerly Pachube) with a lot of nice features</li>
<li><a href="http://openenergymonitor.org/emon/">Open Energy Monitor</a> &#8211; Including running emonCMS on AWS free tier server</li>
<li><a href="http://www.thesettlersonline.com">Playing The Settlers Online</a></li>
</ul>
<p>Plus much more&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thiseldo.co.uk/?feed=rss2&#038;p=676</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TinyBasic for Nanode</title>
		<link>http://blog.thiseldo.co.uk/?p=647</link>
		<comments>http://blog.thiseldo.co.uk/?p=647#comments</comments>
		<pubDate>Sat, 31 Dec 2011 10:17:29 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.thiseldo.co.uk/?p=647</guid>
		<description><![CDATA[<p>As one of those that has taken up the TinyBasic Christmas Challenge issued by Ken Boak, the creator of Nanode, a range of Arduino compatible microcontroller boards, I am posting my updates. The basic code is able to run simple Basic commands and run small programs. What it lacked is a place to store [...]]]></description>
				<content:encoded><![CDATA[<p>As one of those that has taken up the <a href="http://sustburbia.blogspot.com/2011/12/tiny-basic-running-on-nanode.html" title="TinyBasic Christmas challenge" target="_blank">TinyBasic Christmas Challenge</a> issued by Ken Boak, the creator of <a href="http://wiki.london.hackspace.org.uk/view/Project:Nanode" title="Nanode" target="_blank">Nanode</a>, a range of <a href="http://arduino.cc/" title="Arduino" target="_blank">Arduino </a> compatible microcontroller boards, I am posting my updates. The basic code is able to run simple Basic commands and run small programs. What it lacked is a place to store programs for later retrieval and also to increase the available memory for program storage. Unlike the Arduino, the Nanode-RF comes with an external 32Kbyte static ram chip fitted and a uSD card slot.</p>
<p>The codebase used is at <a href="https://github.com/thiseldo/NanodeBasic" title="https://github.com/thiseldo/NanodeBasic" target="_blank">https://github.com/thiseldo/NanodeBasic</a> and already had a number of I/O commands added by Dave CJ.</p>
<p>My updates are:</p>
<ul>
<li>Move static strings to program memory</li>
<li>Convert to use SRAM for TinyBasic program, variables and stack giving 32768 bytes instead of the original 1400bytes!</li>
<li>Implemented LOAD/SAVE/DIR/LRUN commands for uSD to Load, Save, directory list and load then run basic programs. All stored in plain text and can be changed by editing the files on the uSD card.</li>
<li>Include simple SRAM checker, if it fails then pulse digital pins 5 and 6 alternately</li>
<li>Added simple MEM command to display memory used</li>
<li>Added EPEEK and EPOKE to access EEPROM memory. Thanks Dave-CJ</li>
<li>Added RND for simple random number generation. Thanks Dave-CJ</li>
<li>Added TSECS for incrementing tenths of a second counter</li>
<li>Auto running of program from uSD card. Just name the program <em>autoexec.bas</em> and it will load and run on reset.</li>
</ul>
<p>Filenames on the uSD card are 8.3 format and there are no checks on file extensions that you can use. Files are stored in the root directory only.</p>
<p>Still to do:</p>
<ul>
<li>Filename handling is basic, only coded to prevent buffer overflows, format isnt checked.</li>
<li>No protection on setting I/O pins used by SRAM and uSD card. DOUT 4=0 will cause <em>Syntax Error</em> to be displayed for every subsequent command.</li>
</ul>
<p>The sketch is available to download from <a href="https://gist.github.com/1519025" target="_blank">https://gist.github.com/1519025</a>, please note this required a Nanode with SRAM and uSD socket to fully work.</p>
<p>It requires a number of libraries to function:</p>
<ul>
<li>SRAM9 &#8211; <a href="https://github.com/thiseldo/SRAM9">https://github.com/thiseldo/SRAM9</a></li>
<li>SdFat &#8211; <a href="http://code.google.com/p/sdfatlib/">http://code.google.com/p/sdfatlib/</a></li>
</ul>
<p>One thing I have found is that when using Nanode with SRAM fitted, as this is a 3.3V board, the fuses set on the Atmega328P must be set correctly in order to prevent the board locking up. By default this is set to 2.7V but for a 3.3V board this can be too high, resetting it to 1.8V seems to cure this.</p>
<p>For those with suitable programmer, an alternative bootloader is available at <a href="https://github.com/thiseldo/NanodeBootLoader">https://github.com/thiseldo/NanodeBootLoader</a>. This includes options for both 5V and 3.3V boards.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thiseldo.co.uk/?feed=rss2&#038;p=647</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Migrating from EtherShield to EtherCard library</title>
		<link>http://blog.thiseldo.co.uk/?p=623</link>
		<comments>http://blog.thiseldo.co.uk/?p=623#comments</comments>
		<pubDate>Mon, 21 Nov 2011 08:59:25 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Home Monitoring]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[ENC28J60]]></category>

		<guid isPermaLink="false">http://blog.thiseldo.co.uk/?p=623</guid>
		<description><![CDATA[<p>Important Note: I have now stopped development work on the EtherShield library However, this is not the end for Arduino and ENC28J60 libraries. The excellent EtherCard library from Jeelabs. I have decided this is the library I am to use in my examples and future ENC28J60 developments.</p> <p>As the two librariers are based on [...]]]></description>
				<content:encoded><![CDATA[<p><strong>Important Note: <em>I have now stopped development work on the EtherShield library</em></strong><br />
However, this is not the end for Arduino and ENC28J60 libraries. The excellent <a href="https://github.com/jcw/ethercard">EtherCard</a> library from <a href="http://jeelabs.org/">Jeelabs</a>. I have decided this is the library I am to use in my examples and future ENC28J60 developments.</p>
<p>As the two librariers are based on the same original code they share a lot of similarities. One being that I wrote the DHCP code that is used in both the EtherShield and EtherCard libraries. There are a number of things that need to be changed in your sketches in order to use the EtherCard library. These are documented below:</p>
<p><strong>Header file</strong></p>
<p>Replace<br />
<code><br />
#include &lt;EtherShield.h&gt;<br />
</code></p>
<p>with<br />
<code><br />
#include &lt;EtherCard .h&gt;<br />
</code></p>
<p><strong>Library use</strong></p>
<p>Replace<br />
<code><br />
#define BUFFER_SIZE 650<br />
static uint8_t buf[BUFFER_SIZE+1];<br />
EtherShield es=EtherShield();<br />
</code></p>
<p>With<br />
<code><br />
#define BUFFER_SIZE 650<br />
byte Ethernet::buffer[BUFFER_SIZE];<br />
</code></p>
<p><strong>ENC28J60 initialisation</strong></p>
<p>Replace<br />
<code><br />
  // Initialise SPI interface<br />
  es.ES_enc28j60SpiInit();<br />
  // initialize enc28j60<br />
  es.ES_enc28j60Init(mymac,8);  // To specify CS pin<br />
//  es.ES_enc28j60Init(mymac);  // To use default CS</p>
<p>  es.ES_client_set_wwwip(websrvip);  // target web server<br />
</code></p>
<p>With<br />
<code><br />
  if (ether.begin(sizeof Ethernet::buffer, mymac) == 0) {<br />
    Serial.println( "Failed to access Ethernet controller");<br />
    while(1);<br />
  }<br />
</code></p>
<p>or, if using a Nuelectronics ENC28J60 shield to use correct select pin<br />
<code><br />
  if (ether.begin(sizeof Ethernet::buffer, mymac,10) == 0) {<br />
    Serial.println( "Failed to access Ethernet controller");<br />
    while(1);<br />
  }<br />
</code></p>
<p><strong>Allocate IP Address using DHCP</strong></p>
<p>Replace<br />
<code><br />
  es.allocateIPAddress(buf, BUFFER_SIZE, mymac, 80, myip, mynetmask, gwip, dnsip, dhcpsvrip );<br />
</code></p>
<p>With<br />
<code><br />
  if (!ether.dhcpSetup()) {<br />
    Serial.println( "DHCP failed");<br />
    while(1);<br />
  }<br />
</code></p>
<p><strong>Allocate IP Addresses using static addressing</strong></p>
<p>Define Addresses with<br />
<code><br />
static uint8_t myip[4] = { 192,168,1,101 };<br />
static uint8_t gwip[4] = { 192,168,1,1 };<br />
</code></p>
<p>Setup library with<br />
<code><br />
  ether.staticSetup(myip, gwip);<br />
</code></p>
<p><strong>Resolve DNS Hostname</strong></p>
<p>Replace<br />
<code><br />
    if(!es.resolveHostname(buf, BUFFER_SIZE,(uint8_t*)HOSTNAME ) > 0 ) {<br />
      Serial.println("Hostname not resolved");<br />
    }<br />
</code></p>
<p>With<br />
<code><br />
  if (!ether.dnsLookup(PSTR( HOSTNAME ) )) {<br />
    Serial.println("DNS failed");<br />
    while(1);<br />
  }<br />
</code></p>
<p><strong>Other Bits</strong></p>
<p>You might want this bet next just to make sure ARP has been done for Router address:</p>
<p><code><br />
  while (ether.clientWaitingGw())<br />
    ether.packetLoop(ether.packetReceive());<br />
</code></p>
<p><strong>Main Processing</strong></p>
<p>Replace<br />
<code><br />
    dat_p=es.ES_packetloop_icmp_tcp(buf,es.ES_enc28j60PacketReceive(BUFFER_SIZE, buf));<br />
</code></p>
<p>With<br />
<code><br />
    dat_p = ether.packetLoop(ether.packetReceive());<br />
</code></p>
<p><strong>Sending HTTP GET Request</strong></p>
<p>Replace<br />
<code><br />
     es.ES_client_browse_url(PSTR("/xyz.php"), "?search=Arduino", PSTR(HOSTNAME), &#038;browserresult_callback);<br />
</code></p>
<p>With<br />
<code><br />
    ether.browseUrl(PSTR("/xyz.php"), "?search=Arduino", PSTR(HOSTNAME), &#038;browserresult_callback);<br />
</code></p>
<p><strong>General Packet Buffer Access</strong></p>
<p>Replace<br />
<code><br />
buf[55]<br />
</code></p>
<p>With<br />
<code><br />
Ethernet::buffer[55]<br />
</code></p>
<p><strong>DHCP Lease Expiry</strong></p>
<p>Replace:<br />
<code><br />
</code></p>
<p>With<br />
<code><br />
  if (ether.dhcpExpired())<br />
    ether.dhcpSetup();<br />
</code></p>
<p><strong>Setting alternative port for http server</strong></p>
<p>Use:<br />
<code><br />
  ether.hisport = 1234;<br />
</code></p>
<p>There are more changes but these should cover most cases for now.</p>
<p><strong>Still to address</strong></p>
<p>The EtherCard library still needs a few updates such as:</p>
<ul>
<li>Sleep mode</li>
<li>dodgy TCP implementation allowing only one packet before closing connection</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.thiseldo.co.uk/?feed=rss2&#038;p=623</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
	</channel>
</rss>
