LusoRobótica - Robótica em Português

Sistemas específicos => Arduino / AVR => Tópico iniciado por: poliveira1978 em 14 de Abril de 2013, 21:27

Título: Bluetooth
Enviado por: poliveira1978 em 14 de Abril de 2013, 21:27
Venho pedir ajuda mais uma vez...
Pretendia enviar uma mensagem do arduino para o telemóvel com bluetooth, estou a usar este código:
Código: [Seleccione]
#include <SoftwareSerial.h>
#define rxPin 2
#define txPin 3
#define ledPin 12
SoftwareSerial BlueTooth =  SoftwareSerial(rxPin, txPin);
char incomingByte;
void setup()
{
  pinMode(ledPin,OUTPUT);
  pinMode(rxPin, INPUT);
  pinMode(txPin, OUTPUT);
  BlueTooth.begin(9600);
  Serial.begin(9600);
  BlueTooth.println("Teste de Bluetooth");
}
void loop()
{
  if (BlueTooth.available() > 0)
  {
    incomingByte = BlueTooth.read();
    switch(incomingByte)
    {
    case '0':
      {
        digitalWrite(ledPin, LOW);
        BlueTooth.println("LED OFF. Press 1 to LED ON!");
        break;
      }
    case'1':
      {
        digitalWrite(ledPin, HIGH);
        BlueTooth.println("LED ON. Press 0 to LED OFF!");
        break;
      }
    }
  }
}
Mas sou  "obrigado" a usar o bluetooth terminal no android... o que pretendo é apenas enviar uma mensagem logo após o emparelhamento. Acho que tenho que usar o protocolo OBEX, mas não conheço/encontro nenhuma implementação para o arduino...


Agradeço toda e qualquer ajuda.

Cumprimentos,

Pedro
Título: Re: Bluetooth
Enviado por: tarquinio em 14 de Abril de 2013, 22:37
Boas.
Nunca usei esse OBEX, mas já fiz várias coisas com arduinos + BT, não sei exactamente para que é que precisas desse protocolo... Podes fazer simplesmente reads e writes, e depois interpretar os dados do lado do telefone, será provávelmente mais simples do que implementar protocolos mais complexos no arduino.
Em relação a enviares uma mensagem apos o emparelhamento, isso agora já vai depender do módulo utilizado... Para descobrires se o módulo está ligado ou não, terias de ver na datasheet se ha algum comando que te permita ver o estado dele.
Para que vai servir essa mensagem? E vais fazer uma app para o telefone ou apenas usar um programa de terminal qualquer já feito?
Título: Re: Bluetooth
Enviado por: poliveira1978 em 15 de Abril de 2013, 08:37
é para ser usado como "farol" numa cache (http://www.geocaching.org).
Eu consigo emparelhar o telemóvel e o módulo bt e trocar mensagens, mas tenho que usar uma aplicação de terminal e era isso que pretendia evitar, se conseguisse que o arduino enviasse a mensagem logo após o emparelhamento era o ideal.
Título: Re: Bluetooth
Enviado por: tarquinio em 15 de Abril de 2013, 16:27
Bem outra opção, assumindo que o módulo tem um led que acende quando se liga, ou um pino que muda de estado quando ele se liga, podes ligar esse pino ao arduino e ir fazendo digitalRead para descobrir quando é que alguem se ligou. Com os módulos que eu costumo usar daria para fazer isso, agora mais uma vez depende do que estiveres a usar...