Warning: Constant WP_PLUGIN_URL already defined in /home/.sites/338/site1783/web/blog/wp-content/plugins/ios-icons-for-wordpress/ios-icons.php on line 31 techik | blog.nitsch.me

Die Forderungs-Pyramide – Teil 2

techik : hardware : techik : microcontroller
Donnerstag, 27. Juni 2013

Wie versprochen hier der zweite Teil über das Forderungs-Pyramiden Projekt. Diesmal möchte ich etwas näher auf die Hardware eingehen, aus der das Eingabepanel für die Steuerung des Rapsberry Pi besteht.
Den Kern bildet ein Arduino Micro, ein Mikrocontroller Board basierend auf Atmels ATMega32U4.
Es bietet 20 I/O Pins, 32kByte Speicher und 2,5 kByte SRAM, 1 KByte EEPROM, sowie einen Micro-USB-Anschluss, der eine direkte serielle Kommunikation mit einem verbundenen Computer ermöglicht.
Die Stromversorgung kann entweder über den Micro-USB-Anschluss erfolgen oder über ein externes Netzteil. In diesem Fall wähle ich die Versorgung via USB durch den Raspberry Pi, an dem das Micro-Board angeschlossen wird, und der das Board mit 5 V versorgt. Sehr praktisch ist in diesem Zusammenhang auch der 3.3 V Ausgang des Arduino Micro, bereitgestellt über einen internen Spannungsregler des Boards. Er ermöglicht mir ohne Verwendung weiterer Komponenten (Spannungsregler) den Anschluss des RFID Breakout Boards, welches mit 3.3 V versorgt werden möchte. Einzig ein Levelshifter (Pegelwandler) wird notwendig. Dazu aber mehr in Teil 3.

Die Interaktion mit dem Panel erfolgt über ein numerisches 3×4 Keypad. Diese werden als Matrix Keypads ausgeführt. Das hat den Vorteil, dass man nur Zeilen und Spalten Pins benötigt, anstelle für jede Taste einen Pin. Man benötigt also nur 7 Pins für das Matrix Keypad, im Gegensatz zu 12 Pins, wenn jede Taste gesondert verdrahten wäre.
Wenn man kein Datenblatt zu dem Keypad hat, ist ein wenig Herumprobieren notwendig. Mit dem Durchgangsprüfer des Multimeters testet man die verschiedenen Kontaktkombinationen durch, während man die Tasten drückt und notiert sich, welche Taste welche Kontakte verbunden hat. Dadurch erhält man Aufschluss darüber, welche Kontakte für die Reihen und Spalten zuständig sind.

Schema eines Matrix Keypad sowie ein rudimentärer Arduino Sketch um gedrückte Tasten via Serial auszugeben

Schema eines Matrix Keypad sowie ein rudimentärer Arduino Sketch um gedrückte Tasten via Serial auszugeben

Zu Beginn werden alle Pins, die an den Zeilen hängen, als Eingang mit Pullup Widerstand konfiguriert. Dies sorgt dafür, dass die Eingänge einen definierten Zustand haben. Es liegen +5V an und beim Auslesen würde man HIGH zurück bekommen. Die Pins für die Spalten werden zunächst ebenfalls als Eingang mit Pullup definiert. Nun wird in Reihenfolge jeweils ein  Spalten-Pin kurz als Ausgang und auf LOW geschaltet und überprüft, ob einer der Zeilen-Pins beim Auslesen LOW zurück gibt. Aus der Information welche Spalte man gerade als Ausgang auf LOW gesetzt hat und der Zeile des Eingangs-Pins, der LOW zurück liefert, weiß man, welche der 12 Tasten gerade gedrückt ist.
Natürlich müsste man sich auch noch um das Entprellen der Tasten kümmern, eine kleine State Machine (Endlicher Automat) bauen um besser mit den wechselnden Zuständen der Tasten zurecht zu kommen, etc…
Wenn man so eine Abfrage von Matrix Keypads noch nie gebaut hat ist das sicherlich eine interessante Erfahrung und ein Spaß, aber Gott sei Dank gibt es im Arduino Playground eine Library die all diese Dinge bereits erledigt.

In Teil 3 geht es dann um das LCD Display und das RFID Break Out Board.

 

 

 

