RS232 Projector Controller: Difference between revisions

From Chaosdorf Wiki
No edit summary
No edit summary
 
(8 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 18: Line 18:


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 ==
== 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 <code>QPW</code> command for querying its current power status, the projector just does not seem to respond to it in the way mentioned in the manual.<ref>https://web.archive.org/web/20171028162105/http://www.projectorcentral.com/pdf/projector_manual_6589.pdf</ref>
There is a <code>QPW</code> command for querying its current power status, the projector only responds sometimes though.


== References ==
== 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]