Sonntag, 17. November 2019

SNES Controller für Nintendo Switch - 8BitDo Mod Kit

Für die Nintendo Switch Konsole gibt es nach der NES- auch die SNES-Emulation, sofern man eine Nintendo Switch Online Mitgliedschaft abschließt.

Es gibt einen Wireless-Controller im SNES-Stil von Nintendo. Die SNES-Controller sind nur mit den SNES-Spielen der Switch Online-Mitgliedschaft kompatibel und nur für Mitglieder von Switch Online verfügbar.

Eine Alternative gibt es in Kombination mit einem Nintendo Classic Mini: Super Nintendo Entertainment System und dem 8BitDo Mod Kit für original SNES Classic controller. Es entstehen dabei Kosten von ca. 25 EUR.
Hinweis: Leider gibt es nicht die Möglichkeit den SNES Controller einzeln zu erwerben (wie in meinem NES Artikel vom Dezember 2018). Daher ist der Umbau nur für die jenigen geeignet, die ein SNES Classic besitzen oder per Ebay einen Controller erworben haben.

8BitDo stellt einen Bausatz (Wireless-Funktion und wiederaufladbarer Akku) bereit, dadurch lässt sich der Controller sehr schnell umbauen.





Anleitung: http://download.8bitdo.com/Manual/Mod-Kit/Mod-Kit-for-SNES-Original&Classic-controller.pdf

Mittwoch, 6. November 2019

Retrokonsole - ODROID-GO mit ESP32, Arduino und MicroPython

Mit dem Selbstbausatz von ODROID-GO bekommt man eine Retrokonsole im Gameboy Design. Zusätzlich ist mit dem ESP32 MicroPython und Arduino Programmierung möglich.


Man benötigt ca. 15 Minuten für den Zusammenbau und der Bausatz selber kostet ca. 40 EUR. Desweiteren benötigt man noch eine MicroSD Karte für die ROMs und sonstige Erweiterungen (siehe https://forum.odroid.com/viewtopic.php?f=159&t=31716).

Eine gute Anleitung zum schnellen Zusammenbau findet sich direkt im ODROID Wiki:
 

Die folgenden Konsolen werden ab Werk unterstützt:
  • Nintendo Entertainment System (NES)
  • Nintento GameBoy (GB)
  • Nintendo GameBoy Color (GBC)
  • Sega Master System (SMS)
  • Sega Game Gear (SGG)
  • ColecoVison bzw. Atari(COL)
Eine Anleitung zur Installation dazu findet sich hier https://wiki.odroid.com/odroid_go/make_sd_card .

Dank des sparsamen ESP32 Mikrocontroller hält der Akku bis zu 10 Stunden. Über die GPIO-Pins (I2C) lässt sich der ODROID-GO erweitern

Mir persönlich fehlt ein Kopfhöreranschluss, damit man unterwegs niemanden mit den Retrospiele-Sounds stört ;-) .



Technische Daten:
  • CPU & RAM: 80MHz - 240MHz(Adjustable), 4MB PSRAM
  • Wi-Fi: 802.11 b/g/n 2.4GHz - 2.5GHz
  • Bluetooth: Bluetooth v4.2 BR/EDR, BLE
  • Display: 2.4inch 320×240 TFT LCD (SPI interface)
  • Battery: Li-Polymer 3.7V/1200mAh, Up to 10 hours of continuous game playing time
  • Speaker: 0.5Watt 8Ω Mono
  • Micro SD card slot: 20Mhz SPI interface
  • Micro USB port: Battery charging(500mA) and USB-UART data communication
  • Expansion Port: 10Pin port (I2C, GPIO, IRQ at 3.3Volt)
  • Input Buttons: Menu, Volume, Select, Start, A, B, Direction Pad
  • Power consumption: Game emulation: 100~115mA, Sleep mode: 5.3~5.8mA, Power off: 0.1mA
Quelle: https://wiki.odroid.com/odroid_go/odroid_go#specifications

Samstag, 2. November 2019

Raspberry Pi - Camera Modul V2.1

Für den Raspberry Pi gibt es ein Kamera Modul V2, welche mit dem Flachbandkabel direkt an den CSI-Port (Camera Serial Interface) angeschlossen wird. Die Kamera kann full HD 1080p mit 30fps und hat einen 8 Megapixel Sensor (Sony IMX219).

Hinweis für die Verwendung der Kamera am Raspberry Pi Zero

Das Kameramodul wird mit einem flexiblen Kabel geliefert, das nicht in den CSI-Kameraanschluss des Raspberry Pi Zero W passt. Dieses muss durch z.B. AZDelivery Ersatz Flexkabel 15 cm für Raspberry Pi Zero Kamera/Display 15cm ersetzt werden.



Adafruit Raspberry Pi Camera Board Case für mit 1/4 Zoll Stativhalterung, ich habe hier die Plastikabdeckung entfernt. Da das Loch für die Linse nicht optimal ist. Mir ging es hier in erster Linie nur um die Möglichkeit die "Pi Cam" auf ein Stativ zu stellen.

Kamera aktivieren

Bevor man mit der Kamera arbeiten kann, muss man sie in unter raspi-config aktivieren.
sudo raspi-config => 5 Interfacing Options => Enable Camera

Einzelbilder erstellen

Mit dem folgenden Befehl lässt sich ein erstes Bild erstellen:
 raspistill -o testimage.jpg
Nach einer Auslöseverzögerung von ca. 5s wird ein Bild mit der Maximalauflösung der Pi Cam von 3280 x 2464 Pixel erstellt.


Fehler - mmal: Cannot read camera info, keeping the defaults for OV5647

