Webcam auf Augenhöhe mit IPhone and Android

Letztes gab es von DIY Perks ein nettes Video, dass über die Probleme bei Videokonferenzen und einer Lösung sprach um ungestört Augenkontakt halten zu können.

Diese Lösung, so schön sie ist, sie ist nichts fürs Homeoffice mit einem großen Monitor. Leider haben diese Monitore auch meist keine Kamera. Wir haben recht wenige „echten“ Videokonferenzen, mehr Telefonkonferenzen, aber wenn dann eine kommt, wäre es gut, den besten Eindruck zu machen. Also auch den Augenkontakt zu halten.

Folgende Rahmenbedingungen sollen erfüllt werden:

  • Günstig, weitgehend bestehende Hardware verwenden (iPhone/Work, Fairphone/Privat)
  • Muss auch im VPN funktionieren.
  • Möglichst die Kamera nah an die Augen des Gegenübers bringen.

Telefonhalter

Dafür habe ich einen Telefonhalter entworfen, den man 3D Drucken kann. Erhältlich bei Thingiverse. Designed in Fusion 360.

Diese haben den Vorteil, sie halten das Telefon in die Bildfläche hinein, sind leicht zu montieren, bzw. demontieren und können wenn sie nicht gebraucht werden auf die Rückseite gehängt werden.

Gedruckt wurde auf dem kleinen Monoprice Mini Select Pro. Es passen gleich 2 auf einmal aufs Bett und hat ca. 1,5h. Filament ist das wunderschöne DASFILAMENT Blue Pearl.

Smartphones als Webcam

Es gibt einige Apps die es erlauben das Kamerabild per WLAN zu verteilen. Das funktioniert bei mir leider nicht, da wir im VPN sind und lokale IPs nicht erreichen können.

Um das iPhone zu verwenden verwende ich daher iVCam mit USB. Auf dem Computer muss die iVCam Software installierbar sein (Administratorrechte notwendig). Und iTunes muss auch vorhanden sein.

https://cdn.thingiverse.com/assets/45/08/48/d4/63/large_display_IMG_20210118_215238_k.jpg

Je nachdem wie die Kamera eingeschoben wird, ist sie eben näher am Sprecher.  Da auch der Monitor höher ist als der Laptop, schaut man auch gerader in die Kamera, nicht nach unten.

Works…. its something. Have fun.

Raspberry Pi ZERO W Antennen Upgrade

Der Kleinste Vertreter der Raspberry Pi Serie ist der Zero. Mit dem Zero W gibt es auch eine Variante mit WLAN und Bluetooth. Durch seine Größe und Preis ist er prädestiniert um in die eigenen Projekte eingebaut zu werden.  Hier zeigen wir wie man dem Zero noch eine Antennen Upgrade verpasst.

Wie man sieht ist beim Zero die Lötstelle für die Buchse direkt vorgesehen und das freikratzen entfällt.

Da nicht viel Platz um die Lötstelle ist sollte man die Pads vorsichtig vorab verzinnen, da sonst schnell ungewollte Lötbrücken entstehen.

Nun die Buchse vorsichtig auf allen Seiten anlöten. Hier auf die Ausrichtung der Buchse achten. Die von oben sichtbare Fahne muss von der USB Buchse weg zeigen. 

Auch das Umlegen der Antennenleitung ist hier einfach durch ein 0-Ohm Widerstand zu realisieren. diesen einfach um 45° einlöten . 

Ist man soweit gekommen bleibt nur noch das Anstrecken eines unserer Antennen Kits 😉 und dem Einbau steht nichts mehr im Wege.

WLAN / Bluetooth Upgrade für den RPI 4

Über den Raspberry Pi 4 liest man Unterschiedlichstes von Mehr Rechenleistung bis hin zu fehlende Treiber. Zumindest die Möglichkeit eine externe Antenne anzuschließen hat sich im Vergleich zum Modell 3 wenig geändert. Deshalb hier die Anleitung für den Antennenumbau des RPi 4. 

Wie beim RPi 3 gibt es bei der Version 4 einen Testtunkt aber keine Kontaktflächen um die SMD Buchse anzulöten.

Deshalb muss man zunächst die Flächen links und rechts vom Lötstoplack befreien um die Buchse sicher anlöten zu können.

Wenn die Kontaktfläche groß genug ist kann man mit dem Verzinnen der Fläche beginnen um das Löten zu vereinfachen.

Durch die verzinnten Flächen ist ein voll flächiger Kontakt gewährleistet und verhindert, dass man die Buchse beim abstecken der Antenne mit abreißt. 

Beim Verlöten auf die Ausrichtung der Buchse achten. Die von oben sichtbare Lasche muss zum Rand der Platine zeigen.

