Shell Nachrichten per Push an das iPhone, iTouch oder iPad senden

Eine App namens Prowl machts möglich.

Die funktionsweise ist einfach. Die Kommunikation der Nachrichten findet über den Server des Herstellers statt. Das ist vorerst nichts neues, da es genügend Chat Apps gibt die ebenfalls so kommunizieren, doch Prowl ist anders.

Prowl ermöglicht beispielsweise Nachrichten direkt aus der Linux Shell, per Bash Script, oder PHP etc. zu versenden. Es müssen keine weiteren Tools installiert werden außer die Client Software auf dem iPhone oder dem iPad. Somit lassen sich beispielsweise Nachrichten von Nagios komfortabel empfangen. Die Nachrichten wurden in meinen Tests binnen Sekunden zuverlässig zugestellt.

Zuerst erstellt man auf der Homepage des Herstellers einen Account. Diesem wird dann ein API-Key hinterlegt. Danach muss das Clientprogramm ‘Prowl: Growl Client’ (für 2,39€ im Apple Appstore erhältlich) auf dem iPhone/iTouch oder iPad installiert werden. Die Anmeldung in der App findet mit dem zuvor eingerichteten Account statt. Das wars…

…nun müssen nur noch Nachrichten an das Mobile Device geschickt werden. Folgendes Shellscript erledigt das :

#!/bin/sh

# Use: ./SendMessageToIphone.sh [Priority] "[Message]"
# Use: ./SendMessageToIphone.sh 2 'Hello World!'

# Api Key
APIKEY=TYPE_YOUR_API_KEY_HERE

# Prowl Messaging Server URL
SERVER=https://prowl.weks.net/publicapi/add

# Priority -> -2(low), -1(moderate), 0(normal), 1(high), 2(emergency)
PRIORITY=$1

# From Application
APPLICATION=myApplication

# Event
EVENT="Shell Notification"

# Message Text
DESCRIPTION="$2"

curl -d "apikey=${APIKEY}&priority=${PRIORITY}\
        &application=${APPLICATION}\
        &event=${EVENT}\
        &description=${DESCRIPTION}"\
        ${SERVER} &

Sollte nun Push im iPhone/iTouch oder iPad aktiviert sein, kann mit

./SendMessageToIphone.sh 0 'Hello World!'

eine Nachricht gesendet werden.

Push Nachricht per Shell Scrip

Push Nachricht per Shell Scrip

Weitere Scipte für Perl, Phyton, Ruby, Java, Lasso, .NET, C sind auf der Herstellerseite Seite zu finden.

Dreambox und VDR streamen MPEG2 Videos aufs iPad.

Mit der 3,99 Euro teuren App “Oplayer HD” kann das iPad MPEG-2 (mpg) und Flash (flv) Videos wiedergeben. Laut Hersteller sind auch WMV,AVI,MKV,RM,RMVB,XVID,mp4,3GP kein Problem. Die Files werden in Echtzeit per Softwaretranscoding umgewandelt.

Die Qualitat der abgespielten Videos (Auflösung: 800×600) ist gut. Ein Deinterlacer währe gerade bei schnellen Bewegungen wünschenswert. Die Wiedergabe ist flüssig und ruckelfrei.

Mit an Board ist ein integrierter Webbrowser, wodurch entsprechende Videolinks direkt geöffnet werden können.
Eine Messagebox fragt den Benutzer ob der Stream abgespielt oder gespeichert werden soll. Somit sind auch HTTP Livestreams kein Problem mehr. Auch ein direkter Zugriff auf einem FTP Server ist möglich.

Die Wartezeit zwischen anklicken eines MPEG-2 Links bis zum abspielen des Streams beträgt ca. 3 Sekunden. Ein Recht akzeptabler Wert.

In Kombination mit einer Dreambox oder eines VDRs lassen sich somit ohne großen Aufwand MPEG2 Files auf dem heimischen iPad streamen. WLAN Verbindung vorrausgesetzt. In den Video Einstellungen müssen dazu die beiden Buttons (Bild überspringen, Loop-Filter überspringen) deaktiviert werden. Videos mit niedrigeren Bitraten beispielsweise Flash/3GP sollten auch per UMTS/3G Verbindung abspielbar sein.

Homepage des Herstellers: http://olimsoft.wordpress.com (Externer Link)

Livestream einer Dreambox

Livestream einer Dreambox

Einstellungsmenü des Oplayer HD

