Building a Rack for Embedded Boards Management, Part III: PoE Management

In previous posts, I detailed the construction of a rack for managing embedded boards:

A critical aspect of this setup is the ability to remotely control the power cycling of the boards. To achieve this, I utilized the zyxel-poe-manager, a convenient Python script that manages the Power over Ethernet (PoE) ports on Zyxel GS1900 series switches.

Why zyxel-poe-manager?

The Zyxel GS1900 switch web interface can be cumbersome, and its SNMP and CLI capabilities are limited. The zyxel-poe-manager script automates web interface interactions, streamlining PoE port management.

Installation Steps

  1. Clone the Repository:
   git clone https://github.com/jonbulica99/zyxel-poe-manager.git
   cd zyxel-poe-manager
  1. Install Dependencies: The script requires Python 3, along with the requests and BeautifulSoup4 libraries. Install them using pip:
   python3 -m pip install -r requirements.txt

Compatibility

The author confirms compatibility with firmware version V2.70(AAZI.1)_20220111 on the GS1900-10HP model rev A1. I successfully tested the script on firmware version V2.80(ABTP.0)_10162023 for the GS1900-24HP model.

Usage Examples

To manage PoE ports, execute the script with appropriate parameters:

  • Check Port Status:
  ./poe-manager.py --host 192.168.1.5 --user admin --password ${PASSWORD} --port 4

Output:

  Disable
  • Enable PoE on Port 4:
  ./poe-manager.py --host 192.168.1.5 --user admin --password ${PASSWORD} --port 4 --state 1

Output:

  Executing command: Turn on PoE Port 4.
  Command executed successfully!

Verify the status:

  ./poe-manager.py --host 192.168.1.5 --user admin --password ${PASSWORD} --port 4

Output:

  Enable

Disable PoE on Port 4:

  ./poe-manager.py --host 192.168.1.5 --user admin --password ${PASSWORD} --port 4 --state 0

Output:

  Executing command: Turn off PoE Port 4.
  Command executed successfully!

Verify the status:

  ./poe-manager.py --host 192.168.1.5 --user admin --password ${PASSWORD} --port 4

Output:

  Disable

Demonstration Video

Finally, for a visual guide on using the zyxel-poe-manager script to control PoE ports on a Zyxel GS1900 series switch, watch the following video:

Wrapping up …
By integrating this script into my rack setup, I have now resolved the remote power management for my embedded boards. This enhancement significantly improved my daily interactions with these remote devices, as it allows me to reboot them whenever they become unresponsive and require a hard reset. This solves the firs goal of my initial planification:

  • Remote Power Management: Implementing the capability of remotely power on/off the embedded board.

In an upcoming post, I plan to explain how I am managing now the graphical output remotely from these mini-computers using both KVM and a H.264 LiveStream Video Encoder. Ciao!

— Pasiño a Pasiño faise o camiño

Leave a comment

:-)

I’m Pablo Saavedra, a former Unix systems administrator turned embedded software developer, now dedicated to squashing bugs and optimizing performance on embedded devices..

I’m degree  in Computer Science by Universade da Coruña (Spain).

Of course, my hobbies are anything similar to computers, but also boxing, fitness, good beers, … You can follow me on twitter or my linkedin profile,