• Publicidad

Módulo Net::Bluetooth

Aquí encontrarás todo lo que sea específicamente acerca de módulos de Perl. Ya sea que estás compartiendo tu módulo, un manual o simplemente tienes una duda acerca de alguno.

Módulo Net::Bluetooth

Notapor jimr1984 » 2015-02-26 16:57 @748

Saludos. Por favor, si alguien puede ayudarme con el módulo Net::Bluetooth

Instalación: tengo Windows 7, 64 bit, con el ActiveState Perl.

He probado lo siguiente:

cpan install Net::Bluetooth

Al final me da un error: c:\perl\site\bin\dmake.exe --NOT OK

ppm install Net-Bluetooth

Según investigando es para Windows Server 2003.

¿Qué módulo puedo utilizar para administrar un módulo Bluetooth? Crear servicios, detectar dispositivos, etc.

Saludos.
jimr1984
Perlero nuevo
Perlero nuevo
 
Mensajes: 123
Registrado: 2012-11-25 07:11 @341

Publicidad

Re: Módulo Net::Bluetooth

Notapor explorer » 2015-02-26 17:21 @764

Aquí tienes la matriz de compatibilidad con los módulos en PPM:
http://code.activestate.com/ppm/Net-Bluetooth/

Según parece, la v0.41 sí que funciona con Perl v5.16.

Y aquí tienes la matriz de compatibilidad con todas las versiones de Perl:
http://matrix.cpantesters.org/?dist=Net ... oth%200.41

La v0.40 del módulo también funciona con Perl v5.20, en Windows.

De todas maneras, si has instalado el ActiveState Perl, es mucho mejor instalarlo desde PPM.

En el archivo README (léeme, en inglés) dice que se puede instalar una versión precompilada, en Windows, con el comando

ppm install http://www.conditor.com/Net-Bluetooth.ppd

Lo malo es que... el dominio está en venta :(

El error que te da con el comando cpan es que no tienes un entorno completo de generación de módulos. Este módulo requiere una compilación, ya que tiene una parte en forma de biblioteca en C.

En trouchelle.com está disponible la v0.40, así que puedes adjuntar ese repositorio al PPM e instalarlo desde el entorno gráfico del PPM (guía, ver la sección 3.3).
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Módulo Net::Bluetooth

Notapor jimr1984 » 2015-03-01 13:27 @602

Muchas gracias, estimado.

Ya pude instalar el módulo. cambié a Perl v5.16 y con ppm install Net-Bluetooth pude instalarlo.
Última edición por explorer el 2015-03-01 14:23 @641, editado 1 vez en total
Razón: modulo => módulo; cambie => cambié;
jimr1984
Perlero nuevo
Perlero nuevo
 
Mensajes: 123
Registrado: 2012-11-25 07:11 @341

Re: Módulo Net::Bluetooth

Notapor jimr1984 » 2015-03-02 08:03 @377

Estimado: Continuando el hilo de Bluetooth

Por favor, si pueden ayudarme con este código

use Net::Bluetooth;


# Listando los Dispositivos Bluetooth

my $dispositivos = get_remote_devices();

my $var = keys(%$dispositivos);

print $var[0];

+ $dispositivos guardará el nombre de los dispositivos encontrados
+ ¿cómo puedo guardar el nombre en un array, recorriendo con un foreach()
y llamarlo cuando lo necesito print $var[0]; print $var[1];

tenerlo en un array los nombre de los dispositivos encontrados.
Última edición por explorer el 2015-03-02 11:09 @506, editado 1 vez en total
Razón: codigo => código; guardara => guardará; como => ¿cómo;
jimr1984
Perlero nuevo
Perlero nuevo
 
Mensajes: 123
Registrado: 2012-11-25 07:11 @341

Re: Módulo Net::Bluetooth

Notapor jimr1984 » 2015-03-02 10:28 @478

Confundido con el código.

use Net::Bluetooth;

#### list all remote devices in the area
my $device_ref = get_remote_devices();
foreach $addr (keys %$device_ref) {
print "Address: $addr Name: $device_ref->{$addr}\n";
}

+ get_remote_devices() <-- esto devuelve una lista de dispositivos. ¿NO debería guardarse en un @array?
+ ¿por qué lo almacenamos en una cadena normal $service_ref?

Si estuviera en un array quizás pueda referenciarlo directamente, así $array[x];
Por favor, si pueden explicarme.

Saludos :?:
Última edición por explorer el 2015-03-02 11:14 @510, editado 1 vez en total
Razón: codigo => código; deberia => debería; que => qué; quizas => quizás;
jimr1984
Perlero nuevo
Perlero nuevo
 
Mensajes: 123
Registrado: 2012-11-25 07:11 @341

Re: Módulo Net::Bluetooth

Notapor explorer » 2015-03-02 11:18 @512

jimr1984 escribiste:my $var = keys(%$dispositivos);

La función keys no devuelve un escalar, sino una lista de valores, que son las claves del hash %$dispositivos.

Y las listas de valores las solemos guardar en array:

my @var = keys(%$dispositivos);

y ahora ya puedes extraer los valores almacenados en @var: $var[0], $var[1], etc.

jimr1984 escribiste:+ get_remote_devices() <-- esto devuelve una lista de dispositivos. ¿NO debería guardarse en un @array?
+ ¿por qué lo almacenamos en una cadena normal $service_ref?
Lo dice el manual:
get_remote_devices()

Searches for remote Bluetooth devices. The search will take approximately 5 - 10 seconds (This will be a configurable value in the future.). When finished, it will return a hash reference that contains the device address and name. The address is the key and the name is the value. Name will be set to "[unknown]" if the name could not be resolved. See the NOTES section of this document for more information about this.

Traducido: que get_remote_devices() devuelve una referencia a un hash. Y esa es la razón por la cual se almacena en una variable escalar. Y esa es la razón por la cual luego se desreferencia poniendo '%' delante del escalar, y así obtenemos el hash original.

Tienes más información sobre las referencias en perldoc perlref.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Módulo Net::Bluetooth

Notapor jimr1984 » 2015-03-17 16:26 @726

Muchas gracias, estimado explorer. Asunto solucionado.
jimr1984
Perlero nuevo
Perlero nuevo
 
Mensajes: 123
Registrado: 2012-11-25 07:11 @341


Volver a Módulos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados