Kategorie-Archiv: IT

Textoperationen für Systemadministratoren (Linux Shell Tools, Texteditoren, Microsoft Excel)

Als Systemadministrator haben Sie es oft mit TExtdaten zu tun, die Sie auf irgendeine Art und Weise verarbeiten oder sortieren müssen. Dabei kämpfen Sie an allen Fronten: in der Windows- oder Linux-Kommandozeile, mit Microsoft Excel und mit simplen Texteditoren – seien es Linux/Unix-Shelleditroen wie vi, vim oder nano oder grafische Windows-Editoren wie Notepad, Wordpad oder Notepad++. Und zu guter letzt vergleichen Sie noch unterschiedliche Versionen einer Textdatei auf Unterschiede und fügen diese Unterschiede zusammen.

In diesem Blogpost zeige ich Ihnen anhand einiger Situationen aus meinem Administrationsalltag, wie Sie verschiedene Herausforderungen mit Hilfe von Kommandozeilen- und Shell-Kommandos, Microsoft Excel und den TExteditoren vi (Linux) und Notepad++ (Windows) lösen können. Der Post wird aktualisiert, sobald mir irgendwann wieder eine neue Situation begegnet, an der ich feilen muss.

Die Linux-Textverarbeitungstools auf Shell-Ebene

Den output von kommandos in Skripten loggen

Wenn ihr unter Linux ein Skript, etwa in Form einer .sh-Datei, schreibt, ist es euch vielleicht schonmla passiert, dass euer Skript nicht durch gelaufen, also auf einen Fehler gestoßen, ist. Zur Fehlersuche machen sich viele die Mühe und führen die einzelnen kommandos einen nach dem anderen aus, was jedoch absolut unnötig ist.

Stattdessen könnt ihr das Skript ausführen mit

sh -x <Skriptdatei>

bzw. 

bash -x <Skriptdatei>

und euch wird der Output eurer kommandos angezeigt.

Und ihr könnt sogar, ohne das Skript live bie der Ausführung zu beobachten, den Output der Kommandos loggen. Dabei empfiehlt es sich, normalen Output in eine Datei, und Fehlermeldungen in eine sepzielle andere Datei zu loggen. Dazu würde ich einfach an das kommadno anhängen

sh -x <SkriptDatei> > normal.log 2> error.log

somit wird der normale Output der Skript-Kommandos in die Datei normal.log geschrieben und alle Fehlermeldungen in die Datei error.log. Wenn ihr nun eure Skriptdatei beispielsweise über die /etc/crontab so einplant, könnt ihr euch am nächsten Tag, wenn euer skript nicht sauber durchgelaufen ist, ansehen, warum das passiert ist. Dabei muss euch bewusst sein, dass die einfahcen >-Zeichen dafür sorgen, dass die Datei jedesmal überschrieben wird, wenn die Log-Datei neu befüllt wird, das heißt die alten Einträge verschwinden dann. WEnn ihr stattdessen die Einträge jedesmal an den aktuellen Inhalt einfach nur dranhängen wollt (ohne den alten zu überschrieben), müsst ihr statt einem > zwei hintereinander schreiben, also

sh -x <SkriptDatei> >> normal.log 2>> error.log

Was meine persönlich preferierte einstellung ist, mit dem Kommando date füge ich dann jedesmal, wenn das Skript läuft, einen aktuellen Zietstempel hinzu, damit ich später unterscheiden kann, welcher Log-Abschnitt zu welchem TAg gehört.

Wenn du mit Absicht verhindern möchtest, dass du versehentlich DAteien überschreibst, indem du in deinen Skripten statt zwei > nur einen > schreibst, dann kannst ud dies verhindern, indem du in der Shell den Befehl

set -o noclobber

wirfst. Von nun an kannst du Dateien nicht mehr mit einem > überschreiben, es sei denn du schreibst ab sofort >| oder stellst den Parameter wieder um über

set +o noclobber

Ich persönlich setze diesen Parameter immer wenn ich Skripte schreibe oder manuell mit Dateien auf der Kommandozeile rumspiele, zur Sicherheit.

Daten suchen und extrahieren

Textoperationen für Systemadministratoren (Linux Shell Tools, Texteditoren, Microsoft Excel) weiterlesen →

Wenn dir dieser Post gefallen hat, teile ihn doch auf Social Media, abonniere und verfolge mich per E-Mail, RSS-Feed, Social Media oder registriere dich auf meiner Seite. Wenn du registriert bist, like den Post bitte, wenn er dir gefallen hat!

Reguläre Ausdrücke auf Kommandozeilen und in Programmiersprachen

Reguläre Ausdrücke (regular ExpressionS) sind eigentlich eine gute Erfindung. Denn: Sie erlauben das Suchen nach oder Ersetzen von  Zeichenketten abhängig von bestimmten TExtmustern. So könnten Sie beispielsweise in einer Textdatei ganz einfach nach einem GEburtsdatum suchen, indem Sie nach einer Zeichenkette aus zwei Zahlen, einem Punkt, weiteren zwei Zahlen, einem Punkt und abschließend 2 oder auch vier Zahlen suchen. So ein Suchmuster ist nur dank regulärer Ausdrücke möglich. REguläre Ausdrücke sind eine echte PAin in the Ass. Denn: Sie sind nicht überall gleich. Je nachdem, ob Sie reguläre Ausdrücke in dieser (z. B. JavaScript) oder jener (z. B. Perl) Skript- bzw. Programmiersprache nutzen wollen oder auf der Linux-Shell oder Windows Power Shell arbeiten, sind sie immer etwas unterschiedlich. Denn die Implementierung regulärer Ausdrücke ist nicht genormt, die Implementierung hängt also einzig allein vom Bereitsteller der Funktionalität ab.

