Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Utilizando Bluetooth com Ruby - Palestra - Outu...

Utilizando Bluetooth com Ruby - Palestra - Outubro 2008

Apresentado no Latinoware 2008, Foz do Iguaçu.

Sylvestre Mergulhão

October 01, 2008
Tweet

More Decks by Sylvestre Mergulhão

Other Decks in Technology

Transcript

  1. Utilizando Bluetooth com Ruby A forma mais fácil de programar

    com Bluetooth Sylvestre Mergulhão Latinoware 2008
  2. Quem sou eu? Entusiasta de software livre / linux há

    10 anos Técnico eletrônico Bacharel em Sistemas de Informação Desenvolvedor / Consultor independente
  3. Agenda Fundamentos das redes Bluetooth Conceito de piconet e scatternet

    Limitações das piconets e como fazer expansão Principais protocolos O processo de INQUIRY (scan) OBEX, o protocolo de transferência de arquivos RFCOMM, o protocolo serial O wrapper para Ruby Exemplos Possibilidades de negócios Conclusão
  4. O que é Bluetooth? Padrão de comunicação sem fio que

    utiliza chips de baixo consumo e baixo custo Na prática forma redes sem fio de pequeno alcance
  5. O que é Bluetooth? Tentativa de padronização Rede sem fio

    Curto alcance Baixo custo Baixo consumo
  6. Por que esse nome? Homenagem ao rei da Dinamarca e

    Noruega Harald Blåtand - em inglês Harold Bluetooth Blåtand é conhecido por unificar as tribos norueguesas, suecas e dinamarquesas (sec X).
  7. Identificação Cada dispositivo possui um identificador único de 48bits, semelhante

    ao MAC Address das placas de rede. Ex: 00:02:3F:1F:D3:E1
  8. Piconet Um dispositivo Bluetooth pode comunicar-se com até sete outros

    dispositivos. Esse grupo de até 8 dispositivos é chamado piconet. Um piconet possui um dispositivo Bluetooth que é determinado o master e os demais são slaves.
  9. Scatternet A espeficicação permite a formação de uma scatternet a

    partir de duas ou mais piconets, que possuem dispositivos que atuam como ponte entre as piconets.
  10. Profiles Os dispositivos precisam suportar profiles (protocolos) para exercer uma

    comunicação: HSP – Headset Profile OPP – Object Push Profile PAN – Personal Area Network Profile SPP – Serial Port Profile
  11. Inquiry No processo de inquiry o dispositivo procura por outros

    que estejam disponíveis na área de alcance. Os dispositivos podem ser configurados para responderem ou não ao inquiry.
  12. Service Discovery Protocol Com os dados coletados no inquiry é

    possível executar o SDP para descobrir quais serviços (profiles) estão disponíveis no dispositivo.
  13. Rfcomm RFCOMM é um protocolo de is a simple transport

    protocol, which providtrasmissão simples que emula uma interface serial RS232
  14. O wrapper para Ruby A princípio teríamos que escrever em

    C falando com a api Bluez do Linux Felizmente o Ruby, assim como outras linguagens, possui suporte ao desenvolvimento de wrappers
  15. Possibilidades de negócios Participar de projetos e do movimento opensource

    e de software livre é lindo, mas nós temos que ganhar dinheiro também
  16. Relato Programar em cima da tecnologia Bluetooth foi uma das

    coisas mais legais que fiz nos últimos tempos! É divertido! Experimente você também!