Raspberry Pi

Weiter geht's im Text…

… mit dem Raspberry. Hierbei ist es egal welcher, das betrifft alle Versionen gleichermaßen. Egal ob Zero, 1 oder 2, egal ob A(+) oder B(+).

Grundinstallation

Ich denke mal die Grundinstallation sollte jedem klar sein. Ich persönlich verwende ausschließlich Raspbian. Bekommen kann man das auf der offiziellen Homepage in 2 Versionen – Normal mit grafischer Oberfläche oder Light ohne. Ich bevorzuge letzteres und installiere mir ggf. die grafische Oberfläche später dazu. Ist ja möglich. Auf der Seite stehen auch Installationsanweisungen.

Ab jetzt gehe ich also von einem lauffähigem System aus.

Vergesst nicht mittels

sudo raspi-config

das Dateisystem auf die Größe der SD Karte zu expandieren. Es ist gleich der erste Punkt.

Updates

Linuxer kennen es genau so wie Windows und Mac Benutzer. Betriebssysteme werden gelegentlich aktualisiert – so auch Raspbian. Um die aktuellsten Updates zu bekommen gebt in der Konsole folgende Befehle ein:

sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get upgrade
sudo shutdown -r now

Damit werden alle Updates geladen und installiert Das dauert ein Weilchen, je nachdem wie schnell eure Internetverbindung ist und welchen Raspberry Pi ihr nutzt.

Tendenziell wäre es eine gute Idee jetzt von der Karte noch mal ein Backup zu machen. Sonst müsst ihr das alles noch mal durchlaufen solltet ihr euer System zerbasteln.

SPI und TWI/I2C freischalten

Diese Funktionen sind standardmäßig deaktiviert, die Pins können also als normale IO Pins verwendet werden. Da der Raspberry davon aber genug hat und ich beide Bussysteme häufig nutze ist es das Erste was ich aktiviere. Gebt hierzu in der Konsole ein:

sudo raspi-config

In diesem Config Tool schaut mal unter "Advanced options". Hier sind 2 Menüpunkte relevant, nämlich I2C und SPI. Aktiviert hier beide Funktionen (inklusive automatischem Laden der Module falls ihr gefragt werdet). Nach einem Neustart sollten dann die Module geladen sein und zur Verfügung stehen. Zumindest für das System.

Python und Module installieren

Weiter geht es mit der Installation von Python und dessen Modulen für SPI und TWI/I2C. Ich bleibe eben dem Namen treu (Raspberry PI, PI=Python Interpreter) und nutze Python. Wieder in der Konsole gebt folgende Befehle ein (# sind Kommentare und können weg gelassen werden):

# Python 2 und 3 installieren
sudo apt-get install python-dev python3-dev
sudo apt-get install python-pip python3-pip

# GPIO Support
sudo apt-get install python-rpi.gpio python3-rpi.gpio

# I2C Support
sudo apt-get install python-smbus python3-smbus libi2c-dev

# SPI Support
wget https://github.com/Gadgetoid/py-spidev/archive/master.zip
unzip master.zip
rm master.zip
cd py-spidev-master
sudo python setup.py install
sudo python3 setup.py install
cd ..
sudo rm -f -r py-spidev-master

Jetzt ist Python 2 und 3 installiert und kann auf die GPIO, TWI/I2C und SPI Funktionen zugreifen.

Es gibt auch noch ein weiteres Plugin, namentlich WiringPi, mit dem ich selbst noch nichts gemacht habe. Die Installation sollte so gehen:

# WireingPi (bisher noch nichts mit gemacht, klingt aber nicht schlecht)
sudo apt-get install git-core
git clone git://git.drogon.net/wiringPi
cd wiringPi
./build
# Muss hier noch was installiert oder kopiert werden?
cd ..
rm -f -r wiringPi

Das aber ohne Gewähr, lediglich der Vollständigkeit halber.

Verwendung von Python

Python ist nur eine Programmiersprache, keine grafische Oberfläche zum Programmieren wie z. B. Microsoft Visual Studio, AVR Studio (Atmel), …. Den Quelltext kann man in jedem x-beliebigen Texteditor erstellen (ich verwende hier nano), es gibt aber auch komfortablere Editoren wie z. B. Geany.

Ansich ist Python leicht zu verstehen, da es ähnlich wie Basic auf englischen Sprache basiert. Nichts kryptisches. Ganz wichtig bei Python ist das korrekte Einrücken der Quelltext Zeilen! Sollte man beim Programmieren eh immer drauf achten. Wer das eh tut wird keine Probleme haben, wer nicht wird fluchen. Aber über sich selbst.

Starten wir mit dem klassischem Beispiel HalloWelt.

Wieder in der Konsole öffnet nano und gebt schon mal den Dateinamen vor:

nano hallo.py

Jetzt seit ihr in nano, dem Texteditor, mit einer leeren Datei namens hallo.py. Sollte die Datei nicht leer sein existierte sie bereits ;)

Gebt hier folgenden Code ein:

#!/usr/bin/env python

print("Hallo Welt!")

