<?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>katun c0ders &#187; Other</title>
	<atom:link href="http://www.katun.ch/blog/category/other/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.katun.ch/blog</link>
	<description></description>
	<lastBuildDate>Mon, 26 Sep 2011 11:03:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Reset the MySQL root password on Ubuntu Linux</title>
		<link>http://www.katun.ch/blog/2011/09/26/reset-the-mysql-root-password-on-ubuntu-linux/</link>
		<comments>http://www.katun.ch/blog/2011/09/26/reset-the-mysql-root-password-on-ubuntu-linux/#comments</comments>
		<pubDate>Mon, 26 Sep 2011 11:03:46 +0000</pubDate>
		<dc:creator>Silas</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[reset]]></category>
		<category><![CDATA[root]]></category>

		<guid isPermaLink="false">http://www.katun.ch/blog/?p=564</guid>
		<description><![CDATA[Kürzlich hatte ich das Problem, dass ich das Passwort für den root Benutzer meines MySQL-Servers vergessen habe. Da ich aber die Daten nicht verlieren wollte war eine Neuinstallation keine Option. Hier eine kurze Step-by-Step Anleitung um das root Passwort des MySQL-Servers zurück zu setzen. 1. MySQL Server stoppen sudo /etc/init.d/mysql stop 2. MySQL Server ohne [...]]]></description>
			<content:encoded><![CDATA[<p>Kürzlich hatte ich das Problem, dass ich das Passwort für den root Benutzer meines MySQL-Servers vergessen habe. Da ich aber die Daten nicht verlieren wollte war eine Neuinstallation keine Option. </p>
<p>Hier eine kurze Step-by-Step Anleitung um das root Passwort des MySQL-Servers zurück zu setzen.</p>
<ol>
<li>1. MySQL Server stoppen
<div class="syhi_block"><code>sudo /etc/init.d/mysql stop</code></div>
</li>
<li>2. MySQL Server ohne Rechteprüfung starten
<div class="syhi_block"><code>sudo mysqld --skip-grant-tables &amp;</code></div>
</li>
<li>3.Als root einloggen und die DB mysql wählen
<div class="syhi_block"><code>mysql -u root mysql</code></div>
</li>
<li>4. Passwort für root zurücksetzen
<div class="syhi_block"><code>UPDATE user SET Password=PASSWORD('YOURNEWPASSWORD') WHERE User='root'; FLUSH PRIVILEGES; exit;</code></div>
</li>
<li>5. Server neu starten
<div class="syhi_block"><code>sudo /etc/init.d/mysql restart</code></div>
</li>
</ol>
<p>Dies ist vielleicht nicht die sicherste Methode, jedoch für meine Entwicklerkiste reichts.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.katun.ch/blog/2011/09/26/reset-the-mysql-root-password-on-ubuntu-linux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SSH Public Key Authentication</title>
		<link>http://www.katun.ch/blog/2011/08/08/ssh-public-key-authentication/</link>
		<comments>http://www.katun.ch/blog/2011/08/08/ssh-public-key-authentication/#comments</comments>
		<pubDate>Mon, 08 Aug 2011 12:14:50 +0000</pubDate>
		<dc:creator>Silas</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://www.katun.ch/blog/?p=559</guid>
		<description><![CDATA[Hier eine kleine Anleitung wie man unter Mac OS X 10.7 (aka Lion) die SSH Public Key Authentication einrichtet. Dazu brauchen wir das Terminal (zu finden unter Applications/Utilities/Terminal). Wenn das Terminal offen ist, muss folgendes eingetippt werden: ssh-keygen Mit Enter bestätigen, danach wird gefragt wo die Keys abgespeichert werden sollen. Der vorgeschlagene Pfad ist ok [...]]]></description>
			<content:encoded><![CDATA[<p>Hier eine kleine Anleitung wie man unter Mac OS X 10.7 (aka Lion) die SSH Public Key Authentication einrichtet. Dazu brauchen wir das Terminal (zu finden unter Applications/Utilities/Terminal). Wenn das Terminal offen ist, muss folgendes eingetippt werden:</p>
<div class="syhi_block"><code>ssh-keygen</code></div>
<p> Mit Enter bestätigen, danach wird gefragt wo die Keys abgespeichert werden sollen. Der vorgeschlagene Pfad ist ok und kann mit Enter bestätigt werden.<br />
Die nächste Eingabe die verlangt wird ist ein Passwort. Mit welchem Passwort soll der Key verschlüsselt werden? Es kann auch kein Passwort eingegeben und einfach mit Enter bestätigt werden. Dann wird der Key nicht verschlüsselt gespeichert. </p>
<p>Sobald die Keys erstellt sind, muss der Public Key dem Server bekannt gemacht werden. Dazu folgendes auf dem Client im Terminal eingeben:</p>
<div class="syhi_block"><code>cat ./ssh/id_rsa.pub</code></div>
<p>Der Output sieht dann etwa so aus:</p>
<div class="syhi_block"><code>MacBook-Air:~ silas$ cat .ssh/id_rsa.pub <br />
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABEQAABAQDGSZ3cKJwOhWAojD9j+G1/IKgZFc2oCB5umXztBo+XTdabFhD+0dFo6iVL2MilHIYPG42mOFAM9ZztoOW6yMQlpnWzcMS1SuAfaiEfd3l/rTbWtz9kK1Wq0XGS8qzhxBV2964aUFz3X5c2pmjC7gBoac981DfdjkUJaBeLSF6CdM6w9d5hIy2tO2o8juhJgoK2RZuKjghyGna0XnRIeTZufBhayZBFJ+ZKke2Whc+tDSE57LpxvyT8xAGYo9qFX/QCoexY3C7VDPuk7AJHkhZGHLJhsr3aXYQHx48q9nJtznilYbPQafXE47pS5zr3wxkxDg0GZDhQ21rovtk3U6xP silas@MacBook-Air.local<br />
Silass-MacBook-Air:~ silasknobel$</code></div>
<p>Davon die mittlere Zeile kopieren. (Darauf achten, dass die ganze Zeile kopiert wird)</p>
<div class="syhi_block"><code>ssh-rsa AAAAB3NzaC1yc2EAAAADAQABEQAABAQDGSZ3cKJwOhWAojD9j+G1/IKgZFc2oCB5umXztBo+XTdabFhD+0dFo6iVL2MilHIYPG42mOFAM9ZztoOW6yMQlpnWzcMS1SuAfaiEfd3l/rTbWtz9kK1Wq0XGS8qzhxBV2964aUFz3X5c2pmjC7gBoac981DfdjkUJaBeLSF6CdM6w9d5hIy2tO2o8juhJgoK2RZuKjghyGna0XnRIeTZufBhayZBFJ+ZKke2Whc+tDSE57LpxvyT8xAGYo9qFX/QCoexY3C7VDPuk7AJHkhZGHLJhsr3aXYQHx48q9nJtznilYbPQafXE47pS5zr3wxkxDg0GZDhQ21rovtk3U6xP silas@MacBook-Air.local</code></div>
<p>Nun wenn dieser Public Key im Zwischenspeicher ist muss dieser noch auf dem Server in die Datei authorized_keys eingetragen werden. Dazu via SSH mit dem Server verbinden.</p>
<div class="syhi_block"><code>ssh meinBenutzer@mein.server.tld</code></div>
<p>und das Passwort eingeben. </p>
<p>Ist man nun auf dem folgendes Eintippen:</p>
<div class="syhi_block"><code>echo &quot;[HIER DEN KOPIERTEN PUBLIC KEY EINFÜGEN]&quot; &gt;&gt; .ssh/authorized_keys</code></div>
<p>und mit Enter bestätigen. </p>
<p>Nun ist die SSH Public Key Authentication eingerichtet und das SSH Passwort muss vom entsprechendem Client nicht mehr eingegeben werden. </p>
<p>Viel Spass</p>
]]></content:encoded>
			<wfw:commentRss>http://www.katun.ch/blog/2011/08/08/ssh-public-key-authentication/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone gesteuertes R/C Auto (Video)</title>
		<link>http://www.katun.ch/blog/2011/02/12/iphone-gesteuertes-rc-auto-video/</link>
		<comments>http://www.katun.ch/blog/2011/02/12/iphone-gesteuertes-rc-auto-video/#comments</comments>
		<pubDate>Sat, 12 Feb 2011 21:38:54 +0000</pubDate>
		<dc:creator>Silas</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.katun.ch/blog/?p=555</guid>
		<description><![CDATA[Ich habe mein altes iPhone rausgekramt, damit ich von meinem Projekt ein Video machen kann. Seht selbst! Schönes Wochenende!]]></description>
			<content:encoded><![CDATA[<p>Ich habe mein altes iPhone rausgekramt, damit ich von meinem Projekt ein Video machen kann. Seht selbst!<br />
<iframe title="YouTube video player" width="560" height="349" src="http://www.youtube.com/embed/S1IxaNH-RGI?hd=1" frameborder="0" allowfullscreen></iframe></p>
<p>Schönes Wochenende!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.katun.ch/blog/2011/02/12/iphone-gesteuertes-rc-auto-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone gesteuertes R/C Auto (Teil 2)</title>
		<link>http://www.katun.ch/blog/2011/02/06/iphone-gesteuertes-rc-auto-teil-2/</link>
		<comments>http://www.katun.ch/blog/2011/02/06/iphone-gesteuertes-rc-auto-teil-2/#comments</comments>
		<pubDate>Sun, 06 Feb 2011 21:58:19 +0000</pubDate>
		<dc:creator>Silas</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[PHP Tutorials]]></category>

		<guid isPermaLink="false">http://www.katun.ch/blog/?p=539</guid>
		<description><![CDATA[Ich habe nun mein Projekt &#8220;iPhone controlled R/C Car&#8221; abgeschlossen. Nach ein paar Stunden basteln und programmieren kann ich nun das Projekt auch dem grossen Publikum zeigen. Die Fernbedienung von meinem Auto mit den Steuerkabeln an den entsprechenden Stellen angelötet. Steckverbindungen auf dem Breadboard. Da das ganze auf den Bildern nicht wirklich überschaubar ist, habe [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe nun mein Projekt &#8220;iPhone controlled R/C Car&#8221; abgeschlossen. Nach ein paar Stunden basteln und programmieren kann ich nun das Projekt auch dem grossen Publikum zeigen.<br />
<a href="http://www.katun.ch/blog/wp-content/uploads/2011/02/circuit.jpg"><img class="aligncenter size-medium wp-image-541" title="Ganze Schaltung" src="http://www.katun.ch/blog/wp-content/uploads/2011/02/circuit-300x224.jpg" alt="" width="300" height="224" /></a></p>
<p>Die Fernbedienung von meinem Auto mit den Steuerkabeln an den entsprechenden Stellen angelötet.<br />
<a href="http://www.katun.ch/blog/wp-content/uploads/2011/02/remotecontrol.jpg"><img class="aligncenter size-medium wp-image-542" title="Fernbedienung" src="http://www.katun.ch/blog/wp-content/uploads/2011/02/remotecontrol-300x224.jpg" alt="" width="300" height="224" /></a></p>
<p>Steckverbindungen auf dem Breadboard.<br />
<a href="http://www.katun.ch/blog/wp-content/uploads/2011/02/breadboard.jpg"><img class="aligncenter size-medium wp-image-543" title="breadboard" src="http://www.katun.ch/blog/wp-content/uploads/2011/02/breadboard-300x224.jpg" alt="" width="300" height="224" /></a></p>
<p>Da das ganze auf den Bildern nicht wirklich überschaubar ist, habe ich hier ein ganz einfaches Schema gezeichnet.<br />
<a href="http://www.katun.ch/blog/wp-content/uploads/2011/02/rccar.png"><img src="http://www.katun.ch/blog/wp-content/uploads/2011/02/rccar-300x198.png" alt="" title="Schema" width="300" height="198" class="aligncenter size-medium wp-image-544" /></a><br />
Bitte an dieser Stelle nicht erschrecken. Ich habe auf meiner Schaltung noch ein paar LED&#8217;s dazwischen gehängt, damit ich sehe was gerade alles angesteuert wird. Die Artikelnummer von Conrad für die Transistoren lautet 151034 &#8211; 62. So gehts leichter zum bestellen.</p>
<p>Nun aber zum Highlight des Ganzen! Die iPhone App um das Auto zu steuern.<br />
<a href="http://www.katun.ch/blog/wp-content/uploads/2011/02/Screen-shot-2011-02-06-at-21.40.33.png"><img src="http://www.katun.ch/blog/wp-content/uploads/2011/02/Screen-shot-2011-02-06-at-21.40.33-300x159.png" alt="" title="rccar iPhone App" width="300" height="159" class="aligncenter size-medium wp-image-546" /></a></p>
<p>Die Kommunikation zwischen iPhone und Arduino µC funktioniert über Ethernet. Damit ich nicht ans iPhone als Fernbedienung gebunden bin, habe ich einen Middlelayer eingebunden. Dieser ist mittels PHP Programmiert. Das PHP Script öffnet eine Socketverbindung zum Arduino und sendet ein String welcher das Programm auf dem µC auswertet und den entsprechenden Ausgang schaltet. </p>
<p>Die iPhone App ruft bei einem Touch-Event einfach das PHP-Script mit dem entsprechenden Parameter auf. Das PHP-Script leitet diesen Parameter and den µC weiter. So einfach funktioniert das.</p>
<p>Hier das PHP-Script:</p>
<div class="syhi_block"><code><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
<br />
<span style="color: #000000; font-weight: bold;">function</span> sendCommand<span style="color: #009900;">&#40;</span><span style="color: #000088;">$command</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; <span style="color: #000088;">$c</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/fsockopen"><span style="color: #990000;">fsockopen</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'1.1.1.2'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">80</span><span style="color: #339933;">,</span> <span style="color: #000088;">$errno</span><span style="color: #339933;">,</span> <span style="color: #000088;">$errstr</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$c</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$errstr</span><span style="color: #339933;">.</span><span style="color: #0000ff;">' ('</span><span style="color: #339933;">.</span><span style="color: #000088;">$errno</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;)&lt;br /&gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <a href="http://www.php.net/fwrite"><span style="color: #990000;">fwrite</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$c</span><span style="color: #339933;">,</span> <span style="color: #000088;">$command</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'sent data: '</span><span style="color: #339933;">.</span><span style="color: #000088;">$data</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <a href="http://www.php.net/fclose"><span style="color: #990000;">fclose</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$c</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
sendCommand<span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'q'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></code></div>
<p>Und hier das Programm auf dem µC:</p>
<div class="syhi_block"><code><span style="color: #339900;">#include &lt;SPI.h&gt;</span><br />
<span style="color: #339900;">#include &lt;Ethernet.h&gt;</span><br />
<br />
<span style="color: #339900;">#define Bwd 8</span><br />
<span style="color: #339900;">#define Fwd 7</span><br />
<span style="color: #339900;">#define Left 6</span><br />
<span style="color: #339900;">#define Right 5</span><br />
<br />
String command<span style="color: #008080;">;</span> <span style="color: #666666;">//W=119;A=97;S=115;D=100</span><br />
<span style="color: #0000ff;">int</span> stateBwd <span style="color: #000080;">=</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span><br />
<span style="color: #0000ff;">int</span> stateFwd <span style="color: #000080;">=</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span><br />
<span style="color: #0000ff;">int</span> stateLeft <span style="color: #000080;">=</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span><br />
<span style="color: #0000ff;">int</span> stateRight <span style="color: #000080;">=</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span><br />
<br />
byte mac<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span> <span style="color: #208080;">0xDE</span>, <span style="color: #208080;">0xAD</span>, <span style="color: #208080;">0xBE</span>, <span style="color: #208080;">0xEF</span>, <span style="color: #208080;">0xFE</span>, <span style="color: #208080;">0xED</span> <span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span><br />
byte ip<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span> <span style="color: #0000dd;">1</span>,<span style="color: #0000dd;">1</span>,<span style="color: #0000dd;">1</span>,<span style="color: #0000dd;">2</span> <span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span><br />
<br />
Server server<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">80</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
<br />
<span style="color: #0000ff;">void</span> setup<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span><br />
&nbsp; Ethernet.<span style="color: #007788;">begin</span><span style="color: #008000;">&#40;</span>mac, ip<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; server.<span style="color: #007788;">begin</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; Serial.<span style="color: #007788;">begin</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">9600</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; pinMode<span style="color: #008000;">&#40;</span>Bwd, OUTPUT<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; pinMode<span style="color: #008000;">&#40;</span>Fwd, OUTPUT<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; pinMode<span style="color: #008000;">&#40;</span>Left, OUTPUT<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; pinMode<span style="color: #008000;">&#40;</span>Right, OUTPUT<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
<span style="color: #008000;">&#125;</span><br />
<br />
<span style="color: #0000ff;">void</span> loop<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp;Client client <span style="color: #000080;">=</span> server.<span style="color: #007788;">available</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp;<br />
&nbsp; &nbsp;<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>client<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp;command <span style="color: #000080;">=</span> <span style="color: #FF0000;">&quot;&quot;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp;<span style="color: #0000ff;">while</span><span style="color: #008000;">&#40;</span>client.<span style="color: #007788;">connected</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>client.<span style="color: #007788;">available</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #0000ff;">char</span> c <span style="color: #000080;">=</span> client.<span style="color: #007788;">read</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;command <span style="color: #000040;">+</span><span style="color: #000080;">=</span> c<span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #666666;">//client.stop();</span><br />
&nbsp; &nbsp; &nbsp;<span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>command<span style="color: #000080;">==</span><span style="color: #FF0000;">&quot;F&quot;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span> <span style="color: #666666;">//Forward</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>stateFwd<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; stateFwd <span style="color: #000080;">=</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; digitalWrite<span style="color: #008000;">&#40;</span>Fwd, LOW<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">else</span> <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; stateFwd <span style="color: #000080;">=</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; stateBwd <span style="color: #000080;">=</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; digitalWrite<span style="color: #008000;">&#40;</span>Bwd, LOW<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; digitalWrite<span style="color: #008000;">&#40;</span>Fwd, HIGH<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #008000;">&#125;</span> <span style="color: #666666;">//command 119</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>command<span style="color: #000080;">==</span><span style="color: #FF0000;">&quot;B&quot;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span> <span style="color: #666666;">//Back</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>stateBwd<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; stateBwd <span style="color: #000080;">=</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; digitalWrite<span style="color: #008000;">&#40;</span>Bwd, LOW<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">else</span> <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; stateFwd <span style="color: #000080;">=</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; stateBwd <span style="color: #000080;">=</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; digitalWrite<span style="color: #008000;">&#40;</span>Fwd, LOW<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; digitalWrite<span style="color: #008000;">&#40;</span>Bwd, HIGH<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>command <span style="color: #000080;">==</span> <span style="color: #FF0000;">&quot;L&quot;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span> <span style="color: #666666;">//Left</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>stateLeft<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; stateLeft <span style="color: #000080;">=</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; digitalWrite<span style="color: #008000;">&#40;</span>Left,LOW<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">else</span> <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; stateRight <span style="color: #000080;">=</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; digitalWrite<span style="color: #008000;">&#40;</span>Right, LOW<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; stateLeft <span style="color: #000080;">=</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; digitalWrite<span style="color: #008000;">&#40;</span>Left, HIGH<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>command <span style="color: #000080;">==</span> <span style="color: #FF0000;">&quot;R&quot;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span> <span style="color: #666666;">//Right</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>stateRight<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; stateRight <span style="color: #000080;">=</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; digitalWrite<span style="color: #008000;">&#40;</span>Right, LOW<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">else</span> <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; stateLeft <span style="color: #000080;">=</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; digitalWrite<span style="color: #008000;">&#40;</span>Left, LOW<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; stateRight <span style="color: #000080;">=</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; digitalWrite<span style="color: #008000;">&#40;</span>Right, HIGH<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp;delay<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp;client.<span style="color: #007788;">stop</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp;<span style="color: #008000;">&#125;</span><br />
<span style="color: #008000;">&#125;</span></code></div>
<p>Für die Xcode-User habe ich hier noch mein kleines Xcode Projekt zum Download. Hier muss in der Source nur noch die URL des obigen PHP-Scripts angepasst werden.<br />
<a href='http://www.katun.ch/blog/wp-content/uploads/2011/02/rccar.zip'>Download rccar Xcode Project</a></p>
<p>Mangels einer zweiten Kamera (die einzige ist im iPhone) kann ich leider noch kein Video machen. Ich schau mal ob ich meine alte Digicam noch finde.<br />
Bis dahin viel Spass beim Basteln!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.katun.ch/blog/2011/02/06/iphone-gesteuertes-rc-auto-teil-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone gesteuertes R/C Auto (Teil 1)</title>
		<link>http://www.katun.ch/blog/2011/02/06/iphone-gesteuertes-rc-auto-teil-1/</link>
		<comments>http://www.katun.ch/blog/2011/02/06/iphone-gesteuertes-rc-auto-teil-1/#comments</comments>
		<pubDate>Sun, 06 Feb 2011 00:10:26 +0000</pubDate>
		<dc:creator>Silas</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[R/C Car]]></category>

		<guid isPermaLink="false">http://www.katun.ch/blog/?p=535</guid>
		<description><![CDATA[Ich habe wiedereinmal gebastelt. Und zwar habe ich noch ein altes, ferngesteuertes Auto herumliegen gehabt. Nun hab ich mich gefragt ob sich dieses auch mit meinem µController steuern lässt. Und ja es funktioniert! Im Internet habe ich zusätzlich noch eine Anleitung gefunden, wie ich das Auto schlussendlich über das iPhone steuern kann. Nun ich habe [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe wiedereinmal gebastelt. Und zwar habe ich noch ein altes, ferngesteuertes Auto herumliegen gehabt. Nun hab ich mich gefragt ob sich dieses auch mit meinem µController steuern lässt. Und ja es funktioniert! Im Internet habe ich zusätzlich noch eine Anleitung gefunden, wie ich das Auto schlussendlich über das iPhone steuern kann. </p>
<p>Nun ich habe jetzt einmal einen kleinen Versuchsaufbau gemacht um zu sehen wie ich das ganze angehen kann. Das Ergebnis möchte ich an dieser Stelle nicht vorenthalten.<br />
<iframe title="YouTube video player" width="560" height="345" src="http://www.youtube.com/embed/AgnKHIaLpQk?rel=0&amp;hd=1" frameborder="0" allowfullscreen></iframe></p>
<p>Wie bin ich vorgegangen?</p>
<ul>
<li>Fernsteuerung auseinander bauen</li>
<li>Kabel an die Taster anlöten</li>
<li>Kabel mit Transistor verbinden</li>
<li>Transistor über den µController steuern</li>
</ul>
<p>Schema, Teilenummern und eine bebilderte Anleitung gibts im nächsten Post!<br />
Bis dahin gute Nacht!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.katun.ch/blog/2011/02/06/iphone-gesteuertes-rc-auto-teil-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LED Knight Rider with Arduino</title>
		<link>http://www.katun.ch/blog/2011/02/02/led-knight-rider-with-arduino/</link>
		<comments>http://www.katun.ch/blog/2011/02/02/led-knight-rider-with-arduino/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 09:39:54 +0000</pubDate>
		<dc:creator>Silas</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[Arduino]]></category>

		<guid isPermaLink="false">http://www.katun.ch/blog/?p=532</guid>
		<description><![CDATA[Beim Herumspielen mit meinem Arduino UNO habe ich mal noch ein Knight Rider LED Stripe gebastelt.]]></description>
			<content:encoded><![CDATA[<p>Beim Herumspielen mit meinem Arduino UNO habe ich mal noch ein Knight Rider LED Stripe gebastelt.<br />
<iframe title="YouTube video player" class="youtube-player" type="text/html" width="480" height="390" src="http://www.youtube.com/embed/VZe96-ojlxI?rel=0" frameborder="0" allowFullScreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.katun.ch/blog/2011/02/02/led-knight-rider-with-arduino/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DIY: Türklingel Push Notification für das iPhone</title>
		<link>http://www.katun.ch/blog/2011/02/01/diy-turklingel-push-notification-fur-das-iphone/</link>
		<comments>http://www.katun.ch/blog/2011/02/01/diy-turklingel-push-notification-fur-das-iphone/#comments</comments>
		<pubDate>Tue, 01 Feb 2011 22:35:43 +0000</pubDate>
		<dc:creator>Silas</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Push Notification]]></category>

		<guid isPermaLink="false">http://www.katun.ch/blog/?p=526</guid>
		<description><![CDATA[Da ich demnächst umziehen werde, habe ich mich in letzter Zeit ein Bisschen mit Heimautomatisation beschäftigt. Meine Kriterien dafür sind: Keine hohen Kosten Möglichkeit um eigene Programme bzw. Abläufe zu erstellen Bei meiner Suche bin ich dann auf den Loxone Miniserver gestossen, welcher mich sehr überzeugt hat. Eine Preisanfrage bei einem schweizer Vertreter von Loxone [...]]]></description>
			<content:encoded><![CDATA[<p>Da ich demnächst umziehen werde, habe ich mich in letzter Zeit ein Bisschen mit Heimautomatisation beschäftigt. Meine Kriterien dafür sind:</p>
<ul>
<li>Keine hohen Kosten</li>
<li>Möglichkeit um eigene Programme bzw. Abläufe zu erstellen</li>
</ul>
<p>Bei meiner Suche bin ich dann auf den <a title="Loxone Miniserver" href="http://www.loxone.com/Pages/de/produkte/Miniserver/Miniserver.aspx" target="_blank">Loxone Miniserver</a> gestossen, welcher mich sehr überzeugt hat. Eine Preisanfrage bei einem schweizer Vertreter von Loxone wurde leider abgeschmettert, da dieser Vertreter nicht an Privatkunden liefert. Also ist das für mich vorerst gegessen.</p>
<p>Wie es der Zufall so wollte bin ich dann über <a href="http://www.iphoneblog.de/2011/01/24/diy-push-nachrichten-fur-post-briefkasten-und-baby-steps-in-richtung-eines-papierlosen-buros/" target="_blank">einen Artikel im iPhoneBlog</a> gestossen. Darin wird gezeigt wie ein Briefkasten Push Notifications über einen Mikrocontroller sendet und diese auch auf dem iPhone ankommen. Dazu ist die iOS-App <a href="http://www.prowlapp.com/" target="_blank">Prowl</a> nötig. Da ich Prowl sowieso schon für andere Dinge im Einsatz habe, kommt mir das gerade recht.</p>
<p>Bei dem Mikrocontroller handelt es sich um ein <a href="http://arduino.cc/" target="_blank">Arduino</a> UNO Board (mehr über <a href="http://en.wikipedia.org/wiki/Arduino" target="_blank">Arduino auf Wikipedia</a>). Nach einer kurzen Recherche nach einem Anbieter von Adruino Produkten, bin ich dann im <a href="http://www.dshop.ch" target="_blank">dshop.ch</a> fündig geworden.  Da der Preis für den Mikrocontroller unter meinen Vorstellungen lag, habe ich das <a href="http://arduino.cc/en/Main/ArduinoBoardUno" target="_blank">Arduino UNO Board</a> und ein <a href="http://arduino.cc/en/Main/ArduinoEthernetShield" target="_blank">Ethernet Shield</a> bestellt. Paar Tage später hatte ich meine Bestellung auch schon im Briefkasten.</p>
<p>Nun aber zum eigentlichen Thema: Die Türklingel soll Push Notifications via Prowl auf mein iPhone senden.</p>
<p>Um das zu realisieren habe ich einen Prototypen gebaut. Dieser Prototyp sendet auf Knopfdruck eine Push Notification auf mein iPhone. Um den Prototypen zu bauen sind folgende Dinge nötig:</p>
<ul>
<li>Arduino UNO Mikrocontroller</li>
<li>Arduino Ethernet Shield</li>
<li>1x Breadboard</li>
<li>ca. 10x Jumpwire</li>
<li>1x 10kΩ Widerstand 1/4W</li>
<li>1x Taster als Schliesser</li>
<li>1x LED (optional)</li>
<li>1x USB Kabel</li>
<li>1x RJ45 Ethernet Kabel Cat 6.</li>
</ul>
<p>Wie bereits erwähnt ist die LED optional. Diese habe ich zusätzlich als optisches Signal in die Schaltung eingebaut, muss aber nicht zwingend sein.</p>
<p>Ich habe ein Schaltplan gezeichnet. Dieser ist nicht nach den allgemein bekannten Normen für Schaltpläne gestaltet, sondern soll für jeden klar verständlich sein.</p>
<p><a href="http://www.katun.ch/blog/wp-content/uploads/2011/02/Doorbell.png"><img class="aligncenter size-full wp-image-527" title="Türklingel Schaltplan" src="http://www.katun.ch/blog/wp-content/uploads/2011/02/Doorbell.png" alt="" width="615" height="450" /></a></p>
<p>Eine weitere Vorraussetzung für das versenden von Push Notifications ist ein Webserver auf dem ein PHP-Script vom µC aufgerufen werden kann. Dies ist nötig, weil die Prowl API eine SSL Verschlüsselung erfordert. Die Ethernet Library für den Controller unterstützt aber kein SSL.</p>
<p>Auf dem Webserver habe ich also die <a href="https://github.com/xenji/ProwlPHP" target="_blank">ProwlPHP</a> Library am laufen. Für die Testzwecke habe ich einfach die example.php aus dem Package auf mich angepasst. Diese example.php wird dann vom µC aufgerufen und somit eine Notification an mein iPhone bzw. mein iPad gesendet.</p>
<p>Ist das PHP-Script auf dem Webserver eingerichtet kann nun der µC programmiert werden. Es ist zu beachten, dass die Ethernet Library kein DHCP kann. Wer die erforderlichen Skills hat, darf eine DHCP Funktionalität gerne implementieren. Da DHCP ausfällt, muss die IP-Adresse sowie die MAC-Adresse direkt im Coding gesetzt werden. Mein Programm für den µC sieht wie folgt aus:</p>
<div class="syhi_block"><code><span style="color: #339900;">#include &lt;SPI.h&gt;</span><br />
<span style="color: #339900;">#include &lt;Ethernet.h&gt;</span><br />
<br />
<span style="color: #339900;">#define switchPin 7 &nbsp;// Snap action switch which closes when the mailbox door is opened.</span><br />
<span style="color: #339900;">#define ledPin 9</span><br />
<br />
byte mac<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span> <span style="color: #208080;">0xDE</span>, <span style="color: #208080;">0xAD</span>, <span style="color: #208080;">0xBE</span>, <span style="color: #208080;">0xEF</span>, <span style="color: #208080;">0xFE</span>, <span style="color: #208080;">0xED</span> <span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span><br />
byte ip<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span> <span style="color: #0000dd;">192</span>,<span style="color: #0000dd;">168</span>,<span style="color: #0000dd;">1</span>,<span style="color: #0000dd;">2</span> <span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span> <span style="color: #666666;">// local Arduino IP</span><br />
byte server<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span> <span style="color: #0000dd;">192</span>,<span style="color: #0000dd;">168</span>,<span style="color: #0000dd;">1</span>,<span style="color: #0000dd;">1</span> <span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span> <span style="color: #666666;">// IP of your web server</span><br />
<br />
Client client<span style="color: #008000;">&#40;</span>server, <span style="color: #0000dd;">80</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
<br />
<span style="color: #0000ff;">void</span> setup<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span><br />
&nbsp; Ethernet.<span style="color: #007788;">begin</span><span style="color: #008000;">&#40;</span>mac, ip<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; Serial.<span style="color: #007788;">begin</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">9600</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; delay<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">1000</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; pinMode<span style="color: #008000;">&#40;</span>switchPin, INPUT<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; pinMode<span style="color: #008000;">&#40;</span>ledPin, OUTPUT<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; <span style="color: #666666;">//delay(20000);</span><br />
<span style="color: #008000;">&#125;</span><br />
<br />
<span style="color: #0000ff;">void</span> loop<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><br />
<span style="color: #008000;">&#123;</span><br />
&nbsp; <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>digitalRead<span style="color: #008000;">&#40;</span>switchPin<span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> HIGH<span style="color: #008000;">&#41;</span> <span style="color: #666666;">// if button is pressed:</span><br />
&nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; digitalWrite<span style="color: #008000;">&#40;</span>ledPin, HIGH<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; Serial.<span style="color: #007788;">println</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Button pressed&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>client.<span style="color: #007788;">connect</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span> <span style="color: #666666;">//connect to server</span><br />
&nbsp; &nbsp; &nbsp; Serial.<span style="color: #007788;">println</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;connected to server&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #666666;">// Make a HTTP request:</span><br />
&nbsp; &nbsp; &nbsp; client.<span style="color: #007788;">println</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;GET /~silas/example.php&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #666666;">//location of ProwlPHP script</span><br />
&nbsp; &nbsp; &nbsp; client.<span style="color: #007788;">println</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; <span style="color: #008000;">&#125;</span> <br />
&nbsp; &nbsp; <span style="color: #0000ff;">else</span> <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; Serial.<span style="color: #007788;">println</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;connection failed&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; delay<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">1000</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; Serial.<span style="color: #007788;">print</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Response from server: &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>client.<span style="color: #007788;">available</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">char</span> c <span style="color: #000080;">=</span> client.<span style="color: #007788;">read</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; Serial.<span style="color: #007788;">print</span><span style="color: #008000;">&#40;</span>c<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; Serial.<span style="color: #007788;">println</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; <span style="color: #666666;">// if the server's disconnected, stop the client:</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>client.<span style="color: #007788;">connected</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; Serial.<span style="color: #007788;">println</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;disconnecting from server&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; client.<span style="color: #007788;">stop</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>digitalRead<span style="color: #008000;">&#40;</span>switchPin<span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> HIGH<span style="color: #008000;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #666666;">// hold here while button is pressed</span><br />
&nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; Serial.<span style="color: #007788;">println</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Button released&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; digitalWrite<span style="color: #008000;">&#40;</span>ledPin, LOW<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; delay<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">500</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; <span style="color: #008000;">&#125;</span><br />
<span style="color: #008000;">&#125;</span></code></div>
<p>Die Source ist abgeleitet von dem WebClient Example in der Arduino IDE.</p>
<p>Da ich als Webserver den internen Apache von Mac OS X verwende habe ich zusätzlich noch ein Shell-Command aufgerufen, welches mir eine Growl Notification am Display anzeigt. </p>
<div class="syhi_block"><code><span style="color: #000088;">$out</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/shell_exec"><span style="color: #990000;">shell_exec</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/usr/local/bin/growlnotify -m &quot;Open the door dude!&quot; -t &quot;My Home&quot;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></code></div>
<p>Wie das ganze in etwa aussieht habe ich hier mal in einem kurzen Video festgehalten.<br />
<iframe title="YouTube video player" class="youtube-player" type="text/html" width="640" height="390" src="http://www.youtube.com/embed/UJAykkdfwXs?rel=0" frameborder="0" allowFullScreen></iframe></p>
<p>Viel Spass beim Herumprobieren!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.katun.ch/blog/2011/02/01/diy-turklingel-push-notification-fur-das-iphone/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Push E-Mail fürs iPhone ohne Exchange oder mobile.me</title>
		<link>http://www.katun.ch/blog/2010/08/04/push-e-mail-furs-iphone-ohne-exchange-oder-mobile-me/</link>
		<comments>http://www.katun.ch/blog/2010/08/04/push-e-mail-furs-iphone-ohne-exchange-oder-mobile-me/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 12:44:16 +0000</pubDate>
		<dc:creator>Silas</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[push]]></category>

		<guid isPermaLink="false">http://www.katun.ch/blog/?p=496</guid>
		<description><![CDATA[Vor langer Zeit habe ich bei vmware.com mal die Virtual Appliances durchstöbert. Dabei bin ich auf das Zarafa Projekt gestossen. Auf den ersten Blick sieht das Projekt sehr interessant aus. Zarafa bietet eine Weboberfläche analog zur Outlook Webaccess oberfläche von Microsofts Exchange Server. Die Weboberfläche sieht praktisch identisch aus. Kalender, Kontakte, Notizen, Todo&#8217;s, etc. ist [...]]]></description>
			<content:encoded><![CDATA[<p>Vor langer Zeit habe ich bei <a href="http://www.vmware.com">vmware.com</a> mal die Virtual Appliances durchstöbert. Dabei bin ich auf das <a href="http://www.zarafa.com/">Zarafa Projekt</a> gestossen.</p>
<p>Auf den ersten Blick sieht das Projekt sehr interessant aus. Zarafa bietet eine Weboberfläche analog zur Outlook Webaccess oberfläche von Microsofts Exchange Server. Die Weboberfläche sieht praktisch identisch aus. Kalender, Kontakte, Notizen, Todo&#8217;s, etc. ist auch alles vorhanden. Das beste kommt aber noch: Mit dem der Software <a href="http://z-push.sourceforge.net/soswp/">Z-Push</a> wird das ganze noch iPhone bzw. ActiveSync fähig. Sprich, es werden die selben Funktionen untestützt wie wenn du dein iPhone mit dem Exchangeserver verbindest. Push-Mail, Push-Contacts und Push-Calendar. Ebenfalls kann Microsoft Outlook als Desktopclient verwendet werden.</p>
<p>In der Communityversion mit Outlooksupport können 3 Benutzer das System benutzen. </p>
<p>Ich habe das ganze bei mir zu hause mal auf eine Virtuele Maschine auf meinem ESX-Server installiert. Von da an läuft das Ding einwandfrei und die E-Mails werden schön auf mein iPhone gepusht.<br />
Aufwand um das Ganze nach Anleitung zu installieren: 1 Tag</p>
<p>Zarafa ist also eine richtige Alternativlösung zu Microsoft&#8217;s Exchange Server. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.katun.ch/blog/2010/08/04/push-e-mail-furs-iphone-ohne-exchange-oder-mobile-me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Resurrection EP von Abyss Of Fear</title>
		<link>http://www.katun.ch/blog/2009/08/17/resurrection-ep-von-abyss-of-fear/</link>
		<comments>http://www.katun.ch/blog/2009/08/17/resurrection-ep-von-abyss-of-fear/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 10:21:39 +0000</pubDate>
		<dc:creator>Silas</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[abyss of fear]]></category>
		<category><![CDATA[cd]]></category>
		<category><![CDATA[Music]]></category>

		<guid isPermaLink="false">http://www.katun.ch/blog/?p=488</guid>
		<description><![CDATA[Ab heute kann die neue EP &#8220;Resurrection&#8221; von Abyss Of Fear vorbestellt werden! Ihr könnt die CD vorbestellen und kriegt sie direkt zu euch nach Hause geliefert, ohne Versandkosten zu bezahlen. Das einzige was Ihr tun müsst, ist auf der dafür erstellten Seite, euren Namen und E-Mailadresse zu hinterlegen. Zwei Tage vor dem Veröffentlichungstermin bekommt [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.abyssoffear.com/preorder/listview"><img class="alignleft" title="Resurrection Preorder" src="http://www.abyssoffear.com/upload/resurrection_preorder_small.png" alt="" width="187" height="376" /></a>Ab heute kann die neue EP &#8220;Resurrection&#8221; von <a href="http://www.abyssoffear.com">Abyss Of Fea</a>r <a href="http://www.abyssoffear.com/preorder/listview">vorbestellt</a> werden! Ihr könnt die CD vorbestellen und kriegt sie direkt zu euch nach Hause geliefert, ohne Versandkosten zu bezahlen. Das einzige was Ihr tun müsst, ist auf der <a href="http://www.abyssoffear.com/preorder/listview">dafür erstellten Seite</a>, euren Namen und E-Mailadresse zu hinterlegen.</p>
<p>Zwei Tage vor dem Veröffentlichungstermin bekommt Ihr eine E-Mail mit den Zahlungsinformationen. Das Eintragen in die Liste verpflichtet nicht zum Kauf. Ihr habt danach immernoch die Wahl ob ihr die CD wirklich kaufen wollt oder nicht.</p>
<p>Auf der <a href="http://www.myspace.com/abyssoffear">Myspace Seite von Abyss Of Fear</a> gibt es die drei neusten Songs und ein Snippet der EP zum Probehören.</p>
<p>Des Weiteren hat sich Abyss Of Fear für den Rock-The-Nation-Award angemeldet. Um unter die Top 100 zu kommen braucht es auch Eure Stimmen! Einfach unter <a href="http://award.rockthenation.eu/vote.php">http://award.rockthenation.eu/vote.php</a> auf den Button &#8220;Abyss Of Fear&#8221; klicken und schon habt ihr eure Stimme abgegeben. Dies könnt ihr auch wiederholen! <img src='http://www.katun.ch/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Zwischen den Stimmabgaben sollte jedoch eine Pause von 5-10 Minuten sein, damit die Stimmen gezählt werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.katun.ch/blog/2009/08/17/resurrection-ep-von-abyss-of-fear/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sicherheitslücke in Firefox 3.5</title>
		<link>http://www.katun.ch/blog/2009/07/15/sicherheitslucke-in-firefox-3-5/</link>
		<comments>http://www.katun.ch/blog/2009/07/15/sicherheitslucke-in-firefox-3-5/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 12:00:58 +0000</pubDate>
		<dc:creator>Silas</dc:creator>
				<category><![CDATA[Other]]></category>

		<guid isPermaLink="false">http://www.katun.ch/blog/?p=482</guid>
		<description><![CDATA[Nachdem ich in diesem Post auf die neuen Funktionen von Firefox 3.5 aufmerksam gemacht habe, möchte ich hiermit noch ein Nachtrag bringen. Macnews.de berichtet von einer Sicherheitslücke in der neuen Javascript-Engine welche Firefox verwendet, die es Angreifer ermöglicht schädlichen Code auf dem Rechner auszuführen. Für dieses Sicherheitsleck gibt es auch einen Workaround um sich vor [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem ich in <a href="http://www.katun.ch/blog/2009/07/13/ortung-via-google-maps/trackback/">diesem Post</a> auf die neuen Funktionen von Firefox 3.5 aufmerksam gemacht habe, möchte ich hiermit noch ein Nachtrag bringen.</p>
<p><a href="http://www.macnews.de">Macnews.de</a> <a href="http://www.macnews.de/news/117396">berichtet von einer Sicherheitslücke</a> in der neuen Javascript-Engine welche Firefox verwendet, die es Angreifer ermöglicht schädlichen Code auf dem Rechner auszuführen.</p>
<p style="text-align: center;">
<div id="attachment_483" class="wp-caption aligncenter" style="width: 510px"><img class="size-full wp-image-483 " title="Sicherheitswarnung" src="http://www.katun.ch/blog/wp-content/uploads/2009/07/Bild-11.png" alt="Sicherheitswarnung" width="500" height="158" /><p class="wp-caption-text">Sicherheitswarnung</p></div>
<p>Für dieses Sicherheitsleck gibt es auch einen Workaround um sich vor Angriffen zu schützen.</p>
<blockquote><p>Um das Sicherheitsloch zu stopfen, öffnet man ein neues Firefox-Fenster und tippt in die Adresszeile <em>about:config</em> ein. In der Filter-Zeile tippt man <em>jit</em> ein und die Liste schrumpft auf zwei Einträge. Davon sollte einer <em>javascript.options.jit.content</em> lauten, anhand der Bezeichnung <em>true</em> erkennt man, dass die Funktion aktiviert ist. Zum Deaktivieren klickt man doppelt auf den Eintrag und das Loch ist gestopft.</p>
<p><em>Zitat von <a href="http://www.macnews.de/news/117396">macnews.de</a></em></p></blockquote>
<p style="text-align: center;">
<div id="attachment_484" class="wp-caption aligncenter" style="width: 519px"><img class="size-full wp-image-484 " title="Sicherheitsloch gestopft" src="http://www.katun.ch/blog/wp-content/uploads/2009/07/Bild-2.png" alt="Sicherheitsloch gestopft" width="509" height="71" /><p class="wp-caption-text">Sicherheitsloch gestopft</p></div>
<p>Hierbei ist zu beachten, dass die neue Firefoxversion ihren Geschwindigkeitsvorteil gegenüber der alten 3.0.x Version verliert. Diesen &#8220;Geschwindigketisvorteil&#8221; habe ich aber ehrlichgesagt nicht wirklich bemerkt.</p>
<p>Mal schauen wie lange es geht, bis ein Patch nachgeliefert wird.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.katun.ch/blog/2009/07/15/sicherheitslucke-in-firefox-3-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

