Archiv der Kategorie: Computer

Primzahlen berechnen

Vor wenigen Tagen bekam ich eine (größere) Primzahl mit 91 Stellen vorgelegt.

Das weckte meinen Ehrgeiz: Bis zu welcher Größe kann man denn auf einem RaspberryPi und mit Python Primzahlen im Sekundenbereich berechnen/finden oder bestätigen?

In meinen Tests konnte ich für Zahlen bis 1.000.000.000.000 relativ locker ausprobieren, ob es sich um eine Primzahl handelt oder nicht, bei 3 Nullen mehr sollte ich mir dann einen Kaffee gönnen ……

Das “Sieb des Eratosthenes” gelingt auf dem Raspberry bis 9.999.999 recht gut, die erzeugte Liste hat dann 664579 Primzahlen und benötigt ungefähr 40 MByte Speicher. Damit kann man bequem 7-stellige Zahlen in ihre Primfaktoren zerlegen oder 14-stellige Primzahlen testen. Und auch ein Laie wie ich kann den Ansatz nachvollziehen.

Falls man mal eine Primzahl braucht, kann man mit diesen einfachen Verfahren einen Bereich von Zahlen testen und findet dann auch relativ schnell eine Primzahl im gewünschten Größenbereich.

Allerdings fehlen mir immer noch gut 70 Stellen zur vorgegebenen Primzahl ….

Vielleicht sollte ich mich mal mit speziellen Verfahren für größere Primzahlen beschäftigen. Zum Beispiel mit Mersenne-Primzahlen und dem dazu passenden Lucas-Lehmer-Test.

Ein Konto (Account) im Internet

Im Internet ist häufig von einem Konto (oder Account) die Rede, das man für irgendetwas braucht und deswegen anlegen sollte. Was ist das aber? Und wozu braucht man das?

Ein Konto ist meist der Einstiegspunkt zu Leistungen und Dienstleistungen, die mir eine Firma oder ein Verein im Internet anbietet. Ich werde also Kunde im weitesten Sinne und darf dann meine Geschäfte mit diesem Anbieter “online” abwickeln. Die Mitgliedschaft in einer bestimmten Gruppe kann man auch als eine spezielle Form eines Kontos ansehen.

Als Kontoinhaber bekommt man entweder eine Kundennummer zugeteilt und/oder man darf sich einen (noch nicht vergebenen) Benutzernamen aussuchen. Häufig wird einem vorgeschlagen, die eigene Email-Adresse (die ist ja weltweit einmalig) als Kundennamen zu verwenden. Bei der Erstanmeldung (Registrierung) muss man manchmal zusätzliche Daten zu seiner Person angeben, manchmal werden diese auch überprüft und manchmal muss auch eine Firma die Identifikation gründlich vornehmen. Häufig wird dabei das Verfahren “Postident” angewandt. Dann bringt der Briefträger mir einen Brief mit den Zugangsdaten und kontrolliert dabei meine Identität durch das Vorzeigen eines amtlichen Ausweises. So ein Verfahren ist bei Themen rund um den Jugendschutz und bei Telefonverträgen meist vorgeschrieben.

Es kann sein, dass man bei späteren Telefonaten mit dem Kontoanbieter nach den hinterlegten Daten gefragt wird, um die Identität des Anrufenden zu überprüfen. Typische Kontrollfragen sind das Geburtsdatum, der Geburtsort, der Name des Haustiers, der Vorname der Mutter usw.  .

Wenn also ein seriöser Anbieter den Namen ihres ersten Haustiers wissen will, dann will er Sie sicherlich nicht mit personalisierter Katzenwerbung belästigen. Sondern es sind Vorbereitungen für spätere Sicherheitsfragen. Bei einem Tierfutterhersteller könnte das allerdings auch andere Gründe haben …..

Man sollte auch daran denken, diese Daten zu aktualisieren. Gründe gibt es viele: Umzug, neue Handynummer, neue Email-Adresse ….

Zu jedem Konto gehört auch ein Passwort, das man sich in der Regel selbst aussuchen darf. Manchmal macht der Anbieter auch Vorschriften und erlaubt nur bestimmte (sichere) Passworte. Ein Konto hat also in der Regel ein Passwort. Und es gibt den guten Rat, für jedes Konto ein anderes Passwort zu vereinbaren.

T-Online z.Bsp. kennt zwei Ebenen von Passworten. Die Ebene mit dem (Haupt)-Passwort darf alles, auch Passworte verändern, die andere mit dem Email-Passwort nur Emails abholen und senden.

Häufig muss man sich noch einmal zusätzlich mit seinem Passwort ausweisen, wenn man im sicherheitsrelevanten Teil Änderungen vornehmen will. Und/Oder man wird über solche Änderungen auf dem hinterlegten Nachrichtenweg informiert.

