<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Adam Palmer, PHP Programmer, Website Security Consultant</title>
	
	<link>http://www.adamsinfo.com</link>
	<description>Adam Palmer MBCS CITP, Linux Consultant, PHP Programmer, MySQL Developer, Website Security Consultant</description>
	<lastBuildDate>Fri, 26 Apr 2013 20:24:52 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/AdamsTechTalkLinuxHowtosDiscussion" /><feedburner:info uri="adamstechtalklinuxhowtosdiscussion" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Mitigating the Wireless Hacking Station</title>
		<link>http://feedproxy.google.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~3/pKGNBCpK-88/</link>
		<comments>http://www.adamsinfo.com/mitigating-the-wireless-hacking-station/#comments</comments>
		<pubDate>Fri, 19 Oct 2012 17:38:28 +0000</pubDate>
		<dc:creator>Adam Palmer</dc:creator>
				<category><![CDATA[Security Consultant]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[wireless attacks]]></category>

		<guid isPermaLink="false">http://www.adamsinfo.com/?p=1393</guid>
		<description><![CDATA[I covered an all in one wireless exploit device previously, and will now cover some mitigation ideas. There is no individual exploit to mitigate but a series of weaknesses and insecurities that can lead to attack. To cover each step<span class="ellipsis">&#8230;</span> <a href="http://www.adamsinfo.com/mitigating-the-wireless-hacking-station/"><div class="see-more">See more &#8250;</div><!-- end of .see-more --></a>]]></description>
				<content:encoded><![CDATA[<p>I covered an all in one <a href="http://www.adamsinfo.com/fully-automatic-wireless-hacking-station/" target="_blank">wireless exploit device previously</a>, and will now cover some mitigation ideas. There is no individual exploit to mitigate but a series of weaknesses and insecurities that can lead to attack. To cover each step of the attack;</p>
<p><strong>Attack Step<br />
</strong>The device entices clients to connect, by responding to all wireless probes.</p>
<p><strong>Prevention<br />
</strong>Client wireless implementations should be more careful when beacons are sent out. Beacons should not be sent out for all stored wireless networks indiscriminately. Clients should use broadcast probes where appropriate instead. iOS 6 seems to now implement broadcast probes as standard. Whilst this is a positive move, most mobile wireless devices have connected to at least one wireless hotspot. Beaconing for popular SSIDs in the local area such as &#8220;BTOpenzone&#8221;, &#8220;FON&#8221;, &#8220;Boingo Hotspot&#8221; in the UK and so on will continue to attract most wireless devices. Another option would be to require that open networks are manually connected to by default unless that setting is manually overridden along with associated warning. In the mean time, not connecting at wireless hotspots, removing saved wireless hotspot profiles, and turning WiFi off when not in use are all options.</p>
<p><strong>Attack Step<br />
</strong>Once connected, assign the device an IP via DHCP and use DNAT to redirect all traffic to all hosts back to the device itself.</p>
<p><strong>Prevention<br />
</strong>The device should perhaps perform some tests to see if traffic manipulation is in use. This could be legitimate, but at least warn the user that something strange could be going on.</p>
<p><strong>Attack Step</strong><br />
The device will answer iPhone or Blackberry&#8217;s HTTP test for internet access and return the expected response</p>
<p><strong>Prevention<br />
</strong>I suspect this feature is supposed to detect if an internet hotspot login is required. It should either be removed or secured better to avoid just opening an arbitrary page on connection to a hotspot. This feature alone could be exploited in other ways.</p>
<p><strong>Attack Step<br />
</strong>Client attempts to check email and perhaps contact other servers based on apps installed.</p>
<p><strong>Prevention<br />
</strong>Tighter verification of protocol implementations should be performed. User should be specifically warned if SSL is not in use.</p>
<p><strong>Attack Step<br />
</strong>SSL hijack.</p>
<p><strong>Prevention<br />
</strong>The client should display an SSL warning that clearly explains that the session may be being hijacked. Rather than a weak informational type message, the warning should be clear and explicit, and require the user to specifically accept that the connection may be being intercepted. The user should be particularly careful to note any out of character behavior such as suddenly prompting with identity or verification issues</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=pKGNBCpK-88:dZvd8mSBq4c:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=pKGNBCpK-88:dZvd8mSBq4c:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?i=pKGNBCpK-88:dZvd8mSBq4c:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=pKGNBCpK-88:dZvd8mSBq4c:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~4/pKGNBCpK-88" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.adamsinfo.com/mitigating-the-wireless-hacking-station/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.adamsinfo.com/mitigating-the-wireless-hacking-station/</feedburner:origLink></item>
		<item>
		<title>Some Security Articles @ saswebsecurity.com</title>
		<link>http://feedproxy.google.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~3/bBwTUfJdEMY/</link>
		<comments>http://www.adamsinfo.com/some-security-articles-saswebsecurity-com/#comments</comments>
		<pubDate>Tue, 16 Oct 2012 15:23:02 +0000</pubDate>
		<dc:creator>Adam Palmer</dc:creator>
				<category><![CDATA[Security Consultant]]></category>
		<category><![CDATA[security articles]]></category>

		<guid isPermaLink="false">http://www.adamsinfo.com/?p=1370</guid>
		<description><![CDATA[Here&#8217;s some recent security articles from saswebsecurity.com that I&#8217;ve written: WPS attacks The majority of consumer grade wireless networking devices come shipped with WPS enabled by default. A WPS pin is either 4 or 8 digits long and can therefore<span class="ellipsis">&#8230;</span> <a href="http://www.adamsinfo.com/some-security-articles-saswebsecurity-com/"><div class="see-more">See more &#8250;</div><!-- end of .see-more --></a>]]></description>
				<content:encoded><![CDATA[<p><span style="font-size: small;">Here&#8217;s some recent security articles from saswebsecurity.com that I&#8217;ve written:</span></p>
<h1><span style="font-size: small;"><a title="Permanent Link to WPS attacks" href="http://www.saswebsecurity.com/wps-attacks/" rel="bookmark">WPS attacks</a></span></h1>
<p><span style="font-size: small;">The majority of consumer grade wireless networking devices come shipped with WPS enabled by default. A WPS pin is either 4 or 8 digits long and can therefore be cracked in a relatively short time with a brute force attack. Once the WPS pin has been cracked, the WPA PSK can be discovered. The quickest solution is to turn off WPS all together, especially if it is not actively in use on the network&#8230;</span></p>
<h1><span style="font-size: small;"><a title="Permanent Link to WiFi Hotspot Authentication Attacks" href="http://www.saswebsecurity.com/wifi-hotspot-authentication-attacks/" rel="bookmark">WiFi Hotspot Authentication Attacks</a></span></h1>
<p><span style="font-size: small;">Clients on wireless hotspot networks are easily attacked; there’s no encryption in use and so data can be sniffed that’s going over the air. Attackers can either passively sniff, or launch ARP attacks to actively redirect traffic through their own host, and this is something that has been covered in previous articles</span>&#8230;</p>
<h1><span style="font-size: small;"><a title="Permanent Link to Ettercap and SSLStrip for SSL Hijacking" href="http://www.saswebsecurity.com/ettercap-and-sslstrip-for-ssl-hijacking/" rel="bookmark">Ettercap and SSLStrip for SSL Hijacking</a></span></h1>
<p><span style="font-size: small;">Further to the articles on MITM attacks and ARP flooding, these are two attacks that Ettercap was built for. Ettercap is an excellent tool that does MITM, connection sniffing, protocol decoding and much more. Once an attacker is positioned appropriately on a network, be that physical or wireless, Ettercap is one tool that will enable full end to end traffic sniffing. Sniffing plaintext protocols is simple, but Ettercap has an additional trick up it’s sleeve for SSL. Firstly we need a small tweak to the default etter.conf, which is to uncomment the iptables commands&#8230;</span></p>
<h1><span style="font-size: small;"><a title="Permanent Link to WIFI MITM attacks" href="http://www.saswebsecurity.com/wifi-mitm-attacks/" rel="bookmark">WIFI MITM attacks</a></span></h1>
<p><span style="font-size: small;">Following on from the <a title="network MITM attack" href="http://www.saswebsecurity.com/network-man-in-the-middle-mitm-attacks/">network MITM attack</a> article, it’s important to look at how man in the middle attacks and sniffing can be used against wireless networks. Firstly, let’s consider an open network. By open, I mean one with no encryption running. This is regardless of whether it’s a free internet connection or some kind of hotspot that requires payment or login. If you are able to connect to the network, and receive an IP address without any type of encryption or authentication, it’s an open network. Consider an open network to be similar to a free for all hub – all data broadcasted by any client can be passively sniffed by an attacker in range. By passive, I mean that no active network interference or MITM attack is needed. The attacker could also choose to use an active MITM attack such as the ‘ARP flood’ detailed in the last article&#8230;</span><br />
<span id="more-1370"></span></p>
<h1><span style="font-size: small;"><a title="Permanent Link to Network Man In The Middle (MITM) Attacks" href="http://www.saswebsecurity.com/network-man-in-the-middle-mitm-attacks/" rel="bookmark">Network Man In The Middle (MITM) Attacks</a></span></h1>
<p><span style="font-size: small;">A man in the middle attacks involves an attacker positioning himself between a client (victim) and his intended server. The purpose is usually to either sniff (intercept) data or to modify data as it is being transmitted and received&#8230;</span></p>
<h1><span style="font-size: small;"><a title="Permanent Link to Password Request" href="http://www.saswebsecurity.com/password-request/" rel="bookmark">Password Request</a></span></h1>
<p><span style="font-size: small;">I recently issued a ‘forgotten password’ request on a site that I’m signed up with. To my horror, after filling in my username and email address the password was emailed to me. What’s the problem here? Firstly is the obvious one, anyone with access to my email account automatically has access to my account on this site. OK, more sites than not operate in this way. The bigger issue, is that my password is stored as-is in plaintext. The password should be hashed and salted&#8230;</span></p>
<h1><span style="font-size: small;"><a title="Permanent Link to Website Security Questions" href="http://www.saswebsecurity.com/website-security-questions/" rel="bookmark">Website Security Questions</a></span></h1>
<p><span style="font-size: small;">Most sites offer a method to reset forgotten passwords. Typically these range from weak, i.e. simply sending a reset link to the registered email account, meaning that an attacker need only have access to the victim’s email account, to weaker, i.e. sending the plaintext password direct to the victim’s email account. The latter example shows that the password is being stored in plaintext and not even hashed&#8230;</span></p>
<h1><span style="font-size: small;"><a title="Permanent Link to Social Engineering Attacks" href="http://www.saswebsecurity.com/social-engineering-attacks/" rel="bookmark">Social Engineering Attacks</a></span></h1>
<p><span style="font-size: small;">Social engineering attacks involve getting a person to disclose information or perform malicious actions without them realizing what they are doing or who they are really speaking to. For example, an attacker contacts an office worker, “Hi, I’m calling from your internet provider, we’re just performing some testing to fix some of the bugs reported recently, could I just ask you to perform the following steps on the PC for me please..”</span></p>
<h1><span style="font-size: small;"><a title="Permanent Link to CRLF injection" href="http://www.saswebsecurity.com/crlf-injection/" rel="bookmark">CRLF injection</a></span></h1>
<p><span style="font-size: small;">CRLF injection occurs when an attacker is able to insert a CR (carriage return or ‘\r’) and LF (line feed or ‘\n’) into an application where it was unexpected. Windows implements a newline with both a carriage return and a line feed whilst UNIX implements a newline with a line feed only.</span>..</p>
<h1><span style="font-size: small;"><a title="Permanent Link to A person is not an IP address" href="http://www.saswebsecurity.com/a-person-is-not-an-ip-address/" rel="bookmark">A person is not an IP address</a></span></h1>
<p><span style="font-size: small;">There seems to exist an unconscious notion amongst coders, that a given external IP address is essentially linked directly to a person. I frequently hear things such as, “what’s your IP, I’ll add you to the firewall?” and “we restrict access to this control panel to the admin’s IP address only,” or worse, “some of our developers have dynamic IPs but they’re always on the 123.something range, so we allow 123.0.0.0/8 to access the admin area”&#8230;</span></p>
<h1><span style="font-size: small;"><a title="Permanent Link to I use a CMS or framework. Is my site secure?" href="http://www.saswebsecurity.com/i-use-a-cms-or-framework-is-my-site-secure/" rel="bookmark">I use a CMS or framework. Is my site secure?</a></span></h1>
<p><span style="font-size: small;">Using a popular framework brings both a host of advantages such as rapid application development as well as a team of developers under public scrutiny to name a few. There are also a number of disadvantages to be aware of, and we will discuss some of the potential security pitfalls here&#8230;</span></p>
<h1><span style="font-size: small;"><a title="Permanent Link to What is CSRF?" href="http://www.saswebsecurity.com/what-is-csrf/" rel="bookmark">What is CSRF?</a></span></h1>
<p><span style="font-size: small;">Cross Site Request Forgery, CSRF or XSRF is a type of attack launched against the Client. Each time a Client browser makes a request to a website, the browser automatically sends along the cookies that it has stored for that site as part of the request header.</span>..</p>
<h1><span style="font-size: small;"><a title="Permanent Link to I use a WAF. Is my site secure?" href="http://www.saswebsecurity.com/i-use-a-waf-is-my-site-secure/" rel="bookmark">I use a WAF. Is my site secure?</a></span></h1>
<p><span style="font-size: small;">Mod Security is a popular Web Application Firewall (WAF). It’s an absolutely excellent add on to a web server, and offers powerful logging and filtering when configured properly. It is however, not an excuse for secure coding.</span>..</p>
<h1><span style="font-size: small;"><a title="Permanent Link to I have an SSL certificate. Isn’t my site secure?" href="http://www.saswebsecurity.com/i-have-an-ssl-certificate-isnt-my-site-secure/" rel="bookmark">I have an SSL certificate. Isn’t my site secure?</a></span></h1>
<p><span style="font-size: small;">No – it’s not. I’m still shocked at how many vulnerable web applications I find during auditing, and have a Client remark, “but we even bought that security certificate, what else did we need to do?” Unfortunately, whether it’s down to false advertising, consumer ignorance or both, there exists a myth that installing an SSL certificate means that ‘everything is now encrypted’, and the site and system are secure&#8230;</span></p>
<h1><span style="font-size: small;"><a title="Permanent Link to Secure Application Design" href="http://www.saswebsecurity.com/secure-application-design/" rel="bookmark">Secure Application Design</a></span></h1>
<p><span style="font-size: small;">Good security is not necessarily based on secrecy, for example strong cryptographic algorithms exist and have gone under the scrutiny of mathematicians, engineers, and industry experts for years. If your password hashing algorithm needs to be kept secret for your security to stand up, it’s probably not very good. Eventually, your password database might be made public, and your non-salted md5 password database will fall.</span>..</p>
<h1><span style="font-size: small;"><a title="Permanent Link to Security as a Mindset" href="http://www.saswebsecurity.com/security-as-a-mindset/" rel="bookmark">Security as a Mindset</a></span></h1>
<p><span style="font-size: small;">Secure programming standards and database design are absolutely essential when building an application, we know that, but what about looking at the bigger picture? A large part of security is based around trust&#8230;</span></p>
<h1><span style="font-size: small;"><a title="Permanent Link to When you need help" href="http://www.expertinternetsecurity.com/when-you-need-help/" rel="bookmark">When you need help</a></span></h1>
<p><span style="font-size: small;">Whether you are the only internet user in your home or you’re running a company full of computer users, having your system checked by a security consultant is always a good idea.  A good security consultant can help you protect your information from hackers and other unsavory characters that would like nothing better than to find a weakness in your system and use it to send your online life into upheaval&#8230;</span></p>
<h1><span style="font-size: small;"><a title="Permanent Link to Cross Site Scripting – Stored and Reflected" href="http://www.saswebsecurity.com/cross-site-scripting-stored-and-reflected/" rel="bookmark">Cross Site Scripting – Stored and Reflected</a></span></h1>
<p><span style="font-size: small;">We’ll look at two types of Cross Site Scripting (XSS) attacks here – stored and reflected.</span></p>
<p><span style="font-size: small;">Take the typical example of a web form where a user might enter his contact details into a membership section. Let’s look at one of the input boxes, one that takes the username&#8230;</span></p>
<h1><span style="font-size: small;"><a title="Permanent Link to What is SQL Injection?" href="http://www.saswebsecurity.com/what-is-sql-injection/" rel="bookmark">What is SQL Injection?</a></span></h1>
<p><span style="font-size: small;">SQL Injection is a type of attack where SQL (database query language) is literally injected through the web application into the database. SQL Injection allows for database queries to be executed by the database in ways that the programmer did not intend. The best explanation is by way of an example. Lets assume that we have a variable called $USERID and we need to construct a query that fetches the USERNAME from the database for that $USERID. We might design a query something like&#8230;</span></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=bBwTUfJdEMY:5v1HuEaCgAk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=bBwTUfJdEMY:5v1HuEaCgAk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?i=bBwTUfJdEMY:5v1HuEaCgAk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=bBwTUfJdEMY:5v1HuEaCgAk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~4/bBwTUfJdEMY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.adamsinfo.com/some-security-articles-saswebsecurity-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.adamsinfo.com/some-security-articles-saswebsecurity-com/</feedburner:origLink></item>
		<item>
		<title>Raspberry Pwn</title>
		<link>http://feedproxy.google.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~3/iOmIhzPylvY/</link>
		<comments>http://www.adamsinfo.com/raspberry-pwn/#comments</comments>
		<pubDate>Mon, 15 Oct 2012 17:52:04 +0000</pubDate>
		<dc:creator>Adam Palmer</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[alfa AWUS036H]]></category>
		<category><![CDATA[raspberry pi]]></category>
		<category><![CDATA[raspberry pwn]]></category>
		<category><![CDATA[tecknet]]></category>

		<guid isPermaLink="false">http://www.adamsinfo.com/?p=1365</guid>
		<description><![CDATA[I&#8217;ve recently acquired two Raspberry Pi boards along with power supplies and a nice case. I was attracted by the price and the processing power/RAM vs power consumption. The first thing I was interested to install was the Raspberry Pwn<span class="ellipsis">&#8230;</span> <a href="http://www.adamsinfo.com/raspberry-pwn/"><div class="see-more">See more &#8250;</div><!-- end of .see-more --></a>]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve recently acquired two Raspberry Pi boards along with power supplies and a nice case. I was attracted by the price and the processing power/RAM vs power consumption. The first thing I was interested to install was the <a href="http://blog.pwnieexpress.com/post/24967860602/raspberry-pwn-a-pentesting-release-for-the-raspberry" rel="nofollow" target="_blank">Raspberry Pwn</a> release. I wouldn&#8217;t call it a distro as such, it&#8217;s more of a script that just downloads tools that most pen testers would download themselves at some point. The Raspberry Pwn site advises that it is not compatible with &#8216;Raspbian&#8217; which is the newer release shown on the Raspberry Pi site, although I couldn&#8217;t see a reason why. I downloaded the installer and ran it manually line by line some time ago, and I remember it running correctly and without issue. There were a few changes to the aptitude installs to address missing packages and I also gave up trying to download the exploitdb through SVN at the end of the script as it seems to be permanently down. I also downloaded aircrack, dnsmasq, compat-wireless, mdk3-v6, nmap, mitmproxy, reaver, and sqlmap.</p>
<p>
<div class="ngg-galleryoverview" id="ngg-gallery-3-1365">

	<!-- Slideshow link -->
	<div class="slideshowlink">
		<a class="slideshowlink" href="http://www.adamsinfo.com/raspberry-pwn/?show=slide">
			[Show as slideshow]		</a>
	</div>

	
	<!-- Thumbnails -->
		
	<div id="ngg-image-24" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.adamsinfo.com/wp-content/gallery/rpi/dscf0790.jpg" title=" " class="shutterset_set_3" >
								<img title="Raspberry Pi In Case" alt="Raspberry Pi In Case" src="http://www.adamsinfo.com/wp-content/gallery/rpi/thumbs/thumbs_dscf0790.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-25" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.adamsinfo.com/wp-content/gallery/rpi/dscf0791.jpg" title=" " class="shutterset_set_3" >
								<img title="dscf0791" alt="dscf0791" src="http://www.adamsinfo.com/wp-content/gallery/rpi/thumbs/thumbs_dscf0791.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-23" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.adamsinfo.com/wp-content/gallery/rpi/dscf0789.jpg" title=" " class="shutterset_set_3" >
								<img title="dscf0789" alt="dscf0789" src="http://www.adamsinfo.com/wp-content/gallery/rpi/thumbs/thumbs_dscf0789.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>

<br />
<span id="more-1365"></span></p>
<p>One of the biggest limitations is that the device has fuses on the USB ports that kick in at about 140mA. Technically, this is in line with the standard, although it&#8217;s come to be expected that the USB ports are able to output significantly more current. This makes it difficult to attach anything of use other than a keyboard or mouse to the Raspberry Pi without a powered USB hub. I&#8217;m pretty sure that keyboards and mice were all that the Raspberry Pi&#8217;s USB ports were really intended for, but this won&#8217;t suit our purposes. Seeing as I intended to run an Alfa AWUS036H on one of the ports and maybe a GPS device on the other, we&#8217;ll need more power than that. I soldered a wire between the +ve input pin and the +ve output pins on both USB ports. This bypasses the 2 140mA USB fuses and the 1 700mA input fuse. This has safety implications and will void your warranty!</p>

<div class="ngg-galleryoverview" id="ngg-gallery-4-1365">

	<!-- Slideshow link -->
	<div class="slideshowlink">
		<a class="slideshowlink" href="http://www.adamsinfo.com/raspberry-pwn/?show=slide">
			[Show as slideshow]		</a>
	</div>

	
	<!-- Thumbnails -->
		
	<div id="ngg-image-31" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.adamsinfo.com/wp-content/gallery/rpi2/dscf0799.jpg" title=" " class="shutterset_set_4" >
								<img title="dscf0799" alt="dscf0799" src="http://www.adamsinfo.com/wp-content/gallery/rpi2/thumbs/thumbs_dscf0799.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-26" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.adamsinfo.com/wp-content/gallery/rpi2/dscf0793.jpg" title=" " class="shutterset_set_4" >
								<img title="dscf0793" alt="dscf0793" src="http://www.adamsinfo.com/wp-content/gallery/rpi2/thumbs/thumbs_dscf0793.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-27" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.adamsinfo.com/wp-content/gallery/rpi2/dscf0794.jpg" title=" " class="shutterset_set_4" >
								<img title="dscf0794" alt="dscf0794" src="http://www.adamsinfo.com/wp-content/gallery/rpi2/thumbs/thumbs_dscf0794.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-28" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.adamsinfo.com/wp-content/gallery/rpi2/dscf0795.jpg" title=" " class="shutterset_set_4" >
								<img title="dscf0795" alt="dscf0795" src="http://www.adamsinfo.com/wp-content/gallery/rpi2/thumbs/thumbs_dscf0795.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-29" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.adamsinfo.com/wp-content/gallery/rpi2/dscf0796.jpg" title=" " class="shutterset_set_4" >
								<img title="dscf0796" alt="dscf0796" src="http://www.adamsinfo.com/wp-content/gallery/rpi2/thumbs/thumbs_dscf0796.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-30" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.adamsinfo.com/wp-content/gallery/rpi2/dscf0798.jpg" title=" " class="shutterset_set_4" >
								<img title="dscf0798" alt="dscf0798" src="http://www.adamsinfo.com/wp-content/gallery/rpi2/thumbs/thumbs_dscf0798.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


<p>You&#8217;ll notice that I have two batteries any way &#8211; that&#8217;s because I&#8217;m using the Tecknet iEP390 11000mAh and they have a maximum current output of 1A which unfortunately causes a drain on the board when the Alfa card is in use and triggers a kernel panic. I could get batteries that support more than 1A maximum current although the Tecknet batteries were extremely good value for money and are excellent products, so I&#8217;m not that bothered for now. Besides, having 2x 11000mAh capacity batteries means that the device can run fully active for about 20 hours or more without a charge.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=iOmIhzPylvY:VqGBM1m7cbU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=iOmIhzPylvY:VqGBM1m7cbU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?i=iOmIhzPylvY:VqGBM1m7cbU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=iOmIhzPylvY:VqGBM1m7cbU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~4/iOmIhzPylvY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.adamsinfo.com/raspberry-pwn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.adamsinfo.com/raspberry-pwn/</feedburner:origLink></item>
		<item>
		<title>Zeroshell Router</title>
		<link>http://feedproxy.google.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~3/Z0vOOtgx2mA/</link>
		<comments>http://www.adamsinfo.com/zeroshell-router/#comments</comments>
		<pubDate>Sat, 13 Oct 2012 17:43:48 +0000</pubDate>
		<dc:creator>Adam Palmer</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[openvpn]]></category>
		<category><![CDATA[routerboard]]></category>
		<category><![CDATA[zeroshell]]></category>

		<guid isPermaLink="false">http://www.adamsinfo.com/?p=1359</guid>
		<description><![CDATA[I&#8217;ve been using Zeroshell on a Routerboard 532a as my office LAN router for over a year now. It&#8217;s one of the best router operating systems that I&#8217;ve used and it&#8217;s really easy to set up. I&#8217;ve configured an OpenVPN<span class="ellipsis">&#8230;</span> <a href="http://www.adamsinfo.com/zeroshell-router/"><div class="see-more">See more &#8250;</div><!-- end of .see-more --></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.adamsinfo.com/wp-content/uploads/2012/10/rb532r5_l-01.jpg"><img class="alignleft size-thumbnail wp-image-1360" title="Routerboard 532a" src="http://www.adamsinfo.com/wp-content/uploads/2012/10/rb532r5_l-01-150x150.jpg" alt="Routerboard 532a" width="150" height="150" /></a>I&#8217;ve been using Zeroshell on a Routerboard 532a as my office LAN router for over a year now. It&#8217;s one of the best router operating systems that I&#8217;ve used and it&#8217;s really easy to set up. I&#8217;ve configured an OpenVPN connection to a remote office that I work with on a daily basis, and then set routing rules for the VPN&#8217;s internal IPs so that my office LAN can connect transparently to the remote LAN. Next, I&#8217;ve set up an OpenVPN server so that I and other users can log in remotely to my own office LAN. Routing and firewalling is set up between both VPN connections. Above that, we have the usual local routing, firewalling, DHCP and caching DNS server, inbound port mapping and so on.</p>
<p>Zeroshell runs on a regular Linux kernel, and SSH can be opened for full shell access. It doesn&#8217;t do anything that can&#8217;t be done manually via the Linux command line, but it&#8217;s an excellent and easy to use system that gets it done far quicker. It&#8217;s also proven to be completely stable, and allows me to max out the 65mbit DSL without issue.</p>
<p>root@zeroshell root&gt; uptime<br />
18:27:36 up 257 days, 55 min,  1 user,  load average: 0.16, 0.05, 0.01</p>
<p>Highly recommended and only takes as long to set up as writing the image to your CF card. Also compatible with Vmware.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=Z0vOOtgx2mA:EclIsnbmdqw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=Z0vOOtgx2mA:EclIsnbmdqw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?i=Z0vOOtgx2mA:EclIsnbmdqw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=Z0vOOtgx2mA:EclIsnbmdqw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~4/Z0vOOtgx2mA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.adamsinfo.com/zeroshell-router/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.adamsinfo.com/zeroshell-router/</feedburner:origLink></item>
		<item>
		<title>Robot Line Follower</title>
		<link>http://feedproxy.google.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~3/tRGKlE_T-kc/</link>
		<comments>http://www.adamsinfo.com/robot-line-follower/#comments</comments>
		<pubDate>Fri, 12 Oct 2012 18:20:43 +0000</pubDate>
		<dc:creator>Adam Palmer</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Robot]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[line following]]></category>
		<category><![CDATA[pololu]]></category>
		<category><![CDATA[xbee]]></category>

		<guid isPermaLink="false">http://www.adamsinfo.com/?p=1349</guid>
		<description><![CDATA[So I&#8217;ve had my eyes on the Pololu robot for some time. Here&#8217;s a video of it automatically following a track! Having done that, I decided to add line following ability to the larger robot. It&#8217;s quite a simple circuit<span class="ellipsis">&#8230;</span> <a href="http://www.adamsinfo.com/robot-line-follower/"><div class="see-more">See more &#8250;</div><!-- end of .see-more --></a>]]></description>
				<content:encoded><![CDATA[<p>So I&#8217;ve had my eyes on the Pololu robot for some time. Here&#8217;s a video of it automatically following a track!</p>
<p><iframe src="http://www.youtube.com/embed/Wimjc1UH3qQ" frameborder="0" width="560" height="315"></iframe></p>
<p>Having done that, I decided to add line following ability to the larger robot. It&#8217;s quite a simple circuit and fits in nicely with my arduino experimentation. I have a strip of high power LEDs with a pot to trim the brightness. Underneath that, I have 5 light sensitive resistors, reasonably well spaced apart and separated by card. The theory here is that the light sensitive resistor  that is over the black line will have less resistance than the others, and using that, we can work out whether we need to move more to the left or the right.</p>

<div class="ngg-galleryoverview" id="ngg-gallery-2-1349">

	<!-- Slideshow link -->
	<div class="slideshowlink">
		<a class="slideshowlink" href="http://www.adamsinfo.com/robot-line-follower/?show=slide">
			[Show as slideshow]		</a>
	</div>

	
	<!-- Thumbnails -->
		
	<div id="ngg-image-21" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.adamsinfo.com/wp-content/gallery/robotlinefollower/dscf0787.jpg" title=" " class="shutterset_set_2" >
								<img title="dscf0787" alt="dscf0787" src="http://www.adamsinfo.com/wp-content/gallery/robotlinefollower/thumbs/thumbs_dscf0787.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-22" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.adamsinfo.com/wp-content/gallery/robotlinefollower/dscf0788.jpg" title=" " class="shutterset_set_2" >
								<img title="dscf0788" alt="dscf0788" src="http://www.adamsinfo.com/wp-content/gallery/robotlinefollower/thumbs/thumbs_dscf0788.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-20" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.adamsinfo.com/wp-content/gallery/robotlinefollower/dscf0786.jpg" title=" " class="shutterset_set_2" >
								<img title="dscf0786" alt="dscf0786" src="http://www.adamsinfo.com/wp-content/gallery/robotlinefollower/thumbs/thumbs_dscf0786.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


<p>&nbsp;</p>
<p><a href="http://www.adamsinfo.com/wp-content/uploads/2012/10/DSCF0321.jpg"><img class="alignleft size-thumbnail wp-image-1350" title="Pololu with XBEE Manual Control" src="http://www.adamsinfo.com/wp-content/uploads/2012/10/DSCF0321-150x150.jpg" alt="Pololu with XBEE Manual Control" width="150" height="150" /></a>The 5 analog inputs are fed to the Arduino chip, which converts them to digital output and passes it to the board over USB serial. From there we can write a simple algorithm to control movement.</p>
<p>I then decided to go ahead and test the new XBEE chips for wireless communication. They really are plug and play.. Here&#8217;s another video -</p>
<p><iframe width="560" height="315" src="http://www.youtube.com/embed/W2h-CdiFImg" frameborder="0" allowfullscreen></iframe></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=tRGKlE_T-kc:vO1EBmQjndI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=tRGKlE_T-kc:vO1EBmQjndI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?i=tRGKlE_T-kc:vO1EBmQjndI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=tRGKlE_T-kc:vO1EBmQjndI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~4/tRGKlE_T-kc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.adamsinfo.com/robot-line-follower/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.adamsinfo.com/robot-line-follower/</feedburner:origLink></item>
		<item>
		<title>Wireless Power Experimentation</title>
		<link>http://feedproxy.google.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~3/8cLWN0yoqzI/</link>
		<comments>http://www.adamsinfo.com/wireless-power-experimentation/#comments</comments>
		<pubDate>Thu, 11 Oct 2012 19:11:15 +0000</pubDate>
		<dc:creator>Adam Palmer</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[wireless power]]></category>

		<guid isPermaLink="false">http://www.adamsinfo.com/?p=1340</guid>
		<description><![CDATA[It&#8217;s been a while since I made a post here as I&#8217;ve been a little busy working on my new venture http://www.expertinternetsecurity.com/ but I&#8217;m going to try and get back to it again. I&#8217;ve been messing around with some cool<span class="ellipsis">&#8230;</span> <a href="http://www.adamsinfo.com/wireless-power-experimentation/"><div class="see-more">See more &#8250;</div><!-- end of .see-more --></a>]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s been a while since I made a post here as I&#8217;ve been a little busy working on my new venture <a href="http://www.expertinternetsecurity.com/">http://www.expertinternetsecurity.com/</a> but I&#8217;m going to try and get back to it again. I&#8217;ve been messing around with some cool projects from the Pololu robot, to wireless power, to a wireless network exploit station built around the raspberry pi.</p>
<p>Anyway, some time ago, I became interested in wireless power. I don&#8217;t know a huge amount about electronic theory, but thought I&#8217;d give it a go. The circuit is really simple and really really REALLY inefficient. I use a signal generator to drive a high power transistor at about 10kHz square wave and then have 24VDC pulsed through the coil. The receiver is just a coil with a noisy weak AC current and some LEDs. I can increase efficiency slightly using a capacitor.</p>
<p>Of course, there are some far better circuits out there like <a href="http://iteadstudio.com/application-note/wireless-power-transmission-or-charge-module/" rel=nofollow target="_blank">http://iteadstudio.com/application-note/wireless-power-transmission-or-charge-module/</a> or <a rel=nofollow href="http://www.youtube.com/watch?v=2ODW-ntPHSU" target="_blank">http://www.youtube.com/watch?v=2ODW-ntPHSU</a> but this was just a quick hacked together test without going too much into the electronic theory of it. Here&#8217;s some pics..</p>

<div class="ngg-imagebrowser" id="ngg-imagebrowser-1-1340">

	<h3>Main Board</h3>

	<div class="pic">
<a href="http://www.adamsinfo.com/wp-content/gallery/wirelesspower/dscf0286.jpg" title="" class="shutterset_wirelesspower">
	<img alt="Main Board" src="http://www.adamsinfo.com/wp-content/gallery/wirelesspower/dscf0286.jpg"/>
</a>
</div>
	<div class="ngg-imagebrowser-nav"> 
		<div class="back">
			<a class="ngg-browser-prev" id="ngg-prev-18" href="http://www.adamsinfo.com/wireless-power-experimentation/?pid=18">&#9668; Back</a>
		</div>
		<div class="next">
			<a class="ngg-browser-next" id="ngg-next-7" href="http://www.adamsinfo.com/wireless-power-experimentation/?pid=7">Next &#9658;</a>
		</div>
		<div class="counter">Picture 1 of 5</div>
		<div class="ngg-imagebrowser-desc"><p> </p></div>
	</div>	

</div>	


<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=8cLWN0yoqzI:MNlmDNLenHo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=8cLWN0yoqzI:MNlmDNLenHo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?i=8cLWN0yoqzI:MNlmDNLenHo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=8cLWN0yoqzI:MNlmDNLenHo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~4/8cLWN0yoqzI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.adamsinfo.com/wireless-power-experimentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.adamsinfo.com/wireless-power-experimentation/</feedburner:origLink></item>
		<item>
		<title>Driving the robot with the power of the mind</title>
		<link>http://feedproxy.google.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~3/id9XaBuBi-c/</link>
		<comments>http://www.adamsinfo.com/driving-the-robot-with-the-power-of-the-mind/#comments</comments>
		<pubDate>Tue, 03 May 2011 18:46:59 +0000</pubDate>
		<dc:creator>Adam Palmer</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Robot]]></category>
		<category><![CDATA[driving]]></category>
		<category><![CDATA[emotiv]]></category>
		<category><![CDATA[mind]]></category>
		<category><![CDATA[mind control]]></category>

		<guid isPermaLink="false">http://www.adamsinfo.com/?p=1170</guid>
		<description><![CDATA[In this video I’ll be showing how I used the Emotiv headset to drive the robot. Please excuse the editing, and in fact the video itself. I will perhaps aim for a better one in future. Hopefully the video is<span class="ellipsis">&#8230;</span> <a href="http://www.adamsinfo.com/driving-the-robot-with-the-power-of-the-mind/"><div class="see-more">See more &#8250;</div><!-- end of .see-more --></a>]]></description>
				<content:encoded><![CDATA[<p>In this video I’ll be showing how I used the Emotiv headset to drive the robot. Please excuse the editing, and in fact the video itself. I will perhaps aim for a better one in future. Hopefully the video is sufficiently clear in what’s happening.</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/QfjDfsOFvnY?hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/QfjDfsOFvnY?hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=id9XaBuBi-c:MeR8nix6T6g:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=id9XaBuBi-c:MeR8nix6T6g:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?i=id9XaBuBi-c:MeR8nix6T6g:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=id9XaBuBi-c:MeR8nix6T6g:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~4/id9XaBuBi-c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.adamsinfo.com/driving-the-robot-with-the-power-of-the-mind/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.adamsinfo.com/driving-the-robot-with-the-power-of-the-mind/</feedburner:origLink></item>
		<item>
		<title>Emotiv EPOC Headset</title>
		<link>http://feedproxy.google.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~3/uH073MYZZwU/</link>
		<comments>http://www.adamsinfo.com/emotiv-epoc-headset/#comments</comments>
		<pubDate>Tue, 03 May 2011 18:38:59 +0000</pubDate>
		<dc:creator>Adam Palmer</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Robot]]></category>
		<category><![CDATA[emokey]]></category>
		<category><![CDATA[emotiv]]></category>
		<category><![CDATA[voice]]></category>

		<guid isPermaLink="false">http://www.adamsinfo.com/?p=1161</guid>
		<description><![CDATA[Having an interest in Brain Computer Interface (BCI) hardware, and with the release of the Emotiv EPOC headset, I decided to invest in the Research Edition. The research edition comes bundled with the research version of the SDK. The benefit<span class="ellipsis">&#8230;</span> <a href="http://www.adamsinfo.com/emotiv-epoc-headset/"><div class="see-more">See more &#8250;</div><!-- end of .see-more --></a>]]></description>
				<content:encoded><![CDATA[<p>Having an interest in Brain Computer Interface (BCI) hardware, and with the release of the Emotiv EPOC headset, I decided to invest in the Research Edition. The research edition comes bundled with the research version of the SDK. The benefit of this version of the SDK is that we also have access to the raw EEG outputs from each channel, as well as a piece of software called TestBench that allow for saving/replaying sessions.</p>
<table border="0">
<tbody>
<tr>
<td><a href="http://www.adamsinfo.com/wp-content/uploads/2011/05/DSCF0005.jpg"><img class="alignnone size-thumbnail wp-image-1163" title="Emotiv Headset" src="http://www.adamsinfo.com/wp-content/uploads/2011/05/DSCF0005-150x150.jpg" alt="" width="150" height="150" /></a></td>
<td><a href="http://www.adamsinfo.com/wp-content/uploads/2011/05/DSCF0004.jpg"><img class="alignnone size-thumbnail wp-image-1162" title="Emotiv EPOC Kit" src="http://www.adamsinfo.com/wp-content/uploads/2011/05/DSCF0004-150x150.jpg" alt="" width="150" height="150" /></a></td>
</tr>
</tbody>
</table>
<p>The headset itself comes almost ready to go, just attach the felt pads and wet them with saline. Affixing the headset to the head is a bit difficult the first few times and requires a bit of practice. Once you’ve done it a few times, it becomes a lot easier. The key is getting each of the felt pads absolutely soaking wet with saline before putting it on the head.</p>
<p>I’m going to be using the headset for a number of different purposes. As a BCI, I intend to use it to manipulate the robot, and probably in future other more useful tasks. Separately, I plan to use it to monitor sleep and meditation sessions which are a separate area of interest of mine.</p>
<p>In a previous post, I showed how it was possible to control the robot using voice commands. Here, I’ve modified the voice control script to handle simple keystrokes instead. The Emotiv control panel comes with a tool called ‘Emokey’ that can issue defined keystrokes when certain actions are detected within the control panel. Here’s a video:</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/M7GsbibH5ik?hl=en&amp;fs=1" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/M7GsbibH5ik?hl=en&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>The purpose is really to show how simple it is to interface with any regular program/script using EmoKey. There are other more exciting possibilities such as directing music based on the Affectiv suit. The Affectiv suite deals in mind states such as frustration, alertness, meditation, etc.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=uH073MYZZwU:1mvszrUQrFk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=uH073MYZZwU:1mvszrUQrFk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?i=uH073MYZZwU:1mvszrUQrFk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=uH073MYZZwU:1mvszrUQrFk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~4/uH073MYZZwU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.adamsinfo.com/emotiv-epoc-headset/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.adamsinfo.com/emotiv-epoc-headset/</feedburner:origLink></item>
		<item>
		<title>Robot voice control</title>
		<link>http://feedproxy.google.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~3/pH5mp7FasAo/</link>
		<comments>http://www.adamsinfo.com/robot-voice-control/#comments</comments>
		<pubDate>Mon, 02 May 2011 15:37:03 +0000</pubDate>
		<dc:creator>Adam Palmer</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Robot]]></category>
		<category><![CDATA[bluetooth]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[voice]]></category>

		<guid isPermaLink="false">http://www.adamsinfo.com/?p=1157</guid>
		<description><![CDATA[I&#8217;ve set up a new mic and used cvoicecontrol (with some bug fixes) to perform voice control. I&#8217;ve integrated cvoicecontrol into my C HAL layer. Each voice model needs training and saving, however once done, they can be reused in<span class="ellipsis">&#8230;</span> <a href="http://www.adamsinfo.com/robot-voice-control/"><div class="see-more">See more &#8250;</div><!-- end of .see-more --></a>]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve set up a new mic and used cvoicecontrol (with some bug fixes) to perform voice control. I&#8217;ve integrated cvoicecontrol into my C HAL layer. Each voice model needs training and saving, however once done, they can be reused in the code. For example; <strong>if (listen(&#8220;yesno&#8221;)) { &#8230; } </strong>is all that&#8217;s required to listen for a yes or a no, assuming that &#8220;yesno.cvc&#8221; has been trained in advance. I&#8217;ve also integrated the clap switch across the one of the Phidgets digital inputs. The software requires two toggles within 8 seconds of each other, and the hardware configuration requires two claps to generate one output toggle. This seems the best way to filter out other noise from triggering it. The result is two sets of two claps are required to activate the voice control. Here&#8217;s an example:<br />
<span id="more-1157"></span><br />
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/rZGW383rQLg?hl=en&amp;fs=1" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/rZGW383rQLg?hl=en&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>There are other potential methods of triggering voice control. With a bluetooth enabled phone&#8217;s MAC address, it&#8217;s possible to l2ping it without any pairing needed. We can then tell it&#8217;s signal strength. I&#8217;ve already written a sample tool to speak &#8220;hello&#8221; and &#8220;goodbye&#8221; as a person['s mobile phone] gets closer or further respectively to the robot. Perhaps slightly too annoying on an ongoing basis, hence the 2 sets of 2 claps.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=pH5mp7FasAo:hMsA6uBBXyA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=pH5mp7FasAo:hMsA6uBBXyA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?i=pH5mp7FasAo:hMsA6uBBXyA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=pH5mp7FasAo:hMsA6uBBXyA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~4/pH5mp7FasAo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.adamsinfo.com/robot-voice-control/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.adamsinfo.com/robot-voice-control/</feedburner:origLink></item>
		<item>
		<title>Robot vacuum? Who needs a Roomba</title>
		<link>http://feedproxy.google.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~3/z7as53fww28/</link>
		<comments>http://www.adamsinfo.com/robot-vacuum-who-needs-a-roomba/#comments</comments>
		<pubDate>Mon, 02 May 2011 11:04:31 +0000</pubDate>
		<dc:creator>Adam Palmer</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Robot]]></category>

		<guid isPermaLink="false">http://www.adamsinfo.com/?p=1152</guid>
		<description><![CDATA[The Roomba&#8217;s a great invention. Who needs one when you&#8217;ve got one of these though? &#60;/joke&#62; For over 4 times the price and nowhere near the simplicity or ease of use, I present:]]></description>
				<content:encoded><![CDATA[<p>The Roomba&#8217;s a great invention. Who needs one when you&#8217;ve got one of these though? &lt;/joke&gt; For over 4 times the price and nowhere near the simplicity or ease of use, I present:</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/wkVJmU51Kn4?hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/wkVJmU51Kn4?hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=z7as53fww28:7q_3Xhsd8wk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=z7as53fww28:7q_3Xhsd8wk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?i=z7as53fww28:7q_3Xhsd8wk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=z7as53fww28:7q_3Xhsd8wk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~4/z7as53fww28" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.adamsinfo.com/robot-vacuum-who-needs-a-roomba/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.adamsinfo.com/robot-vacuum-who-needs-a-roomba/</feedburner:origLink></item>
		<item>
		<title>Linux robot automatically charging</title>
		<link>http://feedproxy.google.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~3/uH5tB-wqYWI/</link>
		<comments>http://www.adamsinfo.com/linux-robot-automatically-charging/#comments</comments>
		<pubDate>Mon, 02 May 2011 11:00:53 +0000</pubDate>
		<dc:creator>Adam Palmer</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Robot]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[accelerometers]]></category>
		<category><![CDATA[charging]]></category>
		<category><![CDATA[Linux robot]]></category>

		<guid isPermaLink="false">http://www.adamsinfo.com/?p=1139</guid>
		<description><![CDATA[Since the robot&#8217;s rebuild, I finally tackled the automatic charging situation. There are a number of ways to get the device to autocharge. If it always has line of sight to it&#8217;s charger, it can spin until it finds it<span class="ellipsis">&#8230;</span> <a href="http://www.adamsinfo.com/linux-robot-automatically-charging/"><div class="see-more">See more &#8250;</div><!-- end of .see-more --></a>]]></description>
				<content:encoded><![CDATA[<p>Since the robot&#8217;s rebuild, I finally tackled the automatic charging situation. There are a number of ways to get the device to autocharge. If it always has line of sight to it&#8217;s charger, it can spin until it finds it using infra red, then follow the beam &#8211; this however doesn&#8217;t work without line of sight. It could use a compass, although there are too many magnetic fields, and this requires advance knowledge of positioning. The simplest method would be to always start on charge, and just store movement history, reversing it when it was necessary to charge. Problem here is that even with good wheel alignment, AND accelerometers, even after few movements, simply reversing them is often not good enough to get it even close to it&#8217;s original position.<br />
<span id="more-1139"></span><br />
There are a couple more options. There&#8217;s the black tape along the floor that the robot could follow &#8211; too simple/boring. I think that the best option would have ideally been to use several radio types and some decent AI programming to get the robot closer and closer accurately. It could have used bluetooth/wifi to get a general idea of the direction of it&#8217;s charger, an AM transmitter at the basestation and AM receiver on the robot to position it closer, and then finally line of sight with lasers or IR beams to get right to the base station. The issue here comes down to the software development &#8211; how to weight signal strength vs objects in the way. Lets say that our signal is 95% but we&#8217;re in the wrong room and separated by a wall, we need to figure out that although our signal strength is 95%, we&#8217;re actually not in the right place, and we were closer when our signal strength was 70% and we were at the door. Perhaps with some super intelligent coding, this was an option but I didn&#8217;t have the time or the patience.</p>
<p>There are probably a few more options that I didn&#8217;t think of, although I decided on a reasonable but quite simple solution. I don&#8217;t think that the prerequisites are unreasonable:</p>
<ol>
<li>The robot starts on it&#8217;s charging point</li>
<li>The following prerequisites are inherited from the automatic moving in general:
<ol>
<li>The robot is not manually moved or pushed about. It needs to know where it is.</li>
<li>If the robot finds objects it wasn&#8217;t expecting, it&#8217;s in trouble.</li>
<li>The territory is mapped and functions are provided to navigate it in advance.</li>
</ol>
</li>
</ol>
<p>Using the automove covered in the previous 2 posts, the robot can move automatically throughout a mapped terrain. It can use any of it&#8217;s other sensors and logic to decide which routine (path) to take at the end of any given routine. The only difference here, is that a specific charge function has been written. The last function in the routine below ends the robot about 12 inches from the charging station. The charge function brings it back and closer in smaller increments, lining up using it&#8217;s right and back sensors. It then turns it&#8217;s charging terminals on, and makes smaller still movements and adjustments until it detects charge.</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/_TBslkNTrU8?hl=en&amp;fs=1" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/_TBslkNTrU8?hl=en&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=uH5tB-wqYWI:9SfNmSiTxAk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=uH5tB-wqYWI:9SfNmSiTxAk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?i=uH5tB-wqYWI:9SfNmSiTxAk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=uH5tB-wqYWI:9SfNmSiTxAk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~4/uH5tB-wqYWI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.adamsinfo.com/linux-robot-automatically-charging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.adamsinfo.com/linux-robot-automatically-charging/</feedburner:origLink></item>
		<item>
		<title>Linux Robot – Manual Movement</title>
		<link>http://feedproxy.google.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~3/A7N2XK_dyZE/</link>
		<comments>http://www.adamsinfo.com/linux-robot-manual-movement/#comments</comments>
		<pubDate>Sat, 30 Apr 2011 23:13:04 +0000</pubDate>
		<dc:creator>Adam Palmer</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Robot]]></category>
		<category><![CDATA[Linux robot]]></category>
		<category><![CDATA[motors]]></category>
		<category><![CDATA[movement]]></category>
		<category><![CDATA[tcp server]]></category>

		<guid isPermaLink="false">http://www.adamsinfo.com/?p=1141</guid>
		<description><![CDATA[The robot&#8217;s new design also allows for better manual movement &#8211; here&#8217;s a video of the robot being manually controlled. This is all done via the TCP server and can be hooked to any TCP speaking application.]]></description>
				<content:encoded><![CDATA[<p>The robot&#8217;s new design also allows for better manual movement &#8211; here&#8217;s a video of the robot being manually controlled. This is all done via the TCP server and can be hooked to any TCP speaking application.</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/O30ByrLoH1Q?hl=en&amp;fs=1" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/O30ByrLoH1Q?hl=en&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=A7N2XK_dyZE:FPwYpIYWD6o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=A7N2XK_dyZE:FPwYpIYWD6o:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?i=A7N2XK_dyZE:FPwYpIYWD6o:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=A7N2XK_dyZE:FPwYpIYWD6o:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~4/A7N2XK_dyZE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.adamsinfo.com/linux-robot-manual-movement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.adamsinfo.com/linux-robot-manual-movement/</feedburner:origLink></item>
		<item>
		<title>Rebuilding the Robot</title>
		<link>http://feedproxy.google.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~3/cariKJTPg9s/</link>
		<comments>http://www.adamsinfo.com/rebuilding-the-robot/#comments</comments>
		<pubDate>Sat, 30 Apr 2011 23:07:04 +0000</pubDate>
		<dc:creator>Adam Palmer</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Robot]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[lcd]]></category>
		<category><![CDATA[speakers]]></category>
		<category><![CDATA[tcp server]]></category>

		<guid isPermaLink="false">http://www.adamsinfo.com/?p=1124</guid>
		<description><![CDATA[It had been a while since I&#8217;d worked on the robot, and I wanted to work on some movement algorithms. I&#8217;ve done some AI work lately on a separate project, and thought that this would help with the automated movement<span class="ellipsis">&#8230;</span> <a href="http://www.adamsinfo.com/rebuilding-the-robot/"><div class="see-more">See more &#8250;</div><!-- end of .see-more --></a>]]></description>
				<content:encoded><![CDATA[<p>It had been a while since I&#8217;d worked on the robot, and I wanted to work on some movement algorithms. I&#8217;ve done some AI work lately on a separate project, and thought that this would help with the automated movement task. Unfortunately, the Robot had a little accident, namely falling out of the loft whilst I was bring it down. It&#8217;s been long overdue the removal of some of the excess hardware, and also needed some bugfixes that I now had no choice but to perform.<br />
<span id="more-1124"></span></p>
<table border="0">
<tbody>
<tr>
<td><a href="http://www.adamsinfo.com/wp-content/uploads/2011/04/CIMG2399.jpg"><img class="alignnone size-thumbnail wp-image-1130" title="Robot 1" src="http://www.adamsinfo.com/wp-content/uploads/2011/04/CIMG2399-150x150.jpg" alt="Robot 1" width="150" height="150" /></a></td>
<td><a href="http://www.adamsinfo.com/wp-content/uploads/2011/04/CIMG23931.jpg"><img class="alignnone size-thumbnail wp-image-1125" title="Robot 6" src="http://www.adamsinfo.com/wp-content/uploads/2011/04/CIMG23931-150x150.jpg" alt="Robot 6" width="150" height="150" /></a></td>
<td><a href="http://www.adamsinfo.com/wp-content/uploads/2011/04/CIMG2396.jpg"><img class="alignnone size-thumbnail wp-image-1128" title="Robot 3" src="http://www.adamsinfo.com/wp-content/uploads/2011/04/CIMG2396-150x150.jpg" alt="Robot 3" width="150" height="150" /></a></td>
</tr>
</tbody>
</table>
<p>I&#8217;ll bullet point the changes as there are a few:</p>
<ul>
<li>Robot now has two charging contacts that need to be specifically enabled via controllable relay</li>
<li>Excess acrylic was removed</li>
<li>Robot&#8217;s LCD, Speakers, Cam &amp; Battery are also all on relays and can be enabled or disabled via software.</li>
<li>The Robot has a clap activated switch, and so programs can be triggered via clapping</li>
<li>The current meter was hooked directly to battery output</li>
<li>The Robot has additional IR distance sensors. Now 2 front, 2 left, 2 right and 1 back</li>
<li>Wheels are now much better aligned</li>
<li>The Robot now has a more compact mic for better voice recognition</li>
<li>The speaker relay has a capacitor over it to avoid the initial surge when powered on.</li>
<li>The carnetix voltage regulator had failed and so was replaced.</li>
<li>The software has been rewritten in C to interface directly with the hardware, and python to provide a TCP server to interface with all necessary functions. I use PHP for the &#8216;client applications&#8217;, to interface with the python interface. Ideally I would use python for the client apps too, but I haven&#8217;t got around to learning Python properly, and this wasn&#8217;t the time to do it.</li>
</ul>
<p>The new hardware and software address a lot of the problems that we had before, the platform is also more stable and more reliable. I&#8217;ve written a set of functions that allow the robot to move around automatically. I&#8217;ve mapped the flat into 5 different areas and written a set of rules for handing each area. Each ruleset gets the robot from the start of one section to the end, ready to hand over to the next ruleset. We only rely on the positioning of the robot vs known objects mapped out. i.e. while right_sensor_1 and right_sensor_2 are both sufficiently close to the wall and the front sensor is sufficiently far from the door, keep moving forward, whilst lining up straight with the right all type logic. The downside with this approach is unexpected objects in the robot&#8217;s path, doors left open, etc. This could be overcome with more sophisticated coding.</p>
<p>Here&#8217;s a video of the robot navigating automatically from the bedroom through to the lounge:</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/VoMb1zASzAI?hl=en&amp;fs=1" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/VoMb1zASzAI?hl=en&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>In the next article, I&#8217;ll show how the new hardware and software allows for greater control over movement in general when being controlled manually.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=cariKJTPg9s:MbT3q9kz8es:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=cariKJTPg9s:MbT3q9kz8es:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?i=cariKJTPg9s:MbT3q9kz8es:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=cariKJTPg9s:MbT3q9kz8es:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~4/cariKJTPg9s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.adamsinfo.com/rebuilding-the-robot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.adamsinfo.com/rebuilding-the-robot/</feedburner:origLink></item>
		<item>
		<title>PayPal Desktop Application</title>
		<link>http://feedproxy.google.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~3/BDHjfac-NEA/</link>
		<comments>http://www.adamsinfo.com/paypal-desktop-application/#comments</comments>
		<pubDate>Thu, 05 Aug 2010 19:13:14 +0000</pubDate>
		<dc:creator>Adam Palmer</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[paypal]]></category>

		<guid isPermaLink="false">http://www.adamsinfo.com/?p=1094</guid>
		<description><![CDATA[I&#8217;ve been considering writing a PayPal desktop application for Windows for some time now. I&#8217;ve seen a couple of attempts at this done before, as well as web systems that utilize PayPal&#8217;s API. I haven&#8217;t seen a definitive piece of<span class="ellipsis">&#8230;</span> <a href="http://www.adamsinfo.com/paypal-desktop-application/"><div class="see-more">See more &#8250;</div><!-- end of .see-more --></a>]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been considering writing a PayPal desktop application for Windows for some time now. I&#8217;ve seen a couple of attempts at this done before, as well as web systems that utilize PayPal&#8217;s API. I haven&#8217;t seen a definitive piece of software that handles your PayPal account operations from your desktop.</p>
<p>PayPal&#8217;s API doesn&#8217;t support everything you might want to do, specifically sending payments, so it&#8217;s possible that some of the functionality could only be achieved by scraping the site. My main list of features is as follows:</p>
<p>1. Instant popup on payment receipt<br />
2. Fast and powerful reporting, stats and graphs.<br />
3. Quickly and easily in a few clicks send a payment.</p>
<p>Any ideas or interest? Please let me know!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=BDHjfac-NEA:b8sRO3MmlUY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=BDHjfac-NEA:b8sRO3MmlUY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?i=BDHjfac-NEA:b8sRO3MmlUY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=BDHjfac-NEA:b8sRO3MmlUY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~4/BDHjfac-NEA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.adamsinfo.com/paypal-desktop-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.adamsinfo.com/paypal-desktop-application/</feedburner:origLink></item>
		<item>
		<title>Local Deals Website</title>
		<link>http://feedproxy.google.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~3/h8pWnxau5WI/</link>
		<comments>http://www.adamsinfo.com/local-deals-website/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 13:20:45 +0000</pubDate>
		<dc:creator>Adam Palmer</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[deals]]></category>
		<category><![CDATA[dealsnear.me]]></category>
		<category><![CDATA[post tags]]></category>

		<guid isPermaLink="false">http://www.adamsinfo.com/?p=1063</guid>
		<description><![CDATA[Check out http://www.dealsnear.me a brand new site to find, post and follow local deals in your area. Visit the site, select your market, and find local offers, all for free.]]></description>
				<content:encoded><![CDATA[<p>Check out <a href="http://www.dealsnear.me">http://www.dealsnear.me</a> a brand new site to find, post and follow local deals in your area. Visit the site, select your market, and find local offers, all for free.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=h8pWnxau5WI:M9X1DEMMfnw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=h8pWnxau5WI:M9X1DEMMfnw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?i=h8pWnxau5WI:M9X1DEMMfnw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?a=h8pWnxau5WI:M9X1DEMMfnw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/AdamsTechTalkLinuxHowtosDiscussion?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AdamsTechTalkLinuxHowtosDiscussion/~4/h8pWnxau5WI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.adamsinfo.com/local-deals-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.adamsinfo.com/local-deals-website/</feedburner:origLink></item>
	</channel>
</rss>
