Libelium is offering new technical support channels, to contact with de Technical Support team to solve any issue our doubt please contact with your sales agent or visit our contact site



Post a new topicPost a reply Page 1 of 2   [ 11 posts ]
Go to page 1, 2  Next
Author Message
 Post subject: Problema para establecer conexión Bluetooth con arduino
PostPosted: Wed Oct 19, 2016 12:06 am 

Joined: Tue Oct 18, 2016 3:35 pm
Posts: 9
Buen día.
Tengo un problema para establecer la conexión bluetooth con arduino.
Por el momento ya he podido entrar a la configuración del modulo bluetooth para cambiar su nombre y la contraseña, sin embargo, al tratar de ejecutar el código de ejemplo que esta en la pagina oficial no me envia datos por bluetooth. El código que utilicé fue el siguiente:

Code:
/* 
 *  Bluetooth module PRO
 * 
 *  Copyright (C) Libelium Comunicaciones Distribuidas S.L.
 *  http://www.libelium.com
 * 
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 * 
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 * 
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see http://www.gnu.org/licenses/.
 * 
 *  Version:           1.0
 *  Design:            David Gascón
 *  Implementation:    Luis Miguel Martí
 */

byte pinleds[] = {3,4,5,6,7,8};

char error[] = "SYNTAX ERROR";
char devices[400];
char dev;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  delay(1000);
  Serial.print("Configurando...");
  while (sendATcommand("AT", "OK", error, 1000) == 2);
  while (sendATcommand("SET BT AUTH * 0000", "", error, 1000) == 2);

  Serial.print("Iniciando...");
  delay(1000);
  for (byte i=0;i<6;i++){
  pinMode(pinleds[i],OUTPUT);
  }
}

void loop() {
  // put your main code here, to run repeatedly:
  memset(devices, NULL , 400);
  dev = askForDevices();
  Serial.print("Number of devices: ");
  Serial.println(dev);
  for (byte i=0;i<dev-48;i++){
    digitalWrite(pinleds[i],HIGH);
  }
  for(byte i=dev-48;i<6;i++){
    digitalWrite(pinleds[i],LOW);
  }
}

int8_t sendATcommand(char* ATcommand, char* expected_answer, char* error_answer, unsigned int timeout) {
  uint8_t x = 0,  answer = 0;
  char response[100];
  unsigned long previous;
  memset(response, '\0', 100);    // Initialize the string
  delay(100);
  while ( Serial.available() > 0) Serial.read();   // Clean the input buffer
  Serial.println(ATcommand);    // Send the AT command
  x = 0;
  previous = millis();
  do {
    if (Serial.available() != 0) {
      response[x] = Serial.read();
      x++;
      if (strstr(response, expected_answer) != NULL) {
        answer = 1;
        Serial.println("Expected response");
      } else if (strstr(response, error_answer) != NULL) {
        answer = 2;
      }
    }
    // Waits for the asnwer with time out
  }
  while ((answer == 0) && ((millis() - previous) < timeout));
  return answer;
}

char askForDevices () {

  Serial.println("Searching...");
  delay(500);
  while (Serial.available() > 0) {
    Serial.read();
  }
  delay(500);
  while (Serial.available() > 0) {
    Serial.read();
  }
  delay(500);
  while (Serial.available() > 0) {
    Serial.read();
  }
  Serial.println("INQUIRY 3");

  uint32_t time = millis();
  uint16_t i = 0;
  while (millis()-time<4000){
   
    while (Serial.available()>0){
      devices[i] = char(Serial.read());
      delay(10);
      i++;
    }
   
  }
  delay(1000);

  boolean go_on = true;
  uint16_t counter = 15;
  while (go_on) {
   
    if (devices[counter-15] == 'E') {
      if (devices[counter + 1-15] == 'R') {
        if (devices[counter + 2-15] == 'R') {
          if (devices[counter + 3-15] == 'O') {
            if (devices[counter + 4-15] == 'R') {
                  return '0';
            }
          }
        }
      }
    }
               
   
    if (devices[counter] == 'I') {
      if (devices[counter + 1] == 'N') {
        if (devices[counter + 2] == 'Q') {
          if (devices[counter + 3] == 'U') {
            if (devices[counter + 4] == 'I') {
              if (devices[counter + 5] == 'R') {
                if (devices[counter + 6] == 'Y') {
                  if (devices[counter + 7] == ' ') {
                    go_on = false;
                  } else counter++;
                } else counter++;
              } else counter++;
            } else counter++;
          } else counter++;
        } else counter++;
      } else counter++;
    } else counter++;
  }
  return devices[counter + 8];
}
       