In manchen Fällen wird auch eine “Zwei-Faktor-Authentifizierung” verlangt, das ist dann meist ein Passwort und ein Identifizierung mit einer anderen Logik, z.Bsp. Besitz (EC-Karte), ein Schlüsselgenerator, ein Handy oder es sind meine biometrischen Daten.

Manche Plattformen erlauben auch Einmaltransaktionen ohne eine richtige Registrierung. Diese Möglichkeiten benutze ich meist dann, wenn es sich wirklich um einen Einmalvorgang handelt.

Besonders störend ist der Begriffswirrwarr im Umfeld dieser Techniken. Die Sparkasse spricht von “Anmeldename” und “PIN”, die HUK24 von “Benutzerkennung” und “PIN”. Und Amazon von “Email-Adresse oder Mobiltelefonnummer” und “Passwort”, die Bahn von “Benutzername” und “Passwort”. Auch die Symbole zum Anmelden und (zum noch wichtigeren) Abmelden sind unterschiedlich und an unterschiedlichen Stellen platziert.

Der Begriff “Anmelden” steht meist für das Benutzen eines schon vorhandenen Kontos, “Registrieren” führt einem den Weg zum Erstellen eines Kontos.

Typische Konten:

Mein (Email-) Konto bei GMX. Hierüber wickle ich meine Emails ab und kann auch eine bestimmte Menge SMS kostenfrei versenden. Auch Faxen ist möglich. Innerhalb dieses Kontos haben wir dann mehrere Mail-Adressen.

Mein Konto bei der Sparkasse. Das hat eine eigene Benutzerkennung, die nicht mit meinem Girokonto identisch ist. Unter diesem Konto kann ich dann mehrere traditionelle Konten bei der Sparkasse verwalten, z. Bsp. Giro, Festgeld, Wertpapiere, Eurocard. Bei Überweisungen greift noch eine extra Sicherung mit PIN-Nummern.

Mein Konto bei der Rheinpfalz. Hier kann ich als registrierter und zahlender Kunde die aktuellen Ausgaben der Rheinpfalz im PDF-Format lesen.

Mein Konto bei der Pfälzischen Landesbibliothek. Hier kann ich Bücher bestellen und Verlängerungen buchen, abholen muss ich die Bücher aber selbst.

Mein Konto bei der ONLEIHE Rheinlandpfalz. Hier kann ich Bücher und Zeitschriften direkt auf meinen PC oder mein Bookreader herunterladen.

Mein Konto bei Adobe. Hierüber habe ich das Recht, die mit dem DRM-System von Adobe verschlüsselten Bücher in meiner Gruppe zu lesen.

Mein Konto bei der Bahn. Hier kann ich bequem Fahrkarten kaufen und mir die Punkte auf im Bonusprogramm gutschreiben lassen.

Mein Konto bei Google. Hierüber nutze ich den Datenaustausch zwischen Smartphone und meinem PC und darüber kaufe ich kostenfreie oder kostenpflichtige Apps für mein Smartphone.

Mein Konto bei Vodafone. Hier kann ich meine Rechnungen einsehen oder Optionen zum Tarif hinzu- oder abbuchen.

Mein Konto bei WhatsApp. Hierdrüber wickle ich Kurznachrichten und Bilder mit Freunden ab, die auch ein Konto bei Whatsapp haben.

Mein Konto bei KOMOOT. Hierüber zeichne ich meine Wanderungen und Radtouren via App auf dem Handy auf und kann sie mir anschließend auf dem PC ansehen.

Mein Konto bei Microsoft. Hierüber ist mein PC bei MS registriert und ich kann auch den Store für neue Programme benutzen (ähnlich wie bei Google).

Mein Konto bei der HUK24. Hierdrüber kann/muss ich meine Versicherungsverträge im Selbstbedienungsverfahren verwalten und bekomme ich auch die dazugehörige Post.

Mein Konto bei der DropBox. Austausch von Bildern in Sammlungen. Bilder von den Handys zum PC.

Mein Konto bei Amazon. Einkaufen bei Amazon und den damit verbundenen Einzelhändlern.

Mein Konto bei der Uni Mannheim. Zugang zu allen Verwaltungsfunktionen rund um das Studium. Zugang zum Email-System der Uni. Zugang zu den WLAN-Systemen der Uni.

Mein Konto zum Python-Forum. Zugang zum Forum rund um die Programmiersprache Python. Ich darf dann auch aktiv mit diskutieren.

Mein Konto an meinem PC. Auch dort ist ein Konto Pflicht. Nur das kann man, wenn man will, ohne Passwort benutzen. Wenn man sonst kein Konto (keinen anderen Benutzer) auf dem PC angelegt hat sieht man diese Logik nicht. Aber sie existiert.

