beyik_lmd wrote:
Thanks for replying MrH
The problem is I have no understanding at all of how to send these commands to the projector. Unfortunately I did not understand any of your suggestions.
You're looking for a program. One or maybe two short programs to start with, and probably eventually one that's a little more complex. One program that sends "on" and one that sends "off", for instance. A little further along, a program that can send both, and that can show the selection and the setting to the GUI.
The stuff you're looking at in that documentation? These are characters.
You are entering characters into the text boxes here in the ASC forum. Same thing. Instead of sending the characters into the text box here, you can send different characters into a different "box"; into the device that's associated with the USB widget, and that's then wired to the projector. That is, you write characters to the device. The tools available here can vary.
In this case, you're sending the equivalent of the following characters:
BE EF 03 06 00 2A D3 01 00 00 60 00 00
BE EF 03 06 00 2A D3 01 00 00 60 00 01
Now these particular printable characters are representing characters that are not printable characters, so you'll end up writing these as the base 16 values shown. In what's called hexadecimal. You're already using some characters that aren't printable, such as the character that gets used when you press return in the text boxes here in the ASC forums. There are others.
The following is in Terminal.app and the command line...
Here's the bash printf command that sends these base 16 values; the use of the three digits for each and the \x are part of the printf command syntax that tells the printf command that the values following are using base 16. The quote character is a single vertical apostrophe character. Some text editors and some tools on macOS may substitute different quoting characters, and those won't work here.
printf '\x0BE\x0EF\x003\x006\x000\x02A\x0D3\x001\x000\x000\x060\x000\x000'
printf '\x0BE\x0EF\x003\x006\x000\x02A\x0D3\x001\x000\x000\x060\x000\x001'
As a completely harmless text of this, you can sound the bell at the command line:
printf '\x007'
That 07 is the base 16 encoded version of the bell character. Yes, there's a bell character in the character set. It's another of the non-printable characters. If you enter that printf command with that specified string and you hear a beep, then it's working. If you don't hear a beep, there's a problem.
With the addition of the USB device name (shown below as /dev/tty.UC-232AC as that's what you've found, but that device name with vary by the specific device for other folks), then the bash shell commands will look something like the following printf commands. The following should work, but I don't have the necessary serial device to test the syntax with.
printf '\x0BE\x0EF\x003\x006\x000\x02A\x0D3\x001\x000\x000\x060\x000\x001' > /dev/tty.UC-232AC
printf '\x0BE\x0EF\x003\x006\x000\x02A\x0D3\x001\x000\x000\x060\x000\x001' > /dev/tty.UC-232AC
You've already located the device name /dev.tty.UC-232AC. For other folks using different USB adapters? Look at the USB adapter documentation for the device name that it'll present to macOS, or use a command such as sudo ls /dev issued before and again after the device is connected, and look at which device is added when the USB adapter is connected. The sudo will require an administrative password, but is otherwise harmless. The device name will be in a format similar to /dev/tty.whatever, but probably with the USB adapter name embedded.
Or you can convince somebody to enter the echo or printf command into a shell script for you, or similar. Writing a small GUI-based program to control the projector should be a fairly quick project for someone familiar with Objective C or Swift on macOS, or the use of Automator.app with calls to bash shell scripts. Access to the projector would be very handy for debugging the program.
A little more work for the programmer would be sending a query to the projector, asking its status. The projector will then send back the specified string, and the program can then be modified to decide whether there's a projector on the far end and whether it's powered up or powered down.
If this projector is being used at a school for instance, and if Macs are in use at the school, ask one of the local kids. This would the sort of project that some of them might be interested in working on.