Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re: Simple XBee code not working

by Argel (Prior)
on Jun 20, 2012 at 21:50 UTC ( #977483=note: print w/replies, xml ) Need Help??


in reply to Simple XBee code not working

You are missing the closing paren for the if statement:
if ( !$api->tx( { sh => 0, sl => 0 }, 'hello world!' ) ) { 1 2 1 ^-- add
Don't feel too bad that you missed it. Sometimes the easy ones like these are the hardest to see. That's why a second pair of eyes can be so important!

Elda Taluta; Sarks Sark; Ark Arks
My deviantART gallery

Replies are listed 'Best First'.
Re^2: Simple XBee code not working
by SquareJ (Novice) on Jun 22, 2012 at 02:46 UTC
    With some help from JEagle himself i am now able to talk to remote XBees too. Below is a simple AT get request. Jason
    #!/usr/local/bin/perl use warnings; use strict; use Win32::SerialPort; use Device::XBee::API; #Tuna - 13A200 40475351 my $serial_port_device = Win32::SerialPort->start ("tpj4.cfg") || die; # Create the API object my $api = Device::XBee::API->new( { fh => $serial_port_device, packet_timeout => 10}) || die $!; my ($High, $Low, $Network) = (0x13A200, 1083841427, 0xFFFE); #Requests Temperature built in - TP my $at_frame_id = $api->remote_at( { sh => $High, sl => $Low }, 'tp' ) +; # Receive the reply my $rx = $api->rx_frame_id( $at_frame_id ); # Prints ALL hash values and keys my (%rx, $temp, $key, $value); while (($key,$value) = each $rx) { print "$key $value \n"; } # Prints results print 'RX return code:' . $rx->{status} . " \n\n"; print 'Data received:' . $rx->{data_as_int} . " \n\n"; my $CTemperature = sprintf("%x",$rx->{data_as_int}); my $FTemperature = $CTemperature * 9 / 5 + 32; #F = 9 / 5 C + 32 print "\n\nTemperature IS - " . $CTemperature . "C or " . "$FTempe +rature F\n\n"; # IF Errors die "No reply received" if !$rx; if ( $rx->{status} != 0 ) { die "API error" if $rx->{is_error}; die "Invalid command" if $rx->{is_invalid_command}; die "Invalid parameter" if $rx->{is_invalid_parameter}; die "Unknown error"; } __END__

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://977483]
help
Chatterbox?
[Corion]: ambrus: AnyEvent(::HTTP) doesn't integrate well with Prima, that's my main problem
[Corion]: There is a weirdo shim because there is a POE integration for Prima, and if you use that, you can use the POE adapter of AnyEvent. What I'd want is something transport agnostic that parses HTTP or produces HTTP output, so that the communication with ...
[Corion]: ... the socket is done by my code. Ideally that module would not be based on callbacks ;)

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (11)
As of 2016-12-07 15:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    On a regular basis, I'm most likely to spy upon:













    Results (130 votes). Check out past polls.