Weatherdude ALPHA 1

Good news everbody!

Seit zwei Tagen l√§uft Weatherbuddy mit Weatherdude im ALPHA Release ūüôā
Von nun k√∂nnen erste Daten √ľber dieses Webinterface abgerufen werden.

Tagesplot von Sonntag, 16. September 2012

 

Weatherbuddy ist ein (primitives, experimentelles) Webinterfaces, mit dem die Daten von Weatherdude abgerufen und dargestellt werden können.

Hier seht ihr einen einfachen Datenplot eines Tagesverlaufs. Das ganze passt noch nicht ganz, was man z.B. bei der Temperatur gut sehen kann. Auch fehlen noch Achsen und deren Beschriftungen sowie eine halbwegs brauchbare Darstellung.

Keine Sorge, ein Rudel trainierter Affen k√ľmmert sich darum ūüėČ

 

Weatherdude und Weatherbuddy findet ihr √ľbrigens auf GitHub. Details zum Fortschritt auf der Weatherdude-Seite meines Blogs.

Weatherdude - Der Stein rollt

Nach einer Coding Session die ihresgleichen erst sucht, steht nun die erste halbwegs lauffähige Version online. Im GitHub. Und mit lauffähige Version meine ich die Java-Programme.

Soweit laufen jetzt

  • Arduino Mikrokontroller l√§uft stabil seit 3 Tagen
  • Datensammler ("Collector") l√§uft seit heute Nachmittag in der Version 1.1
  • Ein primitiver Datenserver l√§uft bereits im Testbetrieb
  • Erste Client-API steht vor dem erste Alpha-Release

Der aktulle SourceCode steht im GitHub unter der folgenden Adresse zur verf√ľgung

Und jetzt reicht's erstmal f√ľr heute. In den n√§chsten Tagen habe ich fast keine Zeit f√ľr Basteleien, den Collector lasse ich trotzdem laufen.

Weatherdude - Update

OK, das Update im Arduino hat Weatherdude gut getan. Der Datenlogger läuft nun seit etwa 18h und versorgt die provisorische Datenbank mit einem 24h Datenset.

Zur Zeit sind in der Tabelle um die 7.485 Datens√§tze, dich vorerst bei mir bleiben. Eine M√∂glichkeit die Datens√§tze abzurufen werde ich euch in den n√§chsten Tagen bereit stellen. Bis dahin m√ľssen jedoch erst ein paar Analysen und Kalibrationen vorgenommen werden ūüėČ

Hardware update

√úbrigens: Das Board hat ein kleines Hardware-Update erhalten: Zwei LEDs. Die "BOAH, welche Leistung"-Banausen lassen wir mal links liegen, denn die LEDS haben ihren verdammten Sinn:

Am Sonntag ist beim ersten Probebetrieb aus irgendwelchen nicht ersichtlichen Gr√ľnden mehrmals die WLAN-Verbindung zusammengebrochen. Ursache unbekannt. Eine LED leuchtet nunr Gr√ľn, sofern alles in Ordnung ist, die zweite LED w√§hrend eines READOUTS. Dazu ein paar Worte sp√§ter.

Da ich etwa alle 10 Sekunden einen Readout mache, kann ich mit einem kurzen Blick auf den Prototyp feststellen, ob denn noch alles läuft, oder ob schon wieder ein Problem festliegt. Vor dem LED-Update musste ich dazu den Data Collector am Server benachrichtigen.

 

Eigene Seite

Mit diesem Projekt habe ich eine neue Spielwiese entdeckt. Daher widme ich dem ganzen eine eigene Seite (oder hier mit https). Schaut mal rein, vielleicht findet der eine oder andere etwas interessantes ūüôā

Weatherdude - Die eigene Wetterstation

Weatherdude mein Name. Angenehm Ihre Bekanntschaft zu machen!

Der Prototyp in einem schlag, jedoch nicht ganz so wasserfesten "Gehäuse"

So schaut mein aktuelles Arduino-Projekt aus. Stattlich ausgestattet mit einem WiFi-Shield, einem TSL2561 Helligkeitsmesser und einem Bosh BMP085 Luftdruck/Temperatur/Höhenmesser wird dieses Teil in der nächsten Zeit seine Dienste aufnehmen.

Was kann das nun?

Momentan befindet sich as ganze im Alpha-Prototyping Stadium. Ich habe die Chips fertig zusammengel√∂tet und erstmal provisorisch mit dem Arduino verbunden. Eine definitive Platine kommt sp√§ter ... ūüėČ

Das fertige Projekt gibt mir zum gegenw√§rtigen Zeitpunkt die M√∂glichkeit, √ľber einen HTTP-Request die aktuellen Wetterdaten* ausgegeben zu bekommen.

* Luftruck, Temperatur, Höhe (warum auch immer) und dei Helligkeit (IR- und Sichtbares Lichtspektrum)

Die Website schaut so aus:

WeatherDude im Firefox (Ausschnitt)

Ist nicht sch√∂n, muss es aber auch nicht sein ūüėČ
Immehin dient das ganze einfach nur als primitive Schnittstelle zur Station.

Und weiter?