Warning: Attempt to read property "comment_content" on null in /home/.sites/338/site1783/web/blog/wp-includes/comment-template.php on line 1024
Kommentare deaktiviert für Die Forderungs-Pyramide – Teil 2

Die Forderungs-Pyramide – Teil 1

darts : techik : hardware : techik : microcontroller
Dienstag, 25. Juni 2013

Nach längerer Abstinenz bedingt durch einigen Freizeitstress (Go-Live der Seite des Österreichischen Darts Verband, Nova Rock, Geburtstagsfeiern und Feste, etc…) hier nun wieder ein etwas längerer Eintrag über ein Thema, das mir in den letzten Wochen untergekommen ist.
Es geht um die elektronische Unterstützung einer Forderungs-Pyramide für den Darts Verein An Sporran, basierend auf einem Raspberry Pi und einem Eingabepanel mit Tastenfeld und RFID Reader, das über ein Arduino Micro gesteuert wird. Im ersten Teil möchte ich ein wenig über die Hintergründe und Überlegungen schreiben, die zum aktuellen Aufbau und der Komponentenauswahl geführt haben.

Prolog

Forderungs-PyramideIn dem Darts Verein in dem ich Mitglied bin und regelmäßig Zeit verbringe, gibt es eine Forderungs-Pyramide, die aufgrund des bisherigen Regelwerks und mangelndem Interesse der Mitglieder leider seit langer Zeit nicht mehr “bespielt” wurde.
Das Regelwerk sah vor, dass man jemanden über sich fordern kann, diese Forderung kann, muss aber nicht angenommen werden und wenn man das Spiel gewonnen hat, wurde einfach Platz getauscht. Dabei kam es nur zu punktuellen Veränderungen in der Reihung der Mitglieder und es war überhaupt keine Bewegung im Ranking vorhanden.
Nun hat sich der Vorstand dazu entschlossen das Regelwerk der Pyramide zu überarbeiten und hat dazu – Wer errät es? Genau! – eine Arbeitsgruppe bestehend aus 4 Vereinsmitglieder nominiert diese Aufgabe zu übernehmen. ;)
Da ich nun zu den eher Langsameren gehöre, die sich zu spät ducken wenn Arbeit verteilt wird, hatte ich das Vergnügen dieser Arbeitsgruppe anzugehören.
Das Regelwerk wurde radikal überarbeitet und soll für deutlich mehr Bewegung in der Pyramide sorgen. Bei gewonnen Forderungen wird nicht mehr einfach nur Platz getauscht, nein, man reiht sich, so wie es eigentlich gehört, vor dem geforderten Spieler ein und alle nachfolgenden Spieler rücken um einen Platz hinunter. Auch sollen inaktive Spieler nach einem Zeitraum von zwei Monaten automatisch hinter allen aktiven Spielern angereiht werden, etc…
Ein relativ aufwendiges Regelwerk wenn es darum geht die Foto-Steine, die die Spieler auf der Pyramide repräsentieren, umzuhängen. Relativ schnell kam mir die Idee, den Prozess elektronisch zu unterstützen. Nur dies hat so seine Tücken, sollte das System doch robust sein und auch von weniger technikaffinen Spielern benutzt werden können.

 

Versuch und Irrtum

Am Anfang stand die Idee einen Raspberry Pi einzusetzen, diesen mit einem entsprechend großen Bildschirm versehen und in geschützter Lage gut einsehbar zu positionieren. Unser Klublokal ist ein Pub, das auch von Nichtmitgliedern frequentiert wird, daher sollte es unmöglich gemacht werden das System ohne entsprechende Berechtigung zu bedienen.
Am besten sollte die Bedienung berührungslos geschehen, als mögliche Eingabeinstrumente kamen mir SMS oder eMail in den Sinn. Auch eine Smartphone App wäre eine Möglichkeit, nur müsste man hier sowohl Android als auch iOS unterstützen. Besitzer herkömmlicher Telefone hätten aber immernoch ein Problem.

Dieser erste gedankliche Entwurf gefiel mir nach längerer Überlegung immer weniger, wie sollen Bedien-Fehler via SMS verhindert werden, der Aufwand zur Administration der Telefonnummern welche Befehle an das System senden dürfen, etc…

