[LINUX] Steuern Sie das Ein- und Ausschalten des USB-Anschlusses des Raspberry Pi

Einführung

Ich habe versucht, den USB-Anschluss von Raspberry Pi ein- und auszuschalten.

Da ich den Raspberry Pi und das Smartphone über den Blynk-Server in vorheriger Artikel verbunden habe, betreibe ich das Netzteil von der Smartphoneseite aus.

Dinge verwendet

Übersicht der verwendeten Geräte

Das ganze Bild der oben genannten Ausrüstung ist so. 全体像.jpg Es ist ein Bild, dass das Smartphone und der Raspberry Pi in derselben Region verbunden sind und der Blynk-Server damit verbunden ist. Der Raspberry Pi und der diesmal zu steuernde USB-HUB / USB-FAN sind angeschlossen.

Vorbereitungen

1. 1. Einführung und Verbindung zu Blynk

Da die folgende Methode Blynk verwendet, muss Blynk sowohl auf dem Smartphone als auch auf dem Raspberry Pi installiert und verbunden werden.

Klicken Sie hier, um zu erfahren, wie es geht. ↓↓↓ Verbinden von Raspberry Pi mit Ihrem Smartphone über Blynk

2. Blynk-Programm behoben

Da das Skript in der Anfangseinstellung schwierig zu handhaben ist, wird es unter Bezugnahme auf die folgende Site geändert.

http://blog.livedoor.jp/victory7com/archives/48432885.html

Infolgedessen ist die Beziehung zwischen den Widget-Einstellungen und dem Skript auf der Raspberry Pi-Seite wie in der folgenden Abbildung dargestellt (* Bild von derselben Site)

image.png

Implementierung

Arbeiten Sie auf der Smartphone-Seite

Wählen Sie auf der Smartphone-Seite die PIN aus, die dem Widget und dem Skript für das Blynk-Projekt zugeordnet ist. blynk.jpg

[Links] Tippen Sie auf das Widget, um die Widget-Einstellungen zu öffnen [Mitte] Diesmal handelt es sich um eine Schaltfläche. Tippen Sie also darauf, um den Pin auszuwählen, der beim Drücken der Schaltfläche verknüpft werden soll [Rechts] Wählen Sie den Pin-Typ und die Pin-Nummer

Arbeiten Sie auf der Raspberry Pi-Seite

1. 1. Einführung eines Tools (Hub-Strg) zur Steuerung des USB-Anschlusses

pi@raspberrypi:~ $ sudo apt-get install libusb-dev
pi@raspberrypi:~ $ git clone https://github.com/codazoda/hub-ctrl.c
pi@raspberrypi:~ $ cd hub-ctrl.c
pi@raspberrypi:~/hub-ctrl.c $ gcc -O2 hub-ctrl.c -o hub-ctrl-armhf-static -lusb –static
pi@raspberrypi:~/hub-ctrl.c $ sudo cp hub-ctrl-armhf-static /usr/local/bin/hub-ctrl
  1. Zeile: Laden Sie "hub-ctrl.c" von Github herunter
  2. Zeile: Installation von hub-ctrl.c

2. Überprüfen Sie den Verbindungsstatus des USB-Anschlusses

Der Befehl "lsusb" gibt das an den USB-Anschluss angeschlossene Gerät und seine Bus- und Gerätenummern zurück. Da diesmal USB-HUB das Operationsziel ist, überprüfen Sie, ob der Gerätename "Genesys Logic" lautet.

pi@raspberrypi:~ $ lsusb

Bus 001 Device 005: ID 046d:c016 Logitech, Inc. Optical Wheel Mouse
Bus 001 Device 004: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 006: ID 0424:7800 Standard Microsystems Corp. 
Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

3. 3. Erstellen Sie ein Shell-Skript, um die Stromversorgung von USB-HUB ein- und auszuschalten

Da die PIN-Nummer in den Widget-Einstellungen auf "V10" gesetzt wurde, lautet der Dateiname des Skripts "V10".

