Personal tools
The Open Lighting Project has moved!

We've launched our new site at www.openlighting.org. This wiki will remain and be updated with more technical information.

Difference between revisions of "OLA JSON API"

From wiki.openlighting.org

Jump to: navigation, search
m (Set a universe of DMX: Add curl example, minor tweak of example values)
m (Examples: Add a Get Perl example)
 
Line 23: Line 23:
 
====curl====
 
====curl====
 
<pre>curl -d u=1 -d d=0,10,20,30,40,50,60,255 http://localhost:9090/set_dmx</pre>
 
<pre>curl -d u=1 -d d=0,10,20,30,40,50,60,255 http://localhost:9090/set_dmx</pre>
 +
 +
===Get a universe of DMX===
 +
====Perl====
 +
<pre>#!/usr/bin/perl -w
 +
 +
use JSON::XS;
 +
use LWP::UserAgent;
 +
 +
my $ua = LWP::UserAgent->new;
 +
$ua->timeout(5);
 +
 +
my $url = "http://localhost:9090/get_dmx?u=1";
 +
 +
my $response = $ua->get($url);
 +
 +
if ($response->is_success) {
 +
  my $data  = decode_json($response->decoded_content);
 +
 +
  print "DMX Data: " . join(", ", @{$data->{dmx}}) . "\n";
 +
} else {
 +
  die $response->status_line;
 +
}</pre>

Latest revision as of 07:25, 21 April 2018

Browse to /help on your OLA webserver to see the available commands (append ?help=1 to the end of a command for more info in newer versions of OLA)

Examples

Set a universe of DMX

Perl

#!/usr/bin/perl -w

use LWP::UserAgent;

my $ua = LWP::UserAgent->new;
$ua->timeout(5);

my $response = $ua->post('http://127.0.0.1:9090/set_dmx',
  {u => 1, d => join(",",(0,10,20,30,40,50,60,255))}
);

if ($response->is_success) {
  print $response->decoded_content;
} else {
  die $response->status_line;
}

curl

curl -d u=1 -d d=0,10,20,30,40,50,60,255 http://localhost:9090/set_dmx

Get a universe of DMX

Perl

#!/usr/bin/perl -w

use JSON::XS;
use LWP::UserAgent;

my $ua = LWP::UserAgent->new;
$ua->timeout(5);

my $url = "http://localhost:9090/get_dmx?u=1";

my $response = $ua->get($url);

if ($response->is_success) {
  my $data  = decode_json($response->decoded_content);

  print "DMX Data: " . join(", ", @{$data->{dmx}}) . "\n";
} else {
  die $response->status_line;
}