Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
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


Comment on Re: Simple XBee code not working
Download Code
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?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (6)
As of 2015-07-08 04:35 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (94 votes), past polls