Nun müssen noch eine Verbindung zur Buchse hergestellt werden, indem man die beiden Lötpunkte oberhalb der Buchse mit einer Brücke versieht.

Um Interferenzen zwischen der Plainenantenne und der externen Antenne zu vermeiden sollte man auch hier wieder die Verbindung zur Platinenantenne mit einem Schnitt kappen.

Ist man soweit gekommen bleibt nur noch das Anstrecken eines unserer Antennen Kits 😉 und dem Einbau steht nichts mehr im Wege.

QNAP NAS zu einem Virtualisierungserver Upgraden

Da man heute die Service Orientierte Architektur (SOA), Virtualisierung, Docker und Co. ein Thema ist (und ich den Überblick verliere was auf welchem Raspi läuft .. 😀 ) habe ich die Chance genutzt und das Thecus NAS für das es keine Updates mehr gibt durch ein potenteres zu ersetzen welches auch Virtualisierung unterstützt.

Die Wahl fiel auf ein QNAP TVS- 871U-RP weil es viel Platz für Festplatten und integrierter Virtualisierungsoberfläche warb und nicht zu letzt im Angebot war.  Nach ersten Startschwierigkeiten (Einschicken weil die Flash Disk mit dem Betriebssystem defekt war) konnte es los gehen. 

Die Oberfläche zum Managen von virtuellen Maschinen auf KVM Basis und LXC so wie Docker Conatainern ist wirklich komfortabel. Und so war nach dem Aufsetzen eines VM mit Windows 7  und Ubuntu so wie einem Docker mit GitLab das Gerät mit seinem i3-4150 3.5 GHz Prozessor und 4GB RAM an Limit.

Nach etwas Recherche im Netz habe ich mehrere Quellen gefunden die erfolgreich das Mainboard mit einem i7-4790S bestückt haben.
Also habe ich gleich einen i7 und 16GB RAM geordert und weil die mitgelieferten AVC Lüfter zwar bis gefühlt Windstärke 12 erzeugen, dass aber bei einem Lärmpegel eines startenden Jets, bin ich nach langer Suche auf leise 70mm Lüfter gestoßen die in Gehäuse passen.  Die Super Silent Fan 7 von AAB Cooling scheinen die einzigen leisen 70mm Lüfter auf dem Markt zu sein. 
Leider sind sie nicht PWM geregelt aber immerhin liefern sie 29 m³/h und das bei 17.5db(A).

Der i3-4150 Prozessor (54W TDP) hatte einen passiven Kühler.  Obwohl der i7-4790S (65W TDP) nur 9 Watt mehr verbraucht stieg die Betriebstemperatur deutlich über 50°C an. 

Die Herausforderung ist einen flachen CPU Kühler zu finden der in 2 HE passt.  be quiet! bietet hier den Shadow Rock LP. Flach, leise, perfekt(fast). Was wir nicht bedacht hatten ist der Abstand zwischen Mainboard und Gehäuseboden. So war der der Silent Wing 2 Lüfter 3 mm zu hoch um den Deckel wieder zu schließen und 1 cm zu hoch um einen guten Luftstrom du gewährleisten. 

Beim Test ohne Lüfter wurde die CPU im Leerlauf wieder über 50°C warm. Also waren wir nicht weiter als zuvor.

Die Lösung liegt wie immer nicht weit. Kurzerhand haben wir den Lüfter einer Nvidia 1080 TI, die zuvor auf Wasserkühlung umgebaut wurde, auf den Shadow Rock LP geschraubt.  Und wir hatten eine Leerlauftemperatur von ~40°C bei erträglicher Lautstärke. 

ESP32 mit PoE für unter 10€

Der ESP32 ist ein Multitalent WLAN, Bluetooth und auch Ethernet, wenn er nun aber schon ein Kabel für die Verbindung braucht wieso dann nicht auch gleich den Strom darüber übertragen?

Am 11.11. war ich mal wieder etwas shoppen und bin dabei über PoE Module für Netzwerkkameras gestolpert, welche für 2€ angeboten wurden. Diese sind zwar für 12V Verbraucher konzipiert das ist aber nichts was sich nicht mit einem Step-down Wandler in den Griff bekommen lassen würde. Nach dem dann alles da war um einen ESP32 mit den Netzwerk zu verbinden:

  • ESP32 Dev Board Board (ca 4€)
  • Waveshare LAN8720 Modul (ca 2€)
  • PoE Platine (PDA-1.4) (ca 2€)
  • Step-down Modul

Habe ich mir die verbauten Komponenten auf dem PoE Modul etwas genauer angeschaut und festgestellt, dass die Ausgangsspannung über einen MP2494 Buck Konverter erzeugt wird. Dem Datenblatt war zu entnehmen, dass dieser ein breiten Spannungsbereich abdecken kann und dieser nur von einem Spannungsteiler und der gewählten Spule abhängt.

