summaryrefslogtreecommitdiff
path: root/_posts
diff options
context:
space:
mode:
Diffstat (limited to '_posts')
-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
3 files changed, 323 insertions, 0 deletions
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>