Archiv der Kategorie: PC-Kram

Meine Lieblingsbeschäftigung :)

BitBastelei #377 – Glasfaser? Was ist das eigentlich?

BitBastelei #377 - Glasfaser? Was ist das eigentlich?

(1 GB) 00:30:08

2020-03-22 11:00 🛈

Wenn es um schnelles Internet geht reden alle von Glasfaser. Doch warum ist das eigentlich besser als Kupfer? Und was steckt drin? Und wie kommt da welcher Stecker dran und danach in die Geräte? Schauen wir doch mal grob über dieses Technikfeld drüber.

Inhalt

  • 00:19 Kupfer vs. Glas – Vor- und Nachteile
  • 04:18 Glasfasertypen – Multimode, Monomode, etc
  • 09:08 Maximale Kabellängen
  • 10:27 Die Sache mit den Farben: WDM
  • 11:26 Aufbau einer Glasfaser
  • 16:27 Steckerkunde: ST, SC, LC
  • 23:13 Wie kommt der Stecker auf die Faser?
  • 25:33 Vom Glas ins Gerät: Transceiver

Korrekturen und Ergänzungen

  • 08:20 „Singlemode oder Multimode„, nicht Monomode. (Danke, Phiwatec)
  • 17:02 Meist sind diese eher aus Keramik, nicht Plastik
  • 27:49 Wer hat aufgepasst? Die Karte ist in Wirklichkeit für Speichersysteme, nicht Netzwerk. Als Symbolbild muss es reichen 😉

Stromverbrauch von Switchen

In letzter Zeit hatte ich an diversen Stellen kurzfristig Netze umbauen müssen und daher diverse Switche in die Hand bekommen. Da ich bei meinem letzten Video doch etwas überrascht war, dass einige Switche einen sehr hohen Stromverbrauch zeigten hatte ich die Gelegenheit genutzt und bei verschiedensten Modellen im Fast-Leerlauf den Verbrauch gemessen und in eine Tabelle gepackt.

https://github.com/adlerweb/SwitchPower/

BitBastelei #376 – Telearbeit/Videochat mit NextCloud

BitBastelei #376 - Telearbeit/Videochat mit NextCloud

(83 MB) 00:18:52

2020-03-14 14:00 🛈

Aktuell ist digitale Kommunikation wichtiger als jemals zuvor. Besprechungen, Unterricht, Vereins-Meetings: Jede Veranstaltung, die nun online statt vor Ort durchgeführt werden kann hilft die Verbreitung von SARS-CoV-2 zu verlangsamen und so die Krankenhäuser zu entlasten. Mit Nextcloud lässt sich recht einfach ein System einrichten, welches den sicheren Austausch von Dateien, digitale Zusammenarbeit und Videochats zulässt.

Wegen der Aktualität und den vielen Anfragen etwas früher als Üblich

Inhalt

  • 01:15 Installation von NextCloud
  • 06:11 Benutzer anlegen und verwalten
  • 06:47 Dateien hochladen und verwalten
  • 07:20 Dateien und Ordner mit anderen teilen
  • 11:47 Online-Office mit OnlyOffice
  • 13:15 Video-Konferenzen mit NextCloud Talk

Hinweise und Ergänzungen

Verbindungsprobleme?

In Kombination mit älteren IPv4-Anschlüssen kann es in der gezeigten Variante zu Verbindungsproblemen kommen. Da ich keine Anschlüsse ohne IPv6 bzw. öffenliche IPs habe war mir das nie aufgefallen. Abhilfe schafft es auf dem Server zusätzlich einen TURN-Server zu installieren. Hierzu ist zwingend ein Konsolenzugriff erforderlich. Eine Anleitung findet sich z.B. unter https://help.nextcloud.com/t/howto-setup-nextcloud-talk-with-turn-server/30794.

Maximale Nutzerzahl / Zentraler Server

In der aktuellen Form baut Talk P2P-Verbindungen auf, das heißt, dass jeder Client sein Video für jeden anderen Teilnehmer codieren und versenden muss. Kurz: Je mehr Teilnehmer desto leistungsfähiger muss CPU und Internetanschluss sein. Empfohlen werden maximal 4 Teilnehmer. Abhilfe könnte ein zentrales Backend schaffen, dies ist aktuell aber kostenpflichtig. Für größere Konferenzen empfiehlt es sich daher ein anderes System wie BBB oder Jitsi (siehe unten) zu nutzen.

Andere Anforderungen?

Weitere Projekte, die helfen können:

  • Mumble -> Voice-Only-Chat
    Benötigt sehr wenig Ressourcen. Der Server Murmur ist in wenigen Minuten eingerichtet. Für die Teilnahme gibt es Apps für PC (Windows/Linux/MAC), Mobil (Android/iOS) und viele weitere, teils obskure Systeme.
  • Big Blue Button -> Ebenfalls ein Video-Chat. Teilnahme klappt mit fast allen Browsern. Virtuelles Whiteboard, Screensharing, etc. Für Schulen und Webinare gedacht. Einfach einzurichten. Normaler Rootserver sollte ~25 Nutzer schaffen.
  • Jitsi Meet -> System ähnlich zum hier gezeigten Nextcloud Talk.
    Teilnahme per Chrome-Browser oder App. Normaler Rootserver sollte ~15 Nutzer schaffen. Einrichtung ist eher kompliziert. Eine Liste öffentlicher Instanzen gibt es unter https://github.com/jitsi/jitsi-meet/wiki/Jitsi-Meet-Instances.