Die erste Zeile ist Linux typisch. Anders als z. B. bei Windows, wo die Dateierweiterung (wie .txt, .mp3, …) festlegt welche Anwendung die Datei öffnen kann oder soll ist es hier so dass es die Datei selbst sagt (optional). Kann man weg lassen, sollte man aber einbinden. Hier besagt die Zeile dass die Datei mit Python (2) geöffnet werden soll.

Die zweite Zeile gibt ein "Hallo Welt!" auf der Konsole aus. Da danach nichts mehr folgt ist das Programm somit abgelaufen und beendet.

Speichern könnt ihr das Werk mit [STRG]+[O] und Enter, Beenden könnt ihr nano dann mit [STRG]+[X].

Jetzt soll das Programm natürlich gestartet werden. Es gibt mehrere Möglichkeiten. Die einfachste wäre einfach das Script mit Python zu starten:

python hallo.py

Eine andere Alternative wäre die Datei als ausführbar zu markieren und so zu starten. Da wird dann die erste Zeile im Script ganz wichtig.

chmod +x hallo.py
./hallo.py

Egal wie, es wird das Hallo Welt ausgegeben. Gratulation zum ersten Schritt :)

Auf GPIO zugreifen

 Hier geht es schon etwas los. Aber es ist alles recht einfach. Bevor wir los legen sagen wir welche Module wir verwenden wollen. Ich zeige hier auch noch ein paar Informationen an über das System. Das ist natürlich optional.

#!/usr/bin/env python
#
# Import sys (for version & error info) and time (for sleep) modules
import sys
import time

# Import GPIO module
try:
    import RPi.GPIO as GPIO
except RuntimeError:
    print("Error importing RPi.GPIO! This is probably because you need " + \
          "superuser privileges. You can achieve this by using 'sudo' to " + \
          "run your script.")
except:
    print("Unexpected error: ", sys.exc_info()[0])
#end try

# Print some version info
print("")
print("Using Python version:   %s.%s.%s" % sys.version_info[:3])
print("Installed GPIO Version: " + GPIO.VERSION)
print("Raspberry PI revision:  " + str(GPIO.RPI_REVISION))
print("")

# Set up pin numbering. BCM=Pin number from the controller, BOARD=Pin number from the header.
GPIO.setmode(GPIO.BCM)

# Set warnings on (if a pin is already used by another script). It's the default anyway.
GPIO.setwarnings(True)

Das Wichtigste hier ist das Einbinden von GPIO. Das kann bei manchen Distributionen fehlschlagen wenn das Script nicht als root läuft (z. B. mittels sudo), daher die Abfrage mittels try. Hier sieht man auch wie Python arbeitet, es nutzt das Einrücken aus um die Blöcke zu erkennen. Aus (Visual) Basic kenne ich das so dass es zu jedem If / try / … auch ein end if / try / … gibt, daher schreibe ich es auch in Python immer hin (als Kommentar). Ich finde es übersichtlicher. C ähnliche Sprachen nutzen die geschweiften Klammern, Python eben die Leerzeichen. Mal was Anderes.

Sollte euch eine Zeile mal zu lang geraten könnt ihr diese an bestimmten Stellen mit \ umbrechen. Habe ich hier in der Fehlermeldung gemacht.

So. Der Code oben macht aber eigentlich noch nichts, außer das bisschen Status auszugeben. Jetzt geht es weiter mit dem Code:

try:

    # Set pin as output
    GPIO.setup(26, GPIO.OUT)

    # Let the state change at 1hz
    while True:
        GPIO.output(26, True)
        time.sleep(0.5)
        GPIO.output(26, False)
        time.sleep(0.5)
    #end while

except KeyboardInterrupt:

    GPIO.output(26, False)
    pass

finally:

    # Ctrl+C pressed, cleanup
    GPIO.cleanup()

#end try

Hier wird erst der Pin 26 als Ausgang definiert. Dann wird in einer Schleife dieser High gesetzt, 0,5 Sekunden gewartet, auf Low gesetzt, wieder 0,5 Sekunden gewartet und alles von vorne.

Das ganze läuft in einem Try Block. So können wir abfangen wenn der Benutzer [STRG]+[C] drückt um das Script abzubrechen (es würde sonst unbegrenzt weiter laufen) um den Ausgang sicher auf Low zu setzen. Ebenfalls wichtig ist der Finally Block, der immer ausgeführt wird, egal ob ein Fehler aufgetreten ist oder nicht. Das ist hier wichtig, da wir bei Script Ende auch alle Bezüge zum GPIO entfernen wollen die wir erstellt haben. Somit ist nach Ablauf des Scripts wieder alles wie es vorher war.

Ziemlich einfach, oder? ;)

Mit Eingängen wird es etwas komplizierter, schlimm ist es aber nicht. Das Grundkonzept wie hier bleibt bestehen. Eingänge können verschieden definiert werden, mit internem PullUp oder PullDown. Da ich die Atmel AVRs gewöhnt bin welche ausschließlich PullUps besitzen nehme ich eher dieses, das ist aber Geschmackssache. Bei PullUp muss der Eingang eben auf Masse gezogen werden (beispielsweise mit einem Taster), bei PullDown gegen VCC. Seid hier vorsichtig! Die I/O Pins sind nicht abgesichert und verkraften nur maximal VCC, also 3,3V! Legt ihr ein 5V Signal an kann es das schon gewesen sein, mit etwas Glück für den Pin, mit Pech für den ganzen Pi. Dauerhaft. Durchgebrannt. Tot.

