Nabaztag
view release on metacpan or search on metacpan
lib/Nabaztag.pm view on Meta::CPAN
package Nabaztag;
use warnings;
use strict;
use base qw/Class::AutoAccess/ ;
use Carp ;
use LWP::UserAgent ;
use URI::Escape ;
=head1 NAME
Nabaztag - A module to interface your nabaztag!
=head1 VERSION
Version 0.03
=head1 ABOUT
Nabaztag.pm complies with nabaztag API V1 from violet company.
old APIV01 :http://www.nabaztag.com/vl/FR/nabaztag_api_version01.pdf
API V1 WILL BE SOON PUBLISHED.
See api mailing list at http://fr.groups.yahoo.com/group/nabaztag_api/
See help at http://www.nabaztag.com/
=cut
our $VERSION = '0.03';
our $BASE_URL = "http://www.nabaztag.com/vl/FR/api.jsp" ;
our $ID_APP = 11 ;
=head1 DESCRIPTION
This module is designed to allow you to control a nabaztag with perl programming language.
See ABOUT section to know which api it fits.
It has been tested with my own nabaztag and seems to work perfectly.
It also provide a simple command line tool to try your nabaztag: nabaztry (see SYNOPSIS).
This tool is install in /usr/bin/
It makes great use of LWP::Simple to interact with the rabbit.
PROXY issues:
If you're behind a proxy, see LWP::Simple proxy issues to know how to deal with that.
Basically, set env variable HTTP_PROXY to your proxi url in order to make it work.
For instance : export HTTP_PROXY=http://my.proxy.company:8080/
=head1 SYNOPSIS
Commandline:
$ nabaztry.pl MAC TOKEN POSLEFT POSRIGHT
Perl code:
use Nabaztag ; # OR
# use Nabaztag { 'debug' => 1 } ;
my $nab = Nabaztag->new();
# MANDATORY
$nab->mac($mac);
$nab->token($tok);
# See new function to have details about how to get these properties.
$nab->leftEarPos($left);
$nab->rightEarPos($right);
$nab->syncState();
$nab->sayThis("Demain, il pleuvra des grillons jusqu'a extinction totale de la race humaine.");
.....
See detailled methods for full possibilities.
Gory details :
You can access or modify BASE_URL by accessing:
$Nabaztag::BASE_URL ;
For application id :
$Nabaztag::ID_APP ;
=head1 FUNCTIONS
=head2 new
Returns a new software nabaztag with ears position fetched from the hardware one if the mac and token is given.
It has following properties:
mac : MAC Adress of nabaztag - equivalent to Serial Number ( SN ). Written at the back
of your nabaztag !!
token : TOKEN Given by nabaztag.com to allow interaction with you nabaztag. See
http://www.nabaztag.com/vl/FR/api_prefs.jsp to obtain yours !!
leftEarPos : position of left ear.
rightEarPos : position of right ear.
usage:
my $nab = Nabaztag->new($mac , $token );
print $nab->leftEarPos();
( run in 1.819 second using v1.01-cache-2.11-cpan-71847e10f99 )