Benutzer-Werkzeuge

Webseiten-Werkzeuge


thoschwiki:raspberrypi:wavesharepoehatb

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
thoschwiki:raspberrypi:wavesharepoehatb [08.12.2020 21:33]
thosch Einleitungstext, Links und Quellen ergänzt, typos
thoschwiki:raspberrypi:wavesharepoehatb [24.12.2020 10:16] (aktuell)
thosch [Waveshare PoE HAT (B)] typo
Zeile 1: Zeile 1:
 ====== Waveshare PoE HAT (B) ====== ====== Waveshare PoE HAT (B) ======
  
-<note>Das ist ein Stub.</note>+<note>Die Seite ist im Aufbau.</note>
  
-Das **[[https://www.waveshare.com/wiki/PoE_HAT_(B)|Waveshare PoE HAT (B)]]** ist eine [[wpde>Power over Ethernet|PoE]]-Hardwareerweiterung für den Raspberry Pi 3B+ und 4B, die eine Stromversorgung über das Netzwerkkabel ermöglichst. Neben der Hardware für die Spannungswandlung ist ein Lüfter und eine [[wpde>Organische Leuchtdiode|OLED-Dispplay]] mit 128x32 Pixel vorhanden.+Das **[[https://www.waveshare.com/wiki/PoE_HAT_(B)|Waveshare PoE HAT (B)]]** ist eine [[wpde>Power over Ethernet|PoE]]-Hardwareerweiterung für den Raspberry Pi 3B+ und 4B, die eine Stromversorgung über das Netzwerkkabel ermöglichst. Neben der Hardware für die Spannungswandlung ist ein Lüfter und eine [[wpde>Organische Leuchtdiode|OLED-Display]] mit 128x32 Pixel vorhanden.
  
  
 ===== Installation der Software ===== ===== Installation der Software =====
  
-Für die Steuerung des Lüfters und der Displayanzeige gibt es Programme in [[wpde>C_(Programmiersprache)|C]] und [[wpde>Python (Programmiersprache)|Python]]. Ich habe mich für die Variante in Python (3) entschieden, weil ich diese Sprache am ehesten verstehe und ggf. Änderungen bzw. Ergänzungen vornehmen kann.+Für die Steuerung des Lüfters und der Displayanzeige gibt es Programme in [[wpde>C_(Programmiersprache)|C]] und [[wpde>Python (Programmiersprache)|Python]]. Ich habe mich für die Variante in Python(3) entschieden, weil ich diese Sprache am ehesten verstehe und ggf. Änderungen bzw. Ergänzungen vornehmen kann.
  
 Installation der notwendigen Pakete: Installation der notwendigen Pakete:
  
 <code> <code>
-sudo apt-get install python3-pip python3-pil numpy-stl+sudo apt-get install python3-pip python3-pil python3-numpy
 sudo pip3 install RPi.GPIO smbus sudo pip3 install RPi.GPIO smbus
 </code> </code>
  
-<note important+<note> 
-Die Installation des Paketes ''numpy'' über ''pip3'' löst nicht alle Abhängigkeiten auf, sodass es notwendig ist, stattdessen das Pakte ''nunpy-stl'' über ''apt'' zu installieren.</note>+In der Beschreibung zum Beispiel-Code (''python/readme_EN.txt'' im Archiv) wird das Paket //numpy*// nicht als Abhängigkeit genannt. Ohne das Paket bricht das Script jedoch mit einem entsprechenden Fehler ab.\\ Die Installation des Paketes //numpy// über ''pip3'' löst nicht alle Abhängigkeiten auf, sodass es notwendig ist, stattdessen das Pakte //python3-nunpy// über ''apt'' zu installieren.((Alternativ kann auch der [[https://www.waveshare.com/wiki/PoE_HAT_(B)#Install_Python_Library|Beschreibung im Waveshare-Wiki]] gefolgt werden, wobei diese von der Abfolge her unstrukturiert ist, das Paket //libtiff// nicht (mehr?) existiert und auch nicht notwendig ist und das nicht aufgeführte Python-Paket //smbus// zu installieren ist.)) 
 +</note>
  
 +Als nächster Vorbereitungsschritt ist das //I²C//-Interface zu aktivieren (''sudo raspi-config'' > //Interface Options// > //I2C//).
  
 +Anschließend ist das Archiv mit dem Beispiel-Code herunterzuladen und zu installieren.
 +
 +<code>
 +cd
 +wget https://www.waveshare.com/w/upload/b/b7/PoE_HAT_B_code.7z
 +7z x PoE_HAT_B_code.7z python -r -o./PoE_HAT_B_code   # Nur Unterverzeichnis 'python' entpacken
 +cd PoE_HAT_B_code
 +mv python/* .                                         # Inhalt von 'python' eine Ebene nach oben bewegen
 +rmdir python                                          # Nun leeres Verzeichnis 'python' löschen
 +</code>
 +
 +Das Script zur Steuerung von Display und Lüfter findet sich unter ''~/PoE_HAT_B_code/examples''.
 +
 +===== Nutzung der Software =====
 +
 +Das Script wird über die Konsole als Parameter des Python-Interpreters aufgerufen und verfügt über keine Parameter:
 +
 +<code>
 +python3 ~/PoE_HAT_B_code/examples/main.py
 +</code>
 +
 +Abweichend von der //Waveshare//-Dokumentation ist bei mir ein Aufruf mit ''sudo'' nicht notwendig.
 +
 +Die Temperatur, bei der der Lüfter aktiviert wird, ist im Quelltext kodiert. Sie kann durch eine Änderung der Zeile 20 des Scriptes ''main.py'' angepasst werden. Hierfür ist der Wert in der Klammer des Funktionsaufrufes anzuapssen (Default 37°C):
 +
 +<file python>
 +        POE.POE_HAT_Display(37)
 +</file>
 +
 +Der Lüfter wird aktiviert, wenn die vorgegebene Temperatur erreicht wird. Sobald die Temperatur auf zwei Grad unter der Grenztemperatur fällt, wird der Lüfter gestoppt.
 +
 +Das Script kann mit <Ctrl>+<C> unterbrochen werden. Der Lüfter wird dann sofort gestoppt. Die Anzeige auf dem Display bleibt **unverändert**((Dieses Verhalten ist irritierend, weil man nicht erkennen kann, ob die Lüfterkontrolle noch aktiv ist.)).
 +
 +<note impotant>
 +  * Wird das Script auf anderen Weg gestoppt (z.B. mit ''kill'' oder beim Runterfahren des Systems), dann verbleibt auch der Lüfter ist aktuellen Zustand.
 +  * Auch wenn das System runtergefahren ist, verbleiben Display und Lüfter im vorherigen Zustand, solange die Stromversorgung nicht unterbrochen wird.
 +  * Sofern die Stromversorgung nicht unterbrochen wird, ändert auch ein Reboot nichts am Zustand von Display und Lüfter, sofern beim Systemstart das Script nicht wieder automatisch gestartet wird.
 +</note>
 +
 +Mit dem folgenden Aufruf kann das Script gestartet und im Hintergrund ausgeführt werden:
 +
 +<code>
 +python3 ~/PoE_HAT_B_code/examples/main.py &
 +</code>
 +
 +Um das Script beim Systemstart automatisch aufzurufen, empfiehlt //Waveshare// den Aufruf als vorletzte Zeile in die ''rc.local'' aufzunehmen:
 +
 +<code>
 +sudo nano /etc/rc.local
 +</code>
 +
 +<file bash>
 +fi
 +
 +python3 /home/thosch/PoE_HAT_B_code/examples/main.py &
 +
 +exit 0
 +</file>
 +
 +===== Angepasste Software =====
 +
 +Ich plane die Software an einigen Stellen in Funktion und Umsetzung der Programmierung anzupassen.
 +
 +Insbesondere das Verhalten beim Beenden des Scriptes sollte verbessert werden:
 +
 +  * Auf dem Display sollte klar erkennbar sein, dass die Steuerung deaktiviert ist.
 +  * Der Lüfter sollte in einen für das Gesamtsystem sicheren, d.h. aktivierten Zustand versetzt werden, um Überhitzungen zu vermeiden.
  
  
Zeile 27: Zeile 96:
   * [[https://www.waveshare.com/wiki/PoE_HAT_(B)|Waveshare Wiki -- PoE HAT (B)]]   * [[https://www.waveshare.com/wiki/PoE_HAT_(B)|Waveshare Wiki -- PoE HAT (B)]]
   * [[https://www.waveshare.com/w/upload/b/b7/PoE_HAT_B_code.7z|Dowload 7z-Archiv mit Demo-code und Treibern (C und Python)]]   * [[https://www.waveshare.com/w/upload/b/b7/PoE_HAT_B_code.7z|Dowload 7z-Archiv mit Demo-code und Treibern (C und Python)]]
 +  * [[github>johnbryanmoore/VL53L0X_rasp_python/issues/13|johnbryanmoore/VL53L0X_rasp_python Issue #13 Solution to solve "No such file or directory" for smbus (Hint für Aktivierung ic2-Interface)]]
  
thoschwiki/raspberrypi/wavesharepoehatb.1607459614.txt.gz · Zuletzt geändert: 08.12.2020 21:33 von thosch