Soy nuevo en esto y si alguien pudiera orientarme mejor en como hacer el envío de datos desde el bluetooth se los agradeceria mucho.


Top
 Profile  
 
 Post subject: Re: Problema para establecer conexión Bluetooth con arduino
PostPosted: Wed Oct 19, 2016 8:28 am 

Joined: Mon Sep 28, 2009 12:06 pm
Posts: 11366
Hola Evilword666,

¿has hecho el montaje que aparece en el tutorial con los LEDs?

Saludos.


Top
 Profile  
 
 Post subject: Re: Problema para establecer conexión Bluetooth con arduino
PostPosted: Wed Oct 19, 2016 4:15 pm 

Joined: Tue Oct 18, 2016 3:35 pm
Posts: 9
libelium-dev wrote:
Hola Evilword666,

¿has hecho el montaje que aparece en el tutorial con los LEDs?

Saludos.



Hola GRACIAS POR RESPONDER libelium-dev. Si, lo verifiqué y lo cargue al arduino, pero no me esta mostrando datos en el monitor serial.

Verá, mi objetivo es obtener los datos que me dará un sensor conectado en el arduino y posteriormente estos datos se enviaran via bluetooth a una aplicación android, pero primero necesito saber como enviar datos con el arduino mediante el bluetooth y poder visualizarlos en el monitor serial.

Si tuviera un ejemplo relacionado con esto me ayudaría bastante ya que los ejemplos que he revisado son utilizando una una terminal de linux (cutecom) y comandos para poder acceder a la información y como mencione anteriormente lo que yo necesito es poder enviar esos datos que obtengo del sensor mediante su modulo bluetooth a una app android.


Top
 Profile  
 
 Post subject: Re: Problema para establecer conexión Bluetooth con arduino
PostPosted: Thu Oct 20, 2016 7:44 am 

Joined: Mon Sep 28, 2009 12:06 pm
Posts: 11366
Hola Evilword666,

Todos los ejemplos que tenemos disponibles son los que aparecen en los tutoriales de la web.

¿Puedes ponernos una foto del montaje?

Gracias

Saludos.


Top
 Profile  
 
 Post subject: Re: Problema para establecer conexión Bluetooth con arduino
PostPosted: Thu Oct 20, 2016 9:38 pm 

Joined: Tue Oct 18, 2016 3:35 pm
Posts: 9
Hola Buen día
Aquí esta la imagen:

Image

Tengo algunas preguntas que espero me puedan responder:
1.- ¿Existen librerías para poder usar su modulo Bluetooth PRO para Arduino?
Por ejemplo en el caso del bluetooth hc-05 está la librería SoftwareSerial.h

2.- ¿Es posible obtener la información sin usar comandos AT?
Pregunto esto por que como había mencionado anteriormente usando la librería se facilita mucho el enviar datos via bluetooth.

Estaba tratando de hacer la conexión que aparece en el minuto 2:52 de este video de su canal
https://www.youtube.com/watch?v=eF2G5MSy118
Me podría proporcionar el código que allí utilizan para hacer esa prueba?
De momento hice prueba con otro código de su pagina:
Code:
https://www.cooking-hacks.com/documentation/tutorials/arduino-bluetooth/

pero tampoco me regresa nada, hago la conexión como la del video pero no me muestra nada cuando abro el puerto.

Espero su respuesta y una vez mas gracias por responder


Top
 Profile  
 
 Post subject: Re: Problema para establecer conexión Bluetooth con arduino
PostPosted: Fri Oct 21, 2016 7:26 am 

Joined: Mon Sep 28, 2009 12:06 pm
Posts: 11366
Hola Evilword666,

Evilword666 wrote:
1.- ¿Existen librerías para poder usar su modulo Bluetooth PRO para Arduino?
Por ejemplo en el caso del bluetooth hc-05 está la librería SoftwareSerial.h

No, para este módulo no tenemos librerías desarrolladas para Arduino.

Evilword666 wrote:
2.- ¿Es posible obtener la información sin usar comandos AT?
Pregunto esto por que como había mencionado anteriormente usando la librería se facilita mucho el enviar datos via bluetooth.