Einstellungsmenü der Oplayer HD App

Tags: , ,

Fehlende Bewertungen im Apple Appstore

Wer aktuell im Apple App Store nach Bewertungen sucht wird enttäuscht. Der Server für die Bewertungen scheint derzeit nicht erreichbar zu sein.

Es fällt in letzter Zeit immer häufiger auf, dass zwar in der Übersichtsseite mehrere Bewertungen angezeigt werden, doch sobald man diese genauer ansehen möchte und in die App Beschreibung klickt, ließt man oft nur noch den Text “Keine Bewertungen vorhanden”.

Zudem finden sich immer mehr Kommentare wie man z.B. an einem Tag 500€ verdienen kann (ala Youtube). Da muss nachgebessert werden.

[Update]
Seit ca. 22:30 Uhr sind die Bewertungen wieder verfügbar.

AppStore

AppStore

Crontab Beispiele

Da in diversen Foren immer wieder nachgefragt wird. Hier ein paar Conjob Beispiele:

Format:

Minute   Stunde   Tag   Monat   Wochentag   Befehl
# Wird jede Minute ausgeführt.
*/1 *  * * *  /Pfad/zum/script.sh
# Wird jeden 5. Tag, alle 4 Minuten ausgeführt. Also am 1., 6., 11. usw.
*/4 *  */5 * *  /Pfad/zum/script.sh
# Wird jeden 1. Bis 5 Monatstag, alle 10 Minuten ausgeführt.
*/10 *  1-5 * *  /Pfad/zum/script.sh
# Wird an jeden 2. Monatstag, um 20:15 Uhr ausgeführt.
15 20  2 * *  /Pfad/zum/script.sh
# Wird am 2. und 5. Monatstag, um 22:00 Uhr ausgeführt.
0 22  2,5 * *  /Pfad/zum/script.sh
# Wird nur am 2 Januar, um 20:15 Uhr ausgeführt.
15 20  2 jan *  /Pfad/zum/script.sh
# Wird nur am 2. Januar, 2. Februar und am 2. Dezember um 20:15 Uhr ausgeführt.
15 20  2 jan,feb,dec *  /Pfad/zum/script.sh
# Wird am 2. und 5. Januar und am 2. und 5. Februar um 23:30 Uhr ausgeführt.
30 23 2,5 jan,feb *  /Pfad/zum/script.sh
# Wird jeden Sonntag, um 20:15 Uhr ausgeführt.
15 20  * * sun  /Pfad/zum/script.sh
# Wird jeden Samstag und Sonntag, um 20:15 Uhr ausgeführt.
15 20  * * sat,sun  /Pfad/zum/script.sh

Western Digital MyBook World Edition crontab einrichten.

Sollen zu bestimmten Zeiten eigene Skripte ausgeführt werden, um beispielsweise automatisch ein Backup durch zu führen, ist der Cron Deamon erforderlich. Dieser sorgt dafür, dass zu konfigurierbaren Zeiten oder Wochentagen jegliche Befehle oder Skripte ausgeführt werden können.

Hinweis: Der Paketmanager ‘ipkg’ muss bereits installiert sein. Ein Howto dazu ist auf diesem Blog zu finden.

Zuerst benötigen wir den Cron :

/opt/bin/ipkg install cron

Um den Cron automatich zu starten, wird das Script verlinkt:

ln -s /opt/etc/init.d/S10cron /etc/init.d/S10cron

Nun starten wir den crond :

/usr/sbin/crond

Der Cron Deamon läuft soweit. Natürlich sind noch keine Befehle oder Scripte hinterlegt die ausgeführt werden sollen.

Um ein neuen Crontab zu erstellen, wird der Befehl ‘crontab -e’ verwendet. Das ‘e’ steht dabei für edit.

crontab -e

Es öffnet sich jetzt der editor vi. Durch drücken der Tasten ‘SHIFT + i’ wird der Einfügen (i für insert) Modus aktiviert, und wir können wie im normalen Editor schreiben.

Wir fügen also folgenden neuen Crontab hinzu :

# Minute   Stunde   Tag   Monat   Wochentag   Befehl
# Wird jede Minute ausgeführt.
*/1 *  * * *  /usr/bin/logger "Crontab wird ausgeführt."

Zum Speichern ESC drücken, und :wq tippen (Doppelpunkt gefolgt von w und q)