Zur Zeit lasse ich die Station mal laufen und von einem einfachen Client erstmal √ľber 24h ein paar Kalibrationsdaten sammeln.

Sobald ich weiss, dass alles halbwegs funktioniert stelle ich den Source online. Bis dahin, m√ľsst ihr euch erstmal gedulden ūüėČ

Ank√ľndigung: Wetterstation

Der heutige Tag stand im Stern des Arduinos. Nach einem Maraton in Datenbl√§tter durchst√∂bern und ein paar kleinen L√∂tklimmz√ľgen ist nun endlich meine experimentelle Wetterstation online! ūüôā

Details, Fotos und Source code folgen demn√§chst. Zeit f√ľr etwas Sport, ich bin heute schon viel zu lange vor dem Bildschirm gesessen.

Diavolino und Ubuntu

Diavolino. Von Evil Mad Science.

Das Diavolino ist ein freier, programmierbarer Mikrocontroller. Er ist Arduino-Kompatibel und muss selber zusamengel√∂tet werden. Vorteile gegen√ľber einem zusammengebastelten Arduino

  • billiger (wenn man einen FTDI-Kabel/FTDI-Friend! besitzt)
  • Komponente k√∂nnen bei Bedarf aufgemotzt werden
  • L√∂ten macht Spass ūüôā

Zum Beginnen empfehle ich trotzdem einen Arduino. Ich habe selbst gemerkt, dass vor allem in der Anfangsphase etwas Frust unausweichlich ist ...

Karge beiliegende Beschreibung, die völlig ausreicht. Sofern man schon einmal gelötet hat ...

Nach ein paar wirklich nicht schweren Lötarbeiten, sollte der Controller fertig sein. Nochmals: Zum Einstieg Arduino verwenden. Diavolino ist sehr cool, aber man sollte vorher schon mal gelötet haben und sich mit dem Arduino auskennen, sonst ist Frust vorprogrammiert.

Assembly done. Diavolino rocking for action!

 

Diavolino und Ubuntu

Leidiges Kapitel. Hat mich etwa 2 Wochen gekostet bis ich das Teil endlich laufen hatte. Bis zum Schluss waren doch ein paar Tweak nötig, die ich hier kurz festhalten.

Ich gehe hier davon aus, dass der Leser sich bereits grundlegend mit dem Arduino auskennt sund schon mal ein Sketchbook kompiliert und geuploaded hat. Ansonsten könnt ihr das hier nachlesen.

OK. Zunächst braucht ihr einen FTDI Kabel oder ähnliches. Ich verwende den FTDI Friend! von Adafruit.
Damit ist zunächst einmal eine physische Verbindung zum Diavolino möglich. Leider funktionierte diese von Haus aus nicht mit dem Arduino von Ubuntu.

Ein Upload zum Diavolino endete stets mit

oder mit

Zunächst einmal wurde der FTDI-Friend nicht erkannt. Merkbar daran, dass das ls /dev/tty*-Kommando mit zwar mein Arduino angezeigt hat (ttyACM0), aber keinen FTDI-Friend (später als ttyUSB0)

ttyACM0 wird angezeigt, ttyUSB0 scheint nicht da zu sein.

Nach ein paar Recherchen hat mir dieser Beitrag geholfen, den FTDI Friend! mit Ubuntu zu koppeln:
Zunächst Vendor und Produkt-ID mit lsusb rausfinden

Notieren. Bei mir ist das also (Achtung! In HEX)

VENDOR-ID: 0x0403
PRODUCT-ID: 0x6001

Diese mit modprobe benutzen, um das ftdi-sio Kernel Modul richtig zu laden

Ohne vendor=0x0401 und product=0x06001 hat's bei mir nicht geklappt. Danach war jedoch ttyUSB0 zu finden:

Hurra! Doch ich hatte noch ein Problem: Auf ttypUSB0 konnte Arduino nicht schreiben. Merkbar daran, dass ttyUSB0 nicht unter "Tools->Serial Port" auftauchte ... Ein simples chmod reicht.

OK, ist grunds√§tzlich nicht gut, dass ALLE Benutzer lesend und Schreibend darauf zugreifen k√∂nnen. Consider it a temporary hack, and this should be removed soon! ūüėČ

Viel Spass!

Android goodie: AirDroid

Genervt davon, dass ihr eine riesige Arbeitsfläche am Bildschirm habt, das Handydisplay aber nur minimalistisch klein und unpraktisch? Warum sollte ich denn nicht meine SMS am Bildschirm lesen und beantworten können?

Dann bringe ich euch heute eine besonderes Goodie nahe: AirDroid f√ľr Android.

Login-Fenster am PC (Ausschnitt)

Sobald das App am Handy gestartet ist, zeigt es einen Zugangscode und eine Web-Adresse. In meinem Fall war es die http://10.0.1.72:8888 - gib diese Adresse in¬† deinen Lieblingsbrowser (z.B. Firefox oder Chrome oder Opera, notfalls auch Safari) ein, und du landest auf der oben dargestellten Login-Seite. Dort musst nun den am Handy dargestellten Zugangscode eingeben, und bevorzugt HTTPS aktivieren (Verschl√ľsselte Verbindung)