Als nächstes kam mir der Gedanke einfach die Spielerfotos auf der bestehenden Pyramide (siehe Foto oben) durch touch-empfindliche LCD-Displays in der selben Größe zu ersetzten, welche die Bilder der Spieler auf den entsprechenden Positionen darstellen. Man tippt auf sein eigenes Foto, tippt auf den Gegner und die Forderung ist im System hinterlegt. Dazu bräuchte man dann noch ein numerisches Tastenfeld um das Ergebnis zu erfassen, und wie von Zauberhand würden die Spieler nach erfolgter Forderung entsprechend neu gereiht werden.  Was für eine geniale Idee… bis auf: Die Sicherheit des Systems wäre durch das Schloss vor der Vitrine gegeben, so wie es jetzt schon vorhanden ist. Die bestehende Regelung funktioniert zwar nicht perfekt aber meistens lässt sich der Schlüssel auffinden. Viel schwerer aber wiegen die Kosten. Selbst wenn man die Displays direkt beim Chinesen bestellt, wäre der Betrag doch zu hoch für den Verein. Aber das Konzept bleibt in der Schublade, vielleicht findet sich ja mal ein Sponsor dafür. ;)

Einzig der Einsatz eines Tastenfeldes aus der vorangegangenen Idee erschien brauchbar, es kostet nicht viel, ist halbwegs robust und jeder kann damit umgehen. Man könnte sich mittels eines Pin anmelden um danach einzugeben wen man gerne fordern möchte (Nummer des Gegners im aktuellen Ranking). Allerdings widersprach der Pin einer weiteren Forderung, die ich mir für das System gestellt habe, nämlich einen möglichst geringen administrativen Aufwand. Bei ca. 50 Mitglieder werden so einige regelmäßig ihren Pin vergessen. Keine gute Idee. Auch könnte so ein Pin ausgespäht werden und dann damit Schindluder betrieben werden. Und nein, ich bin nicht übermäßig paranoid.

Und nur den Zugang zum Tastenfeld physisch einzuschränken, indem man es in der Glasvitrine anbringt, in der jetzt die Fotos in Pyramiden-Form hängen, bedeutet wieder, dass der Schlüssel zu der Vitrine zugänglich sein muss, ein Problem dass auch bei dem Konzept mit der LCD-Display Pyramide bestanden hätte.

RFID Karte und Schlüsselanhänger

RFID Karte und Schlüsselanhänger

Die Lösung für das Authentifizierungs-dilemma bot sich im Einsatz von RFID Karten bzw. Schlüsselanhängern. Diese sind relativ günstig zu bekommen, robust, einfach zu handhaben und können jederzeit mitgeführt werden. Einfach die Karte oder den Schlüsselanhänger an das Lesefeld halten und über das Tastenfeld die Forderung oder das Ergebnis einer Forderung eingeben. Einfacher ginge es nur noch mit implantierten RFID Chips. ;)
Die Entscheidung ob Karten oder Schlüsselanhänger benutzt werden muss noch getroffen werden. Karten könnte man bedrucken, Schlüsselanhänger könnten mit dem Vereins Logo versehen werden und wären sicher auch nicht schlecht.

 

Ein brauchbarer Kompromiss

Aus allen vorangegangenen Überlegungen ist ein, so wie ich denke, brauchbarer Kompromiss herausgekommen, der in Sachen Robustheit und Einfachheit den Anforderungen an so ein System im “öffentlichen Raum” gewachsen sein sollte.

Das Herz des Systems bildet ein Raspberry Pi. Dieser kann einfach via HDMI an einen beliebigen Monitor/Fernseher angeschlossen werden und bietet Full HD Auflösung zur Darstellung der Pyramide bzw. Rangliste. Die Software dafür wird in Python entwickelt, für die einfache Funktionalität ist das vollkommen ausreichend. Weiters können neben der Rangliste auch noch Termine und Ankündigungen des Vereins darüber angezeigt werden.

Verbunden wird der Raspberry Pi via WLAN USB Dongle mit dem Internet und ist so in der Lage, die aktuelle Rangliste auch mit der Homepage des Darts Vereins abzugleichen. Ebenso sollen neue Spieler über die Benutzerverwaltung der Homepage erstellt werden und automatisch auf das Ranglistensystem übertragen werden können.