Nicht nur dass es PullUp und PullDown gibt, es gibt (wie überall) auch mehrere Arten den Pin auszulesen. So kann man ihn Pollen (direkt den Wert auslesen) was meistens aber nicht sinnvoll ist da es die CPU Last unnötig erhöht, oder man kann sich benachrichtigen lassen wenn sich der Zustand ändert (Interrupts).

Dieser Code zeigt wie man die GPIO's per Interrupt einliest. Vieles ist wie oben bereits beschrieben und erklärt, der Rest ist eigentlich selbsterklärend.

#!/usr/bin/env python
#
# Example script how to use GPIO on Raspberry PI (and to use Python).
#
# Wireing for this example:
#   Pin  7: Duo-LED Red
#   Pin  9: Duo-LED Kathode
#   Pin 11: Duo-LED Green
#   Pin 14: Switch 1, a
#   Pin 16: Switch 1, b
#   Pin 17: Switch 2, a
#   Pin 18: Switch 2, b
#
# Switch 1 turns on the green LED, Switch 2 turns it off while the red LED is flashing with 1hz.

#Import sys (for version & error info) and time (for sleep) modules
import sys
import time

# Import GPIO module
try:
    import RPi.GPIO as GPIO
except RuntimeError:
    print("Error importing RPi.GPIO! This is probably because you need " + \
          "superuser privileges. You can achieve this by using 'sudo' to " + \
          "run your script.")
except:
    print("Unexpected error: ", sys.exc_info()[0])
#end try

# Print some version info
print("Installed Python version: %s.%s.%s" % sys.version_info[:3])
print("Installed GPIO Version:   " + GPIO.VERSION)
print("Raspberry PI revision:    " + str(GPIO.RPI_REVISION))

# Set up pin numbering. BCM=Pin number from the controller, BOARD=Pin number from the header.
GPIO.setmode(GPIO.BCM)

# Set warnings on (if a pin is already used by another script). It's the default anyway.
GPIO.setwarnings(True)

# Setup two pins as input.
# Port 23 (pin 16) will be pulled up (3.3V), Port 24 (pin 18) down.
GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(24, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)

# Setup two pins as output.
GPIO.setup(17, GPIO.OUT)        # GPIO 17 (pin 11)
GPIO.setup(4, GPIO.OUT)         # GPIO 4  (pin 7)

# Callback if button 1 is pressed
def key1_down(channel):

    GPIO.output(17, True)

#end def

# Callback if button 1 is pressed
def key2_down(channel):

    GPIO.output(17, False)

#end def

# Subroutine which is called in the main application loop that simply turns an LED
# on GPIO4 (pin 7) on and off. Also demonstrates the sleep command.
def led_blink():
    GPIO.output(4, True)
    time.sleep(0.5)
    GPIO.output(4, False)
    time.sleep(0.5)
#end def

# Add event listeners to the 2 input signals (like interrupt service routines)
GPIO.add_event_detect(23, GPIO.FALLING, callback=key1_down)
GPIO.add_event_detect(24, GPIO.RISING, callback=key2_down)

# Main application loop
try:
    while True:
        led_blink()
    #end while
except KeyboardInterrupt:
    # Ctrl+C pressed
    pass
finally:
    GPIO.cleanup()
#end try

In einem späteren Beitrag erfahrt ihr wie man auf SPI und TWI/I2C zugreift, für heute reicht es erstmal :)


---

Ich habe es erst nicht geglaubt…

Bei dem Dealer meines Vertrauens, namentlich Reichelt Elektronik, bin ich auf ein Windows 10 Tablet gestoßen. Ich war erst skeptisch, aber doch auch neugierig. Naja, es war Weihnachten und wie heißt es so schön? Man gönnt sich ja sonst nichts.

Fazit vorweg: Der (alte?) Slogan von Reichelt stimmt. Bestellt, beliefert, begeistert.

Es geht um diese kleine Gerätschaft hier: Das TrekStor Wintron 7 (Hersteller Link - Reichelt Artikel). Ein 7 Zoll Tablet mit Windows 10. Für unter 50€!

Tablet? Eigentlich zu klein für den Titel… Ich taufe es mal Ablet, da es so groß ist wie ein Phablet, aber eben ohne Phone. Warum auch nicht.


Im Bild: TrekStor Wintron 7 auf einer Logitech K480 Bluetooth Tastatur

Technische Daten

Ich gehe hier nicht auf alle Details ein, sondern nur auf die für mich wichtigsten. Oben habe ich ja schon die Hersteller Seite verlinkt, da steht es etwas genauer drauf.

  • CPU: Intel® Atom™ Prozessor Z3735G, 1,83 GHz, QuadCore
  • RAM: 1GB DDR3
  • Interner Speicher (C:\): 16GB
  • Auflösung: 1024 x 600 Pixel
  • Größe: 107mm x 188mm x 11mm
  • Gewicht: 265g
  • Anschlüsse: Micro-USB (1x), 3,5mm Klinke (Audio)