No, este módulo funciona con comandos AT, cuando realices un sketch para que funcione, tienes que introducir los comandos AT.

Evilword666 wrote:
Estaba tratando de hacer la conexión que aparece en el minuto 2:52 de este video de su canal
https://www.youtube.com/watch?v=eF2G5MSy118
Me podría proporcionar el código que allí utilizan para hacer esa prueba?

El módulo que se utiliza en ese ejemplo, no es el módulo bluetooth PRO, es el antiguo módulo bluetooth que vendíamos, hace mucho que está descatalogado.

Evilword666 wrote:
De momento hice prueba con otro código de su pagina:
Code:
https://www.cooking-hacks.com/documenta ... bluetooth/

pero tampoco me regresa nada, hago la conexión como la del video pero no me muestra nada cuando abro el puerto.

Lo mismo que en el vídeo, este tutorial no es el del bluetooth PRO, es el módulo antiguo.
En qué posicion pones el interruptor de la XBee shield? USB o Arduino? Cuando cargas el programa tiene que estar en USB pero cuando lo ejecutas en ARD.

Saludos.


Top
 Profile  
 
 Post subject: Re: Problema para establecer conexión Bluetooth con arduino
PostPosted: Fri Oct 21, 2016 4:51 pm 

Joined: Tue Oct 18, 2016 3:35 pm
Posts: 9
libelium-dev wrote:
Lo mismo que en el vídeo, este tutorial no es el del bluetooth PRO, es el módulo antiguo.
En qué posicion pones el interruptor de la XBee shield? USB o Arduino? Cuando cargas el programa tiene que estar en USB pero cuando lo ejecutas en ARD.

Saludos.


Hola libelium-dev, Gracias por responder mis preguntas, tengo otras dudas que espero me puedas aclarar, cual es el modo ARD? En mi XBee shield solo tiene dos modos USB y XBee.
https://s12.postimg.org/vkw2d93wd/DSC_3337.jpg

Cuando cargo el programa si lo hago poniendo el modo USB, y cuando lo ejecuto lo pongo en modo XBee.

No se si tenga que ver que estoy utilizando una maquina virtual para correr Ubuntu (VMWare Workstation) cuando ejecuto los comandos no me muestra el canal,tendrá algo que ver?
Pero cuando le asigno el canal 1 lo agrega sin problemas
Image

Sin embargo, cuando quiero abrir el puerto no me muestra nada

Image

Ojala que las imagenes sirvan para ilustrar mejor mi problema.


Top
 Profile  
 
 Post subject: Re: Problema para establecer conexión Bluetooth con arduino
PostPosted: Fri Oct 21, 2016 5:26 pm 

Joined: Tue Oct 18, 2016 3:35 pm
Posts: 9
Estaba tratando de hacer la conexión que aparece en el minuto 2:52 de este video de su canal
https://www.youtube.com/watch?v=eF2G5MSy118
Me podría proporcionar el código que allí utilizan para hacer esa prueba?

libelium-dev wrote:
El módulo que se utiliza en ese ejemplo, no es el módulo bluetooth PRO, es el antiguo módulo bluetooth que vendíamos, hace mucho que está descatalogado.


Tengo mas preguntas :mrgreen:
1.- Cuáles son los códigos para el nuevo modelo del módulo bluetooth PRO?

2.- Dónde encuentro el nuevo manual para esta versión?
Pasa que cuando entro a la pagina el manual que aparece es usando el WASPMOTE
http://www.libelium.com/development/waspmote/documentation/bluetooth-networking-guide/

3.- Hay que hacer alguna configuración extra al bluetooth ademas de establecer el PIN para que sincronice y conecte con otros dispositivos?
Pienso que tal vez ese puede ser el problema de la conexión.

De antemano gracias


Top
 Profile  
 
 Post subject: Re: Problema para establecer conexión Bluetooth con arduino
PostPosted: Mon Oct 24, 2016 7:56 am 

Joined: Mon Sep 28, 2009 12:06 pm
Posts: 11366
Hola Evilword666,

Evilword666 wrote:
cual es el modo ARD? En mi XBee shield solo tiene dos modos USB y XBee.

Si perdona, antes el modo XBee se llamaba Ard, así que perfecto.

Evilword666 wrote:
Cuando cargo el programa si lo hago poniendo el modo USB, y cuando lo ejecuto lo pongo en modo XBee.

Perfecto.