Breadboard Aufbau

Breadboard Aufbau

Das Tastaturfeld und der RFID Reader werden in einem extra Gehäuse zusammen mit einem Arduino Micro und einem einfachen LCD-Display verbaut und mittels USB mit dem Raspberry Pi verbunden. Im Moment existiert nur ein auf einem Breadboard aufgebauter Prototyp der als Entwicklungsplattform herhalten muss.
Wird ein autorisierter RFID Chip erkannt wird das Tastenfeld freigeschaltet und am LCD-Display erscheint ein Menü mit möglichen Aktionen, wie zum Beispiel eine Forderung eingeben oder das Ergebnis der Forderung bekannt machen. Die Eingaben werden an den Raspberry Pi übertragen und dieser aktualisiert die Pyramiden-Rangliste entsprechend.
Nachdem bei einer Forderung auch ein Euro an die Vereinskasse zu entrichten ist, welcher als Guthaben auf das Nenngeld des jährlich stattfindenden großen Turniers der Vereins wieder rückerstattet wird, wäre es eventuell auch eine Überlegung wert, diese Transaktionen ebenfalls über RFID abzuhandeln. Zum Beispiel könnte ich mir beim Kassier 10 € Guthaben auf mein “Vereinskonto” buchen lassen, und davon gleich beim Eingeben der Forderung den notwendigen Euro wieder abziehen lassen. Dies wäre aber erst in einer späteren Phase sinnvoll, wenn sich das Forderungssystem bewährt hat und auch häufig genutzt wird.

Als RFID Reader nutze ich das PN532 NFC/RFID controller breakout board von Adafruit, eine brauchbare, fertige Lösung mit Libraries für Arduino und eingebauter Antenne. Das Board kann über SPI, I2C oder UART angesprochen werden.
Das Tastaturfeld und das 4×20 LCD Display stammen von Conrad, wobei ich das LCD Display eventuell noch gegen eines mit LED Beleuchtung austauschen möchte.

In meinem nächsten Blogeintrag werde ich ein wenig mehr über Aufbau und Ansteuerung der Hardware erzählen.

Warning: Attempt to read property "comment_content" on null in /home/.sites/338/site1783/web/blog/wp-includes/comment-template.php on line 1024

Lets get Kinected

techik : hardware : techik : software
Sonntag, 7. April 2013

Microsoft Kinect

Obwohl ich keine X-Box 360 besitze hat mich die Kinect Bewegungssteuerung seit ihrer Markteinführung Ende 2010 schon immer fasziniert. Mit Spannung habe ich die Berichte über die verschiedenen Forschungsprojekte und Initiativen verfolgt, die zum Ziel haben neue Wege der Interaktion zwischen Mensch und Computer zu realisieren. Dabei geht es weniger darum klassische Anwendungen auf dem PC durch herumfuchteln zu steuern, sondern vielmehr um sehr spezialisierte Anwendungen etwas bei Präsentationen, Displays in Operationssälen, etc…
Nicht weiter verwunderlich ist, dass kurze Zeit nach dem Erscheinen der Kinect bereits ein Treiber für die Anbindung unter Linux verfügbar war.
Die Open Source Projekte Open Kinect und OpenNI treiben die Entwicklung von Open Source Libraries massgeblich voran. Auch ein Hardware Clone der Kinect, das Asus Xtion ist verfügbar, gemeinsam entwickelt mit PrimeSense, die auch das Referenzdesign der Kinect erstellt haben.

Kinect Fusion 3d Scan

Aber die Kinect kann nicht nur zur Erkennung von Personen und deren Bewegung dienen, man kann sie auch als einfachen 3d Scanner benutzen. Eine hervorragende Ergänzung also zu einem 3d Drucker und das letzte Argument für mich mir endlich eine Kinect zuzulegen.

Bisher hatte ich leider wenig Zeit damit herum zu experimentieren, doch das Kinect Toolkit macht nach kurzer Zeit deutlich welches Potential in der Kinect steckt. Mit Kinect Fusion kann man schon recht beeindruckend die Möglichkeiten der Kinect als 3d Scanner austesten. Der Scan kann als stl oder obj File gespeichert und in Meshlab begutachtet und überarbeitet werden.