Die oben genannten Konten benutze ich regelmäßig.

Ich habe ungefähr noch 20 weitere Konten, die ich aber nur ganz selten brauche. Ab und zu löse ich auch Konten formgerecht auf.

Passwort vergessen, was tun?

Die Meldung “Ungültiges Passwort” ist unangenehm, kommt aber vor. Meist ist man selbst die Ursache, nur ganz selten ist es ein Fehler bei dem Kontenanbieter.

Als Erstes sollte man über die beiden Teile der Anmeldung “Benutzername und Passwort” klar werden. Habe ich den richtigen Benutzernamen, habe ich das richtige Passwort und ist meine Tastatur auch “normal”, also nicht aus Versehen auf Großbuchstaben oder Sonderzeichen umgestellt? Ich empfehle aus eigener Erfahrung relativ früh schriftlich zu notieren, welche Kombinationen von Passworten man schon ausprobiert hat. Den Zettel sollte man natürlich anschließend vernichten.

Manchmal bekommt man nur eine bestimmte Anzahl von Versuchen zugebilligt, dann folgt eine Zeitstrafe oder das endgültige Aus. Ihr Konto ist jetzt nicht weg, sondern Sie kommen nur nicht mehr hinein.

Ihr Passwort ist allerdings weg, denn kein seriöser Anbieter wird Ihnen in irgendeiner Weise Ihr Passwort sagen. Er wird Sie auch nie nach ihrem vermeintlichen/verlorenen Passwort fragen, so darf er Ihnen einfach nicht weiterhelfen. Sie müssen ab jetzt dem Weg folgen, den der Betreiber für diesen Fall vorgesehen hat und sich ein neues Passwort anlegen..

Der Betreiber will natürlich Fremde nicht dabei unterstützen, Ihr Konto so einfach zu kapern. Deswegen wird er sich zunächst vergewissern wollen, ob Sie wirklich Sie sind. Dafür greift er meist auf Fragen (und deren Antworten) zurück, die Sie irgendwie auf dem Konto hinterlassen haben. Wenn dieses Wechselspiel funktioniert und Sie über einen bequemen und sicheren Weg, den Sie nach Möglichkeit schon vorab vereinbart haben, erreichbar sind, kann er Ihnen dann per Anruf, SMS oder Email entsprechende Hilfen geben.

Manchmal verzichtet er auch auf diese Fragen und schickt ihnen gleich eine SMS oder Email mit einem Lösungsvorschlag.

In den meisten Fällen bekommen Sie ein sogenanntes Einmalpasswort oder einen Einmallink, mit dem Sie sich innerhalb einer beschränkten Zeit bei ihrem Konto anmelden und sich dabei ein neues Passwort einrichten können. Die Begriffe hierbei sind unterschiedlich, aber häufig spricht man von einem Einmalpasswort oder von einer Kontenzurücksetzung. Sehr sensible Konten haben meist komplexere Verfahren.

Jetzt haben Sie wieder ein gültiges Passwort und Ihr Konto ist wieder zugänglich. Aber das dumme Gefühl bleibt: Wie konnte ich nur mein Passwort vergessen?

Es gibt auch Programme als “Passwortsafe”, in denen kann man mehr oder weniger automatisch alle seine Benutzernamen und die dazugehörigen Passworte speichern und von dort aus benutzen. Man hat dann nur noch ein zentrales Passwort für diesen Safe.

Ergänzung im Herbst 2023 nach einer Excel-Einheit:

Oder man macht sich (z.Bsp. mit Excel) eine Liste aller seiner Konten und der dazugehörigen Passworte. Das ist eine gute Alternative zu einer einfachen Kladde.

Hier mal mein Beispiel zum Download: MeinePassworte

In Excel wurde mit einigen “Tricks” gearbeitet. Die gesamte Tabelle ist auf “Text” gestellt, damit wird das Umgestalten von numerischen Werten vermieden. Die Spalten sind in einer sinnvollen Größe voreingestellt und der “automatische Umbruch” ist aktiviert. Dadurch fallen keine Zeichen am Zellenende weg. Eine zweite Zeile kann über ALT-Eingabe erreicht werden. Die Spalten haben Überschriften und die Tabelle ist dadurch leicht und sicher sortierbar. Die Druckfunktion ist mit sinnvollen Werten vorbelegt. Die Spalte Gruppe dient zur Einstufung der Konten in sinnvolle Klassen.

Diese Excel-Tabelle sollte man allerdings wie seinen Augapfel hüten ….

Word: Mein “einfacher privater Geschäftsbrief”

Aus verschiedenen Kursen kenne ich die Frage, wie man mit Word (oder anderen Textprogrammen) einen “einfachen” aber ordentlichen privaten Geschäftsbrief schreiben kann, ohne tief in das Innere von Word einsteigen zu müssen.

