Award
Congratulations DJ Sures, for answering the question and has received an EZ-Credit award! Share what you have learned and create a tutorial to help others by clicking here.

Ez-builder Control Via Sdk

Assistance Requested

Help Darathian with their question and receive $10 of EZ-Credit to get more robots and parts from our store. The following information was provided about their previous efforts searching tutorials for a resolution.

Darathian claims to have checked these sources:
 
#1

Is it possible to enable and disable for example the color tracking check box in the camera control in EZ-Builder via the SDK while conected via the telnet server?

Thanks

I have found a few conversations, tutorials and activities that may help with your question. Take a look at these links. I've sorted them by what I believe to be most relevant but that is not always the case as I'm still learning.


Also, consider reviewing the Learn section for informative lessons and activities. Check it out!


#2

The EZ-SDK and EZ-Builder are different things. The EZ-Builder is a graphical interface to the EZ-SDK. The EZ-SDK is a collection of libraries and functions for programmers to create their own interface. For example, with EZ-SDK you can make your own EZ-Builder.

If you have a program that you would like to communicate to EZ-Builder - you can do so with commands sent over the selected TCP port. You will have to put the EZ-Builder Connection Server into Script Mode. You can do that by pressing the Config Button on the Connection Control.

The Script Mode will allow the incoming connections on the selected port. You can now send EZ-Script commands to the Script Mode Server's TCP Port.

For what you're asking - you can send the ControlCommand() syntax. Reference the EZ-Script manual to obtain the appropriate syntax for your question.

Hope that helps!

#3

I enabled the TCP server and script mode is enabled and I identified the correct EZ-Script command to send. If I send it via just a normal telnet client the string works but via my code it does not.

I am pretty new to EZB and C# and haven't coded in ages.

Is the Method:EZ_B.TCPClient.WriteLine(System.String) method the correct method to use to send the string?

I can post the code if that would help.

Thanks

#4

Correct me if I am wrong but looking at the ControlCommand()s it seems like it is not possible (unless I missed something) to read an external variable value sent via the TCP port so it can be used in EZ-Script.

Thanks

#5

As DJ stated if you are using EZ-Builder you do not need to use the SDK. It's one or the other. EZ-Builder is, in basic terms, a GUI for the SDK but has it's limits to the pre-defined controls.

You can send and receive variables and commands through TCP, I have it set up on Jarvis to do so. Your other application can use all of the ControlCommand()s or anything within EZ-Script. If you wanted to send a variable to EZ-Builder you just need to send the code

Code:

$x = variable

in whichever language you are using to transmit via TCP.

To send the other way (EZ-Builder to Application) switch it around so

Code:

variable = $x



Where "variable" is the external applications variable name and "$x" is the EZ-Builder variable.

You could also use HTTPGet to pull data from other applications, web pages and sites or execute web based applications.

#6

First let me say thanks to both of you for your answers. I value your input.

What I am trying to do is this:

1. Read a value into my own APP from another application (This is working)
2. Send that value from my own APP using an EZ-SDK built-in method if possible to the TCP server and store it in a variable so I can use it inside EZ-Script.

Perhaps I need to phrase the question in a better way.

Is there a built in method in the SDK that I can use to send a Control string for example cc("Camera", CameraColorTrackingEnable) or $x = variable to the TCP server?

Thanks

#7

Here's an example of setting and getting EZ-Script variables over the Script Interface. Also, I used a ControlCommand() to set the Face Tracking (notice the checkbox next to Face on the camera control)

User-inserted image

I will whip up a quick little C# demo for you on connecting to EZ-Builder via script interface and post it here. But, I have to have lunch first Smile

#8

@DJ Sures That would be awesome and thank you very much. Your help is appreciated.

My App can wait, go have some lunch Smile

I knew my connection to the TCP server was working using the EZ_B.TCPClient.Connect method to connect since I could read the response "EZ-Builder v2013.12.30.00 on TTY0" back into a c# variable in my app using the TCPCLient class and Networkstream method and I could see the connection come into the EZ-Builder debug window from the app.

I think my issue is how I am trying to send the string to the TCP server. An example would help very much indeed.

#9

Here you go.. Make sure you have a Camera Control added to your project for the camera buttons in this example to work.

Tutorial52-ScriptInterfaceClient.zip

#10

@DJ Sures This really helps fill in the blanks and will give me what I need to proceed.

Thanks so much.