Eine spannende Sache, ich werde weiter berichten… stay tuned…

Warning: Attempt to read property "comment_content" on null in /home/.sites/338/site1783/web/blog/wp-includes/comment-template.php on line 1024

Was lange währt wird endlich Drucker…

techik : microcontroller : techik : reprap
Dienstag, 2. April 2013

MendelMax mit Gewindestangen in der Z-Achse und Riemen + Schlitten in X- und Y-AchseWie versprochen hier die Fortsetzung über den Baufortschritt des MendelMax.

Letztes Wochenende konnte ich den Drucker noch samt Mechanik zusammenstellen und soweit vorbereiten dass nur noch die optischen Endstops, der Extruder und die restliche Elektronik angebaut werden müssen. Davor musste ich noch etwas Zeit investieren damit der Rahmen tatsächlich sauber rechtwinkelig ist, hier ist Geduld und Genauigkeit gefragt, die Kunststoffteile an den Ecken sind halt eben nur aus Kunstoff.

Unter der Woche fand ich an ein paar Abenden Zeit mich der Elektronik zu widmen. Betrieben wird der MendelMax von einem Arduino Mega 2560 mit einem aufgesetzten RAMPS (RepRap Arduino Mega Pololu Shield).

Links das Arduino Mega, rechts das RAMPS ohne PololuMeine Version des RAMPS ist 1.3, das bedeutet eine überschaubare Menge an Einzelteilen die auf die Platine gelötet werden. Beim RAMPS 1.4 sind lediglich die Widerstände und Kondensatoren als SMD Bauteile ausgeführt, im Gegensatz zur Version 1.3.
Zusätzlich zu dem RAMPS müssen noch die 4 Pololu Stepper Driver Boards zusammengelötet werden, die dann auf dem RAMPS Platz finden. Dies beschränkt sich aber auf ein paar Stiftleisten, hier sollte man nur auf die Ausrichtung achten, damit die Pololus nachher klaglos in die Sockel passen. Selbiges trifft im Übrigen auch auf das RAMPS zu, das nachher sauber in die Sockel des Arduino Mega passen sollte.

Arduino Mega mit RAMPS und PololusDie Logik, sprich das Arduino wird mit 5 Volt versorgt, für die Schrittmotoren, sowie das beheizte Druckbett und den Extruder braucht es etwas mehr. Hier verwende ich ein 400 Watt Computernetzteil. Dieses sollte zumindest in der Lage sein 16 Ampere zu liefern und wird über die Schraubklemmen am RAMPS doppelt angeschlossen.

Als Firmware für das Arduino habe ich jetzt mal Sprinter aufgespielt, möchte mir aber in weiterer Folge Marlin ansehen. Auf dem  Host habe ich Printrun installiert. Damit kann der Drucker über G-Codes gesteuert werden.

Zukunftsvision wäre hier einen Raspberry Pi einzusetzen, der via http gesteuert wird und als Host dient. Beim Recherchieren habe ich da schon einiges im Netz dazu gefunden, allein es fehlt an der Zeit…

Bereit für den ersten DruckAm Osterwochenende stand dann das Konfigurieren der Firmware sowie das Kalibrieren des Druckers an, unterbrochen durch familiäre Verbindlichkeiten, die sich an solchen Feiertagen nunmal ergeben.
Also wurden die Opto-Endstops ausgerichtet, sowie das Druckbett in eine absolut Waagrechte in Relation zum X-Schlitten gebracht, um eine konstante Entfernung der Extruderspitze zum Druckbett auf allen X/Y Koordinaten zu gewährleisten.
Weiters gilt es die notwendigen Motorsteps pro Millimeter zu ermitteln, sowie die genaue Extruder Geschwindigkeit festzustellen, damit genau die richtige Menge Filament durch das Hotend gedrückt wird. Hotend bezeichnet man die beheizte Düse am Ende des Extruders. Diese erwärmt das Filament bis es als zähflüssige Masse durch das nachkommende Material herausgepresst werden kann.
tja... das musste sein ;)Hilfreich bei der Kalibrierung, darum möchte ich es hier nicht vorenthalten, war Triffid Hunter’s Calibration Guide.
Danach ging es ab zu Thingiverse um passende Objekte für die ersten sauberen Druckversuche zu finden.