Ich habe mir dafür eine Vorlage (*.dotx) geschaffen, die mit wenigen Handgriffen ein akzeptables Ergebnis für einen Fensterbriefumschlag erzielt. Man kann den Brief natürlich auch in einem üblichen Umschlag versenden …

Die Seitenränder sind alle sinnvoll eingestellt und bei mehrseitigen Schreiben erscheint auch eine Blattnummerierung (Kopf- und Fußzeile mit der Option “Erste Seite anders”). Makros werden nicht benutzt.

MeinFensterbriefDer Link: MeinFensterbrief

Die erste Seite hat 3 fixe Textfenster, eines rechts oben für die Absenderdaten bis hin zum Datum, eines links oben für die Empfängerdaten passend zum Umschlagfenster und darüber noch ein weiteres Fenster mit meinem klein gedruckten Absender, der auch noch im Umschlagfenster erscheint. Die Daten innerhalb der Fenster können unproblematisch geändert werden.

Unter dem Anschriftenfenster kann/muss dann frei weitergeschrieben werden. Ein Geschäftsbrief sollte mit einem Betreff beginnen und  mit einem Gruß, einer Unterschrift und eventuell einem Hinweis auf Anlagen enden.

Als besonderen Luxus in meinem Muster gibt es dann noch zwei ausgedruckte Faltmarken, die das genaue Falten der A4-Seite erlauben.

Ich benutze diese Vorlage als in Word eingebundenen “Dokumentvorlage”, man kann aber auch das Dokument mit Öffnen, Umbenennen und Speichern bearbeiten,  ohne viel kaputtmachen zu können.

Briefe verschickt man am besten ausgedruckt und unterschrieben, damit kann jeder leben. Wenn es per Email geschehen soll, dann am besten über eine PDF-Datei. Word-Dateien selbst gibt man nur dann weiter, wenn die aktive Mitarbeit an dem Dokument erwünscht ist.

Für Wissbegierige: Ich habe mich von der DIN 5008 leiten lassen und die Blattaufteilung nach DIN 676 Formblatt A vorgenommen.

Der Raspberry im Internet

Auf meinem RaspberryPi läuft seit einiger Zeit der WEB-Server lighttpd, ist aber nicht von außen erreichbar. Ich wollte ja nur einmal mit HTML, PHP und CGI/Python spielen …

Aber zumindest testweise wollte ich jetzt aus dem freien Internet heraus einmal erreichbar sein. Also ran an die Netzwerk-Umgebung.

Mein Ansatz: Ich bin mit meiner Fritzbox über Vodafone/KD mit dem Internet verbunden, aber hatte dort als normaler Kunde nur ein IPv6-Anschluss mit einer DS-Lite-Komponente für die IPv4-Verbindungen. Das reicht wohl in vielen Fällen aus, nicht aber, wenn man frei von außen in das Heimnetz hineinkommen will. (Zumindest bei mir ging es nicht, andere Experten bestätigten das Problem. Die Dokumentation war dort sehr schwammig.)

Ich bekam aber auf einen Anruf hin von Vodafone/KD ein “Upgrade” auf echtes Dual-Stack mit einer zugewiesenen IPv4 und einer zugewiesenen IPv6-Adresse. Dann brachten die Einstellungen in der Fritzbox den gewünschten Effekt: Anfragen am Port 80 wurden durch Portfreigabe an den RaspberryPi weitergeleitet und von dort beantwortet. Die Auflösung der immer nur temporär vergebenen Adressen habe ich über die Registrierung bei myfritz.net gelöst. Eigentlich alles ganz einfach, wenn nicht das Problem mit dem DS-Lite gewesen wäre.

Testen kann man das Ganze vom Handy aus, wenn man diesem den WLAN-Zugang zum eigenen Router sperrt. Vorsicht: Handy-Netze sind meist nur IPv4-fähig!

Wichtigste Erfahrung: In der URL-Schreibweise setzt man die IPv6-Adresse in eckige Klammern. Ich muss mich aber mit der Logik und dem Aufbau der IPv6-Adressen noch etwas beschäftigen.

Jetzt sind wieder aus Sicherheitsgründen die Zugangsmöglichkeiten aus dem Internet über die Fritzbox abgeschaltet. Man nimmt einfach einige Häkchen im Menü weg …

Datenverschlüsselung

Das Kursangebot “PGP & Co. – Die besten Verschlüsselungsprogramme” der VHS Heidelberg weckte mein Interesse an diesem Thema, obwohl ich kein großer Anhänger von “alles verschlüsseln” bin. Das Thema PGP interessierte mich schon einmal vor 15 Jahren.

Am ersten Abend bekamen wir drei Programme vorgestellt:

  • Eraser (Sicheres Löschen durch mehrfaches Überrschreiben)
  • Veracrypt (Dateiverschlüsselung und mountbare verschlüsselte Container)
  • 7Zip (Komprimieren, Zusammenfassen von Dateien, Verschlüsseln)

Unser Referent legte bei der Programmauswahl Wert auf einen offengelegten Sourcecode und misstraute kommerziellen Anbietern. Man sollte sich diese Programme einfach einmal merken.

Der zweite Abend war dann PGP gewidmet.

Folgende Stichworte sollte man dazu kennen oder kennen lernen:

  • PGP (wird aber aus Rechtsgründen nicht mehr so genannt)
  • asymmetrische Verschlüsselung (RSA …)
  • Schlüsselpaar aus einem privatem und öffentlichen Schlüssel
  • Passwort für die Schlüsselverwaltung (passphrase, keyring)
  • OpenPGP and X.509 (S/MIME) (Die Normen und das Procedere für den Schlüsselaustausch)

Wir bekamen die Installationsdatei für Gpg4win (GNU Privacy Guard for Windows) (Version 2.3.3).  Hier findet man nicht mehr den Namen “PGP”, aber das Verfahren entspicht dem PGP-Prinzip der privaten und öffentlichen Schlüssel. Die Installation lief schnell und einfach ab. Dabei wurden zwei Hauptkomponenten erzeugt:

  • GnuPG The backend; this is the actual encryption tool.
  • Kleopatra A certificate manager for OpenPGP and X.509 (S/MIME) and common crypto dialogs.

Diese klare Trennung fand ich persönlich sehr hilfreich, denn sie zeigt die typische Arbeitsverteilung eines PGP-Systems. Zum einen den Verschlüsseler und zum anderen den Schlüssel-Manager. Man arbeitet eigentlich nur mit Kleopatra, und diese lässt dann mit den jeweiligen Schlüsseln GnuPG arbeiten. Man kann mit diesen Programmen kurze ASCII-Daten über die Zwischenablage verschlüsseln. Oder man verschlüsselt ganze Dateien.

Das Grundprinzip von PGP ist immer noch die asymmetrische hybride Verschlüsselung. Man erzeugt mit Kleopatra ein Schlüsselpaar, welches aus einem privaten und einem öffentlichen Schlüssel besteht. Grundsatz: Der “private” Schlüssel wird NIE weitergegeben, der öffentliche Schlüssel kann/muss weitergegeben oder sogar veröffentlicht werden. Bei dem Vorgang “Verschlüsselung” arbeitet man mit dem öffentlichen Schlüssel des geplanten Empfängers (den braucht man) und verschlüsselt die Daten damit so, dass sie nur mit dem (passenden) privaten Schlüssel des Schlüsselpaars (also dem privaten Schlüssel des Empfängers) wieder entschlüsselt werden können. Diese Art der Verschlüsselung nennt man eine “asymmetrische” Verschlüsselungstechnik. Der eigentlich wichtige Schlüssel zum Entschlüsseln verlässt dabei den Hoheitsbereich des Empfängers nie, kann also auch unterwegs nicht abgefangen werden.

Ein Benutzer kann mehrere Schlüsselpaare erzeugen, besitzen und benutzen, und braucht natürlich auch die öffentlichen Schlüssel der Kontakte. Diese Schlüsselverwaltung ist mit Kleopatra bedienerfreundlich gelöst, kann einen aber auch verwirren.

Vorsicht: Man kann die verschlüsselten Daten auch selbst nicht mehr lesen, wenn man sich nicht selbst in den Kreis der potentiellen Empfänger eingearbeitet hat.

Es wäre aber noch schöner, wenn die PGP-Programme auch untereinander gut harmonieren würden. Denn man will ja mit Partnern verschlüsselt kommunizieren, sie dabei aber nicht zu einem vorgegebenen Programm zwingen.

In der dort eingesetzten RSA-Verschlüsselung spielen große Primzahlen eine wichtige Rolle. Und die Produkte aus großen Primzahlen. Denn es gibt anscheinend kein effizientes Verfahren, um wirklich große Zahlen in ihre Faktoren (Primzahlen) zu zerlegen. Man kann also die in einem Produkt enthaltenen Primzahlen nur sehr schwer finden.

Für mich war es letztendlich interessanter, die eigentliche RSA-Verschlüsselung stark vereinfacht in Python nachzubauen. Dort konnte man ein einfach anzuwendendes asymmetrisches Schlüsselpaar erzeugen und dann mit dem RSA-Verfahren experimentieren.

def encrypt(text_offen, pubkey, factor):
    return text_offen ** pubkey % factor

def decrypt(text_chiffr, privkey, factor):
    return text_chiffr ** privkey % factor

