summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--_imported/2009-02-28-ubiquity.html14
-rw-r--r--_imported/2009-03-02-webtip-microblogging-with-identica.html14
-rw-r--r--_imported/2010-09-04-talk-to-me-ein-kleines-arduino-projekt.html14
-rw-r--r--_posts/2009-02-28-ubiquity.md49
-rw-r--r--_posts/2009-03-02-webtip-microblogging-with-identica.md34
-rw-r--r--_posts/2010-09-04-talk-to-me-ein-kleines-arduino-projekt.md240
-rw-r--r--assets/ardu-example.jpgbin0 -> 305234 bytes
-rw-r--r--assets/ardu.pngbin0 -> 183682 bytes
8 files changed, 323 insertions, 42 deletions
diff --git a/_imported/2009-02-28-ubiquity.html b/_imported/2009-02-28-ubiquity.html
deleted file mode 100644
index 119a862..0000000
--- a/_imported/2009-02-28-ubiquity.html
+++ /dev/null
@@ -1,14 +0,0 @@
----
-layout: post
-title: 'TechTip: Ubiquity'
-date: '2009-02-28T17:17:00.004+01:00'
-author: uvok
-tags:
-- firefox
-- TechTip
-modified_time: '2009-06-14T15:49:01.472+02:00'
-blogger_id: tag:blogger.com,1999:blog-3402054131713474507.post-4427420545965883048
-blogger_orig_url: https://uvok.blogspot.com/2009/02/ubiquity.html
----
-
-Es gibt eine Unzahl von Erweiterungen für Firefox - allein auf addons.mozilla.org finden sich zur Zeit ca 7000 Add-Ons (4000 davon experimentell)<br /><br />Vor kurzem bin ich auf die Erweiterung Ubiquity aufmerksam geworden und nachdem ich mir das Demo-Video (s. Projektseite) angesehen habe, habe ich die Erweiterung auch gleich installiert.<br /><br />Um es kurz zu fassen:<br />Ubiquity soll viele tägliche Aufgaben leichter machen. So kann man z.B. ein Bild markieren und es gleich in Google Mail einfügen lassen.<br />Ubiquity kann auch übersetzen - wahlweise einzelne Wörter oder ganze Texte (da für die Übersetzung Google Sprachtools verwendet werden, kommt dabei nicht viel sinnvolles raus), es ist sogar möglich, markierte Begriffe in der Wikipedia nachzuschlagen.<br />Es gibt noch mehr Features, am besten, ihr schaut euch das Demo-Video aus und probier es selbst aus!<br /><br />Meine Einschätzung:<br />Obwohl es noch als experimentell gekennzeichnet ist, gibt es keine großen Probleme. Der Funktionsumfang ist noch eingeschränkt und es sind noch nicht sehr viele Skripte verfügbar, allerdings wird es dieses Problem mit der Zeit nicht mehr geben.<br /><br />Übrigens: Ubiquity bedeutet übersetzt "Allgegenwart".<br /><br /><span style="font-size:150%;"><span style="font-weight: bold;">Links</span></span><br /><br /><a href="https://addons.mozilla.org/de/firefox">Offizielle Add-On Seite von Mozilla</a><br /><a href="http://labs.mozilla.com/projects/ubiquity/">Projektseite</a> von Ubiquity (und Download)<br /><a href="https://wiki.mozilla.org/Labs/Ubiquity/">Ubiquity Wiki</a><br /><a href="https://wiki.mozilla.org/Labs/Ubiquity/Latest_Ubiquity_User_Tutorial">Tutorial</a><br /><a href="http://en.wikipedia.org/wiki/Ubiquity_%28Firefox%29">Wikipedia zu Ubiquity</a> \ No newline at end of file
diff --git a/_imported/2009-03-02-webtip-microblogging-with-identica.html b/_imported/2009-03-02-webtip-microblogging-with-identica.html
deleted file mode 100644
index 07d0a4e..0000000
--- a/_imported/2009-03-02-webtip-microblogging-with-identica.html
+++ /dev/null
@@ -1,14 +0,0 @@
----
-layout: post
-title: 'WebTip: Microblogging with identi.ca'
-date: '2009-03-02T16:38:00.004+01:00'
-author: uvok
-tags:
-- twitter
-- WebTip
-modified_time: '2009-07-18T18:46:46.156+02:00'
-blogger_id: tag:blogger.com,1999:blog-3402054131713474507.post-5779708773033430340
-blogger_orig_url: https://uvok.blogspot.com/2009/03/webtip-microblogging-with-identica.html
----
-
-Wer kennt nicht Twitter, mit ca. 6 Millionen Nutzern das größte Microblogging-Netzwerk?<br /><br />Allerdings habe ich als Linux-User etwas gegen alles, was closed-sourced ist ;-)<br /><br />Beim stöbern bin ich über einen Link zu identi.ca gestolpert - und habe mich probehalber mal angemeldet.<br /><br />Mit Twitter kann identi.ca zur Zeit zwar nicht mithalten (so kann man z.B. keine Bilder posten), aber um Freunden &amp; Bekannten mitzuteilen, was man gerade macht, ist identi.ca ideal.<br /><br />identi.ca bietet Gruppen und Tags. Um In einer Gruppe zu posten, setzt man einfach das Ausrufezeichen vor den Gruppennamen (z.B. !lionking), einen Tag markiert man mit der Raute (#tagging). Weiterhin kann man bestimmte User anschreiben (@uvok).<br /><br />Viel mehr gibt es nicht zu sagen, außer vielleicht, dass man auch über das Jabber-Netzwerk Nachrichten versenden und empfangen kann, das heißt, man muss sich nicht einmal die Mühe machen ud sich auf der Website einloggen (für die 1. Registrierung muss man das natürlich machen).<br /><br /><span style="font-weight: bold;font-size:180%;" >Links</span><br /><br /><a href="http://de.wikipedia.org/wiki/Microblogging">Wikipedia</a> über Micro-Blogging<br /><a href="http://identi.ca/">Homepage</a> von identi.ca<br /><a href="http://identi.ca/uvok">Mein Account</a> auf identi.ca \ No newline at end of file
diff --git a/_imported/2010-09-04-talk-to-me-ein-kleines-arduino-projekt.html b/_imported/2010-09-04-talk-to-me-ein-kleines-arduino-projekt.html
deleted file mode 100644
index 8680f63..0000000
--- a/_imported/2010-09-04-talk-to-me-ein-kleines-arduino-projekt.html
+++ /dev/null
@@ -1,14 +0,0 @@
----
-layout: post
-title: "[WIP] Talk to me - Ein kleines Arduino-Projekt."
-date: '2010-09-04T14:45:00.005+02:00'
-author: uvok
-tags:
-- arduino
-modified_time: '2010-10-28T17:29:33.408+02:00'
-thumbnail: http://1.bp.blogspot.com/_iYx36V-6wFY/TIkfJI4BEaI/AAAAAAAAABI/ufuH0QHoFvI/s72-c/ardu.png
-blogger_id: tag:blogger.com,1999:blog-3402054131713474507.post-5167631921540516517
-blogger_orig_url: https://uvok.blogspot.com/2010/09/talk-to-me-ein-kleines-arduino-projekt.html
----
-
-(last edit : 28.10.2010)<br />(Anmerkung: Zur Zeit ist das wirklich nur eine sehr kurze Anleitung, die ich zu einem späteren Zeitpunkt hoffentlich noch ausbauen kann)<br /><br />Vor kurzem habe ich ein Arduino-Board erworben. Da ich noch zusätzlich ein LCD hatte, wollte ich natürlich auch damit arbeiten.<br /><br />Nach einiger Einarbeitung kam ich auch zum Beispiel "Texte per serieller Schnittstelle an das Arduino-Board senden". Da war auch schon die Idee da: Ich lasse mir übers Internet Nachrichten ans LCD schicken.<br /><br /><br />Neu ist die Idee nicht, ich hab das schon irgendwo mal gesehen. Dennoch wollte ich das mal probieren. <br /><br />Da ich kein Ethernet-Shield habe, muss das Board per USB am PC bleiben, die Kommunikation erfolgt per serieller Schnittstelle. Das Board muss also die ganze Zeit am USB hängen.<br /><br />Da ich eigentlich an meiner Belegarbeit arbeiten müsste, nur eine (ganz kurze) Projektvorstellung:<br /><br />Was wird benötigt? <br /><br /><span style="font-size: large;">Hardware</span><br /><br />Erstmal braucht man ein Board. Ich verwende das Arduino Duemilanove. Wer das ältere Diecimila benutzt, ist sogar besser dran - siehe weiter unten, warum.<br />Weiterhin braucht man ein LCD (jedes sollte funktionieren, sofern es sich per LiquidCrystal-Bibliothek ansteuern lässt), evtl. eine Diode (ich hab hier eine 1N4007).<br /><br />Ein Potentiometer zur Kontrasteinstellung sollte auch vorhanden sein. <br /><br />Wer ein Board mit Autoreset hat, braucht auch einen 110~120 Ohm Widerstand. (2x 220 Ohm parallel tun es natürlich auch).<br /><br />(edit, 09.09.2010)<br /><br /><a href="http://fritzing.org/">Fritzing</a> sei dank kann ich euch meine Schaltung zur Verfügung stellen:<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_iYx36V-6wFY/TIkfJI4BEaI/AAAAAAAAABI/ufuH0QHoFvI/s1600/ardu.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="256" src="http://1.bp.blogspot.com/_iYx36V-6wFY/TIkfJI4BEaI/AAAAAAAAABI/ufuH0QHoFvI/s320/ardu.png" width="320" /></a></div><br /><br />Für den Aufbau der Schaltung siehe obige Abbildung. <br />Weiterhin verweise ich hier&nbsp; auf <a href="http://arduino.cc/en/Tutorial/LiquidCrystal">http://arduino.cc/en/Tutorial/LiquidCrystal</a> und auf <a href="http://www.ladyada.net/learn/lcd/charlcd.html">http://www.ladyada.net/learn/lcd/charlcd.html</a>. Lest zur Pinbelegung des LCD auf jeden Fall das Datenblatt.<br /><br />Meins LCD verträgt z.B. nur 4,2 Volt am Eingang des Backlight-Pins. Daher brauch ich die Diode, um die Spannung von 5V auf 4,3 V runterzubekommen. (Wenn Ihr wollt, könnt ihr auch einen Spannungsteiler mit einem 2. Poti aufbauen, damit ihr die Helligkeit regeln könnt).<br /><br />Nochmal zum Autoreset: Wenn ihr per echo Daten an /dev/ttyUSB0 sendet, resettet sich das Board, Das führt dazu, dass die Nachricht am Ende nicht auf dem LCD angezeigt wird. Deshalb muss der Reset-Pin über einen 110 Ohm-Wiederstand mit 5V verbunden werden. Ist der Widerstand größer, resettet sich das Board trotzdem, ist er kleiner, zerschießt ihr evtl. euer Board (danke an die Leute vom arduino.cc Forum)<br /><br />DAS führt natürlich dazu, dass Arduino(IDE) das Board beim Programmieren nicht automatisch resettet. Also den Wiederstand beim Programmieren entfernen oder manuell resetten. (Ich muss sowieso den 5V-Stecker beim Programmieren entfernen, da der Programmer sonst nicht erreichbar ist.)<br /><br />Wie oben erwähnt: Die älteren&nbsp; Diecimila haben kein Autoreset und brauchen das nicht.<br /><br /><span style="font-size: large;">Software</span><br /><br />Ich gehe hier nur Auf Linux ein. Ich hab keine Ahnung, wie man unter Windows Daten direkt an nen COM-Port per Kommandozeile schickt. Vll. kann ja jemand was dazu beitragen.<br />Weiterhin solltet ihr auf eurem PC einen Webserver mit PHP-Unterstützung haben. Ich hab hier Lampp laufen.<br />Arduino-Entwicklungsumgebung sollte installiert sein, wenn ihr wisst wie, könnt ihr auch direkt in Emacs rumhacken, das ganze per avr-gcc kompilieren und dann mit avrdude brennen (Arduino-Entwicklungsumgebung macht nichts anderes).<br /><br />Hier der Code von der Sketch: <a href="http://c.pastebin.com/niFH8DSC">http://c.pastebin.com/niFH8DSC</a><br />Ich hab hier ein 16x2 LCD mit meiner Anschlussbelegung. Wie das LCD-Objekt initialisiert werden muss, steht auch auf der arduino.cc Seite.<br />Wenn ihr ein 4-zeiliges LCD habt, könnt ihr den Quelltext natürlich anpassen.<br /><br />Bash-Skript: <a href="http://pastebin.com/aLSvEgEt">http://pastebin.com/aLSvEgEt</a><br />Das Bash Skript prüft die Text-Datei, in die per PHP die Nachrichten geschrieben werden.<br />Das Bash-Skript muss evtl noch ergänzt werden, sodass zu Beginn der /dev/ttyUSB-Port mit einer Baud von 9600 initialisiert wird. Dazu wird der Befehl<br /><br />stty -F /dev/ttyUSB0&nbsp; 9600<br /><br />als erstes ausgeführt werden. Falsche Baud führt jedenfalls zu falschen Zeichen auf dem Display <br /><br />Zuletzt noch die Seiten für den Webserver:<br />Das Formular: <a href="http://pastebin.com/Lw1qv8bp">http://pastebin.com/Lw1qv8bp</a><br />Und die Seite, die die Eingaben verarbeitet: <a href="http://pastebin.com/y84K80Zx">http://pastebin.com/y84K80Zx</a><br /><br />Es empfiehlt sich ggf, das Formular mit einem Captcha zu schützen oder andere Schutzmaßnahmen einzubauen. Ansonten kann es passieren, dass man zugespammt wird. Mit curl ist es z.B. möglich, Daten an Formulare (sowohl POST als auch GET) zu senden.<br /><br />Sollte ich in meiner Eile was vergessen haben, sagt Bescheid ^^<br />Hier noch ein Bild vom Ergebnis. Hier kann man auch gleich etwas von der Verkabelung erkennen, der +Pin ist 5V, der -Pin logischerweise auf GND<br /><br /><a href="http://yfrog.com/cblbmvj"><img alt="ArduLCD" border="0" height="300" src="http://a.yfrog.com/img443/7961/lbmv.jpg" width="400" /></a> \ No newline at end of file
diff --git a/_posts/2009-02-28-ubiquity.md b/_posts/2009-02-28-ubiquity.md
new file mode 100644
index 0000000..5c2b317
--- /dev/null
+++ b/_posts/2009-02-28-ubiquity.md
@@ -0,0 +1,49 @@
+---
+layout: post
+title: "TechTip: Ubiquity"
+date: "2009-02-28T17:17:00.004+01:00"
+author: uvok
+tags:
+ - firefox
+ - TechTip
+modified_time: "2009-06-14T15:49:01.472+02:00"
+blogger_id: tag:blogger.com,1999:blog-3402054131713474507.post-4427420545965883048
+blogger_orig_url: https://uvok.blogspot.com/2009/02/ubiquity.html
+---
+
+*Update vom 19.05.2019 (Datum der Migration): Dieses Add-On wird anscheinend nicht mehr
+weiterentwickelt und ist auch nicht mehr verfügbar.*
+
+Es gibt eine Unzahl von Erweiterungen für Firefox - allein auf
+addons.mozilla.org finden sich zur Zeit ca 7000 Add-Ons (4000 davon
+experimentell).
+
+Vor kurzem bin ich auf die Erweiterung Ubiquity
+aufmerksam geworden und nachdem ich mir das Demo-Video (s. Projektseite)
+angesehen habe, habe ich die Erweiterung auch gleich installiert.
+
+Um
+es kurz zu fassen:<br />Ubiquity soll viele tägliche Aufgaben leichter machen.
+So kann man z.B. ein Bild markieren und es gleich in Google Mail einfügen
+lassen.<br />Ubiquity kann auch übersetzen - wahlweise einzelne Wörter oder
+ganze Texte (da für die Übersetzung Google Sprachtools verwendet werden, kommt
+dabei nicht viel sinnvolles raus), es ist sogar möglich, markierte Begriffe in
+der Wikipedia nachzuschlagen.<br />Es gibt noch mehr Features, am besten, ihr
+schaut euch das Demo-Video aus und probier es selbst aus!
+
+Meine
+Einschätzung:<br />Obwohl es noch als experimentell gekennzeichnet ist, gibt es
+keine großen Probleme. Der Funktionsumfang ist noch eingeschränkt und es sind
+noch nicht sehr viele Skripte verfügbar, allerdings wird es dieses Problem mit
+der Zeit nicht mehr geben.
+
+Übrigens: Ubiquity bedeutet übersetzt
+"Allgegenwart".
+
+## Links
+
+- <a target="_blank" rel="noreferrer" href="https://addons.mozilla.org/de/firefox">Offizielle Add-On Seite von Mozilla</a>
+- <a target="_blank" rel="noreferrer" href="https://labs.mozilla.com/projects/ubiquity/">Projektseite</a> von Ubiquity (und Download)
+- <a target="_blank" rel="noreferrer" href="https://wiki.mozilla.org/Labs/Ubiquity/">Ubiquity Wiki</a>
+- <a target="_blank" rel="noreferrer" href="https://wiki.mozilla.org/Labs/Ubiquity/Latest_Ubiquity_User_Tutorial">Tutorial</a>
+- <a target="_blank" rel="noreferrer" href="https://en.wikipedia.org/wiki/Ubiquity_%28Firefox%29">Wikipedia zu Ubiquity</a>
diff --git a/_posts/2009-03-02-webtip-microblogging-with-identica.md b/_posts/2009-03-02-webtip-microblogging-with-identica.md
new file mode 100644
index 0000000..5a1567e
--- /dev/null
+++ b/_posts/2009-03-02-webtip-microblogging-with-identica.md
@@ -0,0 +1,34 @@
+---
+layout: post
+title: 'WebTip: Microblogging with identi.ca'
+date: '2009-03-02T16:38:00.004+01:00'
+author: uvok
+tags:
+- twitter
+- WebTip
+modified_time: '2009-07-18T18:46:46.156+02:00'
+blogger_id: tag:blogger.com,1999:blog-3402054131713474507.post-5779708773033430340
+blogger_orig_url: https://uvok.blogspot.com/2009/03/webtip-microblogging-with-identica.html
+---
+
+Wer kennt nicht Twitter, mit ca. 6 Millionen Nutzern das größte
+Microblogging-Netzwerk? Allerdings habe ich als Linux-User etwas gegen alles,
+was closed-sourced ist ;-) Beim stöbern bin ich über einen Link zu identi.ca
+gestolpert - und habe mich probehalber mal angemeldet. Mit Twitter kann
+identi.ca zur Zeit zwar nicht mithalten (so kann man z.B. keine Bilder posten),
+aber um Freunden &amp; Bekannten mitzuteilen, was man gerade macht, ist
+identi.ca ideal. identi.ca bietet Gruppen und Tags. Um In einer Gruppe zu
+posten, setzt man einfach das Ausrufezeichen vor den Gruppennamen (z.B.
+!lionking), einen Tag markiert man mit der Raute (#tagging). Weiterhin kann man
+bestimmte User anschreiben (@uvok). Viel mehr gibt es nicht zu sagen, außer
+vielleicht, dass man auch über das Jabber-Netzwerk Nachrichten versenden und
+empfangen kann, das heißt, man muss sich nicht einmal die Mühe machen und sich
+auf der Website einloggen (für die 1. Registrierung muss man das natürlich
+machen).
+
+## Links
+
+- <a target="_blank" rel="noreferrer" href="https://de.wikipedia.org/wiki/Microblogging">Wikipedia</a> über
+Micro-Blogging
+- <a target="_blank" rel="noreferrer" href="https://identi.ca/">Homepage</a> von identi.ca
+- <a target="_blank" rel="noreferrer" href="https://identi.ca/uvok">Mein Account</a> auf identi.ca
diff --git a/_posts/2010-09-04-talk-to-me-ein-kleines-arduino-projekt.md b/_posts/2010-09-04-talk-to-me-ein-kleines-arduino-projekt.md
new file mode 100644
index 0000000..fa49350
--- /dev/null
+++ b/_posts/2010-09-04-talk-to-me-ein-kleines-arduino-projekt.md
@@ -0,0 +1,240 @@
+---
+layout: post
+title: "[WIP] Talk to me - Ein kleines Arduino-Projekt."
+date: '2010-09-04T14:45:00.005+02:00'
+author: uvok
+tags:
+- arduino
+modified_time: '2010-10-28T17:29:33.408+02:00'
+thumbnail: https://1.bp.blogspot.com/_iYx36V-6wFY/TIkfJI4BEaI/AAAAAAAAABI/ufuH0QHoFvI/s72-c/ardu.png
+blogger_id: tag:blogger.com,1999:blog-3402054131713474507.post-5167631921540516517
+blogger_orig_url: https://uvok.blogspot.com/2010/09/talk-to-me-ein-kleines-arduino-projekt.html
+---
+
+*Update vom 19.05.2019 (Datum der Migration): Links zum Code wurden in den Post integriert.
+An dieser Stelle gilt ein riesiger Dank der
+[Wayback Machine vom Internet Archive](https://web.archive.org){:target="_blank"}{:rel="noreferrer"},
+ohne deren Hilfe der Code nicht mehr verfügbar wäre.*
+
+(last edit : 28.10.2010)
+
+(Anmerkung: Zur Zeit ist das wirklich nur eine
+sehr kurze Anleitung, die ich zu einem späteren Zeitpunkt hoffentlich noch
+ausbauen kann) Vor kurzem habe ich ein Arduino-Board erworben. Da ich noch
+zusätzlich ein LCD hatte, wollte ich natürlich auch damit arbeiten. Nach einiger
+Einarbeitung kam ich auch zum Beispiel "Texte per serieller Schnittstelle an das
+Arduino-Board senden". Da war auch schon die Idee da: Ich lasse mir übers
+Internet Nachrichten ans LCD schicken.
+
+Neu ist die Idee nicht, ich hab das schon irgendwo mal gesehen. Dennoch
+wollte ich das mal probieren. Da ich kein Ethernet-Shield habe, muss das Board
+per USB am PC bleiben, die Kommunikation erfolgt per serieller Schnittstelle.
+Das Board muss also die ganze Zeit am USB hängen. Da ich eigentlich an meiner
+Belegarbeit arbeiten müsste, nur eine (ganz kurze) Projektvorstellung: Was wird
+benötigt?
+
+## Hardware
+
+Erstmal braucht man ein Board. Ich verwende das Arduino Duemilanove. Wer das
+ältere Diecimila benutzt, ist sogar besser dran - siehe weiter unten, warum.<br />
+Weiterhin
+braucht man ein LCD (jedes sollte funktionieren, sofern es sich per
+LiquidCrystal-Bibliothek ansteuern lässt), evtl. eine Diode (ich hab hier eine
+1N4007). Ein Potentiometer zur Kontrasteinstellung sollte auch vorhanden sein.
+Wer ein Board mit Autoreset hat, braucht auch einen 110~120 Ohm Widerstand. (2x
+220 Ohm parallel tun es natürlich auch). (edit, 09.09.2010)
+
+<a target="_blank" rel="noreferrer" href="https://fritzing.org/">Fritzing</a> sei dank kann ich euch meine
+Schaltung zur Verfügung stellen:
+
+<div class="separator" style="clear: both; text-align: center;">
+ <a
+ href="/assets/ardu.png"
+ imageanchor="1"
+ style="margin-left: 1em; margin-right: 1em;">
+ <img
+ border="0"
+ height="256"
+ src="/assets/ardu.png"
+ width="320"/>
+ </a>
+</div>
+
+Für den Aufbau der Schaltung siehe obige Abbildung. <br />Weiterhin verweise ich
+hier auf
+<a target="_blank" rel="noreferrer" href="https://arduino.cc/en/Tutorial/LiquidCrystal">https://arduino.cc/en/Tutorial/LiquidCrystal</a>
+und auf
+<a target="_blank" rel="noreferrer" href="https://www.ladyada.net/learn/lcd/charlcd.html">https://www.ladyada.net/learn/lcd/charlcd.html</a>.
+Lest zur Pinbelegung des LCD auf jeden Fall das Datenblatt. Meins LCD
+verträgt z.B. nur 4,2 Volt am Eingang des Backlight-Pins. Daher brauch ich die
+Diode, um die Spannung von 5V auf 4,3 V runterzubekommen. (Wenn Ihr wollt, könnt
+ihr auch einen Spannungsteiler mit einem 2. Poti aufbauen, damit ihr die
+Helligkeit regeln könnt).
+
+Nochmal zum Autoreset: Wenn ihr per echo Daten an
+/dev/ttyUSB0 sendet, resettet sich das Board, Das führt dazu, dass die Nachricht
+am Ende nicht auf dem LCD angezeigt wird. Deshalb muss der Reset-Pin über einen
+110 Ohm-Wiederstand mit 5V verbunden werden. Ist der Widerstand größer, resettet
+sich das Board trotzdem, ist er kleiner, zerschießt ihr evtl. euer Board (danke
+an die Leute vom arduino.cc Forum) DAS führt natürlich dazu, dass Arduino(IDE)
+das Board beim Programmieren nicht automatisch resettet. Also den Wiederstand
+beim Programmieren entfernen oder manuell resetten. (Ich muss sowieso den
+5V-Stecker beim Programmieren entfernen, da der Programmer sonst nicht
+erreichbar ist.) Wie oben erwähnt: Die älteren Diecimila haben kein
+Autoreset und brauchen das nicht.
+
+## Software
+
+Ich gehe hier nur auf Linux ein. Ich hab keine Ahnung, wie man unter Windows
+Daten direkt an nen COM-Port per Kommandozeile schickt. Vll. kann ja jemand was
+dazu beitragen.<br />Weiterhin solltet ihr auf eurem PC einen Webserver mit
+PHP-Unterstützung haben. Ich hab hier Lampp laufen.<br />Arduino-Entwicklungsumgebung
+sollte installiert sein, wenn ihr wisst wie, könnt ihr auch direkt in Emacs
+rumhacken, das ganze per avr-gcc kompilieren und dann mit avrdude brennen
+(Arduino-Entwicklungsumgebung macht nichts anderes). Hier der Code von der
+Sketch:
+
+~~~ c
+// include the library code:
+#include <LiquidCrystal.h>
+
+// initialize the library with the numbers of the interface pins
+LiquidCrystal lcd(2, 3, 8, 9, 10, 11);
+int count=0;
+
+void setup(){
+ // set up the LCD's number of rows and columns:
+ lcd.begin(16, 2);
+ // initialize the serial communications:
+ Serial.begin(9600);
+ lcd.print("Send serial data");
+}
+
+// Scrolling *very* long messages results in error (line jumping etc).
+// This function *should* prevent it
+void overflow() {
+ // Autoscroll schonmal aus, brauchen wir dann bis zum "neuen" 32. Chr eh nicht mehr
+ lcd.noAutoscroll();
+
+ // lass den Nutzer noch zu Ende lesen
+ delay(1500);
+
+ // Loeschen und zur ersten Position
+ lcd.clear();
+
+ // Counter wieder auf 0
+ count=0;
+}
+
+void loop()
+{
+ // when characters arrive over the serial port...
+ if (Serial.available()) {
+ // wait a bit for the entire message to arrive
+ delay(100);
+ // clear the screen
+ lcd.clear();
+ // read all the available characters
+ while (Serial.available() > 0) {
+ // display each character to the LCD
+ count++;
+ lcd.write(Serial.read());
+
+ // wechsele in die naechste Zeile
+ if(count==16) lcd.setCursor(0,1);
+
+ // Autoscroll an und warten bis der Nutzer die Displayanzeige gelesen hat
+ if(count==32) { lcd.autoscroll(); delay(2000); }
+
+ //Und los geht das scrollen
+ if(count>=32) delay(500);
+
+ // Bevor der Pufferueberluf (?) beginnt
+ if(count==54) overflow();
+ }
+ lcd.noAutoscroll();
+ }
+ count = 0;
+}
+~~~
+
+Ich hab hier ein 16x2 LCD mit meiner Anschlussbelegung. Wie das
+LCD-Objekt initialisiert werden muss, steht auch auf der arduino.cc Seite.<br />Wenn
+ihr ein 4-zeiliges LCD habt, könnt ihr den Quelltext natürlich anpassen.
+
+Bash-Skript:
+
+~~~ bash
+#Pfad zur Text-Datei anpassen
+FILE="/opt/lampp/htdocs/test/text.txt"
+LASTMOD=`stat -c '%Y' $FILE`
+
+while [ 1 ]; do
+NOWMOD=`stat -c '%Y' $FILE`
+if [ $NOWMOD -ne $LASTMOD ]; then
+ LASTMOD=$NOWMOD;
+ cat $FILE > /dev/ttyUSB0
+ #Zusätzliches Nachrichtenlog
+ cat $FILE >> /home/user/arduino/newslog.txt
+ echo >> /home/user/arduino/newslog.txt
+fi
+~~~
+
+Das Bash Skript prüft die Text-Datei, in die per PHP die Nachrichten geschrieben
+werden.<br />Das Bash-Skript muss evtl noch ergänzt werden, sodass zu Beginn der
+/dev/ttyUSB-Port mit einer Baud von 9600 initialisiert wird. Dazu wird der
+Befehl stty -F /dev/ttyUSB0 9600 als erstes ausgeführt werden. Falsche
+Baud führt jedenfalls zu falschen Zeichen auf dem Display Zuletzt noch die
+Seiten für den Webserver:<br />Das Formular:
+
+~~~ html
+<form action="proc.php" method="post">
+
+<p>Nachricht eingeben: <br />
+<input type="Text" name="text" size=44 maxlength=42></p>
+
+<input type="Submit" name="" value="speichern">
+
+</form>
+~~~
+
+Und die Seite, die die Eingaben verarbeitet:
+
+~~~ php
+<?php
+$text = $_POST['text'];
+if ( strlen($text) >= 43 ) {
+ echo "Nachricht zu lang!";
+ exit;
+}
+
+if ( strlen($text) == 0 ) {
+ echo "Keine Nachricht eingegeben!";
+ exit;
+}
+
+if ( $text <> "" ) {
+ $handle = fopen ( "text.txt", "w" );
+ fwrite ( $handle, $text );
+ fclose ( $handle );
+ echo "Nachricht wurde gespeichert: " . $text;
+ exit;
+}
+?>
+~~~
+
+Es empfiehlt sich ggf, das Formular mit einem Captcha zu schützen oder andere
+Schutzmaßnahmen einzubauen. Ansonsten kann es passieren, dass man zugespammt
+wird. Mit curl ist es z.B. möglich, Daten an Formulare (sowohl POST als auch
+GET) zu senden. Sollte ich in meiner Eile was vergessen haben, sagt Bescheid
+^^<br />Hier noch ein Bild vom Ergebnis. Hier kann man auch gleich etwas von der
+Verkabelung erkennen, der +Pin ist 5V, der -Pin logischerweise auf GND
+
+<a target="_blank" rel="noreferrer" href="/assets/ardu-example.jpg">
+<img
+ alt="ArduLCD"
+ border="0"
+ height="300"
+ src="/assets/ardu-example.jpg"
+ width="400"/>
+</a>
diff --git a/assets/ardu-example.jpg b/assets/ardu-example.jpg
new file mode 100644
index 0000000..6b8d348
--- /dev/null
+++ b/assets/ardu-example.jpg
Binary files differ
diff --git a/assets/ardu.png b/assets/ardu.png
new file mode 100644
index 0000000..e27e7f6
--- /dev/null
+++ b/assets/ardu.png
Binary files differ