Dieser Post, der regelmäßig geupdatet wird, soll sammeln, wie man reguläre Ausdrücke auf verschiedenen Kommandozeilen, Skript- und Programmiersprachen verwendet.

Aktuell beinahltet der Post nur Grundlagen, die überall gelten, und spezifische Hinweise für die Linux Shell. Mit der Ziet werde ich noch Hinweise für die Windows PowerShell, Windows cmd und für verschiedene Programmiersprachen hinzufügen.

Reguläre Ausdrücke – Grundlagen

die folgenden Grundlagen funktionieren (Gott sei DAnk) in allen Implementierungen von regulären Ausdrücken. So konnte sich zumindest teilweise eine kleine STandardisierung von regulären Ausdrücken durchsetzen.

^ Zeichenketten beginnen mit

Mit dem Zirkumflex können Sie überall nach Zeichenketten suchen, mit einem bestimmten String beginnen sollen. Sie können beispielsweise sagen, ich möchte in einer datei alle Zeilen haben, die mit einer Raute (#) beginnen. Unter Linux würden Sie dazu das  komamndo grep verwenden

grep ^# <datei>

einige Anwendender grübeln immer bei der Frage: „was ist, wenn ich nach einer Zeichenkette suchen möchte, die mit einem Leerzeichen afange?“. DAfür liefern reguläre Ausdrücke entsprehcende Platzhalter, beispielsweise können Sie das folgendermaßen abfragen.

egrep '^\s' <datei>

Das ganze können Sie noch weiter stricken. Was ist denn jeztt, wenn wir wollen, dass sowohl Zeilen, die mit einem Leerzeicehn beginnen, als auch Zeilen, die mit einer Raute beginnen, ausgegeben werden? Nun, dafür bieten reguläre Ausdrücke den Oder-Operator |, sodass wir folgendermaßen arbeiten könnten.

egrep '^\s|^#' <datei>

Leere Zeilen, die nur einen Carriage Return (also einen Zeilenumbruch) enthalten, findet man mit

grep ^$ <datei>

das Dollar steht hier entsprechend stellvertretend für einen Zeilenumbruch.In der Praxis möchte man jedoch meist genua das Gegenteil, also alle Zeilen außer die LEerzeilen finden, daher verwendet amn in der Praxis häufig

grep -v ^$ <datei>

Sie können auch andere sogenannte non-printing characters auf diese Art und Weise finden. Wenn Sie erst wissen müssen, welches Ziechen für den von Ihnen gesuchten non-printing-character steht, können Sie diesen rausfinden über

cat -vet <datei>

Der non printing character wird dann mit dem Zeichen dargestellt, mit dem er in regular Expressions vertreten wird.

^ außerhalb von [] ist nicht das selbe wie innerhalb von [^]

während ein Zirkumflex außerhalb von eckigen Klammern bedeutet, „suche nach Zeichenketten die mit damit beginnen: “ sagt ein Zirkumflex innerhlab von eckigen klammern „Suche nach allem außer dem, was in den eckigen Klammern steht“. [^a-z] sucht also nach allem, was keine Kleinbuchstaben von a-z hat.

$ Zeilen enden mit

Jetzt da wir wissen, dass das Dollar-Zeichen für einen Zeilenumbruch steht, können wir mit

grep .$ <datei>

sagen, wir wollen alles auswählen, was mit einem Punkt aufhört, wenn danach eine neue Zeile beginnt. Wir können also nach Zeilenenden suchen.

Zeichenketten mit einem einzigen Zeichen einer bestimmten Art an einer bestimmten STelle

Was ist, wenn ich aus einer Datei nun alle Zeilen mit Worten mit c<irgendein Buchstbae>t haben möchte, also z. B. cat, cUt, ctt, cOt usw.?

Hierfür gibt es den Punkt. Unter Linux könntet ihr beispielswiese nach einer derartigen Zeichenkette wieder suchen mit

grep "c.t" <datei>

Was nun aber, wenn ihr beispielsweise wollt, dass zwischen c und t nur Vokale stehen dürfen? Damit würden wir noch Zeichenketten mit cat und cut, aber keine mehr mit ctt, cdt o. Ä. erwischen. In disem Fall könnt ihr eine sogenannte Range an Zeichen, die in die Zeichenkette passen dürfen, angeben.

grep "c[aeiou]t" <datei>

Wenn ihr hingeen wollt, dass alle Buchstaben von A-P an der STelle sein dürfen, womit Zeichenketten wie cat, cpt, cot, ckt, cbt etc. ausgewählt werden würden, könntet ihr angeben:

grep "c[a-p]t" <datei>

Im Moment wählen wir aber nur  Kleinbuchstbaen aus. wEnn wir auch Großbuchstaben auswählen wollen, müssen wir mit dem Oder-Operator (|) arbeiten und sagen

grep "c[a-pA-P]|" <datei>

Damit werden nun auch die Großbuchstaben A-P ausgewählt.

Was ist nun, wenn ihr nach Ziffern in einer Datei suchen wollt? In diesem Fall würden wir sagen

grep "[0-9]" <datei>

Und wenn es statt einstelligen Ziffern nur dreistellige Zahlen sein dürfen (100, 101, 199, 200, 999 etc.), dann schreiben wir

grep "[0-9][0-9][0-9]" <datei>

Statt solcher Ranges kann man auch Klassen angeben

  • [[:alpha:]] ist das selbe wie [a-zA-Z]
  • [[:upper:]] ist das selbe wie [A-Z]
  • [[:lower:]] ist das selbe wie [a-z]
  • [[:digit:]] ist das slebe wie [0-9]
  • [[:alnum:]] ist das selbe wie [0-9a-zA-Z]
  • [[:space:]] wählt alle White Spaces, also bspw. Leerzeichen oder Tabstopps, aus.
  • [[:punct:]] wählt alle Sonderzeichen aus, also !"#$%&'()*+,
    \-./:;<=>?@
    [\\\]^_`{|}~]
  • weitere Klasen findet ihr unter http://www.regular-expressions.info/posixbrackets.html

und statt dieser Klassen kann man man auch Abkürzungen schreiben wie beispielswiese

  • \d  ist das selbe wie [0-9]
  • \w ist das selbe wie [0-9a-zA-Z_] (hier ist also der Unterstrich dabei)
  • \s wählt nicht nur Whitespaces (Leerzeciehn und Tabstopps), sondern auch neue Zeilenumbrüche (\n), Zeilenrücksprungmarkierungen (carriage return,\n) und Seitenumbrüche (\f) aus. Achtung: Das ist NICHT das selbe wie [[:space:]]. [[:space:]] kümmert sich NUR und ausschließlich um Whitespaces, also Leerstellen und Tabstopps, \s kümmert sich AUSSERDEM um non-printing-characters, also um Zeichen, die man bei der Ausgbae des Dokuments nicht sieht.

Wenn diese Abkürzungen (Abbreviations) groß geschrieben werden, sucht man nach Zeichenketten, die nicht diese Zeichenketten enthalten.. /D sucht also nach allen Zeichenketten, die keine Ziffer enthalten. [^0-9]

Reguläre Ausdrücke auf Kommandozeilen und in Programmiersprachen weiterlesen →

Wenn dir dieser Post gefallen hat, teile ihn doch auf Social Media, abonniere und verfolge mich per E-Mail, RSS-Feed, Social Media oder registriere dich auf meiner Seite. Wenn du registriert bist, like den Post bitte, wenn er dir gefallen hat!

Bedienung: Balloon Tips in allen Windows Betriebssystemen deaktivieren

Nerven Sie die ständigen Windows Balloon Tips, die einen an Updates, ausgeschaltete Firewall- oder Virensoftware, „ungelöste Probleme“ oder Ähnlichem Erinnern? Mich auch, vor allem weil ich als Screencster desöfteren meinen Desktop abfilme und dort dann keine Balloon Tips haben möchte, die meine Aufnahme verdecken.

Deswegen zeige ich Ihnen in diesem Tutorial, wie Sie die Balloon Tips ganz einfach loswerden.

Die Hammer-Methode, die hier unabhängig von der Windows-Version funktioniert, ist eine kleine Einstellung über die Registry. Gehen Sie auf Start / Ausführen und geben regedit ein. Es öffnet sich der Registrierungseditor. Eventuell müssen Sie den Zugriff nochmal über die User Account Control erlauben. Suchen Sie nun nach dem Schlüssel

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced

und rechtsklicken sie dort auf eine freie Stelle im rechten Fenster, um dann über das Kontextmenü Neu / DWORD (32-Bit) Wert einen neuen Eintrag zu erstellen. Ihren neuen Eintrag nennen Sie Enable BalloonTips. Ist dieser Eintrag erstellt, rechtsklicken Sie auf den neuen Eintrag und wählen im Kontextmenü Bearbeiten. Der Wert sollte auf 0 gestellt sein. Sobald dies erledigt ist, müssen Sie Ihren Computer einmal neu starten, damit die Einstellungen übernommen werden.

 

Wenn dir dieser Post gefallen hat, teile ihn doch auf Social Media, abonniere und verfolge mich per E-Mail, RSS-Feed, Social Media oder registriere dich auf meiner Seite. Wenn du registriert bist, like den Post bitte, wenn er dir gefallen hat!

Audio über Raspberry Pi abspielen – Mittel und Wege

In einem vergangenen Post habe ich IHnen gezeigt, wie Sie Ihren Raspberry Pi in eine Multiroom HiFi Station verwandeln. Dabei ist es interessant zu wissen, auf welchen Wegen man den Sound im Anschluss ausgeben. Es gibt verschiedene Möglichkeiten, Audiodaten über den Raspberry Pi wiederzugeben.  Ich zeige Ihnen hier die gängigsten Wege: AUX, HDMI und USB.

Grundlegende Ausgabekonfiguration

Egal, ob Sie nachher Ihren Sound per 3.5 mm Klinke, HDMI oder USB ausgeben wollen. Eine grundlegende Soundkonfiguration vorzunehmen schadet nie.

Grundsätzlich haben Sie auf dme RPi zwei MÖglichkeiten, um die Soundausgabe quick and dirty zu testen. Einaml über das Kommando

speaker-test

und einmal über das Abspielen einer .wav-Datei mittels

aplay /Pfad/zur/Datei.wav

mehr informationen über dne Abspielvorgang bekommt ihr über

aplay -v -V /Pfad/zur/DAtei.wav

Eine Liste aller derzeit erkannten Audioausgabegeräte bekommen Sie über

aplay -L

Wenn Sie mal gar keinen Sound hören, können Sie über das Kommando

amixer

sicher stellen, dass die LAutstärke des linken und rechten Ausgabekanals (Front Left und Front Right) auf 65536 bzw. 100% gestellt ist und die bieden Kanäle auf on (anstatt auf mute) geschaltet sind. Falls nicht, können Sie die einstellungen zunächst mal auf Werkeinstellungen zurückstellen über

sudo /etc/init.d/alsa-utils reset

Um die Volume zu ändern, müsst ihr erst mittels

amixer controls

rausfinden, welche  numid das Conrol „Master Playback Volume“ hat. Wenn beispielsweise ide numid vom Master PLayback Volume 3 ist, dann könnt ihr beispielsweise die LAutstärke folgendermaßen auf 100% stellen.

amixer cset numid=3 100%

und um die Speaker von [off] wieder auf [on] zu schalten, müsst ihr den „Master Playback Switch“ ändern. HJat diese die numid 4, unmuted ihr die Soundausgabe über

amixer cset numid=4 on

Danach müsst ihr die Änderungen noch permanent abspeichern über das KOmmando

sudo alsactl store

Audio über Raspberry Pi abspielen – Mittel und Wege weiterlesen →

Wenn dir dieser Post gefallen hat, teile ihn doch auf Social Media, abonniere und verfolge mich per E-Mail, RSS-Feed, Social Media oder registriere dich auf meiner Seite. Wenn du registriert bist, like den Post bitte, wenn er dir gefallen hat!

Raspberry Pi über UMTS mit dem Internet verbinden

In einem vergangenen Post habe ich Ihnen gezeigt, wie Sie Ihren Raspberry Pi mobil über ein Solar-Panel und/oder ein Akkupack betreiben.

Das höchste aller Gefühle wäre natürlich, wenn dieser mobile Raspberry Pi nun auch noch Zugriff auf das Internet hätte. Deswegen zeige ich Ihnen hier, wie Sie an Ihrem Raspberry Pi ein UMTS modul, beispielsweise ein Prepaid „Aldi Talk“ Modul, anbinden. Hierbei zeige ich Ihnen nicht, wie Sie sich für den Dienst registrieren. Das machen Sie am besten an einem Windows PC. Stecken Sie den UMTS-Stick ein, installieren Sie die Software und befolgen Sie die schritte in der verpackung. Erst nach der registrierung können Sie den UMTS-Stick nämlich nutzen.

Allgemein empfehle ich euch natürlich, einen Prepaid-UMTS-Stick zu nehmen, es geht jedoch auch ein Billig-Abonnement-Tarif. In solchen Tarifen sind dann beispielsweise 100 MB auf UMTS Speed begrenzt, der Rest läuft dann mit GPRS.

Bitte beachten Sie, dass Sie sicherstellen müssen, dass der Raspberry Pi genug Storm leifern kann, um den USB-Port für das UMTS-Modul zu versorgen. Sollten Sie festtellen, dass Ihr Pi das nicht schafft, müssen Sie noch irgendwie einen aktiven USB-Hub zwischen UMTS-Stick und USB-Port schalten.

Steckt den USB-Hub  in euren Raspberry Pi und installiert wvdial

sudo apt-get install wvdial

Dann scahuen wir uns ein paar Daten über den Stick an mittels

lsusb

Wenn der Stick erkannt wird, wird er als HSDPA Modem, LTE Modem oder Ähnliches angezeigt.

Wir schauen uns die Datei /var/log/messages an

cat /var/log/messages | tail -n 20

und schauen uns um nach Meldungen wie now attached to. Dort steht dann, in welcher Gerätedatei das Modem in das system eingebunden wurde. Meist ist es jedoch /dev/ttyUSB0 bzw. ttyUSB1.

Jetzt bearbeiten wir unsere /etc/wvdial.conf. Wir müssen einen Dialer einrichten. Im Falle von Aldi Talk wäre das

[Dialer Defaults]

Phone = 

Username = 

Password = 

New PPPD = yes

 

[Dialer eplus]

Modem = /dev/ttyUSB0

Phone = *99#

Username = eplus

Password = gprs

Init3 = AT+CGDCONT=1,"IP","internet.eplus.de","0.0.0.0"

ISDN=0

Auto Reconnect=on

Stupid Mode=off

Idle Seconds=0

Auto DNS=on

Danach müssen wir sicher stellen, dass vor jedem Einwahlvorgang durch den Stick die PIN gesendet wird, falls wir eine PIN vergeben haben. Das machen wir über eine beliebig benannte .sh-Datei mit Inhalt:

echo "AT+CPIN=4711\n\r" > /dev/ttyUSB0

Wir setzen Dateiberechtigungen für die Datei

chown root.root meinSkript.sh

chmod 700 meinSkript.sh

Und bearbeiten nun die /etc/network/interfaces, damit jedesmal, wenn der Stick initialisiert wird, er die PIN aus dem Skript bekommt.

auto ppp0

iface ppp0 inet wvdial

provider eplus

pre-up /<pfad zur>/meinSkript.sh

Von nun an wird nach jedem Neustart des Pi automatisch eine Verbindung hergestellt. Zudem ist es möglich, den Stick mit

sudo ifdown ppp0

sudo ifup ppp0

neu initialisiert werden.

Wenn dir dieser Post gefallen hat, teile ihn doch auf Social Media, abonniere und verfolge mich per E-Mail, RSS-Feed, Social Media oder registriere dich auf meiner Seite. Wenn du registriert bist, like den Post bitte, wenn er dir gefallen hat!

Moderne Beleuchtungsssysteme im Vergleich

In Sachen Hausautomatisierung fällt einem natürlich als eines der ersten Themen ein, dass man vielleicht seine Beleuchtung aus der Ferne steuern möchte. Licht angelassen? Kein Problem, einfach unterwegs schnell ausschalten. Und dann macht es natürlich auch sein, mehrere Lichter, die in einer Gruppe zusammengehörig leuchten sollen, miteinander zu dimmen oder vielleicht sogar in der Farbe wechseln zu können.

In diesem Blogpost vergleiche ich aktuelle moderne Beleuchtungssysteme. Dazu beginne ich mit dem aktuellen Vorreiter auf dem Markt, Philips Hue, und zeige mögliche Alternativen auf. Desweiteren gibt es zwei weitere Wettbewerber, die derzeit noch nicht auf dem deutschen Markt angekommen sind. Diese werde ich kurz vorstellen.

Philips Hue

Philips Hue besteht aus einerzentralen Steuereineheit, die alle Lichter im Haushalt ansteuert. diese wird über ein Patchkabel an den heimischen DSL-Router oder einen Switch bzw. WLAN Access Point eingesteckt, damit es Zugriff auf das Heimnetzwerk hat. Das starterset mit Zentraleiheit und drei Glühbirnen kostet 194 €.

Dann gibt es die Glühbirnen, die mit der oben angesprochenen Steuereinheit angesprochen werden können. Diese können nicht nur ein- und ausgeschaltet,sondern auch gedimmt und in der Farbe gewechselt werden.  Die glühbirnen können 16 Millionen verschiedene Farben darstellen.

Neben den Glühbirnen gibt es noch andere Produkte, die mit der zentralen STeuereinheit angesprochen werden können, beispielsweise der Bloom, der hauptsächlich dafür eingesetzt werden soll, um Farbkleckse an bestimmte Flekcen in der Wohnung zu werfen. Dieser wird einfach in dieSteckdose eingesteckt. Neben dem Bloom gibt es noch LED-Leuchtstreifen, die auch ganz normal in eine Steckdose eingesteckt werden.  Ein sehr cooles Produkt ist Hue Go Leuchte, die mobil aufgestellt werden kann.

Gesteuert wird die Farbe, die Leuchtintensität usw. der Glühlampen über eine Smartphone-App oder Desktop-Software auf dem PC. Die Geräte müssen dabei nicht unbedingt WLAN Zugriff haben. Man kann auch über das Internet mit seinem Philips Hue Account seine Lichter steuern.

Das Besondere an Philips Hue ist, dass man nichts an seiner derzeitigen Beleuchtungseinrichtugn ändern muss, da es sich ja lediglich um Glühbirnen handelt. Man löst einfach die alten Glühbirnen aus der Fassung und schruabt dann die Philips Hue Glühbirnen rein – fertig. Die Glühbirnen gibt es dabei für alle gängigen Sockelarten, z. B. E27 und GU10. Für E14 gibt es einen Adapter von E27 auf E14. Da die glühbirnen einfach nur reingeschraubt werden, können Sie immer noch mit den selben Lichtschaltern wie bisher ein- und ausgeschaltet werden.

Moderne Beleuchtungsssysteme im Vergleich weiterlesen →

Wenn dir dieser Post gefallen hat, teile ihn doch auf Social Media, abonniere und verfolge mich per E-Mail, RSS-Feed, Social Media oder registriere dich auf meiner Seite. Wenn du registriert bist, like den Post bitte, wenn er dir gefallen hat!

Raspberry Pi über Akkupack oder Solarzellen betreiben

Wenn Sie ihren Raspberry Pi quick & Dirty mobil ohne feste Stromquelle per Steckdose betreiben wollen, müssen Sie erfinderisch werden.

Sie brauchen

  • ein Solar-Ladegerät.
  • einen Laderegler für das Solar-Ladegerät. ist dafür zuständig, Überspannungen zu verhindern, damit der Raspberry Pi oder die Powerbank keine Schäden davontragen.
  • eine powerbank als Stützakku. Denn das Ladegerät liefert 7 watt, der raspberry Pi kann jedoch maximal 4 Watt Leistung aufnehmen. Das muss reguliert werden. Desweiteren überbrückt die powerbank die Zeit, in der keine Sonne da ist. Ich habe jetzt mal eine sehr kapazitive powerbank mit 20100 mAh verlinkt, es kann aber auch weniger sein.
  • USB A auf microUSB Kabel
  • Raspberry Pi

Die Verkabelung ist im Grunde ganz einfach. Das Solar-Panel wird an die powerbank angeschlossen und diese wiederum an den Stromeingang des Raspberry Pi. Sie können auch das Solarpanel weglassen und den Raspberry Pi komplett nur über das Akku Pack betreiben, müssen dann aber in reglemäßigen Abständen durch ein Netzteil Strom zuführen.

Wenn Sie es übertreiben wollen, können Sie immer größere Solarpanel, bis hoch zu 200 W, verwenden. In größeren Solarpanels ist dann häufig schon der Laderegler integriert, so dass sie diesen nicht mehr extra kaufen müssen. Eine Powerbank tut es dann allerdings nicht mehr, da muss dann schon ein Blei-Akku her. Je leistungsfähiger das Solarpanel und je höher die Ladekapazität des Akkus, desto länger kommt der Pi auch ohne Sonne aus.

Und für was braucht man das jetzt überhaupt? Nun, denkbar wären beispielsweise folgende Szenarien:

  • Raspberry Pi mit Kameramodul auf einem per Smartphone App steuerbaren RC-Auto (oder einfach nur einem Staubsaugerroboter) fahren lassen, um im eigenen Haus rumzufahren und zu filmen
  • Raspberry Pi mit Magneten (erfordert fachliches Geschick) oder beispielsweise Panzertape an der Hausfassade anbringen und als Außenkamera oder Bewegungssensorsteuereinheit nutzen.
  • Raspberry Pi mit Kameramodul als Camcorder mit sich rumschleppen
Wenn dir dieser Post gefallen hat, teile ihn doch auf Social Media, abonniere und verfolge mich per E-Mail, RSS-Feed, Social Media oder registriere dich auf meiner Seite. Wenn du registriert bist, like den Post bitte, wenn er dir gefallen hat!

Retro-Pie. Retro Games mit dem Raspberry Pi zocken

In einem vergangenen Post habe ich euch gezeigt, wie ihr mit Hilfe von USB-Controllern und Emulatoren ein Windows 8 / 10 Tablet in eine tragbare Retro-Konsole verwandelt.

Das ganze geht natürlich auch mit dem Raspberry Pi, was wir uns im folgenden einmal ansehen werden.

Zuerst laden Sie sich das aktuelle RetroPi-Image von http://blog.petrockblock.com/retropie/retropie-downloads/

Es gibt ein Image für die 1. Raspberry generation und eines für den Raspberry Pi 2. Spielen Sie das Image auf den Pi über die gleiche Art und Weise, mit der ich das Raspbian Image in meinem Post einen Raspberry Pi einrichten aufspiele.

Als Controller für die verschiedenen Emulatoren können Sie die selben Controller nutzen, die ich Ihnen auch in meinem Post über das Gaming Tablet genannt habe. Alternativ können Sie auch mit einer USB-Tastatur Ihrer Wahl (vorzugsweise eine günstige im Bereich von 12-15 €) spielen, oder ein beliebiges USB Gamepad nutzen. Gute Empfehlungne sind beispielsweise der XBox 360 Controller für Windows (mit Kabel) oder der Xbox One Controller for windows (mit Kabel).

dann brauchen wir noch einen Bildschirm auf dem wir spielen können. Dazu eignet sich grundsätzlich jeder Bildschirm mit HDMI-Eingang inklusive einem passenden HDMI-Kabel, mit dem wir den Bildschirm mit dem Raspberry Pi verbinden können. Wenn ihr noch einen alten Bildschirm rumfahren habt, der keinen HDMI-Input habt, könnt ihr euch auch einen Adapter kaufen, beispielsweise DVI auf HDMI, wenn euer Monitor einen DVI-Anschluss hat, oder VGA auf HDMI, wenn euer Monitor nur einen VGA-Anschluss hat.

Desweiteren braucht ihr einen leeren USB-Stick, der mit einem Dateisystem formatiert wurde, den das Linux vom Raspberry Pi lesen kann, beispielsweise FAT32.

Nachdem der Raspberry Pi mit dem RetroPi-image aufgespielt, die SD-karte eingesetzt und der Raspberry Pi gestartet wurde, wird euch ein Willkommensbildschirma ngezeigt. Hier sollte euch angezeigt werden, dass entsprechend angeschlossene Gamepads erkannt wurden.

als Erstes drückt ihr eine beliebige Taste auf eurer Tastatur und könnt dann die wichtigsten Controller-Bindings auf eurer Tastatur einstellen. Ich beispielsweise habe das Steuerkreuz auf die Tasten WASD gestellt, die A-Taste auf Controllerebene meistens auf die Leertaste gelegt (da A meistens springen ist)= und B auf die Enter-Taste gelegt (meistens Schlag- oder Aktionstaste). Die Schultertasten L und R habe ich aufQund E gelegt. Start und Select lege ich häufig  irgendwelche belanglosen Tasten wie beispielsweise Raute (#) oder Plus (+).

Sobald ihr die Tastatur grundlegend konfiugriert habt, könntet ihr theoretisch schon einen der Emulatoren im Hauptmenü auswählen und bei Vorhandensein eines ROM-Images schon spielen. Jedoch drücken wir jetzt auf der Tastatur die Taste F4, um wieder zur Kommandozeile zurückzukehren.

Danach kann der Raspberry Pi genau so grundlegend vorbereitetw erden, wie in meinem Post einen Raspberry Pi einrichten geschildert. DAs heißt ihr könnt mit raspi-config eure Spracheinstellungen machen, die Zeitzone einstellen, das Schreiben einiger Dateien von der Sd-karte auf den Arbeitsspeicher auslagern, einen WLAN-Adapter hinzufügen usw., was ihr wollt.

Retro-Pie. Retro Games mit dem Raspberry Pi zocken weiterlesen →

Wenn dir dieser Post gefallen hat, teile ihn doch auf Social Media, abonniere und verfolge mich per E-Mail, RSS-Feed, Social Media oder registriere dich auf meiner Seite. Wenn du registriert bist, like den Post bitte, wenn er dir gefallen hat!

Digitale Bilderrahmen – Alternativen über Tablets oder den Raspberry Pi Display

Irgendwann wird’s hässlich. Und langweilig. Immer hängen die gleichen Bilder im Wohnzimmer / Büro. Das Selfie vom Musikfestival, das man vor 5 Jahren mal besucht hat, hängt einem ja dann doch irgendwann mal zum Hals raus. Also hängt man es ab und hängt ein neues Bild dran – eines, das wieder andere Maße hat und man daher einen neuen Bilderrahmen dafür braucht. Dementsprechend stehen nun einige Löcher hervor, die man zuvor für das letzte Bild mit der Bohrmaschine gemacht hat. Die kittet man jetzt wieder zu, damit man sie nicht mehr sieht. Und dann würde man aber gerne noch das Gruppenfoto von der Hochzeit des Bruders mit aufhängen. Also wieder Bohrmaschine geholt und wieder vier Löcher für den nächsten Bilderrahmen in die Wand.

Irgendwann dann, nach 10 Jahren, wenn die eigene Familie ins Haus steht, möchte man lieber Babyfotos an der WAnd haben. Also alle Fotorahmen aus den jungen Jahren wieder runter, Löcher kitten, und neue Löcher bohren. Doch was ist, wenn man in einem schieren Anfall von nostalgie die alten Fotos wieder rauskramen möchte? also doch wieder an der Wand gelassen, die alten Bilder, und die Löcher wieder aufgemacht.

Und irgendwie stört auch, dass die verschiedenen Erinnerungsstücke nicht zueinander passen: In einem Bilderrahmen haben Sie Selfies von Musikfestivals, in einem anderen das Bild der kleinen süßen Nichte und direkt darunter hängt der Kumpel, der gerade ordentlich an der Bierbong nascht. Dann haben Sie ein paar Zentimeter weiter Ihre Startnummer vom letzten Marathon eingerahmt und darüber grinst das letzte Bülent Ceylan Ticket aus einem Bilderrahmen raus. Schöner wäre es doch irgendwie, wenn man diese schlecht vereinbaren Dinge nicht miteinander, sondern eines nach dem anderen, sozusagen für sich stehend, anzeigen lassen könnte.

All das muss im Jahr 2016 nicht mehr sein. Bereits seit mehreren Jahren gibt es zwar digitale Bilderrahmen zu kaufen, diese waren in den Anfangsjahren (um 2009 rum) jedoch sündhaft teuer. Selbst für die mickrige Auflösung von 4,3 Zoll hat man damals schon mehr als 150 € hingeblättert.

Heutezutage sieht die Marktlage zum einen etwas anders aus. Sie können bereits schon digitale Bilderrahmen mit einer bildschirmdiagonale von 8 Zoll für rund 44 € bekommen. Und zum anderen bieten Tablets und der Raspberry Pi gute Alternativen zu Fertig-Bilderrahmen. Ich zeige euch im folgenden Tutorial, wie ihr günstige Android- oder Windows-Tablets in einen aufstellbaren Bilderrahmen und den Raspberry Pi sogar in einen an die Wand montierbaren digitalen Bilderrahmen verwandelt.

Digitale Bilderrahmen auf dem Markt

Zunächst befassen wir uns mit kaufbaren Fertiglösungen. Das höchste der Gefühle sind derzeit Bildschirmdiagonalen von 10 Zoll, wie etwa der Hama Slimline Basic für rund 75 €. Dieser spielt Medien von SD-/SDHC- und MM-Karten sowie von USB-Sticks ab. außerdem bietet er eine Fernbedienung, mit denen man auf Wunsch durch die einzelnen Fotos durchschalten kann. Besonders günstig kriegt man 8-Zöller, etwa die Intenso Photobase.

Bei Bilderrahmen habe ich jedoch immer einige Kritikpunkte anzuführen:

  • Die meisten Bilderrahmen kann man nur per Speicherkarte oder USB-Stick befüllen. Das bedeutet jedes mal,  wenn ich neue Fotos draufspielen will, muss ich die Speichermedien entfernen und am PC neu bespielen. Ich persönlich wünsche mir lieber einen Medienabruf über einen zentralen Medienserver.
  • die Rahmen können keine Videos und keinen Sound abspielen, was ich in Zeiten, in denen Video-Filmhardware so günstig ist, wie noch nie, ein NoGo finde. Vor allem, weil man ja hinter einer Slideshow vielleicht ja Hintergrundmusik abspielen möchte.
  • Die meisten Bilderrahmen kann man nur aufstellen, aber nicht an eine Wand hängen. Somit können Sie Wandbilder nicht wirklich ersetzen.

Android und Windows-Tablets

Also müssen Alternativen her, die entsprechend Medien aus dem Netzwerk abrufen kann. Meine erste Idee in diesem Bereich waren Tablets, und siehe da, die Möglichkeiten sind tatsächlich vorhanden. Es gibt Android- und Windows-tablets zwischen 80 und 160 €, die ein 10 Zoll Display bieten und mit der entsprechenden Software Slideshows mit Video und Sound abspielen können. Vorteile:

  • video und Sound jetzt abspielbar – sogar über externe Lautsprecher, wenn gewünscht
  • können Medien auch von Netzwerkfreigaben abspielen. Daher können immer dynamisch neue Medien hinzugefügt werden.

Nachteil, der bleibt:

  • können von Natur aus nicht so einfach an eine WAnd gehangen werden. Einzige Möglichkeit: Man druckt sich mit einem 3D-Drucker einen Wall Mount für das Tablet, in den das Tablet eingesetzt werden kann.

Digitale Bilderrahmen – Alternativen über Tablets oder den Raspberry Pi Display weiterlesen →

Wenn dir dieser Post gefallen hat, teile ihn doch auf Social Media, abonniere und verfolge mich per E-Mail, RSS-Feed, Social Media oder registriere dich auf meiner Seite. Wenn du registriert bist, like den Post bitte, wenn er dir gefallen hat!

Funk- und USB-Steckdosen Fernsteuern mit dem Raspberry Pi

die Hardware

Sie brauchen

 

die USB-STeckdosenleiste fernsteuern

Als erstes lernen wir, wie wir die Gembird (m)SiS-PM STeckdosenleste unter Linux steuern. Dazu installieren wir auf unserem Raspberry Pi erstmal dfie Bibliothek libusb-dev

sudo apt-get install libusb-dev

Danach können wir das Tool sispmctl runterladen und kompilieren, welches für das eigentliche Steuern der Steckdose notwendig ist. Den atkeullen Dwonload-Link bekomt ihr unter http://sispmctl.sourceforge.net/.

tar xzvf sispm_ctl--3.1..tar.gz

cd sispm_ctl-*

 ./configure

make

sudo make install
Prüfen, ob die Software sauber installiert wurde.
which sispmctl
Daraufhin muss der Pfad zur sispmctl-binary angezeigt werden. Ist das der Fall, wurde das tool sauber installiert. Jetzt steckt ihr die USB-Steckdosenleiste per USB an den RAspberry Pi. und in eine Steckdose. LEgt nun den Schalter an der Steckdosenleiste um, so dass sie eingeschaltet ist. Es leuchten nun an vier der Steckdosen LEDs die anzeigen, dass alle vier dieser Steckdosen eingeschaltet sind. Die beiden anderen STeckdosen in de rLeiste lassen sich nicht manuell ein und ausschalten, sondenr sind immer an.
Nun wollen wir mal die Steckdose mit der Nummer 1 ausschalten. Das geht mit
sudo sispmctl -f 1
Die LED bei der Steckdose mt der Nummer 1 müsste jetzt soeben ausgegangen sein.
Nun wollen wir die Steckdose mit der Nummer 1 wieder anschalten, das geht mit
sudo sispmctl -o 1
Nun wisst ihr, wie ihr mit der Kommandozeile  die STeckdosen aus- und einschaltet. Als Zusatz gibt es noch ein Webinterface – d. h., ihr könnt die einzelnen STeckdosen der Leiste auch über den Browser abschalten. dAzu schaltet ihr das Webinterface mittels.
sudo sispmctl -i 0.0.0.0 -p 8989 -l
Nun könnt ihr auf eurem Browser das Webinterface starten über
http://<ip oder hostname raspberry pi>:8989
Nun zu guter letzt zeige ich euch noch ein Beispiel, wie ihr einzelne Steckdosen der Leiste zeitgesteuert ausschalten lassen könnt. Dazu müsst ihr euch eine .sh-Datei erstellen, beispielsweise unter /home/pi/steckdose_aus.sh. Diese kann beispielsweise den Inhalt haben
sudo sispmctl -f 1
Das heißt, diese Skriptdatei wird später die erste Steckdose der Leiste ausschalten.
Nun editiert ihr mit dem Editor vi die Datei /etc/crontab. Nehmen wir an ich möchte, dass jeden Tag um 01:00 Uhr morgens die Steckdose 1 der Leiste automatisch abgeschalten wird. DAnn hänge ich ganz am Schluss der Datei eine Zeile an mit
0 1 * * * pi sh -x /home/pi/steckdose_aus.sh
wenn ich jetzt den cron-Daemon neu starte über
/etc/init.d/cron restart
dann wird die neue Zeile jeden Tag um 1 Uhr ausgeführt. und diese Zeile startet eben unser Skript steckdose_aus.sh.
Wenn ich jetzt möchte, dass jeden Tag um 09:00 Uhr die Steckdose wieder an geht, schreibe ich mir eine zweite Datei steckdose_an.sh und mache das gleiche nochmal.

Die Funksteckdosen fernsteuern

 Verbinden der Komponenten

mit den STeckbrücken verbinden Sie den Ground-Pin des GPIO-Anschlusses (PIN 6) mit dem letzten PIN des Sendemoduls. Den Daten-PIn des Sendemoduls schließen Sie an PIN 17 der GPIO schnittstlele an, Power an PIN Nummer 4. An den Antennen-PIN des Sendemouls stecken Sie einfach nur eine Steckbrücke an ohne dieses am anderen Ende irgendwo anders anzustecken.

Wenn man das funksendemodel also mit der CMOS-Batterie nach oben hält und die vier Pins von links nach rechts mit 1-4 beschriftet, dann wird so angeschlossen

Sendemodul PIN 1 GPIO 6
Sendemodul PIN 2 GPIO 17
Sendemodul PIN 3 GPIO 4
Sendemodul PIN 4 leeres Jumperkabel

Nun müssen noch die Jumper auf der Rückseite der Steckdose richtig gesetzt werden.

Jumper Position
1 oben
2 unten
3 oben
4 unten
5 oben
A siehe unten
B siehe unten
C siehe unten
D siehe unten
E unten

Bei A-D müssen Sie pro Steckdose immer einen der vier Jumper auf die Stellung oben stellen, alle anderen bleiben unten. Damit ist es Ihnen möglich, die einzelnen Steckdosen getrennt voneiannder an- oder auszuschalten. Wenn Sie natürlich alle Steckdosen zusammen an- oder ausschalten wollen, dann stellen Sie bie allen drei Steckdosen den gleichen Jumper nach oben. Der Jumper-Code unserer STeckdose wäre, wenn wir den Jumper A anch oben stellen, 1, beim Jumper B nach oben 2, bei Jumper C 3 und bei Jumper D 4.

Die Jumper 1-5 sind Ihr sogenannter Home-Code. Dieser soll verhindern, dass Sie mit dem Raspberry Pi oder mit der Steckdose versehentlich einen Steckdosensatz mit einem anderen Home-code (etwa vom Nachbarn) steuern. Der home-Code unseres STeckdosensatzes wä#re also in diesem Beispiel 10101.

Grundinstallation

apt-get install git-core

git clone git://git.drogon.net/wiringPi

cd wiringPi/

./build

cd ..

git clone git://github.com/xkonni/raspberry-remote.git

cd raspberry-remote/

make send

Funk- und USB-Steckdosen Fernsteuern mit dem Raspberry Pi weiterlesen →

Wenn dir dieser Post gefallen hat, teile ihn doch auf Social Media, abonniere und verfolge mich per E-Mail, RSS-Feed, Social Media oder registriere dich auf meiner Seite. Wenn du registriert bist, like den Post bitte, wenn er dir gefallen hat!