Das ist schon der ganze zentrale Python-Code für die Ver- und Entschlüsselung!

LED-Lämpchen NEOPIXEL WS2812 am Raspberry und Arduino

Durch einen Artikel angeregt, wollte ich die Technik von im Strang steuerbaren LED-Lämpchen erkunden. Um die Kosten niedrig zu halten entschied ich mich für 10 “nackte” LED-Lämpchen mit integriertem WS2812-Controller. Da war man mit 7 Euro bei Amazon dabei. Ein Netzteil war nicht notwendig, da der Raspberry und der Arduino mit 3 Lämpchen an dem 5V-Ausgang gut zurecht kommen.

dscn0683_aw

Die Logik des WS2812 ist eigentlich ganz einfach. Die Lämpchen entnehmen den beiden Leitungen (GND, 5V) ihren Saft und lauschen auf ein 800KHz-Signal auf dem Daten-Input. Falls sie ein Signal erkennen, interpretieren sie die ersten 3 Bytes für sich als RGB-Wert und geben die restlichen Bytes über den Daten-Output weiter. Hier kann man dann weitere Lämpchen anbauen. Eine Pause im Signalstrom ist der Reset. Das klingt einfach und genial.

Die Beinchen der LED sind lang, lang, kurz, kurz -> D-out, GND, 5V, D-in. Auf die Signalleitung bekommt der Raspberry aber nur 3,3 Volt, scheint aber zu funktionieen.

Für den Raspberry fand ich Warnungen, das könne nicht gutgehen, aber ich fand auch Treiber für diese Anwendung. Diese setzen auf der SPI-Logik des Raspberry Pi auf und modulieren in Echtzeit, soweit das auf einem Unix-System geht. Ich benutzte ein Python-Modul von https://github.com/joosteto/ws2812-spi. Dieses Modul ist selbst komplett in Python und schien mir recht einfach,

Zunächst steuerte ich ein Lämpchen an und konnte somit den Farbverlauf regeln. Danach baute ich auf meinem Mini-Steckbrett 3 Lämpchen zusammen, die ich auch erfolgreich steuern konnte. Damit war mein Interesse zufriedigen gestellt.

dscn0685_aw

Probleme gab es einige: Zum einen war die zeitliche Steuerung sehr ungenau, aber es gab einen Hinweis auf einen Vorwiderstand in der Signalleitung. 100 oder 200 Ohm halfen Wunder. Jetzt bin ich bei einer Fehlerrate von unter einem Prozent bei den Farbeinstellungen. Einmal hatte ich 3 defekte Lämpchen, was natürlich den Versuch auch scheitern lässt. Ohne Messgeräte ist doch alles ein Blindflug. Die Jumper an dem einen Lämpchen habe ich mir von Walter (Danke!) anlöten lassen. Das ist einfacher und schöner als die kleinen Beinchen zu verbiegen.

Auf meinem ARDUINO UNO (… den besitze ich ja auch noch ….) mit der Bibliothek “Adafruit_NeoPixel.h” ließen sich die LEDs unkompliziert und exakt aus einem kleinen Sketch ansteuern. Hier hatte der ARDUINO eindeutig die Nase vorn.

Es ist also doch sinnvoll, einen Arduino Uno und einen Raspberry Pi zu besitzen.

Bildverwaltung auf dem PC

Im Moment benutzen wir den Adobe Photoshop Elements 11 (PSE) und sind mit dem Leistungsumfang in etwa zufrieden. Auch der Umstieg auf den neuen PC mit Windows10 war kein Problem, da in unserer PSE-Datenbank nichts Wichtiges war und wir die Datenbank einfach neu aufgebaut haben. Unsere Bilder sind weiterhin in gut strukturierten Ordnern abgelegt und der PSE dient uns vor allen Dingen dazu, eine chronologische Darstellung über die Ordner hinweg zu erzeugen. Die Personenerkennung haben wir einmal ausprobiert, dann aber nicht weiter verfolgt. Die wäre auch bei einem Neuaufbau des Katalogs verloren gegangen. Die Bearbeitungsfunktionen des Bildeditors sind für uns mehr als ausreichend.

Durch einen Bericht in der “Rheinpfalz” über das “Zoner Photo Studio” wurde mein Interesse an einer programmunabhängigen Katalogisierung von Bildern geweckt. Und dazu gibt es ja die EXIF-, IPTC- und XMP-Felder in den JPG- und TIFF-Dateien. Die meisten hochwertigen Programme lesen diese Daten in ihre Datenbank ein und können dann damit auch halbwegs gut umgehen, Veränderungen an den IPTC-Daten werden meist nur in die Datenbank und nicht direkt in das Bild zurückgeschrieben. Man muss diesen Vorgang zumindest im PSE einzeln anstoßen. Die Beschreibung dieser Funktionen ist meist dürftig, denn die Softwarehersteller wollen ja gerade eine dauerhafte Kundenbindung aufbauen.