Kameras hat er auch 2, aber hier zählt "you get what you pay for". Finde ich nicht schlimm, da das sowieso mit das Erste ist was deaktiviert wird da nicht benötigt. Der Speicher ist mit 16GB etwas knapp bemessen (mehr dazu später), lässt sich aber mit MicroSD Karten erweitern (max. 128GB).

Was mir persönlich besonders gefällt ist das geringe Gewicht und die kleinen Maße. Man braucht eigentlich noch nicht mal eine Tasche dafür, denn der Kleine kann so in der Jackeninnentasche verschwinden. Eine Bedienung ist auch über Stunden möglich ohne dass man Krämpfe in den Fingern bekommt. Einfach angenehm. Der Touchscreen reagiert sehr gut und präzise, da bin ich (leider) weitaus schlimmeres gewohnt.

Kurz um. Man bekommt ein sehr schönes Tablet incl. Windows 10 und Office Mobile für fast lächerliche 50€. Allerdings rate ich stark an eine vernünftige MicroSD Karte bereit zu halten die dann auch im Gerät verbleibt. Hier würde ich lieber auf Qualität statt auf den Preis achten. Ich habe eine 64GB Samsung EVO+ bei mir drin (32 oder 16 wären auch ok, muss jeder selber wissen). Das wird denn Laufwerk D:\.

Erste Inbetriebname

Wie üblich bei batteriebetriebenen Geräten: Bitte erst den Akku voll laden! Das hat nichts mit diesem Tablet zu tun, das ist generell für alle Geräte so, sei es nun Tablet, Handy, Laptop, ….

Ansonsten, es ist alles vorinstalliert und vorkonfiguriert. Vermutlich da der Speicher recht gering ist ist mir trotzdem positiv aufgefallen dass das Gerät nicht mit Bloatware verseucht ist, es ist das nackte Windows 10. Allerdings wie es zu erwarten war die erste Version, also stehen Windows Updates an. Habe ich erstmal ignoriert und mich umgeschaut.

Ich bin kein Fan von Windows 8. Auch nicht von 8.1. Für mich ist das optisch gesehen, mit der ganzen Kachelei, eher wie ein Windows 3.11 auf Drogen. Außerdem finde ich, ein Tablet OS hat auf dem Desktop oder Laptop einfach nichts zu suchen. Daher war ich erst auch sehr skeptisch was Windows 10 angeht. Aber ich muss sagen, es geht. Den Tablet Mode kann man tatsächlich deaktivieren, also fällt diese Kachelei weg / bzw. wesentlich kleiner aus. In der Tat ist das passiert was ich nie gedacht hätte: ich nutze es sogar. Aber nur minimal im Startmenü, mehr nicht. Ok, Windows 10 finde ich nicht gut genug dass es mein Windows 7 als Hauptsystem ersetzen wird, auf dem Tablet ist es aber voll ok.

So, genug gespielt. Updates fahren

… und: Fehler.

Lange Suche ergab dann schnell die Quelle des Übels und das Fehlen einer Lösung. Das Problem ist dass Laufwerk C:\ mit seinen 16GB das nicht mehr tragen kann, insbesondere da ein großes Update dabei war. Da hilft auch kein Auslagern auf die SD Karte, es gibt kein Vor und kein Zurück.

Für mich aber kein Problem. Ich mache eigentlich eh nie etwas mit vorinstallierten Systemen. Lieber installiere ich mir mein System von Grund auf selbst neu. Ist hier auch kein Problem, benötigt wird lediglich ein Windows PC zum runter laden von Windows 10 (legal, ein Schelm wer böses denkt) welches auch schon das meiste an Updates beinhaltet, einen freien USB Stick (8GB oder mehr), ein USB Hub und eine Tastatur (optional 'ne Maus dazu) und einen vollen Akku. Warum voller Akku? Der Kleine hat nur 1x USB. Für Stromversorgung und USB. Fazit: Steckt man da einen Hub rein für Tastatur und USB Stick verbleiben verhältnismäßig wenig Anschlüsse für die Stromversorgung übrig ;)

Neuinstallation (Clean Install)

Sorry, das wird etwas länger. Sieht aber komplizierter aus als es ist. An einem Windows PC ladet euch erstmal die folgenden Dateien runter:

Schnappt euch einen USB Stick (der muss frei sein, alle Daten die evtl. drauf sind gehen verloren!) und startet das Windows 10 Tool. Hier werdet ihr gefragt worauf ihr Windows 10 kopieren wollt. Auf den Stick natürlich, also wählt diesen aus. Das Ganze dauert jetzt etwas, je nach dem wie schnell die Internetverbindung ist. Wenn das Tool fertig ist könnt ihr auf dem Stick ein Ordner erstellen und dort schon die Treiber rein kopieren. Das erspart euch späteres umstöpseln.

Windows installieren

Schaltet das Tablet aus (Herunterfahren, nicht Standby!) und verkabelt alles, also Tastatur, Stick und ggf. Maus an den Hub und den Hub an das Tablet. Jetzt haltet Lautstärke + und Power zusammen so lange gedrückt bis das Tablet wieder an geht. Ihr seht eine Art Bios wo ihr auswählen könnt dass ihr von einem anderem Gerät booten möchtet (nämlich dem Stick). Die Menünavigation erfolgt hier über Lautstärke +/- (hoch/runter) und Power (Enter/OK).

Zu der eigentlichen Windows 10 Installation gehe ich jetzt nicht näher drauf ein, es ist das Selbe wie auf jedem PC / Laptop etc.. Wundert euch nicht dass der Touchscreen nicht funktioniert. So ist das eben mit Hardware für die keine Treiber geladen worden sind (daher Tastatur und Maus anschließen).

Die EFI Partition habe ich so belassen, die anderen beiden habe ich gelöscht und eine neue erstellt. Hier soll Windows 10 drauf. Dauert ein bisschen, aber der Akku packt das locker :)

