• Products
    • Isadora
    • Get It
    • ADD-ONS
    • IzzyCast
    • Get It
  • Forum
  • Help
  • Werkstatt
  • Newsletter
  • Impressum
  • Dsgvo
  • Press
  • Isadora
  • Get It
  • ADD-ONS
  • IzzyCast
  • Get It
  • Press
  • Dsgvo
  • Impressum

Navigation

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Tags

    [ANSWERED] Controlling Projectors with TCP

    How To... ?
    tcp tcp send data projector api help
    4
    7
    1479
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • liminal_andy
      liminal_andy last edited by Woland

      I'm in a difficult situation with a Barco 4K40 projector that I am hoping Isadora can get me out of. Due to a failure in the secondary projector, the 4K40 now needs to hit two screens at different depths at different moments in the show (sometimes focused near the upstage, sometimes near a screen downstage). 


      This projector has motor control for its lens as well as a JSON RPC/Pulse Based remote control protocol that can run over TCP. Here's the manual for this API. My understanding is that if I want to adjust the focus of the lens, I need to send something like:

      {
            "jsonrpc": "2.0",
            "method": "property.set",
            "params": {
                "property": "optics.focus.target",
                "value": 1
            }
      }

      And I assume this goes in the TCP Send Data actor in Isadora, converted from string to hex. I also believe that if I put P1 in place of the hex for the value currently supplied as 1, I can adjust that focus target position on the actor itself. However, I am largely unfamiliar with the behavior of JSON over the TCP actors. Do I need to serialize the string (removing newlines, and tabs?) and then convert to hex? Or do I leave those as-is? Is there a better way to communicate with the projector?


      Thanks for any assistance that can be provided. Show is tomorrow and they just dumped this on me an hr ago :)

      Andy Carluccio
      Zoom Video Communications, Inc.
      www.liminalet.com

      [R9 3900X, RTX 2080, 64GB DDR4 3600, Win 10, Izzy 3.0.8]
      [...also a bunch of hackintoshes...]

      DusX D O 3 Replies Last reply Reply Quote 0
      • DusX
        DusX Tech Staff @liminal_andy last edited by

        @liminal_andy

        Unfortunelty I don't have any experience with this format of commands either, so without the hardware to do a little trial/error testing I am no help.

        I do know that bitfocus companion has a number of addons for Barco support. Perhaps you could use it as middle ware, since you can control it from Isadora rather easily.

        Troikatronix Technical Support

        • New Support Ticket Link: https://support.troikatronix.com/support/tickets/new
        • My Add-ons: https://troikatronix.com/add-ons/?u=dusx
        • Profession Services: https://support.troikatronix.com/support/solutions/articles/13000109444-professional-services

        Running: Win 11 64bit, i7, M.2 PCIe SSD's, 32gb DDR4, nVidia GTX 4070 | located in Ontario Canada.

        1 Reply Last reply Reply Quote 0
        • D
          DillTheKraut @liminal_andy last edited by DillTheKraut

          @liminal_andy

          The projector does except ArtNet (DMX over Ethernet).

          General DMX / ArtNet functionality discription in the manual

          DMX controlling tables

          Maybe this would be the more common way to do it.
          There are ArtNet Plugin Actors for Isadora, but I did not use them yet, as I found them to be a bit unintuitive.
          Instead I use QLC+, a free ArtNet/DMX Software, which in turn can be controlled by OSC or Midi.

          Instead of moving the lens to a specific position, you could save profiles and recall them. there are specific DMX values to recall a specific profile. (Controlling the motors directly is possible as well, if you switch to the advanced DMX mode).

          If you need help with this, send me a message.

          Best,
          Dill

          liminal_andy 1 Reply Last reply Reply Quote 1
          • liminal_andy
            liminal_andy @DillTheKraut last edited by

            @dillthekraut and @DusX thank you both for your replies. As it turns out, yes, serializing the JSON and using the TCP actor can work with this unit, though for anyone looking at this thread in the future the DMX route would be much easier I assume. We didn't have that capability in our case, but it would be much lower friction!

            Andy Carluccio
            Zoom Video Communications, Inc.
            www.liminalet.com

            [R9 3900X, RTX 2080, 64GB DDR4 3600, Win 10, Izzy 3.0.8]
            [...also a bunch of hackintoshes...]

            D 1 Reply Last reply Reply Quote 1
            • D
              DillTheKraut @liminal_andy last edited by DillTheKraut

              Just to make this clear for everyone interested in this. The Projector offers DMX connection via XLR connectors and cables. This is helpfull to integrate all the functionality to an already existing light controlling desk.

              But beside that, the projector offers ArtNet over the usual ethernet connection, which should exist in most cases anyway for easier configuration.

              This is as well the case for others brands 'bigger' projectors, like epson or panasonic. But most of them do not offer the classic DMX via XLR.

              Best

              Dill

              1 Reply Last reply Reply Quote 0
              • O
                opmeyer @liminal_andy last edited by

                @liminal_andy said:

                Do I need to serialize the string (removing newlines, and tabs?)

                 Hi Andy, this is a Question about syntax for you since you have done it before.


                I'm trying this out on the same series projector. 

                (* copy paste straight from the API by Barco that you provided a link to in your initial post, thank you.)

                ------page 4 example-------

                {

                "jsonrpc": "2.0",

                "method": "system.poweron"

                }

                ------------------------------

                By putting this all on one line works with other software I'm using for testing, however The send TCP actor is complaining with a dialogue "Invalid Hex Character".

                When you say serialize, do you mean simply deleting the curly brackets and putting all text in one line? i.e.

                "jsonrpc": "2.0","method": "system.poweron"

                According to the Isadora manual p.261 Data output formatting: to make the TCP actor function correctly, I add an additional pair of double quotes to contain the JSON message and end with a carriage return and new line feed HEX outside of these quotes. i.e.

                ""jsonrpc": "2.0","method": "system.poweron"" 0D 0A

                What have I not understood here?

                O 1 Reply Last reply Reply Quote 0
                • O
                  opmeyer @opmeyer last edited by

                  @opmeyer

                  The solution here:

                  BING copilot translated the JSON to HEX and pasted it in the TCP send actor. Worked straight away!

                  {"jsonrpc": "2.0","method": "system.poweron"}
                  7b 22 6a 73 6f 6e 72 70 63 22 3a 20 22 32 2e 30 22 2c 22 6d 65 74 68 6f 64 22 3a 20 22 73 79 73 74 65 6d 2e 70 6f 77 65 72 6f 6e 22 20 7d

                  {"jsonrpc": "2.0","method": "system.poweroff" }
                  7b 22 6a 73 6f 6e 72 70 63 22 3a 20 22 32 2e 30 22 2c 22 6d 65 74 68 6f 64 22 3a 20 22 73 79 73 74 65 6d 2e 70 6f 77 65 72 6f 66 66 22 20 7d

                  1 Reply Last reply Reply Quote 3
                  • First post
                    Last post