PSE zeigt diese Felder an und man kann auch nach einigen dieser Felder (Überschrift und Beschreibung) die Bilder selektieren. Die Stichworte vom PSE können über die Tastenkombination STRG-W in das entsprechende IPTC-Feld geschrieben werden und stehen dann über die eingebaute Stichwortfunktionalität wieder zur Verfügung. Vielleicht sollte ich mir die aktuelle Version 15 vom PSE einmal ansehen.

Das Zoner-Photo-Studio (Version X) habe ich mir testweise installiert, war aber nicht so richtig glücklich. Die Begriffe und die Arbeitsweisen sind doch anders als bei meinem vertrauten PSE.

Für Python gibt es anscheinend ein Modul für diese Feldgruppen EXIF-, IPTC und XMP, aber wie immer (!) für die falsche Python-Version. Das Thema ist noch offen.

 

 

Unsere Computervergangenheit

In der Schule gab es den Rechenschieber, privat hatten wir noch einen “Addiator” (mit Zehnerübertrag), mit dem man auch längere Zahlenfolgen addieren konnte.

Um 1975 hatte ich dann meinen ersten elektronischen Taschenrechner, einen HP-45 mit UPN-Logik. Damit konnte man so ziemlich alles machen. Ungefähr 1980 kam dann ein “Sharp 1211″-Taschenrechner mit ca 2KB Hauptspeicher hinzu. Der hatte ein großes einzeiliges 40 (?)-stelliges Display, eine richtige QWERTY-Tastatur und man konnte ihn mit BASIC programmieren. Man konnte ihn aber auch gut mit einzeiligen Programmen als Taschenrechner missbrauchen.

Angefangen hat die richtige PC-Zeit bei uns in der Familie Mitte 1980 mit einem Noname-PC unter MS-DOS. DOS war ich von meinem Arbeitsplatz her gewohnt und Noname fand ich gut für Privatzwecke geeignet. Der Rechner hatte 640 KB (mehr ging nicht) Hauptspeicher,  eine 5 1/4″ (?) Diskette und eine 20 MB Festplatte. Als Grafikkarte war die monochrome Hercules-Grafikkarte eingesetzt. Als Bildschirm diente ein monochromer (grüner?) 15″-Monitor, der Nadeldrucker war ein MX von Epson. Insgesamt ein System mit allem, was ich mir vorstellen konnte.

Die PC-Hardware wurde größer und schneller, ich blieb bei Noname-Produkten und habe seit einigen Jahren eine Vorliebe für ACER. Das Betriebssystem wuchs kontinuierlich über Windows 3.1 ff. bis zum heutigen Windows 10. Die Grafikkarte verbesserte sich ständig weiter, ab VGA kam Farbe hinzu. Der Bildschirm wuchs auf 17″, wurde farbig, flach und hatte irgendwann den 23”-HD-HDMI-Stand erreicht.

Meine Drucker bekamen mehr Nadeln (24), irgendwann war dann das Endlospapier zu Ende. Ein kleiner Laser von HP war auch mal bei uns beheimatet, und heute tut ein Canon-MF-Tintenstrahler seinen Dienst.

Mitte der 80er hatte ich auch mal einen Apple II und einen ganz frühen Macintosh, aber nur als  Gastspiel. Mit einem ordentlichen Festplatten-PC war man eben gut ausgestattet und Computerspiele interessierten mich nicht.

Der PC wurde immer von mir, meiner Frau und unseren Kindern gemeinsam genutzt. Stand heute (2016) haben wir zusätzlich einen kleinen Laptop und ich habe zum Computer-Spielen meinen Raspberry Pi mit LINUX, der sich die Peripherie mit meinem PC teilen kann. Im Hintergrund lauern allerdings 2 Android-Handys auf ihre Beschäftigung.

Unsere Software war immer spartanisch. Am Anfang gab es Wordstar und Visicalc. Das änderte sich dann später zu Word, Lotus 1-2-3 und schon unter DOS zu MS-Works, wo man eigentlich alles hatte, was privat so notwendig ist. Manchmal bekam man auch Works als Zugabe bei einem neuen PC. Um die Jahrtausendwende wechselten wir dann zu MS-Office. Zwischendurch gab es dann auch mal den MS-Publisher, der allerdings in den privaten Office-Bündeln nicht enthalten war. COBOL als Programmiersprache wurde nie eingesetzt, es gab keine vernünftige PC-Version, aber die verschiedenen dBase-Varianten hatte ich im Zugriff, ebenso wie verschiedene PASCAL/Delphi -Compiler. Das vertraute UCSD-Pascal existierte leider nicht mehr.