BitBastelei #375 – Keypads mit Mikrocontroller/Arduino: Typen und Ansteuerung

BitBastelei #375 - Keypads mit Mikrocontroller/Arduino: Typen und Ansteuerung

(1 GB) 00:18:00

2020-03-08 11:00 🛈

Um Zahlenwerte eingeben zu können ist eine Tastaturmatrix fast immer eine gute Wahl, jedoch stehen im Netz viele unterschiedliche Modelle zur Auswahl. Mechanische Tasten, Folie oder Touch? Multiplexed, Digital oder gar analog? Alle Typen und Techniken haben Ihre vor und Nachteile. Schauen wir mal, welche das sind.

BitBastelei #374 – HP Procurve 2610 und 2824 Switche

BitBastelei #374 - HP Procurve 2610 und 2824 Switche

(1 GB) 00:25:58

2020-03-01 11:00 🛈

In #337 hatte ich einen HP2510-24G gezeigt. Inzwischen sind im Rahmen eines Netzumbaus größere Mengen weiterer Geräte auf meinem Tisch gelandet. Diesmal werfen wir einen Blick in die Modelle 2610-24 (der „Nachfolger“ des 2510ers) sowie einem 2824, welcher aus einer höherwertigen Serie stammt.

Korrekturen und Ergänzungen

  • 01:36 In dieser Serie wurden – im Gegensatz zu den Vorgängern – gar keine Gigabit-Modelle hergestellt
  • 09:36 5.

BitBastelei #373 – uPoff – Akkusparen für Batterieanwendungen

BitBastelei #373 - uPoff - Akkusparen für Batterieanwendungen

(2 GB) 00:31:06

2020-02-23 11:00 🛈

Vor einiger Zeit hatte ich bei meiner Soundbox eine kleine Transistorschaltung gebastelt, welche dem genutzten ESP8266 nur dann Strom zuführt, wenn ein Taster gedrückt wurde. Im Anschluss kann der ESP seine Aufgaben erledigen und am Ende sich selbst den Strom wieder abschalten. Da so der Stromverbrauch deutlich geringer ist verbessert sich die Batterielaufzeit massiv. Diese Schaltung habe ich nun in eine Platine gegossen und erweitert. Mit einer RTC ist es nun zusätzlich zum manuellen Wecken auch möglich sich nach einer definierten Zeit wecken zu lassen um so z.B. auch ohne manuellen Trigger alle paar Stunden Präsenz und Akkuzustand übermitteln zu können. Der Verbrauch liegt mit ~10µA (0,01mA) deutlich unter den 1,3mA, welche ein unmodifizierter NodeMCU im Deep-Sleep erreicht.

Boarddaten und Software: https://github.com/adlerweb/uPoff

BitBastelei #372 – Pilz Zweihandschaltung

BitBastelei #372 - Pilz Zweihandschaltung

(1 GB) 00:20:43

2020-02-16 11:00 🛈

Bei der Bedienung von schweren Maschinen möchte man üblicherweise nicht seine Finger dazwischen haben. Um das sicherzustellen wird in Maschinensteuerungen oft eine Zweihandschaltung verbaut – man muss mit beiden Händen je einen Taster bedienen um so nachzuweisen, dass keine Finger dazwischen sein sollten. Eigentlich ja eine einfache Sache, aber bei solch sicherheitsrelevanten Aufgaben sollte sowas schon sicher funktionieren. In der Industrie nutzt man dazu spezielle Sicherheitsschaltungen. Was drin steckt schauen wir uns dann mal an.

BitNotice #153 – Intel-Videobeschleunigung (QSV) mit VAAPI unter Linux

BitNotice #153 - Intel-Videobeschleunigung (QSV) mit VAAPI unter Linux

(40 MB) 00:06:40

2020-02-12 11:00 🛈

Moderne Intel-Prozessoren besitzen mit „Intel Quick Sync Video“ (QSV) eine Möglichkeit Videodateien in Hardware zu Codieren und Decodieren. Diese Hardwarebeschleunigung hat gegenüber einer reinen Softwarelösung einige Vorteile, so ist das Decoding beim Abspielen effizienter und kann so Leistung und Akku sparen. Beim Encoding, also dem Aufnehmen von Videos, ist es möglich deutlich höhere Frameraten zu erreichen und so Videos zum Teil in Echtzeit, z.B. für Live-Streams, zu verarbeiten. Leider sind diese Funktionen auf passende Software angewiesen. Unter Linux lässt sich dies mittels VAAPI nutzen, u.A. mit der Abspielsoftware MPV oder VLC oder der Streaming-Software OBS.

