RS232 Projector Controller

From Chaosdorf Wiki
Revision as of 21:16, 22 September 2025 by Ente (talk | contribs) (add status topics)
RS232 Projector Controller
Projector Controller Mounted.jpg
Ort Hackcenter
Besitzstatus Leihgabe
Kontakt ente
Git-Repo https://github.com/chaosdorf/projector-controller-iot

Controls the projector via its RS232 interface. Integrated into HomeAssistant via MQTT.

Location

Attached to truss next to projector in Hackcenter.

Technical Details (see git repo)

µC: ESP32-S3-WROOM with 8MB flash, SP3232EEN-L/TR RS232 transceiver

Programmable via UART, JTAG, and theoretically USB (the data lines are swapped for this, and would need to be fixed with a knife and soldering iron)

MQTT Topics

Commands
Topic Arguments Description
/projector-controller/cmd/power ON/OFF Sends the main power commands
/projector-controller/cmd/(menu|enter|up|down|left|right|back) Emulate keypresses
/projector-controller/cmd/raw Binary data Sends raw bytes over serial, framed with [0x02, [...data] 0x03]

Status

Topic Values Description
/projector-controller/availability online/(offline) Publishes the controller's availability every couple of seconds
/projector-controller/cmd/(menu|enter|up|down|left|right|back) Emulate keypresses
/projector-controller/cmd/raw Binary data Sends raw bytes over serial, framed with [0x02, [...data] 0x03]


Limitations

When the projector receives an invalid command—e. g. power on when it's already powered on—it just ignores all future commands until the serial cable is yanked and replugged. There is a QPW command for querying its current power status, the projector just does not seem to respond to it in the way mentioned in the manual.[1]

References