Es ist noch nicht alles perfekt eingerichtet, aber jetzt sind es nur noch Kleinigkeiten bzw. Parameter die geändert werden müssen. Aber im großen und ganzen bin ich sehr zufrieden mit dem Ergebnis bisher. Es ist schon ein faszinierendes Gefühl auf diese Art Dinge herstellen zu können, einfach so…

Wenn alles richtig sauber läuft werde ich wohl als erstes Ersatzteile für meinen Drucker drucken, bzw. einige Dinge verbessern. Unter anderem möchte ich auf der Y-Achse einen besseren Riemenspanner, sowie die Endstop Halter und Endstop Trigger etwas optimieren. Auch der Idler für die X Achse bedarf einiger Veränderungen. Ich habe festgestellt, dass da doch sehr viel Bewegung drin ist, die besser nicht da sein sollte.

Hier noch ein Video-Zusammenschnitt der ersten halbwegs sauberen Teile.

So, stay tuned…

Warning: Attempt to read property "comment_content" on null in /home/.sites/338/site1783/web/blog/wp-includes/comment-template.php on line 1024

Look! It’s a printer!

techik : reprap
Samstag, 23. März 2013

2013-03-20-0147Diese Woche kam mein neuestes Spielzeug mit der Post an. Ein Haufen Einzelteile für einen 3d Drucker. Genauer gesagt für einen MendelMax, ein 3d Drucker aus der Familie der RepRap.

RepRap steht für Replicating Rapid Prototyper. Erfinder der RepRap ist der Brite Adrian Bowyer, der das RepRap Projekt 2005 aus der Wiege gehoben hat und unter GNU General Public License gestellt hat. Die Idee dahinter ist, dass ein Drucker die für seinen Bau benötigten Kunststoffteile selbst herstellen kann und sich somit selbst repliziert. Die restlichen Bauteil wie zum Beispiel Gewindestangen, Aluminiumprofile oder Schrittmotoren sind weltweit erhältlich und relativ kostengünstig.

2013-03-20-0149Nichtsdestotrotz habe ich mich für meinen ersten Versuch an 3d Druckern für einen Bausatz entschlossen, der alle notwendigen Teile enthält. Hier wird man in Österreich bei reprap.cc fündig.
Natürlich kann man neben den Bausätzen auch von verschiedenen Herstellern gleich einen fertig gebauten 3d Drucker beziehen, jedoch wird es dann ein wenig teurer, und es erscheint mir doch etwas unsportlich.

Gestern Abend hatte ich endlich Zeit mit dem Bau zu beginnen, zumindest der Rahmen ist fertig und macht einen recht soliden Eindruck.

2013-03-22-0158Wer mehr über das Thema RepRap erfahren möchte, dem Empfehle ich folgende Links:

reprap.org – RepRap Wiki

reprap.org/wiki/Build_A_RepRap

reprap-wien.org – Wiener Selbsthilfegruppe für 3d Drucker

thingiverse.com – Tausch Plattform für Open Source Druck Objekte

Und natürlich werde ich hier weiter über meine Baufortschritte berichten.

Warning: Attempt to read property "comment_content" on null in /home/.sites/338/site1783/web/blog/wp-includes/comment-template.php on line 1024

Arduino Pinout Diagramme

techik : microcontroller
Donnerstag, 21. März 2013

Arduino-Pinoutv2_2Geniale Pinout Diagramme zu Arduino Uno und anderen Atmel Chips hat der Forenuser pighixxx (www.pighixxx.com) unter der Creative Commons Lizenz erstellt und im Arduino Forum  gepostet.

Eine klevere Idee ist auch das Diagramm des Arduino Uno im Masstab 1:1 auszudrucken, zu laminieren, und dann das Arduino Uno darauf zu verschrauben, wie er in einem darauf folgenden Foren Post weiter erläutert.

Somit hat man alles im Überblick während dem Basteln, sehr smart.

Warning: Attempt to read property "comment_content" on null in /home/.sites/338/site1783/web/blog/wp-includes/comment-template.php on line 1024

