Hi James,
On Sun, 5 Apr 2020 14:58:26 +0100
James Kerwin <[email protected]> wrote:
> Hi All,
>
> I'm trying to connect to a smart bulb on my home WIFI using mcast_send
> in IO::Socket::Multicast.
>
> It works on my main Linux Mint laptop. The same script does not work on my
> Raspberry PI.
>
> Despite the script running as expected on one laptop I've checked that this
> is all set up correctly:
>
> sub new {
> #my $class = shift;
> my $data = {
> address => '239.255.255.250',
> port => 1982,
> timeout => 3,
> devices => [],
> };
> return bless( $data );
> }
>
It is a good idea to use bless with an explicit package name or just use
https://metacpan.org/pod/Moo or Moose or similar.
> my $socket = IO::Socket::Multicast->new(
> PeerAddr => $self->{address},
> PeerPort => $self->{port},
> Proto => "udp",
> ReuseAddr => 1,
> ) or croak $!;
>
> But it's this part that fails on the PI:
>
A few things to check:
1. Which OS/distro/version and perl version on both machines?
2. Does it happen with the latest stable perl installed from source?
3. Did you try using https://en.wikipedia.org/wiki/GDB and/or perl -d:
https://perl-begin.org/topics/debugging/ ?
4. Is there anything in the rpi's firewall config?
For more advice, see https://github.com/shlomif/writing-the-perfect-question .
> $socket->mcast_send( $query, "$self->{address}:$self->{port}" ) or croak $!;
>
> I've checked that $socket, $query and $self->{address}:$self->{port}
> contain the info I expect and they do.
>
> On my Linux laptop I can use tcpdump and see the communication between
> laptop and bulb. Doing this on the Pi shows no communication. I've replaced
> the "croak" with "die "zzzzzzzzzzzz" so I can be certain it's failing at
> that point. I get the output "zzzzzzzzzzzz" (makes it easier to spot).
>
> I've just used a command recently that allows me to access the specific ip
> and port of the lamp and it indicates the connection is successful. I'm out
> of ideas and if anyone can advise I'd appreciate it.
>
> Slightly (very) out of my depth when it comes to ports and IPs etc.
>
> Thanks,
> James
--
Shlomi Fish https://www.shlomifish.org/
https://github.com/shlomif/validate-your-html - Validate Your HTML
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
http://learn.perl.org/