Obiger Crontab bewirkt, dass jede Minute der Text “Crontab wird ausgeführt.” in das Systemlog geschrieben wird.

Um zu prüfen, ob obiger Cron ausgeführt wird verwenden wir tail:

tail -f /var/log/messages

Als Ausgabe sollte JEDE Minute der Text ‘Crontab wird ausgeführt’ ins Message Log geschrieben werden :

Apr  7 19:37:01 xxx user.notice root: Crontab wird ausgeführt.
Apr  7 19:37:01 xxx cron.notice crond[23640]: USER root pid 24536 cmd /usr/bin/logger "Crontab wird ausgeführt."
Apr  7 19:38:01 xxx user.notice root: Crontab wird ausgeführt.
Apr  7 19:38:01 xxx cron.notice crond[23640]: USER root pid 24556 cmd /usr/bin/logger "Crontab wird ausgeführt."
Apr  7 19:39:01 xxx user.notice root: Crontab wird ausgeführt.
Apr  7 19:39:01 xxx cron.notice crond[23640]: USER root pid 24579 cmd /usr/bin/logger "Crontab wird ausgeführt."

STRG + C beendet das tail.

Natürlich könnte auch ein eigens Script (bspl. tägliches/wöchtenliches Backupscript) ausgeführt werden :

# Wird jeden 3.ten Tag um 02:00 Uhr ausgeführt.
0 2  */3 * *  /PFAD/zum/Script.sh

Weitere Crontab Beispiele sind im Blog zu finden. Einfach die Suche verwenden.

Tags: , ,

Update: Adobe Air 2 beta 2

Ab 02.Februar 2010 steht das Adobe Air 2 (Beta 2) SDK / runtime zum download bereit.

