segunda-feira, 1 de julho de 2013

Lendo valores do SensorTag com Python


O SensorTag  da Texas Instruments possui diversos sensores e dois botões, mas o foco será no acelerômetro, no giroscópio e nos botões.
O desafio é obter os dados destes sensores utilizando python (python 2.7) no ambiente Windows.
O código do link abaixo foi utilizado como base:


Adicionou-se funções para ativar os sensores Acelerômetro e Giroscópio e suas medidas, além de pequenas modificações nos comandos já existentes. Tudo isso baseado em guias e outros arquivos disponibilizados no site da Texas Instruments, como, por exemplo o TI BLE Vendor Specific HCI Guide e o BLE SensorTag GATT Server. O código final (*ATUALIZADO) pode ser baixado clicando abaixo.


Para realização dos testes siga os próximos passos:

1. Reprograme o dongle para que seja reconhecido como uma porta COM (TI CC2540 Low-Power RF to USB CDC Serial Port (COMxx)):

2.  Abra o Gerenciador de Dispositivos (Painel de Controle->Hardware e Sons) e verifique o número da porta do dongle (COMxx). Mude este valor em bluetooth.py na linha 15.

3. Teste o código:
- abra o programa pelo terminal;



- digite 'd' e aperte o botão do lado esquerdo do SensorTag (uma luz começará a piscar);



- depois que o endereço do dispositivo (BinAddr) for encontrado, digite 'eX', onde X é o primeiro número da lista, que no caso é 0.

- após a conexão ser estabilizada, digite 1 para realizar a leitura dos dados dos sensores e botões.

- para finalizar o programa digite 't'.

Os dados do acelerômetro referem-se ao atributo '0x2d', do giroscópio, ao '0x57' e dos botões, ao '0x5f'.
Os valores mostrados são , em ordem:

Giroscópio: igual ao acelerômetro, mas cada eixo possui dois bytes.
Acelerômetro: eixo X, eixo Y e eixo Z.
Botões: 1 - botão 1 pressionado, 2 - botão 2 pressionado

4. Caso queira comparar resultados utilize o programa BLE Device Manager:
Os valores encontrados no BLE Device Manager estão em hexadecimal, então, para comparar, converta para decimal.

Mais informações podem ser encontradas em:

http://arthurrbarcellos.blogspot.com.br/2013/08/testes-para-utilizacao-do-kit-de.html

* novas funções para escolher o dispositivo com o qual se deseja estabilizar a conexão.