Treiber installieren

Ist er fertig solls der Hardware als erstes an den Kragen gehen, es wird Zeit für die Treiber. Installiert zuerst das Treiberpaket, dann die anderen beiden. Ein Neustart später sollte alles wieder gehen (incl. Touchscreen). Davon ab ist Windows jetzt auch schon halbwegs auf dem neusten Stand. Jetzt kann der Hub auch wieder ab und Strom dran.

Ruhezustand deaktivieren

Jetzt kommt das Feintuning. Das ist schon eher etwas für Leute die wissen was sie tun. Gehe ich an dieser Stelle mal von aus. :)

Als erstes deaktivieren wir den Ruhezustand (nicht zu verwechseln mit Standby, das sind 2 paar Schuhe). Immerhin werden somit 1GB auf Laufwerk C:\ mehr frei. Gebt in der Suche "cmd" ein, wartet bis es in den Suchergebnissen angezeigt wird (Eingabeaufforderung) und startet sie per Rechtsklick - als Administrator ausführen. Gebt jetzt den Befehl "powercfg -h off" ein und drückt auf Enter. Das wars (alles ohne die "").

Apps und Updates

Unter Einstellungen – System – Apps & Features könnt ihr noch Komponenten runter schmeißen die ihr nicht benötigt.

Jetzt wäre der Zeitpunkt Windows mal nach Updates suchen zu lassen und diese zu installieren. Also Start – Einstellungen – Updates und Sicherheit – Windows Update. Ihr findet euch schon zurecht.

Dateisystem bereinigen und komprimieren

Der Speicher ist sehr knapp, die CPU hat aber Leistung. Kompensieren wir also etwas. Jetzt öffnet mal einen Dateiexplorer. Macht einen Rechtsklick auf Laufwerk C:\ - Eigenschaften - Bereinigen. Etwas warten und dann links unten auf Systemdateien bereinigen. Noch mal etwas warten. Jetzt wählt in der Liste alles aus und klickt auf OK.

Man kann jetzt auch noch Tools wie den CCleaner hinzuziehen. Ich lasse den gelegentlich auch mal laufen, habe aber schon eigentlich alles so konfiguriert dass der recht wenig zu tun hat. Microsoft Edge nutze ich zum Beispiel garnicht, ich verwende Opera. Also braucht Edge auch keinen Speicher für Cache und Cookies belegen (ganz ohne geht nicht, aber reduzieren geht). Hierfür Suche – Systemsteuerung – Internetoptionen – Browserverlauf – Einstellungen. Zu verwendender Speicherplatz kann reduziert werden, unter Verlauf kann dieser auf 0 Tage gesetzt werden. Auch kann man sich eine Batch Datei schreiben und diese in den Autostart packen die temporäre Dateien beim Starten automatisch löscht.

Weiterhin im Dateiexplorer geht auf C:\ (Linksklick). Hier unter Datei - Ordner- und Suchoptionen ändern - Ansicht deaktiviert ihr "Geschützte Systemdateien ausblenden" und aktiviert "Ausgeblendete Dateien, Ordner und Laufwerke anzeigen". Diese Änderungen könnt ihr später genau so wieder rückgängig machen. Ok. Jetzt markiert ihr alle Dateien und Ordner in Laufwerk C:\ (schneller: STRG+A) und macht einen Rechtsklick auf eine Datei/Ordner - Eigenschaften. Hier unten rechts auf Erweitert… klicken und "Inhalt komprimieren, um Speicherplatz zu sparen" aktivieren. Nach einem Klick auf OK wird das Laufwerk komprimiert, bzw. dessen Dateien darauf. Wenn euch gesagt wird dass ihr dazu höhere Rechte braucht, das ist normal, soll er haben. Wenn er meckert dass er eine Datei nicht komprimieren kann klickt auf alle ignorieren. Das dauert jetzt etwas. Danach könnt ihr die Optionen auch wieder zurück stellen.

Defragmentieren

