Ich benutze Bewegung auf einem Raspberry Pi und manchmal hängt der Kamera-Feed. Die Kamera ist physisch montiert, und es ist etwas umständlich, das Kabel zu entfernen und wieder einzuführen. Deshalb habe ich mich gefragt:
Gibt es eine Möglichkeit, den gleichen Effekt programmgesteuert zu erzielen?
Antworten:
Gute Frage und gute Idee. Shuckle schlägt einen Code vor, der den USB-Bus für das Gerät zurücksetzt, wodurch einige Probleme behoben werden können. Siehe offizielles Forum:
http://www.raspberrypi.org/phpBB3/viewtopic.php?p=219980#p219980
Ich zitiere seinen C-Code, den ich noch nicht getestet habe:
Sie verwenden diesen Code dann, indem Sie im Grunde sagen:
Sie könnten die Busnummern von lsusb erhalten:
Jetzt bin ich neugierig, ob das ein Problem mit dem alten Express Plus beheben würde. Das werde ich bald versuchen!
quelle
Sie können USB-Geräte mit sysfs verschwinden lassen. Ich habe dies mit einem Logitech Unifying USB-Empfänger getestet. Obwohl
lsusb
das Gerät aufgelistet ist, wurden Tastendrücke nicht verarbeitet, als das Gerät mit dieser Methode entfernt wurde.Ermitteln Sie mithilfe Ihres USB-Geräts die ID
dmesg
. Zum Beispiel erhalte ich nach dem Anschließen des USB-Empfängers folgende1-1.2
ID:Entfernen Sie das Gerät und setzen Sie es erneut ein:
Sie können auch Erfolg haben, indem Sie Unbind schreiben und den Treiber für Ihren Kameratreiber binden. Verwenden Sie
ls -l /dev/bus/[DRIVER]/devices
, um den Treiber zu bestimmen.(Inspiriert von einer Antwort auf Unix.SE )
quelle
Im Geiste des Teilens habe ich den
usbreset
in Tais Antwort oben angegebenen Code geändert , um Parameter zu akzeptieren, die Sielsusb
(zusätzlich) erhalten. Auf diese Weise kann es bequem von aufgerufen werdenwas sich zum Beispiel in verwandelt
Der Code ist am Ende.
Ich habe festgestellt, dass der Pi USB-Webcam-Treiber häufig abgestürzt ist, aber dies ist eine Möglichkeit, ihn wiederherzustellen. Es war am einfachsten, die ausführbare Datei su root zu machen.
quelle
Sie könnten versuchen, das USB-Laufwerk zu deinstallieren und zu montieren?
In der ersten Zeile wird / path / to / usb zum Mount-Punkt des USB-Ports bei / dev / sda1 (Sie müssen jedes Mal überprüfen, an welchen Port er angeschlossen ist, wenn Sie ihn anschließen).
In der zweiten Zeile wird die Bereitstellung des Ports über den Alias aufgehoben
quelle