Sollte es hierbei zu der folgenden Fehlermeldung kommen:

mmal: Cannot read camera info, keeping the defaults for OV5647</strong>
mmal: mmal_vc_component_create: failed to create component 'vc.ril.camera' (1:ENOMEM)
mmal: mmal_component_create_core: could not create component 'vc.ril.camera' (1)
mmal: Failed to create camera component
mmal: main: Failed to create camera component
mmal: Camera is not detected. Please check carefully the camera module is installed correctly


Dies kann verschiedene Ursachen haben, das verwendete Flachbandkabel hat einen Defekt oder sitzt nicht richtig, die Kamera wurde nicht per raspi-config aktiviert, die Kamera selber ist nicht richtig mit dem Sockel verbunden.
In meinem Fall war einfach die verwendete Kamera selber defekt. Tipp: Mittlerweile bestelle ich alle Pi Bauteile im Doppelpack ;-)

Mit den Befehlen -hf horizontal und -vf vertikal lässt sich das Bild drehen:
raspistill -hf -vf -o testimage.jpg

Videos aufnehmen

Mit dem folgenden Befehl lässt sich ein erstes Video aufnehmen:
raspivid -o testvideo.h264 -t 8000
Auch hier lässt sich das Bild mit -hf und -vf wieder drehen.

Mit dem folgenden Befehl lässt sich auch die Bitrate (default: 17MBit/s) anpassen, um in einer geringeren Qualität (z.B. 9MBit/s) die Videos aufzunehmen.
raspivid -o testvideo.h264 -t 8000 -b 9000000
Weitere Befehle finden sich in der original Dokumetation zum Kameramodul.

Angepasstes Script für den "Webcam- und Temperatur-Server mit OLED Display"

In dem Artikel vom Februar 2015 (https://sebastianhemel.blogspot.com/2015/02/raspberry-pi-logitech-webcam-anschlieen.html), habe ich noch eine Logitech USB-Webcam verwendet.
 
Durch die Verwendung des Camera Moduls, muss das Script (webcam.sh) angepasst werden.
Zuvor muss auch ImageMagick installiert werden, damit das erstellte Bild angepasst werden kann (z.B. crop, Titel, Datum und Uhrzeit).
sudo apt-get install imagemagick
Jetzt benötigen wir noch die Schriftart arial, welche wir schon hier verwendet haben.

Mit der Option ROI "Region of Onterest" kann man den Zoom für einen bestimmten Bereich realisieren. Siehe auch https://elinux.org/Rpi_Camera_Module:
-roi, --roi     : Set region of interest (x,y,w,d as normalised coordinates [0.0-1.0])
Ich selber habe mich aber dann für die "crop" Funktion von ImageMagick entschieden:
convert camPre.jpg -crop 1920x1080+550+680 cam.jpg
Angepasste webcam.sh

#!/bin/sh
# Webcam Bild mit Pi Cam erstellen und auf FTP hochalden
# (c) Sebastian Hemel

OPTIONS='-w 2592 -h 1944 -q 95 -x'
DATE=$(date +"%d.%m.%Y")
HOUR=$(date +"%R")

#-roi, --roi     : Set region of interest (x,y,w,d as normalised coordinates [0.0-1.0])
#raspistill -roi 0.6,0.6,1,1 -o /home/pi/webcam/cam.jpg $OPTIONS

raspistill -o /home/pi/webcam/camPre.jpg $OPTIONS
#Overlay?
#composite -gravity center overlay.png  cam.jpg  result1.jpg

#crop rectangle, start at top corner X: 550 Y: 680, crop rectangle to be of size W: 1920 H: 1080
convert /home/pi/webcam/camPre.jpg -crop 1920x1080+550+680 /home/pi/webcam/cam.jpg
convert /home/pi/webcam/cam.jpg -font /home/pi/font/arial.ttf \
   -pointsize 15 -fill white -annotate +1785+1072  \
   $DATE \
   -pointsize 15 -fill white -annotate +1865+1072  \
   $HOUR \
   -pointsize 15 -draw "gravity southwest \
   fill white text 15,6 'www.webcam-ingolstadt.de | 85051 Ingolstadt' " \
/home/pi/webcam/cam.jpg

sleep 1
ncftpput -f /home/pi/ftp.cfg /cam /home/pi/webcam/cam.jpg



Nicht vergessen, den FTP Client zu installieren. siehe auch https://sebastianhemel.blogspot.com/2015/02/raspberry-pi-logitech-webcam-anschlieen.html:
sudo apt-get install ncftp

Freitag, 1. November 2019

nano - Zeilennummern anzeigen / zu Zeile springen

Nano ist ein freier Texteditor für Unix/Linux. Beim Starten wird allerdings nicht angezeigt in welcher Zeile man sich gerade befindet.



Mit Hilfe von ALT + C kann man sich die Zeilennummern anzeigen lassen.

Mit Hilfe von ALT + G kann man direkt zu einer bestimmten Zeile springen.

ffmpeg - Video ru­di­men­tär schneiden

Mit Hilfe von ffmpeg ist ein schneller Videoschnitt möglich, ohne das man ein "mächtiges" Tool installieren muss.


Dies ist mit dem folgenden Konsolen Befehl möglich:
  • ffmpeg -ss [Sekunden Beginn] -t [Dauer Sekunden] -i [inputfile] [outputfile]
  • ffmpeg -ss 00:00:00 -t 00:04:00 -i MOVI0002.AVI 2019-10-31.AVI
 In dem oben genannten Beispiel werden nur die ersten 4 Minuten des Videos benötigt.