Evilword666 wrote:
No se si tenga que ver que estoy utilizando una maquina virtual para correr Ubuntu (VMWare Workstation) cuando ejecuto los comandos no me muestra el canal,tendrá algo que ver?

LA verdad que nunca hemos probado a manejar ningún módulo utilizando una máquian virtual. Puedes probar a ejecutar un serial monitor en windows, sin problema.

Sobre las imágenes que mandas, ten cuidado, debes mandar los comandos AT en mayúsculas, ya que algunos módulos diferencian entre minúsculas y mayúsculas.

¿Cómo hace para mandar los comandos AT a mano? Retiras el microcontrolador del arduino UNO? o ¿cargas algún programa especial?

Evilword666 wrote:
Estaba tratando de hacer la conexión que aparece en el minuto 2:52 de este video de su canal
https://www.youtube.com/watch?v=eF2G5MSy118
Me podría proporcionar el código que allí utilizan para hacer esa prueba?

Lo dicho en el post anterior, el módulo que se utiliza en ese ejemplo, no es el módulo bluetooth PRO, es el antiguo módulo bluetooth que vendíamos, hace mucho que está descatalogado. Todos los códigos que tenemos desarrollados son los que puedes ver en los tutoriales.

Evilword666 wrote:
1.- Cuáles son los códigos para el nuevo modelo del módulo bluetooth PRO?

Son los que puedes encontrar en la sección de los tutoriales, buscando por "bluetooth"
https://www.cooking-hacks.com/documenta ... -tutorial/
https://www.cooking-hacks.com/documenta ... bluetooth/
https://www.cooking-hacks.com/documenta ... bluetooth/
https://www.cooking-hacks.com/documenta ... bluetooth/
https://www.cooking-hacks.com/documenta ... bluetooth/

Evilword666 wrote:
2.- Dónde encuentro el nuevo manual para esta versión?
Pasa que cuando entro a la pagina el manual que aparece es usando el WASPMOTE
http://www.libelium.com/development/was ... ing-guide/

Los tutoriales que te he mencionado arriba son la información que tenemos. La guía que mencionas de Waspmote, resume más detalladamente todos los detalles técnicos del módulo.

Evilword666 wrote:
Hay que hacer alguna configuración extra al bluetooth ademas de establecer el PIN para que sincronice y conecte con otros dispositivos?

No, realmente siguiendo los pasos del tutorial, tendría que aparecerte correctamente. Revisa los comentado anteriormente y los distintos tutoriales para ver si lo hacemos funcionar.

Saludos.


Top
 Profile  
 
 Post subject: Re: Problema para establecer conexión Bluetooth con arduino
PostPosted: Mon Oct 24, 2016 11:31 pm 

Joined: Tue Oct 18, 2016 3:35 pm
Posts: 9
libelium-dev wrote:
¿Cómo hace para mandar los comandos AT a mano? Retiras el microcontrolador del arduino UNO? o ¿cargas algún programa especial?


Para mandar los comandos lo hago manualmente, a continuación explico mi proceso:

1.- Primero cargo en el arduino el siguiente codigo:
https://s22.postimg.org/crt3ipy9d/modo_Gateway.png

2.- Después utilizando HyperTerminal Creo una nueva conexión con los siguientes parámetros:
https://s22.postimg.org/u3ouqf2cx/Confi ... rminal.png

3.-Por ultimo ya en HyperTerminal metí los comandos SET BT AUTH * 1234 para cambiar el PIN con el cual se van a emparejar los otros dispositivos y el comando SET BT NAME para cambiar el nombre, además también introduje el comando SET PROFILE SPP Bluetooth Serial Port para establecer el perfil SPP y poder enviar datos.
https://s22.postimg.org/sc2lbr9lt/SET.png
Esa fue toda la configuración que hice a mi bluetooth,
con esto puedo emparejar mi modulo bluetooth con otros dispositivos,
ahora lo que quiero es enviar datos con mi modulo bluetooth y mi arduino para poder visualizarlos en el monitor serial de arduino pero no lo he conseguido :(


Top
 Profile  
 
Display posts from previous:  Sort by  
Post a new topicPost a reply Page 1 of 2   [ 11 posts ]
Go to page 1, 2  Next


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
cron


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Libelium theme based on 610nm Style by Daniel St. Jules of http://www.gamexe.net


© Libelium Comunicaciones Distribuidas S.L. | Terms of use.