(Optional) Jetzt installiert MyDefrag (ohne Bildschirmschoner und geplante Tasks) und startet es. Im Idealfall macht ihr vorher noch einen Neustart. Wählt oben aus "System disk monthly" und vergewissert euch dass unten Laufwerk C:\ angeharkt ist. Dann starten und warten, das dauert wieder. Man sollte SSD's zwar nicht defragmentieren (zumindest nicht so häufig), aber nach der Aktion lohnt es sich. Danach würde ich das höchstens alle 3 Monate mal starten.

Anwendungen und Daten auf die Karte

Jetzt hat man so viel Speicher wie möglich auf Laufwerk C:\ frei. Ok, man könnte jetzt noch den Papierkorb deaktivieren oder die Auslagerungsdatei verkleinern, aber beides zieht Nachteile mit sich. Geht auch ohne. Damit das auch so bleibt kommt jetzt die SD Karte zum Einsatz. Wir legen jetzt nämlich alles was möglich ist um auf den "externen" Speicher, also die Karte.

Stellt sicher dass die Karte formatiert ist, im Idealfall mit NTFS. Zur Not neu formatieren. Dann unter Start - Einstellungen - System - Speicher unter Speicherorte überall von C:\ auf D:\ umstellen und (einzeln) bestätigen. Damit wird alles was so an neien Apps, Bildern, … kommt automatisch auf der Karte gespeichert statt auf dem knappen internen Speicher. Solltet ihr irgendwann "normale" Windows Anwendungen installieren wollen ist es trotzdem ratsam noch mal nachzuschauen wohin diese installiert werden soll. Bei manchen Setups muss man denn doch noch das Laufwerk D von Hand angeben.

Fazit: Bei mir sind knapp 4GB frei auf Laufwerk C:\ obwohl ich schon einiges an Anwendungen und Apps installiert habe. Das passt ganz gut.

Das absolute Non+Ultra wäre es jetzt natürlich, jetzt ein Backup zu machen. Es gibt hierfür viele Lösungen, teils gratis, teils Kostenpflichtig. Ich setze persönlich auf den Paragon Festplatten Manager, aber jedem das Seine. Auf das Windows interne Backup würde ich mich nicht verlassen. Ich habe es 3x probiert. Das Backup klappte, man fühlte sich sicher. Das Restore klappte aber eben nicht. Von daher lieber eine andere Lösung suchen. So muss man den ganzen Kram nur ein mal machen falls man sich sein System abschießt.

Fazit

Ein sehr schönes Gerät was seinen Preis definitiv wert ist. Einziger Nachteil ist nur der interne Speicher, der die Ersteinrichtung etwas kompliziert macht. Für Leute die sich auskennen ist das aber kein Problem. Daher sehe ich das – für mich – nicht als negativen Punkt. Außerdem muss man das nur ein Mal machen. Etwas mehr Speicher wäre trotzdem schön gewesen. Klar, es gibt Tablets mit mehr Speicher, aber die kosten dann auch gleich das 5-6fache. Das ist es mir nicht wert.

Ich bereue den Kauf ganz und garnicht. Im Gegenteil, meinen Androiden rühre ich kaum noch an (der hat im Übrigen auch ein ähnliches Problem mit dem Speicher, nur dass man da nichts dran ändern kann…).

Ich kanns nur empfehlen. Und wer es hat (oder ein anderes Win10 Tablet), schaut mal im Store vorbei. Sniper Fury und Magic Puzzles sind echt nett und auch ohne InApp Käufe gut zu spielen ;)

*** p. S.: Ja ich schaffe mir irgendwann eine bessere Digitalkamera an.


Raspberry Pi Zero

Noch ein Raspberry?

Jupp. Oder auch nicht? Das wird die Zukunft zeigen. Mehr dazu aber später.

Der Raspberry Pi Zero ist eine minimalistische Version eines normalen Raspberry Pi's. Minimalistisch nicht nur im Formfaktor sondern auch an den Anschlüssen und somit auch im Stromverbrauch. Es hat halt alles so seine Vor- und Nachteile.

So kommt der Kleine nur mit 1x USB daher (streng genommen 2x, der 2. dient aber ausschließlich der Stromversorgung), allerdings in Micro-USB Form statt normal wie bei den großen Brüdern. Auch HDMI hat er, aber auch als Mini Buchse. Man braucht also ggf. Adapter um ihn anzuschließen. Ist aber nicht so wild. Diese Adapter kosten nicht viel, außerdem werden sie (außer bei der Ersteinrichtung) vermutlich eh nicht mehr benötigt. Der Kleine zielt doch wohl eher auf die Bastler an, statt auf die die einen preiswerten PC Ersatz suchen.

Von den technischen Daten her ist er identisch zu den bereits bekannten A(+) und B(+) Modellen, bis auf dass die CPU mit 1000MHz getaktet wird statt mit 700MHz. Arbeitsspeicher hat er 512MB, was identisch ist wie bei den B Modellen. Auf Audio muss aber verzichtet werden (oder via HDMI, was ich aber mangels Gerätschaften nicht testen kann).

Wo sind die Vorteile?