Auszug aus dem Datenblatt

Der Widerstand R2 war schnell identifiziert und durch einen mit 57.1 kOhm ersetzt.

Spannungteiler R1 301 kOhm (rechts) und R2 21,5kOhm (links)

Und siehe da es liegen 5V am Ausgang an.

Nun musste nur noch das PoE Modul zwischen das Ethernetkabel und das LAN8720 Modul. Dankenswerter weise hat der Verkäufer gleich passende Anschlusskabel für die Anschlüsse des PoE Moduls beigelegt.

Die RJ45 Buchse des Waveshare Boards hat die Überträgerspulen bereits integriert und muss durch eine einfache ohne Überträger ersetzt werden, da diese auf dem PoE Board ist ( H1102NL – unten links im Bild). 

Die Belegung der Pins ist auf der Unterseite des Boards aufgedruckt. L1 und L2 sind die Status LEDs an der Buchse. Das Waveshare Board schält diese gegen Masse, so dass ich die Anoden der LEDs mit einem Vorwiderstand an den Pin +12 (jetzt natürlich +5) verbunden habe. 

Mit ein bisschen Fummelei waren alle Kabel dran und es konnte zum Test übergegangen werden. Dafür habe ich einfach das modifizierte Waveshare Board an ein Testboard gesteckt, dass ich bereits da hatte. Die Verdrahtung zwischen dem ESP32 und dem LAN8720 findet ihr im Blog von Frank Sautter. Achtung es gibt verschiedene Ausführungen des ESP32 Boards. Deshalb immer die Pinbelegung prüfen.

„Hallo Welt“ und auch die IP Adresse wurde per DHCP bezogen. Je nach dem welcher Strom von der Schaltung benötigt wird empfiehlt es sich noch größere Speicherkondensatoren zu verwenden oder einfach noch einen in die Versorgungsleitung zu hängen. 

Raspberry Pi 3B+ mit externer WLAN Antenne

Der neue RPI3+ hat nun eine neue Antenne die direkt aus den Kupferschichten der Platine besteht. Eine clevere und günstige Lösung, leider aber nicht immer ausreichend.

Die Antenne befindet sich direkt oben Links neben dem Himbeere IC und ist in die Platine eingelassen.

Aber glücklicherweise gibt es noch einen Testpunkt an dem man die Antenne abgreifen kann.

Leider ist dieser nicht all zu groß ausgefallen. Deshalb wird das ganze eine Puzzle. Zunächst benötigen wir Kontaktflächen für die Anschlussbuchse. Die man sich mit einem Skalpell oder einem ähnlich feinen Instrument frei kratzen muss.

Darauf wird nun die U.FL Buchse möglichst voll flächig verlötet um einen stabilen Sitz zu gewährleisten und nicht bei ersten Abstecken die Buchse wieder abzureißen.

Der schwierigste Teil der OP ist es nun eine Lötfahne vom RF Pin auf die freie Stelle der Leiterbahn zu bekommen. Nach 3 – 4 Versuchen sah das ganzen dann bei mir so aus. Wer hat kann auch etwas sehr feinen Draht nehmen um diese Verbindung herzustellen.

Nach dem man mit dem Multimeter nun die Verbindung getestet hat kann man die PCB Antenne durch einen Schnitt hinter der Lötstelle abtrennen um Störungen zu vermeiden.

Ist man soweit gekommen bleibt nur noch das Anstrecken eines unserer Antennen Kits 😉 und dem Einbau steht nichts mehr im Wege.

Update Yota3 zu Yota3+

Nach langem warten ist es nun so weit. Es gibt eine Möglichkeit das Yota3 zu einem Yota3+ zu flashen.

Nach längerer Zeit ist es nun den Users von xda developers gelungen die Yota3+ Firmware auf ein Yota3 zu flashen. Hier sind die notwendigen Schritte dokumentiert.

Achtung: Dies ist nur eine Zusammenstellung der notwendigen Schritte. Es wird keine Haftung für Fehlschläge, die Richtigkeit und die Qualität der erwähnten Tools und Dateien übernommen.

Zunächst ist eine Backup aller Daten zu empfehlen. Ein Tool das sehr flexibel ist und Backups auf SD-Karte, in die Cloud oder auf den eigenen Rechner erlaubt ist JSBackup.

Um Unfälle beim Flashen beheben zu können empfiehlt es sich den NVM Speicher des Telefons(hier ist die IMEI etc. des Telefons gespeichert) zu sichern. Dafür brauch man ein gerootetes Telefon.

Rooten