pi@raspberrypi:~ $ sudo vi /home/pi/blynk/BLYNK_WRITE_V10.sh

Der Inhalt des Skripts ist wie folgt.

/home/pi/blynk/BLYNK_WRITE_V10.sh


#!/bin/sh

HUB=`/usr/bin/lsusb -v 2>/dev/null | grep ^Bus | grep "Genesys Logic, Inc. Hub" | head -1`
BUS=`echo $HUB | awk '{print $2}'`
DEV=`echo $HUB | awk '{print $4}' | sed -e "s/\(.*\)\:/\1/p;d"`

for i in 1 2 3 4
do
     /usr/local/bin/hub-ctrl -b $BUS -d $DEV -P $i -p 0
done
Skriptergänzung
Geräteinformationseinstellung (3. Zeile)
Extrahieren Sie das Ergebnis der lsusb-Anweisung nach dem Gerätenamen und setzen Sie es in der Variablen HUB.
Einstellung der Busnummer (4. Zeile)
Setzen Sie das zweite in HUB festgelegte Feld auf die Variable BUS.
Einstellung der Gerätenummer (5. Zeile)
Setzen Sie das in HUB festgelegte 4. Feld durch Ersetzen der Zeichen auf die Variable DEV.
für Anweisung (7. Zeile)
Da es 4 USB-HUB-Anschlüsse gibt, wird diese viermal wiederholt.
Hub-Ctrl-Befehl (9. Zeile)
"-b" gibt die Zielbusnummer an, "-d" gibt die Zielgerätenummer an und "-P" gibt die Portnummer an.
Das letzte "-p" ist die Ein / Aus-Spezifikation für die Stromversorgung, und entweder "0" (Aus) / "1" (Ein) ist angegeben.

Nachdem Sie nun ein Skript haben, das der im Widget angegebenen PIN-Nummer entspricht, wird dieses Skript durch Drücken einer Taste auf dem Smartphone gestartet. Dadurch kann der USB-Lüfter ein- und ausgeschaltet werden.

Ergänzung zur Stromversorgung des USB-Anschlusses

In der alten Version von RaspberryPi war es möglich, die Stromversorgung des USB-Anschlusses des Hauptgeräts einzeln zu steuern, dies wurde jedoch unmöglich, da die Version aktualisiert wurde.

Es wurde gesagt, dass ein USB-HUB mit "Per-Port Power Switching" -Spezifikationen gesteuert werden könnte, aber ein HUB, der dies unterstützt, ist derzeit nicht im Verkauf. Wenn diesmal ** BUFFALO BSH4AE12BK ** verwendet wird, ist es möglich, die Stromversorgung in Einheiten von ** USB-HUB ** zu steuern, daher habe ich mich für diese entschieden.

Zusammenfassung

Durch Erstellen der im Widget angegebenen PIN und des damit verbundenen Skripts kann das Skript von der Smartphone-Seite ausgeführt werden. Zuerst verstehe ich die Grundlagen des Verschiebens, und als nächstes möchte ich es mit einem anderen Widget verschieben.

Referenzlink

--Teil 3 Sehen wir uns den Temperatur- / Frequenz- / Laststatus der CPU an. --Serie Lassen Sie uns den Raspberry Pi über den IoT-Dienst "Blynk" (Raspberry Pi-Blog) von einem Smartphone aus steuern. - http://blog.livedoor.jp/victory7com/archives/48432885.html

Recommended Posts