In den Eingeweiden des Mac mini

techik : hardware
Mittwoch, 13. März 2013

mac-mini-zerlegtEigentlich wollte ich meinem Mac mini ein SSD Laufwerk spendieren, stolperte dann aber über eine neue Technologie von Apple, die seit OSX 10.8 verfügbar ist, nämlich das Fusiondrive. Hierbei wird eine SSD und eine herkömmliche Festplatte zu einem logischen Laufwerk kombiniert. Jedoch fungiert hier die SSD nicht wie bei anderen Laufwerken als Cache, sondern Core Storage, so heißt der Volume Manager in OSX, verteilt die Inhalte so, dass das Betriebssystem und oft benötigte Programme auf der SSD sind. Klar, kann man sich auch selbst drum kümmern, aber typisch für Apple: es wird vorhandene Technologie herangezogen, neu durchgemischt und so aufbereitet, dass sie einfach und ohne tiefere Kenntnisse einsetzbar ist. Ein gelungener Kompromiss zwischen Performance und Kapazität, wie ich finde.

Also, man nehme einen Mac mini, besorge sich ein eine SSD Festplatte, in meinem Fall eine Samsung 840 Pro mit 128 GB, dann braucht man noch ein Anschlusskabel, dass bei OWC Data Doubler heißt, oder bei iFixit Dual Hard Drive Kit genannt wird, nehme die Online Anleitung von iFixit zur Hand, und los geht es. Ach ja, vorher ein Backup zu machen wäre sehr zu empfehlen. Ich hab einfach Time Machine Backups über mein NAS laufen, da kann wenig passieren.

iFixit-Dual-Hard-Drive-KitIch habe mich für das Dual Hard Drive Kit von iFixit entschieden, da gibt es auch einen deutschen Distributor (Mac Speichershop). Das ganze kommt dann auch mit einem netten 26 teiligen Bit Schraubendreher Set, sehr nett, kann man immer brauchen.

Nachdem der Mac mini komplett ausgeweidet wurde kann man die SSD Platte einbauen und dann quasi in umgekehrter Reihenfolge alles zurück bauen.

Wenn man alles richtig gemacht hat und den Power Knopf drückt kommt man dann auch mit cmd-R in den Wiederherstellungsmodus. Das Festplattendienstprogramm war bei mir witzigerweise sehr voreilig und hat aus den beiden Festplatten gleich mal eine logische Volumegruppe gemacht, ich dachte OK, und dann war die Wiederherstellungs Partition weg. Alles kein Problem, es gibt ja die Internetwiederherstellung, mit etwas Langmut hat man nach einiger Zeit wieder ein funktionierendes System.

Zur Sicherheit habe ich, bevor ich die Internetwiederherstellung angestoßen habe die Volumegruppe gelöscht und über das Terminal mit diskutil die Volumegruppe sowie die Partition zu Fuß nocheinmal angelegt.

Wenn OSX läuft fehlt eigentlich nur noch eines, nämlich den Trim Support zu aktivieren. Moderne SSDs haben zwar ihre eigenen Garbage Collection Mechanismen, trotzdem setze ich lieber auf Trim. Doch Apple aktiviert Trim nur bei ihren eigenen “Brandet” SSDs in den Build to Order Geräten.

Dazu fand ich folgende Variante, die unter OSX 10.8.2 bzw. OSX 10.8.3 funktioniert. Dazu öffnet man das Terminal und gibt folgende 3 Befehlszeilen ein:

sudo cp /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage.original

sudo perl -pi -e 's|(\x52\x6F\x74\x61\x74\x69\x6F\x6E\x61\x6C\x00{1,20})[^\x00]{9}(\x00{1,20}\x54)|$1\x00\x00\x00\x00\x00\x00\x00\x00\x00$2|sg' /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage

sudo touch /System/Library/Extensions/

Danach rebooten und die Einstellung in der Systemübersicht kontrollieren. Fertig ist der Mac mini mit Eigenbau Fusion Drive, lt. Diskspeed Test mit Schreibwerten von 365MB/s und Lesewerten von 480MB/s …