Mehr Informationen zu QSV und den Alternativen wie VDPAU (NVidia) oder VAAPI mit ATI-Grafikkarten: https://wiki.archlinux.org/index.php/Hardware_video_acceleration

PostgreSQL-Update im Docker-Stil

Docker. Eigentlich ja ganz praktisch, wenn man „mal schnell“ ein Softwarepaket trotz überschaubarer Wartbarkeit mit überschaubarem Aufwand ausrollen möchte, ab und an aber auch ein zuverlässiger Quell für Facepalm-Momente. So auch Heute: Nach dem Update einer mit docker-compose zusammengesetzten Anwendung ging nichts mehr. Der Maintainer hatte dort von postgres:10 auf postgres:11 aktualisiert. Kleines Update sollte man meinen, die PostgreSQL-Images für Docker sind jedoch technisch nicht in der Lage Daten älterer Installationen zu migrieren. Folglich zeigte sich im Log vor dem Absturz folgende Meldung:

postgres_1 | FATAL: database files are incompatible with server
postgres_1 | DETAIL: The data directory was initialized by PostgreSQL version 10, which is not compatible with this version 11.6.

Was auf „normalen“ Servern mit pg_upgrade schnell geregelt und bei einigen Distributionen gar automatisiert ist, wird mit Docker ein paar Nummern komplizierter. Der Offizielle Weg: Backup machen, neu aufsetzen, importieren. Eigentlich wollte ich durch Docker Arbeit sparen, nicht mir weitere aufhalsen.

Glück im Unglück: Tianon Gravi hat auf GitHub und Docker Hub ein passendes System bereitgestellt, mit welchem man die Daten schnell zwischen verschiedenen PostgreSQL-Versionen migrieren kann.

Im Folgenden gehe ich davon aus, dass ein Named Volume „postgres-data“ existiert und alle darauf zugreifenden Container gestoppt sind.

Achtung, Fallstrick: Nutzt man docker-compose, so ändern sich die Volume-Namen. Ein Named Volume „postgres-data“ der Applikation „foobar“ heißt in Wahrheit „foobar_postgres-data„. Im Zweifel nochmal mit „docker volume ls“ prüfen.

  1. Fangen wir mit dem üblichen an: Backups. Bei Bind-Mounts kopiert man einfach den Quellordner passend zurecht, bei Named Volumes kann man diese üblicherweise unter /var/lib/docker/volumes/ finden oder mit docker-clone-volume duplizieren. Ich hatte postgres-data hierzu auf postgres-data-src und postgres-data-bck dupliziert.
  2. Weiter geht es mit dem Umwandeln der Datenbank. Hierzu nimmt man das Image mit den passenden Versionsnummern für Quell- und Zielversion.
    docker run --rm -v postgres-data-src:/var/lib/postgresql/10/data -v postgres-data-dst:/var/lib/postgresql/11/data tianon/postgres-upgrade:10-to-11
    Hiermit wird ein neues, mit PostgreSQL 11 kompatibles, Volume erzeugt, welches alle bisherigen Daten enthalten sollte.
  3. Leider gibt es in der aktuellen Version einen bekannten Bug, welche die Zugriffe in pg_hba.conf abweichend von den Dateien der offiziellen Images konfiguriert. Dies führt mit vielen Images zu Zugriffsfehlern. Um die Datei per hand zu editieren startet man entweder einen passenden Container oder greift über das Dateisystem des Hosts auf diese zu. In meinem Fall nutzte ich letztere Methode über die Datei /var/lib/docker/volumes/postgres-data-dst/_data/pg_hba.conf. An das Ende dieser wird folgende Zeile angefügt:
    host all all all md5
  4. Am Ende ändert man entweder den Volume-Eintrag seiner docker-compose.yml oder kopiert das neue Image passend zurück. In meinem Fall klang letzteres sinnvoller. Einen Befehl zum Umbenennen von Volumes ist Docker bis Heute nicht bekannt, daher bleibt hier nur das ursprüngliche Volume mit docker volume rm postgres-data zu löschen und postgres-data-dst – wie zuvor – mit docker-clone-volume oder im Dateisystem zum korrekten Volume-Namen zu klonen.

Warum man das nicht automatisiert erschließt sich mir nicht so ganz. Vermutlich beschränkt sich der Benutzerkreis hauptsächlich auf Entwickler, die ohnehin immer von 0 starten, und Enterprise-Häuser, die gemäß Fire-and-forget Systeme ohne Update bis zur Explosion betreiben.

BitBastelei #371: Messuhr-Innenleben

BitBastelei #371: Messuhr-Innenleben

(2 GB) 00:12:15

2020-02-09 11:00 🛈

Eine Messuhr erlaubt es Abstände und deren Differenzen zu ermitteln. Praktisch, wenn man z.B. das Druckbett eines 3D-Druckers prüfen möchte. Mein Modell hatte leider eine unpassende Halterung. Wenn ich ohnehin zerlegen muss, dann werfen wir doch gleich noch einen Blick auf das Innenleben und die Funktion eines solchen Messinstrumentes.