Die benötigten Dateien finden sich im folgenden Forumsbeitrag. Zunächst müssen folgende Einstellungen am Yota3 gesetzt werden:

Passwort setzen (Pin alleine reicht nicht aus)
Settings > Security > Screen lock > Password

Developer Modus aktivieren:
Settings > About Yota.. > 7 mal auf Buildnummer tippen
Settings / Advanced Settings / Developer Options / OEM unlock Option aktivieren

USB Debugging
Settings > Advanced Settings / Developer Options / USB Debugging aktivieren

new9008-0112.zip aus dem Forumsbeitrag (wichtig ist, dass die Firmware Version eures Telefons) herunterladen und entpacken. Anschließend die Datei boot.img auf das Telefon kopieren.

Dann den Magisk Manager herunterladen und installieren.

Nun den Magisk Manager öffnen und Install anwählen. Bei der Frage welche Methode verwendet werden soll Patch Boot Image File auswählen und den Pfad zu boot.img angeben. Das resultierende patched_boot.img wieder vom Yota3 auf den PC übertragen.

Die aktuellen Android Tools installieren.

In den Fastboot-Modus wechseln:

sudo adb reboot fastboot
sudo fastboot devices

Hier sollte nun die Id eures Yota3 erscheinen. Falls das nicht funktioniert müsst ihr das Yota3 ausschalten. Den Lautstärke + Knopf drücken und halten und danach den Power Knopf drücken.

sudo fastboot flash boot patched_boot.img

Nach dem das Telefon neugestartet hat könnt ihr den Magisk Manager öffnen und es sollten 2 grüne Haken zusehen sein. Das Telefon ist gerootet.

Für die nächsten Schritte benötigt man leider ein natives Windows, denn das die Übertragung von Daten über virtuelle serielle Schnittstellen schlägt oft fehl.

Backup

Die benötigten Tools finden sich in diesem Forumsbeitrag. Um das Telefon in den richtigen Modus zu bringen folgendes ausführen:

adb shell
su 
setprop sys.usb.config diag,adb

Nun die passenden Treiber für den Serial Port installieren (Qualcomm HS-USB Diagnostic 9091)

Anschließend das QPST Tool installieren und öffnen.
Wenn der Port noch nicht automatisch erkannt wurde diesen unter dem Reiter Ports hinzufügen. Nun sollten unter das Yota3 gefunden werden. Wenn No Phone erscheint ist der Treiber nicht richtig installiert.

Nun unter Start Clients -> Software Download wählen.
Im Reiter Backup unter Port das Yota3 auswählen und einen Dateinamen für das Backup festlegen.

Dann mit Start das Backup durchführen. Der Vorgang kann einige Minuten dauern.

Damit ist das Backup fertig.

Flashen

Die benötigten Dateien finden sich in diesem Forumsbeitrag. 
Das Yota3 in den edl-Modus bringen:

adb reboot edl 

oder
Das Yota3 ausschalten und Lautstärke + Lautstärke – halten und den Power Knopf drücken.

new9008-0112.zip herunterladen und entpacken. Wichtig ist das keine Leerzeichen im Pfad enthalten sind (z.b. C:\9008).

Dann das Programm QFil starten und im Menü Download Configuration > FireHose Configuration > Reset after Download wählen.

Build Type auf Flat setzen und über Browse die entpackte mbn-Datei auswählen.

Unter Load XML zunächst beide XML Dateien im Verzeichnis auswählen und im nächsten Dialog die patch0.xml.

Bei Select Port das Yota3 auswählen.

Das Yota3 über die Tastenkombination erneut in den edl-Modus bringen und innerhalb von 10 Sek. auf Download klicken. Der Vorgang dauert eine Weile.
Am Ende sollte im Statusfeld Success erscheinen.

Wenn es nicht klappt einfach erneut versuchen, das Timing ist etwas tricky. Glücklicherweise ist der edl-Mode Download unbrickbar.

Nun unter Load XML nur die Rawprogram0.xml anwählen und im nächsten Dialog wieder die patch0.xml und wieder das Yota3 mit der Tastenkombination in den edl-Mode bringen und innerhalb von 10 Sek. auf Download klicken.

Danach Startet euer Yota3+ neu. Wenn die Meldung Decryption unsuccessful erscheit auf Reset Phone klicken. Danach startet der normale Einrichtungsassistent von Android.

Es werden auch 2 OTA Updates gefunden im Forum wird aber aktuell empfohlen diese noch nicht zu installieren, da diese wohl noch Buggy sind.

Restore

Falls etwas schief lief und eure IMEI fehlt könnt ihr euer Yota3+ mit Hilfe von Magisk Manager und dem boot.img aus dem new9008-0112.zip Download wieder wie oben beschreiben rooten und mit QPST euer Backup zurück spielen.