Warning: Attempt to read property "comment_content" on null in /home/.sites/338/site1783/web/blog/wp-includes/comment-template.php on line 1024

Frischobst… jetzt ist es doch passiert

techik : hardware : techik : software
Sonntag, 10. März 2013

mac-miniSeit Monaten spiele ich mit dem Gedanken mir einen Mac zu kaufen. iPad und iPhone sind ja schon seit langer Zeit meine täglichen Begleiter, der Plan selbst Apps hierfür zu schreiben ist schon lange vorhanden, also muss so ein OSX Wunderwuzi ins Haus. Dann aber wieder die Zweifel ob ich  Zeit finden werde dafür, billig sind die Apfelgehäuse auch nicht gerade, es war ein ewiges hin und her und ein ständiges Abwägen. Doch jetzt habe ich mich doch dazu durchgerungen und mir einen Mac mini geholt, “da ist nicht viel verhaut” dachte ich mir.

Tja, was soll ich sagen, fauler Apfel oder doch die Verführung vom Baum der Erkenntnis?

Weder noch. Ich muss gestehen dass ich, seit dem ich den Mac habe, meinen PC kaum mehr benutze.
Trotzdem gibt es Dinge die ich wohl weiterhin auf dem PC erledigen werden, einfach weil ich damit flotter und schmerzfreier zurecht komme. Dazu gehören Arbeiten in diversen IDEs (z.B. Atmel Studio 6, Eclipse), und eben jene Programme, für die es unter OSX keine Entsprechung gibt. Über die XCode IDE von Apple kann ich noch nicht viel berichten, hierzu wird wohl ein eigener Blog Eintrag fällig.

Wirklich gut finde ich die Magic Mouse. Die Gesten Steuerung über die Multi-touch berührungsempfindliche Oberfläche ist intuitiv und wirklich praktisch. Dafür geht mir die Apple Tastatur ein wenig auf den Nerv. Ist immer ein wenig ein Ratespiel wo sich den welches Sonderzeichen befindet. Keine Ahnung ob dies bei der englischen Tastatur auch der Fall ist, die deutsche Tastatur ist meiner Meinung nach zum Entwickeln, wo man schon mal einen Backslash zum Escapen braucht, echter Mist. Hier gibt es sicherlich Abhilfe, ich habe mich allerdings noch nicht damit beschäftigt.

Das Nächst wird sein, dass ich meiner Neugier freien Lauf lasse, den Mac mini zerlege und ihm eine SSD Festplatte spendiere. Wobei ich sagen muss, dass das System schon mit der herkömmlichen Festplatte wirklich flüssig läuft.

Warning: Attempt to read property "comment_content" on null in /home/.sites/338/site1783/web/blog/wp-includes/comment-template.php on line 1024

…und jetzt gibt es noch einen Blog

techik : internet
Samstag, 9. März 2013

Lange hat es gedauert bis auch ich mich der Eselei hingebe einen Blog zu führen. Nun ist es geschehen. Hauptsächlich möchte ich hier meine privaten Projekte dokumentieren.
Bin ja schon mal grundsätzlich gespannt wie lange und in welchem Ausmaß ich diesen Blog führen werde, und wann es mir zu blöd wird.

Nachdem ich relativ günstig den Web Space zur Verfügung habe, nutze ich diesen nun auch. Für den Blog nutze ich WordPress mit einem minimalistischen, selbstgestrickten Template basierend auf dem responsive Front-End Framework Twitter Bootstrap.
Sehr spannend fand ich den Aspekt Social Media in den Blog mit einzubinden, jedoch gibt es hier einige Diskussionen bezüglich Datenschutz im Netz. Denn alleine beim Laden der Buttons werden bereits Daten übermittelt, die eine Verfolgung der Nutzer durch das Internet ermöglichen. (siehe Artikel auf Heise.de) Abhilfe schaffen hier sogenannte 2-Klick Buttons, die ich hier einsetze. Eine Umsetzung dieses Konzepts gibt es als fertiges Plugin für WordPress.

Tja, somit wäre die “Premiere” des ersten Blog Eintrags erledigt, Fortsetzung folgt…

Warning: Attempt to read property "comment_content" on null in /home/.sites/338/site1783/web/blog/wp-includes/comment-template.php on line 1024