Steuern Sie das Ein- und Ausschalten des USB-Anschlusses des Raspberry Pi
Ein- / Ausschalten von Raspberry Pi mit Arduino
Schalten Sie Ihren PC mit Himbeer-Pi ein / aus
USB-Boot auf Raspberry Pi 4 Model B.
Pigpio auf Himbeer-Pi
Cython auf Raspberry Pi
Steuern Sie bürstenlose Motoren mit GPIO von Raspberry Pi Zero
Implementierung von persönlich optimierten Fotorahmen mit Raspberry Pi
Installation von Docker auf Raspberry Pi und L Chika
Installieren Sie pyenv auf Raspberry Pi, um Python zu verwalten
Pyenv auf Raspberry Pi eingeführt
Verwenden Sie NeoPixel mit Himbeerkuchen
Installieren Sie OpenCV4 auf Raspberry Pi 3
Installieren Sie TensorFlow 1.15.0 auf Raspberry Pi
Port FreeRTOS auf Raspberry Pi 4B
[Raspberry Pi] Schrittmotorsteuerung mit Raspberry Pi
Testen der Kommunikation mit Raspberry Pi
Steuern Sie den Motor mit einem Motortreiber mit Python auf Raspberry Pi 3!
Servomotorsteuerung mit Raspberry Pi
USB über Ethernet mit Raspberry pi
MQTT auf Raspberry Pi und Mac
Himbeer Pi 4 Centos7 auf Docker installieren
Installieren Sie ghoto2 auf Raspberry Pi (Hinweis)
Versuchen Sie es mit ArUco mit Raspberry Pi
OpenCV-Installationsverfahren auf Raspberry Pi
Grafische Darstellung des Stromverbrauchs im Haushalt mit 3GPI und Raspeye
Erkennen Sie den Schalterstatus mit Raspberry Pi 3
Installieren Sie OpenMedia Vault 5 auf Raspberry Pi 4
L Chika mit Himbeer-Pi C #
Erstellen Sie wxPython unter Ubuntu 20.04 auf Himbeer-Pi 4
Verwenden Sie Python auf Raspberry Pi 3, um die LED mit Schaltersteuerung zu beleuchten!
Protokollierung der Omron-Umgebungssensorwerte mit Raspberry Pi (USB-Typ)
Herstellung eines Temperaturregelungssystems mit Himbeerkuchen und ESP32 (2) Herstellung eines Übertragungsgeräts
Schließen Sie zwei USB-Kameras an Raspberry Pi 4 an
Raspberry Pi "Honwaka Benachrichtigungslampe" Teil 2
Erkennen Sie "Helligkeit" mit Python auf Raspberry Pi 3!
Raspberry Pi "Honwaka Benachrichtigungslampe" Teil 1
Aktivieren Sie die serielle UART + -Kommunikation mit Raspberry Pi
Adafruit Python BluefruitLE arbeitet mit Raspeye.
Beschleunigen Sie Deep Learning mit der Rasperry Pi 4-CPU
Stellen Sie den Swap Space unter Ubuntu auf Raspberry Pi ein
Normal programmieren mit Node-RED-Programmierung mit Raspberry Pi 3
Verwenden Sie den Grove-Sensor mit Raspberry Pi
Installieren Sie das 64-Bit-Betriebssystem (Bate) auf Raspberry Pi
Installieren Sie Docker-Compose unter 64-Bit-Raspberry-Pi-Betriebssystem
Lassen Sie einen Servomotor mit Python auf Raspberry Pi 3 laufen
Raspberry Pi "Honwaka Benachrichtigungslampe" Teil 3
Den Servomotor SG-90 mit Himbeer-Pi betreiben
Arbeiten mit Sensoren in Mathematica auf Raspberry Pi
Ermitteln Sie die Temperatur mit Python auf Raspberry Pi 3!
Matrixmultiplikation auf Raspberry Pi GPU (Teil 2)
So installieren Sie NumPy auf Raspeye
Arbeiten mit GPS in Python für Raspberry Pi 3
Ich habe Ruina von RPG Tsukuru 2000 ~ Die Geschichte der verlassenen Stadt ~ auf Raspberry Pi gespielt
Steuern Sie Akizukis I2C-verbundenes organisches EL-Display von Raspberry Pi
Erkennen Sie Schiebeschalter mit Python auf Raspberry Pi 3!
Erstellen Sie eine Django-Umgebung auf Raspai (MySQL)