extended Freenerding: Pi HQ Cam an nvidia Jetson nano betreiben

Einleitung
Ich brauche 1080p50 h264 Videoencoding, das kann das pi4 leider nicht. Aber mir gefällt die Pi HQ Camera. Mein heutiges Bastelprojekt hat zum Ziel, eine Pi HQ Cam an nvidia Jetson nano zu betreiben.

Laut dieser Anleitung soll das funktionieren, erfordert aber eine minimale Hardwaremodifikation (entfernen eines SMD Widerstands).
Dass die Garantie verloren geht, ist klar und mir wurscht. Brauchen Maker/Hacker Garantie? Wir reparieren doch Dinge, von denen die Hersteller gar nicht wissen, dass sie kaputt sind :D

t+0 Vorbereitung

Wenn man hackt, sollte man Annahmen testen, Variablen so gut es geht reduzieren und Überraschungen, z.B. durch defekte Hardware und ungetestete Procedures reduzieren.
Heißt konkret, die fabrikneue Pi HQ Cam natürlich an einem pi4 zu testen, bevor sie umgelötet wird.

test_pi4.jpg

Schneller Test mit raspivid - läuft. Sollte es am Ende am Jetson keine Bilder liefern, wie ich mir das vorstelle, weiß ich wenigstens, dass ich was falsch oder kaputt gemacht habe.

t+10 Einlesen in das Jetson nano

Weder hatte ich bisher ein Jetson Nano Dev kit in der Hand, noch habe ich ernsthaft damit beschäftigt. Ich hatte nur im Datenblatt gelesen, dass die GPU die geforderte Videoperfomance bieten soll, das Gerät zwei CSI Ports hat und mit der Kamera elektrisch kompatibel ist. Also muss ich erst mal zentrale Dinge zur Inbetriebnahme herausfinden:

  • Wo gibt es das Linux OS Image?
  • Was sind die default logins?
  • und so weiter

Auf einer beiliegenden Karte im Kit steht http://nvidia.com/JetsonNano-Start
Der Download des gezippten SD-Karten Images ist knapp 6GB, gibt mir als Zeit, mich derweil mal an den Lötkolben zu trauen.

t+25 Gepfriemel

Man man ist das SMD Zeug klein. Den Widerstand kriege ich nie wieder drauf, aber weg ist er. Hoffe, die Lötkolbenkratzer auf der Platine neben dem Widerstand machen nix und C31 ist beim raus löten von R8 nicht zu warm geworden ;-)

picamlöten.jpg

t+45 Jetson Nano first boot
Das SD-Image ist heruntergeladen und mit Etcher auf SD-Karte übertragen. Mit dem Kit hatte ich ein offizielles 5V 4A Netzteil bestellt. Das Board bleibt dunkel, wenn man dieses anschließt. Also falle ich auf ein micro-USB Netzteil 5V 3A zurück - das Board bootet. Komisch.

Die EULA nicke ich ab, ohne sie zu lesen, User und PW darf ich selbst vergeben :P
Einige Minuten später begrüßt mich ein Ubuntu 18.04 Desktop.
Das Ding gefällt mir, für einen Pi Veteranen kommt man schnell rein, findet sich schnell zurecht. Ich aktualisiere alle Pakete, lege mir einen nvidia developer Account an, um später eine crosscompile Umgebung mit dem SDK Manager einrichten zu können und freue mich.

t+55 Pi HQ Cam Tests

jetsonpicamfinal.jpg

Erfreulicherweise fällt von der Anleitung im oben erwähnten Artikel von Ridgerun vieles an manuellen Schritten weg, weil der Kernel im Standard Image inzwischen aktualisiert ist und den device Treiber für den Sony Sensor der pi HQ Cam bereits unterstützt.

Es reicht also, den device tree zu überschreiben und durchzubooten!

echo "FDT /boot/dtb/tegra194-p3668-all-p3509-0000.dtb" | sudo tee -a /boot/extlinux/extlinux.conf

t+65 Bilder und Videos

Mit den gstreamer pipelines von Riderun bekomme ich ein Bild auf dem angeschlossenen HDMI Display, und viel wichtiger, kann in eine mp4 Videodatei aufzeichnen.

SENSOR_ID=0 # 0 for CAM0 and 1 for CAM1 ports
FRAMERATE=50
gst-launch-1.0 -e nvarguscamerasrc sensor-id=$SENSOR_ID ! "video/x-raw(memory:NVMM),width=1920,height=1080,framerate=$FRAMERATE/1" ! nvv4l2h264enc ! h264parse ! mp4mux ! filesink location=rpi_v3_imx477_cam$SENSOR_ID.mp4

Damit ist das Tagesziel erreicht :)

bis zum nächsten Freenerding!

H2
H3
H4
3 columns
2 columns
1 column
8 Comments
Ecency