Klar, erstens in der Größe. Man kann ihn schnell mal in anderen Geräten verstecken, in Unterputzdosen verbauen um so eine Art Smart Home zu realisieren, … Auch der Preis ist ein entscheidener Faktor. Der Pi Zero kostet nur 5$ (umgerechnet ca. 7€) und ist somit unschlagbar preiswert. Da er grade für Bastler interessant ist sei noch anzumerken dass der bereits bekannte 40polige GPIO Pin Header ebenfalls vorhanden ist; sogar pinkompatibel zu der B Serie.

Wo ist der Harken?

Tja. Ihn zu bekommen dürfte wohl die schwerste Hürde sein. Während ich erst noch schmunzeln konnte bei den Kommentaren warum er nicht nach Italien geliefert wird – sinngemäße Antwort: "Weil das italienische Post System korrupt ist" – ist es jetzt alles Andere als zum lachen.

Ausverkauft. Überall. Seit Monaten. Es hat den Anschein dass der Pi Zero nur eine Art von Marketing Gag ist. Er war als gratis Heftbeilage beim  #40 dabei (daher habe ich meine 2 auch), es gibt zig Verlosungen, … Aber die Händler werden einfach nicht beliefert.

Egal ob deutsche Reseller wie Reichelt, Conrad, Pollin, RS (hat es scheinbar aufgegeben, zumindest wird der Artikel nicht mehr gelistet), … oder ausländische wie Adafruit, ThePiHut, … Element14 (ein weiterer Zwischenhändler wie RS) führt ihn zwar noch, aber: sold out!

Wie kann man ihn bekommen?

Im Moment am besten gar nicht. Vielleicht habt ihr Glück bei den Gewinnspielen, wer weiß. Selbstverständlich kann man die auch auf Ebay kaufen. Von Leuten die gleich zu Anfang die Lager leer gekauft haben und die Dinger nun zu überteuerten Preisen (ich habe schon Auktionen um die 60€ gesehen!) verticken und sich 'ne goldene Nase verdienen.

Geduld haben, vielleicht ändert sich an der Situation ja noch was. Aber für die nächsten 1-2 Monate sehe ich da eher schwarz. Rabenschwarz.

Fazit:

Wie bereits erwähnt, ich befürchte es ist nur ein Marketing Artikel. Lieferengpässe können ja mal passieren, aber nicht über einen so langen Zeitraum – und schon gar nicht weltweit – und erst recht nicht bei den offiziellen Zwischenhändlern. Dass da die Händler irgendwann aufgeben und genervt auf das Thema reagieren kann ich gut verstehen.

Ich habe selber auch mal den Hersteller angeschrieben. 2x. Und 3x dürft ihr raten. Keine Antwort. So langsam bin ich gleichermaßen sauer wie enttäuscht. Klar, ich habe meine 2, aber wie soll es denn Freude bereiten seine Erfahrungen und Fortschritte zu teilen wenn alle Anderen eh nur die Karte des Sitzorgans haben weil sie den nicht bekommen können? Nix.

Als der Raspberry Pi kam kamen auch schnell Konkurrenzprodukte wie der Banana Pi. So wirklich durchgesetzt hat sich der nicht. Ich warte nur noch drauf (und hoffe auch drauf) dass es für den Zero ebenso ein Konkurrenzprodukt geben wird. Wenn die die Dinger dann auch noch verschicken, das wäre eine wahre Goldgrube. Wobei … Der C.H.I.P. schaut auch nett aus, ist aber noch sehr unbekannt (Vergleich).

Ich habe diesen Beitrag jetzt auch nur verfasst weil ich einen von den 2 zu meinem Bastel-Rechner gemacht habe, worüber ihr in der nächsten Zeit hier noch einiges zu lesen bekommt. Da sich Softwaretechnisch aber nichts ändert (die Systeme sind sonst soweit identisch) braucht ihr keine Berührungsängste zu haben, es funktioniert alles auch genau so gut auf einem A(+), B(+) oder 2B Modell. Der Zero ist halt einfach nur kleiner.

Kurz um: @ Raspberry Pi Foundation: GOD DAMMIT, SHIP THESE F***ING ZEROS!!!


Raspberry Pi

Der Raspberry Pi

Kaum ein Einplatinencomputer hat weltweit so ein Aufsehen erregt wie das britische Produkt, der Raspberry Pi. Es gibt zwar auch Nachfolger – die merkwürdigerweise alle ähnliche Namen haben, wie der Banana Pi – aber vom Prinzip das selbe können.

Es handelt sich wie eingangs erwähnt um einen Einplatinencomputer, also einen vollwertigen Computer der lediglich aus dieser einen Platine besteht. Sprich Stromversorgung, Monitor, Maus und Tastatur dran, und schon kann er den ein oder anderen Desktop PC ersetzen. Ok, Speicherkarte nicht zu vergessen. Je nachdem wofür man ihn einsetzen möchte gibt es auch bereits vorgefertigte Distributionen von Linux die sich speziell auf diesen Aufgabenbereich konzentrieren. Beispiele wären hier OpenELEC und RaspBMC (Media Center via KODI – ehemals XBMC), aber auch die "offizielle" Distribution Raspbian (auf Debian basierend) kann man für alle Zwecke von Hand selbst konfigurieren und nach seinen Wünschen anpassen.