Die Verbindung unseres PCs zur Außenwelt startete 1990 mit dem BTX-Dienst (Datex-J) der Post. Dazu bekam man ein Modem (1200/75), das man auch für andere Experimente benutzen konnte. Bei BTX fanden wir nur wenig Nützliches, vielleicht den Fahrplan der Bahn. Die anderen Angebote über eine direkte Anwahl waren sehr bescheiden. Es gab telnet, eine  VT52/VT100-Emulation und FTP zu einzelnen Anbietern.

Durch meine (kostenpflichtige) Mitgliedschaft bei “Compuserve” kam es zum Sprung nach vorn. Dieser Dienst entwickelte sich von einer Plattform für viele EDV-Interessengruppen allmählich in Richtung “offenes” Internet. Irgendwann vor 2000 hatte man eine Email-Adresse (HerbertDressler@compuserve.com) und einen Zugang in das damals noch kleine WWW mit dem Mosaic-Browser. Später benutzten wir dann Email über t-online und gmx.  Allerdings musste man immer noch Knotenrechner kostenpflichtig anrufen, unser nächster war in Karlsruhe. Zwischendurch bezogen wir den Internetzugang von der Rheinpfalz, “RON” hatte einen Zugang in Ludwigshafen und damit im Gebiet der billigeren Ortsgespräche. Die Telefon-Flatrate war damals noch nicht erfunden. Damals konnte das Modem schon bis zu 14.400 KB.

Verbessert hat sich das dann mit dem Umstieg auf ISDN-Telefonie, da war man schon locker bei 56 KB  Leitungsgeschwindigkeit und es gab bald danach auch eine Flatrate für den Zugang zum Internet. Richtig gelöst wurde das Zugangsproblem mit DSL (1 MB) und später unserem Wechsel (2006) zu Kabeldeutschland. Das waren dann schon ordentliche 16 MB Geschwindigkeit. Heute (2020) sind es 200 MB Download  und 50 MB im Upload.

Ab ISDN waren wir mit den Geräten von AVM (Fritz!) sehr zufrieden. AVM konnte und kann wirklich sehr gut mit ISDN umgehen, auch wenn wir keine ISDN-Telefonie mehr haben. Aber zwei gut nutzbare Telefonleitungen mit mehreren Nummern sind schon schön ….

Unsere (private) Handyzeit begann 1998 mit einem Motorola mit einem sichtbaren Antennenstummel, dann kam 2010 ein Nokia C6 mit Symbian und ab 2014 hatten wir dann Smartphones mit Android, damals die Version 4.4.

Seit 2013 betreiben wir eine (diese) Homepage unter WordPress.

RFID-Technik am Raspberry Pi

An meinem Arduino konnte ich mit meinem RFID-Modul (Milfare RC522) die ID von RF-Chips auslesen. Ich musste mich einfach an die Anleitung halten. Und die “Treiber” waren bei meinem Sunfounder-Paket ja dabei. Die anderen Möglichkeiten des Chips blieben verborgen.

 

DSCN0440_W DSCN0437_W

Die notwendigen Teile (der rote Leser und die beiden Tags) kosten zusammen ungefähr 5 Euro!

Das Auslesen am Raspberry Pi gelang mir nicht auf Anhieb. Hier musste man zunächst einmal das SPI-Protokoll im Betriebssystem aktivieren und danach natürlich noch im Python die richtigen Module und Befehle für den MF RC522 finden. Es gab eben kein perfekt vorgefertigtes Paket.

Eine Lösung schien mir erfolgversprechend, aber ich war anschließend im Python 2.7 und eigentlich wollte ich in das neuere Python 3.x.

Folgende Lösung führte dann zu einem Ergebnis:

Install the SPI-Py library:
 git clone https://github.com/lthiery/SPI-Py
 cd SPI-Py
 sudo python3 setup.py install

Download the pi-rc522 files:
 cd ~
 git clone https://github.com/ondryaso/pi-rc522.git

Im ersten Schritt konnte ich dann mit den mitgelieferten Python-Programmen die UID meiner RFID-Tags auslesen. Im zweiten Schritt konnte ich einen Datenbereich auslesen, da dieser nur mit dem Standardschlüssel FF FF FF FF FF FF geschützt war. Und im dritten Schritt konnte ich dann diese Daten mit dem bekannten Schlüssel dauerhaft verändern.

Beim Auslesen bekam ich dann folgende Daten im Python zu sehen, wobei die die Blöcke S1.0B0 und S1.0B1 von mir vorher verändert wurden.

RFID_Lesen_W

Viele Fragen (vor allem rund um die Authentifizierung) sind noch offen, mir fehlt irgendwie der richtige Zugang.

Ich werde hier noch weiter basteln und probieren …..