Oberfläche von AirDroid am PC

Die Oberfläche ist intuitiv zu bedienen und sehr einfach. Sogar auf meinem Netbook (Intel Atom 1GHZ Single-Core, 1 GB RAM, LUbuntu 12.04, HDD) läuft's im Chrome akzeptabel.

Nun ist es endlich auch m√∂glich SMS vom PC-Browser aus zu versenden, Dateien bi-direktional zu transferieren, Kontakte zu managen, Bildeanzuschauen, Apps zu installieren. ūüôā
Kurz: Du bringst dein Phone auf den Computerbildschirm.

Message Fenster lädt gerade im Firefox am PC.

Viel Spass mit AirDroid !!

QR-Code von AirDroid

 

Fix Arduino in Ubuntu 12.04

HELL YEAH! Endlich ist das Adafruit-Packet aus Amerika eingetroffen. Los geht's mit etwa Arduino-Löt-Spass.

Doch anscheind ist die frische Arduino-Installation unter Ubuntu anderer Meinung und wirft einem gleich schon einen fetten Stein ins Boot: Hochladen auf das Arduno Board funktioniert von Haus aus nicht √ľber die Arduino IDE.

Frustrierender Anblick: "Serial Port" ist nicht aktivierbar. Wie bitte soll ich da meinen Code hochladen?!??

Nach einigen Versuchen und etwas einlesen bin ich auf die Lösung gestoßen:

  1. Der aktive Benutzer muss zur Gruppe dialot gehören (sollte von Arduino selbst gelöst werden)
  2. Die Device file muss lese- und schreibbar sein

Gruppe dialout

Ersteres ist leicht zu bewerkstelligen, wenn sich die Arduino IDE noch nicht darum gek√ľmmert hat:

sudo usermod -a -G dialout user

Wobei user durch den entsprechenden User ersetzt wird.

Device file

Zunächst die entsprechende Device file identifizieren. Mit

ls /dev/tty*

Bei mir läuft das Arduino unter ttyACM0, das Diavolino mit einem FTDI Friend als ttyUSB0. Entsprechende Device-file notieren, notfalls mit dmesg oder lsusb Nachforschungen anstellen.

Nehmen wir an, wir wollen ttyUSB0 f√ľr das Arduino verwenden. Dann wird die Device file jetzt f√ľr alle Benutzer zug√§ngig gemacht:

sudo chmod a+rw ttyUSB0

Fertig!

Jetzt funztz: Serial port kann ausgew√§hlt werden, mein Diavolino blinkt. ūüôā

OK, damit l√§uft nun die Ardunio IDE unter Ubuntu 12.04. Viel Spass, und keep it moving ūüôā

Data on iCloud - AAAAAAAAAAANNNNNNNNDDDD it's gone!

Cloud und Security ist ein Thema, das durch viele technische und benutzerspezifische Schichten geht - und nach wie vor mehr Fragen offen lässt als beantwortet.

Dieses aktuelle Beispiel zeigt, was passieren kann, wenn dein Mac-Account gehackt wird: Die arme Seele verlor in einer Nacht sein

  • IPhone
  • IPad
  • MacBook Air
  • Fotos, Emails, Dokumente, ecc des letzten Jahres

Kurzzusammenfassung

Irgendjemand verschaffte sich Zugang zum Mac-Account von @mathonan (Link zu Twitter) und f√ľhrte einen Remote Wipe aller seiner Ger√§te aus.

Den Anruf beim Apple-Callcenter musste er daraufhin mit dem Handy seiner Frau tätigen, da sei IPhone nach dem remote wipe nicht mehr zu gebrauchen war ...

Ein Backup seines IPhones hatte @mathonan - Auf dem MacBook Air. Das mit dem selben Account verbunden war - und leider auch remotely wiped wurde. Also war auch das Backup weg!

 

Das Beispiel zeigt eindrucksvoll, welche Probleme mit Clouds verbunden sein können - das Betrifft Apple-Nutzer leider genauso wie alle anderen Cloud Dienste. In diesem Fall gibt auch keine Schadenfreude - Solche Verluste tun echt weh!!

Counter-Measurements

Grundsätzlich:

  1. Keine persönlichen Daten in die Cloud!!
  2. Backups

Zu Ersterem: Pers√∂nliche, private und intime Daten haben ohnehin nichts auf einer Cloud verloren! Das w√§re das selbe, als ob du Familienfotoalbum, Sparbuch und Kreditkarten in eine sporadisch verschlossene Holzkiste im Nachbars Garten verstauen w√ľrde, der eine so hohe Hecke hat, dass du die Kiste nicht mehr siehst, wenn du nach Hause gehst. W√ľrde auch kein Mensch machen.

Zu Zweiterem: Nur Backups auf Datentr√§ger die nicht im Netz h√§ngen sch√ľtzen vor Datenausfall durch Angriffe im Netz oder Naturkatastrophen. Was passiert, wenn euer Betriebe ungl√ľcklicherweise von einer Naturkatastrophe heimgesucht wird? Offline-Backups helfen!