Mittlerweile gibt es die Himbeere (Raspberry übersetzt ins Deutsche) in verschiedenen Ausführungen, jeweils auf den neusten Stand der Technik gebracht. Im Bild oben sind 3 verschiedene Modelle; der Pi (1) B, der Pi 2 B und der Pi Zero, welcher sich eher als Steuerungscomputer eignet statt als z. B. Media Center. Die Unterschiede stehen auf der Wikipedia Seite schön aufgelistet.

Was kostet der Spaß?

Das ist unterschiedlich. Die gängigen Modelle wären noch:

  • Raspberry Pi (1) A+ – ~ 23€
  • Raspberry Pi (1) B+ – ~ 28€
  • Raspberry Pi 2 B – ~ 38€
  • Raspberry Pi Zero – 5$

Man sollte nicht vergessen dass alle Modelle "nackt" daher kommen. Also kein Gehäuse, keine Kabel, kein Netzteil, nichts. Als Netzteil kann man jedes x-beliebige USB Netzteil nehmen, ein aktiver USB Hub tut's auch. Die bekommt man incl. Kabel teilweise schon für unter 3€. Maus, Tastatur weiß jeder bestimmt selbst. Für die Ersteinrichtung wird beides benötigt (idealerweise), soll er nachher nur im Netzwerk Aufgaben erfüllen müssen diese natürlich nicht angeschlossen bleiben, ebenso wenig wie der Monitor (HDMI oder Composite / Video-Out). Eine SD Karte (je nach Modell ggf. MicroSD) sollte auch dabei sein. Minimum 8GB sollte sie haben. Ich rate hier stark an lieber etwas mehr Geld auszugeben (z. B. für eine Samsung EVO+) statt seine Hoffnungen in Billigkarten zu investieren und enttäuscht zu werden wie ich. Ich möchte hier keine Negativwerbung machen, aber der Name klang wie intensiv.

Wie jetzt, der Pi Zero, 5 Dollar? Ja, richtig gelesen. Die minimalistische Version kostet tatsächlich in England nur 5$ und wurde sogar auf dem "The PiMag" als Beilage zum Magazin #40 gratis beigelegt (daher habe ich meine 2). Leider ist die Nachfrage so extrem groß dass er zum jetzigem Zeitpunkt hoffnungslos vergriffen ist. Wie viel er in Deutschland nun wirklich kosten wird (Steuern & co.) ist daher noch schwer abzuschätzen.

Welchen denn jetzt?

Das kommt drauf an was man machen möchte. Es ist ähnlich wie bei PCs auch. Anfängern rate ich eher zu dem größtem Modell, dem Pi 2 B. Damit schränkt man sich selber nicht ein und man kann erstmal alles in Ruhe ausprobieren. Später kann man denn immer noch sagen, ok, dafür reicht auch der kleinste. Grade wenn es später nur um kleine Netzwerk- oder Steuerungsaufgaben gehen soll würde sich der Pi Zero anbieten. Aber da würde ich doch schon Grundkenntnisse empfehlen mit einem seiner großen Brüder.

Steuerungsaufgaben? Wie jetzt?

Der Raspberry Pi (alle Modelle) haben einen Pin Header auf der Platine, je nach Modell 26 oder 40 Pins, die man frei ansteuern und auslesen kann. Somit lassen sich mit geringem Aufwand elektrische Schaltungen realisieren und über den Pi steuern. Vorsicht ist hierbei aber geboten: Der Pi arbeitet mit 3,3V DC. Er verkraftet nicht mehr und kann über den Port auch nicht viel Strom liefern. Um also z. B. Relais anzusteuern muss man eine Vorstufe einplanen (Transistor oder FET) welche dann die Relais ansteuern. Es gibt auch fertige "Hüte" (Hat aus dem englischem übersetzt) die bereits mit Relais, Sensoren, diversen LEDS, … ausgestattet sind. Den Möglichkeiten sind hier nahezu keine Grenzen gesetzt, vom Smart-Home bis hin zum Ambilight über Robotik, alles möglich und schon gemacht. Raspberry an der Kaffeemaschine und App auf dem Handy damit der Kaffee fertig ist wenn man zuhause ankommt? Schon gesehen.

Klar, dieses Thema braucht etwas Erfahrung im Elektronik Bereich, aber zum Glück nicht allzu viel, da sehr vieles bereits gemacht und beschrieben ist. Man sollte am Besten in einem kleinen Rahmen anfangen. So ein paar Kabel, LEDs, Widerstände und Taster kosten fast nichts, ein BreadBoard (Steckplatine) auch nicht. Das wäre ein guter Start. Versucht euch doch mal an einer Fußgängerampel ;)

Weiteres zu diesem Thema werde ich in anderen Beiträgen posten, fürs Erste soll es an dieser Stelle reichen. In diesem Sinne frohes Schaffen :)