RS232 Projector Controller: Difference between revisions

From Chaosdorf Wiki
No edit summary
No edit summary
 
(11 intermediate revisions by the same user not shown)
Line 9: Line 9:
|annoying=notify
|annoying=notify
|has label=Yes
|has label=Yes
|git=https://github.com/chaosdorf/projector-controller-iot}}Controls the [[Beamer Hackcenter|projector]] via its RS232 interface. Integrated into [[HomeAssistant]] via MQTT.
|git=https://github.com/chaosdorf/projector-controller-iot}}Controls the [[Beamer Hackcenter|projector]] via its RS232 interface. Integrated into [[HomeAssistant]] via MQTT.  


=== Location ===
=== Location ===
Line 17: Line 17:
µC: [https://www.espressif.com/en/products/socs/esp32-s3/ ESP32-S3-WROOM] with 8MB flash, [https://www.maxlinear.com/ds/sp3222e_sp3232e.pdf SP3232EEN-L/TR] RS232 transceiver
µC: [https://www.espressif.com/en/products/socs/esp32-s3/ ESP32-S3-WROOM] with 8MB flash, [https://www.maxlinear.com/ds/sp3222e_sp3232e.pdf 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).
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 =====
{| class="wikitable sortable"
|+
!Topic
!Arguments
!Description
|-
|<code>/projector-controller/cmd/power</code>
|ON/OFF
|Sends the main power commands
|-
|<code><nowiki>/projector-controller/cmd/(menu|enter|up|down|left|right|back)</nowiki></code>
|
|Emulate keypresses
|-
|<code>/projector-controller/cmd/raw</code>
|Binary data
|Sends raw bytes over serial, framed with <code>[0x02, [...data] 0x03]</code>
|}
 
===== Status =====
{| class="wikitable sortable"
|+
!Topic
!Values
!Description
|-
|<code>/projector-controller/availability</code>
|online/(offline)
|Publishes the controller's availability every couple of seconds
|-
|<code>/projector-controller/stat/power</code>
|ON/OFF
|Publishes the projector's power status '''(doesn't work)'''
|}
 
 
== Limitations ==
There is a <code>QPW</code> command for querying its current power status, the projector only responds sometimes though.
 
== References ==

Latest revision as of 09:34, 24 September 2025

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[edit | edit source]

Attached to truss next to projector in Hackcenter.

Technical Details (see git repo)[edit | edit source]

µ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[edit | edit source]

Commands[edit | edit source]
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[edit | edit source]
Topic Values Description
/projector-controller/availability online/(offline) Publishes the controller's availability every couple of seconds
/projector-controller/stat/power ON/OFF Publishes the projector's power status (doesn't work)


Limitations[edit | edit source]

There is a QPW command for querying its current power status, the projector only responds sometimes though.

References[edit | edit source]