Rapidamente falando, Bluetooth é um tecnologia de comunicação baseada em ondas eletromagnéticas na faixa de frequência em torno de 2.4 GHz. Agora, alguns conceitos que nos serão úteis:
> **Conceitos:**
> - **BluetoothAdapter**: No Android, é classe que representa o dispositivo Bluetooth local. Esta classe contem métodos que realizam ações fundamentais como descoberta de dispositivos e criar sockets Bluetooth.
> - **Pareamento**: No protocolo Bluetooth, o pareamento é a maneira pela qual dois dispositivos se tornam conhecidos um para o outro. Os dispositivos só poderão se comunicar se estiverem pareados.
> - **Descoberta**: Uma maneira de saber quais dispositivos Bluetooth existem nas proximidades. Se um dispositivo não está pareado ao dispositivo com o qual deseja se comunicar, é necessário realizar a descoberta antes de fazer o pareamento.
> - **Visibilidade**: Seu dispositivo só será visível a outros dispositivos se você habilitar essa opção. Então, durante a descoberta, apenas os dispositivos vísiveis serão encontrados.
> - **Conexão**: Quando dois dispositivos já estão pareados, a realização de uma conexão cria um canal de comunicação bidirecional entre os aparelhos.
> - **Sockets**: Estrutura que representa a conexão realizada entre os dois dispositivos. Através do socket adquirido na conexão, é possível obter as streams de transmissão e recepção de dados.
----------
2 - Tutorial
-------------------
#### 2.1 Cliente
Como queremos mostrar a captura de dados do sensor bluetooth, necessitamos de um cliente para enviar
os dados. Para essa aplicação de comunicação utilizaremos um serviço de [BluetoothChat](https://github.com/googlesamples/android-BluetoothChat), modificado e simplificado, como cliente para enviar os dados.
Para instalar o cliente, primeiro clone o projeto usando o comando <kbd>git clone</kbd> para baixar a aplicação para sua maquina.
Após clonar o projeto, importe-o no Android Studio ou no Eclipse como um projeto Android e faça o build em um dispositivo Android (4.4.X ou superior).
Abrar a aplicação e a seguinte tela será encontrada:

Toque no botão de bluetooth para parear o dispositivo com outros.

> **Obs:** O bluetooth do outro dispositivo deve estar ligado e visivel para o pareamento.
Após o pareamento uma mensagem de conexão será exibida, comfirmando ou não a conexão.

Pronto agora é só enviar as mensagens.
#### 2.2 Receiver
Agora iremos importar nossa aplicação Receiver, para receber os dados. Basta executar novamente o comando <kbd>git clone</kbd>, porém com o diretório do receiver.
Após clonar o projeto, importe-o no Android Studio ou no Eclipse como um projeto Android e faça o build em um dispositivo Android (4.4.X ou superior).
Abrar a aplicação e a seguinte tela será encontrada:

Nessa tela você poderá ligar e desligar o dispositivo bluetooth de seu aparelho, além de deixar ele visivel para o pareamento e exibir os dispositivos já pareados.
Ao tocar para exibir os dispositivos já pareados ira aparecer uma lista.

Ao tocar no dispositivo que deseja parear ira confirmar o UUID do dispositivo que deseja parear.
> **Obs:** O UUID é um código que os dispositivos usam para se comunicar, quando um dispositivo não oferece uma interface para alterar, terá que ser fornecido para a troca de dados.
O UUID padrão da nossa aplicação é : **fa87c0d0-afac-11de-8a39-0800200c9a66**

Após confirmar, uma tela em branco fica esperando receber os dados do outro dispositivo, neste momento poderá testar a aplicação.
>Em nossa Aplicação os dados estão chegando em **bytes** e sendo convertido para **heradecimal** para a tela, é mostrado o **timestamp** da mensagem (tempo em que foi capturado o dado no formato HH:MM:ss.SSS).
Por fim temos a opção no menu acima de guardar os dados que estão sendo exibidos na tela, em arquivo dentro do dispositivo.
> **Obs:** O diretório padrão de saida do arquivo é: **/Download/Nome_bluethooth_do_dispositivo/timestamp_inicial-timestamp_final.txt**
