Send a command to Global Cache from the script
SEND COMMAND
If the command is already created in the device tree (built-in drivers):
http://wiki2.iridiummobile.net/Drivers_API#Set
If you want to form the command string inside the script:
http://wiki2.iridiummobile.net/Drivers_API#Send
Take part in webinars of iRidium Academy to receive more information about working with equipment using iRidium Script.
Let’s say you have GC-100-12, and some RS232-Device is connected to the output Serial 2. RS232-Device has a set of commands described in the driver (in output Commands).
So in order to activate the command what should you write?
One GC-100-12 module consists of 3 transports (as it works with 3 different devices at a time):
- port 4998 – IR commands, system data, relay control
- port 4999 – Serial 1
- port 5000 – Serial 2
Thus, to refer to different ports, you will need to describe the device differently from the standard AV driver.
.Send command to GC:
IR.GetDevice("Global Cache").Send(['DATA'], <TRANSPORT ID>)
is 0, 1 or 2 - it is the number of TCP transport created by GC driver
0 = TCP transport on port 4998 (IR commands, system data, relays)
1 = TCP transport on port 4999 (Serial 1)
2 = TCP transport on port 5000 (Serial 2)
.Set command to GC:
IR.GetDevice("Global Cache").Set("COMMAND", "")
"COMMAND" have to be created on the GC output
Example 1 (.Send and .Set command to Serial output):
var device = IR.GetDevice("Global Cache"); IR.AddListener(IR.EVENT_ONLINE , device, function() { device.Send(['POWER_ON', '\r\n'], 1); // to Serial 1 device.Send([0x00, 0x00, 0x00, 0x0D], 2); // to Serial 2 device.Set("POWER_ON", ""); // Command from the tree });
Example 2 (.Send IR command to IR Output):
var device = IR.GetDevice("Global Cache"); IR.AddListener(IR.EVENT_ONLINE , device, function() { var command1 = 'sendir,1:1,1,36127,1,1,96,31,17,16,16,16,16,32,16,32,49,32,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,32,17,16,16,16,16,16,32,16,16,16,16,16,16,16,16,32,32,16,16,16,16,16,16,16,16,32,17,16,16,16,16,16,32,16,4624'; device.Send([command1,0x0D]); }IR command has a following syntax:
'sendir,<connectoraddress>,<ID>,<frequency>,<repeat>,<offset>,<command sequence>'see the iTach API for details
RECEIVE FEEDBACK
To receive the feedback from Global Cache with COM port and process it with JS, please use the construction:
IR.AddListener(IR.EVENT_RECEIVE_TEXT, IR.GetDevice("Global Cache"), function(text, id) { if (id == 0) IR.Log("system data: "+ text); else if (id == 1) IR.Log("COM1 data: "+ text); else if (id == 2) IR.Log("COM2 data: "+ text); });
function (text, id)
text - the data received from equipment
id - is 0, 1 or 2, it is the number of TCP transport created by GC driver
0 = TCP transport on port 4998 (IR commands, system data, relays)
1 = TCP transport on port 4999 (Serial 1)
2 = TCP transport on port 5000 (Serial 2)
Customer support service by UserEcho