Folgende Änderungen sind in der Beta 2 zu verzeichnen :

  • Enhanced support for interacting with printers (beta 2)
  • Support for TLS/SSL socket communication (beta 2)
  • Vorhandene Applikationen die mit der Adobe Air 2 (Beta 1) Version erstellt wurden funktionieren nicht mehr, und müssen daher neu kompiliert werden. Das ärgert doch enorm. Wobei die Änderungen zur Vorgängerversion Beta1 doch sehr überschaubar sind.

    IMPORTANT: Applications built against Adobe AIR 2 beta 1 *will not run* using the AIR 2 beta 2 runtime. In order for an AIR 2 beta 1 application to run on the AIR 2 beta 2 runtime, the namespace of the beta 1 application descriptor file must first be updated to “2.0beta2″ and compiled against the AIR 2 beta 2 SDK.

    Bisherige versuche, die ‘Native Prozess Unterstützung’ mit dem Flex SDK 3.5 und Abobe Air 2 (Beta 2) SDK  zu verwenden, scheitern mit der Fehlermeldung :

    VerifyError: Error #1014: Class flash.desktop::NativeProcess could not be found.

    Hat doch unter Adobe Air 2 Beta 1 noch alles im Bezug auf NativeProcess funktioniert.

    Der Namespace der app.xml änderte sich von der Beta1

    <application xmlns="http://ns.adobe.com/air/application/2.0beta">

    nach

    <application xmlns="http://ns.adobe.com/air/application/2.0beta2">


    Auch der Profilename hat sich zur ersten Betaversion nicht verändert :

    <supportedProfiles>extendedDesktop</supportedProfiles>

    Bleibt für mich die Frage, WIE den NativeProcess Support einbinden…?

    Tags: ,

    Western Digital MyBook World Edition Paketmanager IPKG per ssh installieren.

    In diesem Howto wird beschrieben, wie man den Paketmanager IPKG auf der Western Digital Netzwerkfestplatte  ‘My Book World Edition’ installiert.

    Die Erweiterungen stammen von Optware. Optware ist ein Software Package Repository, welches vom NSLU2 Projekt bereitgestellt wird. Dort finden sich bereits zahlreiche vorkomplierte Pakete, die nur noch per IPKG installiert werden müssen.

    Das von mir verwendete Model lautet “WD10000H1NC”, und besitzt eine 1TB Festplatte (weißes Gehäuse). Weitere Informationen über die Festplatte habe ich hier hinterlegt.

    Durch den Paketmanager können zahlreiche Erweiterungen installiert werden. Die Festplatte ist mit einem Linux ausgestattet, und bietet im Auslieferungszustand einen gesicherten SSH Zugang.

    Zuerst muss der SSH-Zugang aktiviert werden. Tragen Sie dazu die URL der Festplatte in einem Browser ein, und Melden Sie sich an den ‘Network Storage Manager’ mit den Benutzerdaten (Auslieferungszustand: admin, admin) an.

    Im oberen Bereich des Webinterface klicken Sie auf  ‘Erweiterter Modus’. Unter dem Karteireiter System betätigen Sie den ‘Erweitert’ Button, und aktivieren den SSH-Zugriff. Das Standardpasswort lautet : welc0me (Das scheinbare ‘o’ ist eine Null). Nach betätigen des absenden Buttons können Sie sich mit einem geeigneten SSH-Client mit der MyBook Festplatte verbinden. Ich benutze das konstenlose Tool ‘Putty’. Starten Sie Putty, und tragen als Hostnamen die IP-Adresse der Netzwerkfestplatte ein, und klicken auf open.

    Melden Sie sich mit dem Benutzernamen ‘root’ und dem Passwort ‘welc0me’ an. Es erscheind nun eine Shell ‘~ #’.

    Kontrollieren Sie, dass der Befehl ’su’ folgendes zurückliefert : ‘-sh: su: not found’.

    Geben Sie nun in der Kommandozeile folgende Befehle Zeile für Zeile nacheinander ein :

    UPDATE 19.03.2010 – Bitte diesen Schritt überspringen!!

    feed=http://ipkg.nslu2-linux.org/feeds/optware/cs05q1armel/cross/unstable
    ipk_name=$(wget -qO- $feed/Packages | awk '/^Filename: ipkg-opt/ {print $2}')
    wget $feed/$ipk_name
    tar -xOvzf $ipk_name ./data.tar.gz | tar -C / -xzvf -
    mkdir -p /opt/etc/ipkg

    UPDATE 19.03.2010 – NEUE SOURCE

    feed=http://ipkg.nslu2-linux.org/feeds/optware/cs05q1armel/cross/unstable
    cd /tmp
    wget http://ipkg.nslu2-linux.org/feeds/optware/mssii/cross/unstable/ipkg-opt_0.99.163-10_arm.ipk
    tar -xOvzf ipkg-opt_0.99.163-10_arm.ipk ./data.tar.gz | tar -C / -xzvf –
    mkdir -p /opt/etc/ipkg

    Trotz dem Seitenumbruch ist dies eine Zeile.

    echo "src armel http://ipkg.nslu2-linux.org/feeds/optware/cs05q1armel/cross/unstable" > /opt/etc/ipkg/armel-feed.conf
    wget http://www.chrisz.de/blog/wp-content/uploads/sort_dirname.tar.gz
    tar xvfz sort_dirname.tar.gz -C /

    Somit ist die Installation eigentlich schon abgeschlossen. Zukünftige Pakete werden nach ‘/opt/bin/*’ installiert.

    Bevor ein Paket installiert wird, muss die aktuelle Paketeliste eingelesen werden. Dies muss vor jedem installieren einmalig ausgeführt werden:

    /opt/bin/ipkg update

    Als Beispiel installieren wir den Unix Editor nano:

    /opt/bin/ipkg install nano

    Der Editor kann jetzt mit /opt/bin/nano ausgeführt werden. (STRG + x) schließt den Editor wieder.

    Damit nicht jedesmal ‘/opt/bin/’ vor neuen Programmen geschrieben werden muss, nutzen wir gleich den Editor um das Verzeichnis zu exportieren. Dies sollte umbedingt gemacht werden, da es sonst zu Fehlern bei Symlinks kommen kann.
    Folgende Zeile sind dazu in der /root/.bashrc und /etc/profile einzutragen :

    export PATH=$PATH:/opt/bin

    Dazu verwenden wir den eben installierten Editor nano, und fügen nach ‘/usr/local/bin’ in der Datei ‘/root/.bashrc’ oben genannte Zeile hinzu:

    nano /root/.bashrc
    


    ...
    /usr/local/bin
    export PATH=$PATH:/opt/bin
    ...

    ‘STRG + O’ Speichert die Datei, und ‘STRG + X’ verlässt den Editor.
    Selbiges machen wir mit der Datei /etc/profile. Diese Datei existiert noch nicht, wird aber beim Speichern neu angelegt.

    nano /etc/profile
    

    Bei der nächsten Anmeldung müssen nicht mehr ‘/opt/bin/nano’ eingeben, sonder einfach nur noch ‘nano’.

    Somit ist der Paketmanger IPKG fertig installiert, und konfiguriert.

    Eine Auflistung aller verfügbaren Programme erhalten Sie mit :

    /opt/bin/ipkg list
    

    Have Fun…

    Tags: , , ,

    Neue Kategorie für Western Digital Netzwerkfestplatte My Book World Edition.

    Ich habe mich entschlossen, für die WD MyBook World Edition Netzwerk Festplatte eine eigene Kategorie zu erstellen.

    Dort werden einige interessante Funktionen zu finden sein. Die MyBook World Editon Festplatte besitzt einen 1GB Netzwerkanschluß, und kann als Samba,NFS, FTP, CIFS oder AFP Storage genutzt werden.

    Mein erster Eindruck ist sehr positiv. Die Konfiguartion, bzw. Bedienung erfolgt per Webinterface. Dies ist gut strukturiert, und aufgeräumt. Die Funktionen sind auf anhieb klar. Die von mir verwendete Frimware lautet aktuell ‘01.01.16 with MioNet 2.4.0.62′. Die Festplatte wird derzeit für ca. 140€ im Handel angeboten, und ist bei mir an einer Fritzbox angeschlossen. Die genaue Modelbezeichnung lautet: WD10000H1NC.

    In dem Gerät befindet sich ein ARM926EJ-S Prozessor, der selbstverständlich passiv gekühlt wird. Somit stören keine laute Betriebsgeräusche, außer die leicht wahrnehmbare Festplatte. Das Gehäuse wird mit Gummipuffer vor störende Vibrationen gedämpft. Zudem befindet sich auf der Vorderseite eine visuelle Füllstandsanzeige, die per LED Licht den aktuellen Speicherverbrauch signalisiert. Auf der Rückseite befindet sich zusätzlich ein USB Anschluß, um den Speicherplatz mit weitere Festplatten zu vergrößern.

    Der Stromverbrauch beträgt unter Vollast (mehre GB Kopiervorgang) ca. 9 Watt. Findet längere Zeit kein Netzwerk Zugriff statt, wird die My Book World Edition automatisch in den Standby versetzt, indem nur noch 3 Watt benötigt werden. Die vielleicht etwas störende helle Verbrauchsanzeige kann bei Bedarf deaktiviert werden.

    Als System kommt ein Linux mit 2.6.24.4 Kernel zum Einsatz. Ein SSH-Login kann im Webinterface mit Password, oder SSH-Key aktiviert werden. Aufgrund des ‘zulässigen’ SSH-Logins wird die Festplatte zu einem riesigen Spielplatz optionaler Erweiterungen.

    Aus diesem Grund habe ich mich dazu entschlossen dieser Festplatte, einer eigenen Kategorie zu widmen.  Man muss kein Linux Guru sein um nützliche Erweiterungen zu installieren, oder das System auszureitzen.

    Have Fun…

    Western Digital MyWorld 1TB

    Western Digital MyWorld 1TB

    WD MyWorld Webinterface

    WD MyWorld Webinterface

    Tags: ,

    DAC – Dreambox Air Control

    Die erste Version des Dreambox Air Control, kurz DAC ist fertiggestellt.

    DAC basiert auf  Adobe AIR. Dadurch ist es möglich Flash Anwendungen oder Apps als lokale Anwendung auf einem PC  zu starten. Es wird kein Browser mehr benötigt. Das Ergebnis zeigt deutliche Performancesteigerungen, und ermöglicht einen größeren kreativen Spielraum für Designmöglichkeiten. Das Webinterface-Plugin ist weiterhin auf der Dreambox notwendig. Dies stellt die Kommunikationsschnittstelle zum DAC her.

    Zum kompletten Artikel

    Screenshot

    Screenshot

    Slider: Mobile Flash Framework

    Adobe kündigt für 2010 ein Flex Framework an, welches für mobile Endgeräte optimiert sein soll.
    Die Entwicklung findet unter den Namen Slider statt.

    Die ‘abgespeckte’ variante von Flex4 benötigt weniger Speicher und CPU-Leistung. Dazu kommen zahlreiche neue Komponenten zum Einsatz, die für Mobile Geräte ausgelegt sein sollen.

    Bleibt abzuwarten, ob das Framwork auch für die iPhone Entwicklung geeignet ist.

    Links:
    Adobe TV (58 Minuten)
    Adobe Informationen
    Flex Mobile Whitepaper