A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Bluetooth Ana Cristina Benso da Silva Andrei Oliveira da Silva Fabrício DAvila Cabral CPSE – Centro de Pesquisa em Software Embarcado FACIN/PUCRS – Faculdade.

Apresentações semelhantes


Apresentação em tema: "Bluetooth Ana Cristina Benso da Silva Andrei Oliveira da Silva Fabrício DAvila Cabral CPSE – Centro de Pesquisa em Software Embarcado FACIN/PUCRS – Faculdade."— Transcrição da apresentação:

1 Bluetooth Ana Cristina Benso da Silva Andrei Oliveira da Silva Fabrício DAvila Cabral CPSE – Centro de Pesquisa em Software Embarcado FACIN/PUCRS – Faculdade de Informática

2 Roteiro Introdução Redes Wireless O mundo Wireless Bluetooth - Visão Teórica Histórico Funcionamento Pilha de Protocolos Bluetooth –Visão Prática Instalando e Configurando Dispositivos Bluetooth BlueZ – Pilha Bluetooth para Linux Exemplos de Aplicações

3 Introdução CPSE – Centro de Pesquisa em Software Embarcados Iniciou atividades em 2002 Cooperação PUCRS/ HP Brasil Foco Redes sem fio Computação ubíqua Software embarcado Linguagens de representação e design de documentos digitais Tecnologias

4 Redes Wireless Internet 90´s Grande acontecimento Eliminou a barreira da distância geográfica Alteração de paradigmas de disponibilização e obtenção de informações

5 Redes Wireless Redes Wireless – Século XXI Nova quebra de paradigmas Desafios Tornar a tecnologia acessível a maioria dos usuários Migração de sistemas orientados a voz para sistemas orientados a dados IP Networks

6 Visão do Mundo Wireless GSM 2G3G4G TDMA CDMA Sistema Analógico Telefonia Celular 1G Serviços de Voz Serviços IP Dados UTMS WLAN IEEE a Bluetooth IEEE b WPAN IPv6 Wireless Broadband (next generation) Semantic Aware Services CyberWorld ??? TCP/IP Interconexão de Redes Internet

7 Wireless LAN (WLAN) Bluetooth 2.4 GHz – ISM Conexões de Curto Alcance IEEE b 2.4 GHz – ISM 11 Mbps IEEE a 5 GHz 50 Mbps

8 Bluetooth – Visão Teórica Histórico Harald Blåtand (Bluetooth) Rei Viking Dinamarquês Século X (940 a 981) Habilidade de fazer as pessoas se comunicarem Uniu e controlou a Dinamarca e Noruega Costume de comer blueberries (arando ou uva-do- monte)

9 Bluetooth - Histórico 1998 Bluetooth SIG (Special Interest Group) 3Com, Agere, Ericsson, IBM, Intel, Microsoft, Motorola, Nokia, Toshiba, Primeira versão da especificação 2001 Primeiros produtos com Bluetooth Bluetooth Academy Ericsson +Teleca Comtec

10 Bluetooth - Aplicações Substituição de cabos Redes caseiras Redes em escritórios

11 Bluetooth – Aplicações Internet Bridge Transferência de Arquivos Acesso a Serviços

12 Bluetooth - Funcionamento Topologias Piconet Scatternet

13 Estabelecendo Conexão Inquiry Procura por dispositivos Estados: Inquiry Inquiry Scan Inquiry Response Page Estabelece conexões Estados: Page Page Scan

14 Bluetooth – Pilha de Protocolos Bluetooth Radio Baseband Audio L2CAP SDP LMP TCS BIN OBEXWAP UDP/TCP IP PPP RFCOMM AT- Commands Host Controller Interface

15 Bluetooth - Radio Nível Físico Rádio Freqüência 2.4 GHZ Espectro 2400 MHz – 2483 MHz 2465 MHz – 2483 MHz Hopping Sequences 5 canais com 32 hops (79 Mhz) 5 canais com 16 hops (23 Mhz)

16 Bluetooth - Radio Potência do Sinal 100 m – 100mW 10 m – 2.5 mW 10 cm – 1 mW Canais suportados simultaneamente 1 canal de dados assíncrono 3 canais de voz síncronos 1 canal de dados assíncrono + 1 canal de voz síncrono Canal de Voz Síncrono – 64 Kbps Canal Assíncronos Simétricos – Kbps Canal Assíncrono Assimétrico – Kbps Canal de Voz Síncrono – 64 Kbps Canal Assíncronos Simétricos – Kbps Canal Assíncrono Assimétrico – Kbps

17 Bluetooth - Baseband Conexões físicas como canais lógicos Funções Gerenciar o estabelecimento de conexões Controlar Fluxo Controlar Erros de Transmissão Endereçar os dispositivos com Bluetooth Address Controlar a Segurança

18 Baseband - Enlaces Enlaces entre Mestre e Escravo ACL (Asynchronous Connectionless Link) Ponto-a-Multiponto Tem Retransmissão SCO (Synchronous Connection Oriented Link) Ponto-a-Ponto Voz Não tem retransmissão

19 Baseband – Canais Lógicos LM – Link Manager Transporte de informações de controle entre os dispositivos mestre e escravo LC – Link Control Transporte de informações de controle de fluxo e correção de erros UA – User Aynchronous Transporte de dados do usuário sobre L2CAP UI – User Isochronous Transporte de serviços isócronos sobre L2CAP US – User Synchronous Transporte de serviços síncronos em enlaces do tipo SCO.

20 Baseband – Formato do Pacote Access Code Channel Access Code (CAC) – Piconet ID Device Code Access (DCA) – Paging Inquiry Access Code (IAC) – Inquiry Header AM_ADDR Type ARQN SEQN HEC Access Code Header Payload LSB MSB

21 Baseband – Formato do Pacote FEC Forward Error Correction Enlaces SCO e ACL ID, NULL, POLL, FHS, DM1 Enlaces SCO somente HV1, HV2, HV3, DV Enlaces ACL somente DH1, AUX1, DM3, DM5, DH5

22 Baseband - Endereços BD_ADDR Bluetooth Address 6 bytes AM_ADDR Endereço do dispositivo escravo 3 Bits PM_ADDR e AR_ADDR Endereço especial para estações em parked mode PM_ADDR: mestre endereça o escravo AR_ADDR: escravo utiliza para determinar janela de acesso

23 Baseband – Modos de Operação Active mode Dispositivo está ativo e sincronizado como canal Sniff mode Estado de economia de energia Escutando no canal com taxa menor Park Mode Dispositivo conectado a piconet, que participa ocasionalmente Hold Mode Dispositivo reduz a participação, de acordo com a solicitação do mestre ou de sua vontade

24 Bluetooth - LMP Link Manager Componente de Software Controle de comunicação, autenticação e configuração LMP - Protocolo 55 PDUs –LMP_encryption_mode_req –LMP_version_res –... Link Controller - hardware

25 Bluetooth - HCI Host Controller Interface Interface para os comandos LMP e Baseband HCI Driver - software HCI Firmware - hardware HCI Controller Transport Layer - comunicação USB UART RS232

26 Bluetooth - L2CAP Logical Link Control and Adaptation Protocol Identifica e roteia mensagens para os níveis mais altos Codifica e decodifica os pacotes de dados Segmenta pacotes para o formato Baseband Demultiplexar e redirecionar RFCOMM SDP Aplicações sobre L2CAP

27 Bluetooth - RFCOMM Emula conexões por portas seriais Canais com até 60 portas simuladas Controle de fluxo de dados para retransmitir dados para os níveis mais altos

28 Bluetooth - SDP Service Discovery Protocol Divulgação de serviços em uma rede Bluetooth Cliente/servidor L2CAP ? ? ! ! SDP Device

29 Bluetooth - Perfis Definidos pelo SIG Aplicações que utilizam os níveis superiores da pilha de protocolos Perfis de uso geral: perfis básicos que dão suporte a outros perfis Perfis de uso específico: implementam protocolos para modelos de uso

30 Bluetooth - Perfis Modelos de uso Cordless Desktop Internet Bridge, LAN access File Transfer, Automatic Synchronizer, Instant Postcard Briefcase Trick, Forbidden Message Interactive Conference 3-in-1 Phone Ultimate Headset, PC Speaker Phone Hands-Free Car Kit

31 Bluetooth – Perfis Básicos Serial Port Profile: emula sinais de transmissão de uma porta serial General Object Exchange Profile: transferência de dados utiliza SPP Generic Access Profile: informações básicas do dispositivo Service Discovery Application Profile: Aplicações que utilizam SDP - como usar e comportamento

32 Bluetooth – Perfis Uso Específico Synchronization Profile: Informações Troca Atualização Object Push Profile : Troca de: Dados Objetos LAN Access Profile: ponto de acesso LAN TCP/IP SPP Dial-up Networking Profile: Modem - TCP/IP Internet sem fio

33 Bluetooth – Perfis Uso Específico Headset Profile: Input/output remoto Áudio Fax Profile: Fax modem sem fio Manda/recebe msg Cordless Telephony Profile : Gateway de telefonia Intercom Profile: walkie-talkie

34 Bluetooth – Perfis Adicionais Video Remote Distribution Profile : Vídeo alta qualidade ACL Basic Printing Profile: GOEP vCards,... Extended Service Discovery Profile : SDP+UPnP Advanced Audio Distribution Profile: Audio alta qualidade ACL

35 Bluetooth -Hardware Dispositivos:

36 Bluetooth - Software Software Proprietários (3com, Toshiba,...) Drivers Desenvolvimento BlueZ (http://bluez.sourceforge.net/) Stack Linuxhttp://bluez.sourceforge.net/ Affix (http://affix.sourceforge.net/) Stack Linuxhttp://affix.sourceforge.net/ Atinav (http://www.atinav.com/download.htm) SDK C e Javahttp://www.atinav.com/download.htm Impronto (http://www.rococosoft.com/) SDK Javahttp://www.rococosoft.com/

37 Bluetooth – Visão Prática Instalação Configuração Programação Aplicações

38 Aspectos Práticos BlueZ – Pilha Oficial Linux GPL Documentação API Programação Perfis

39 BlueZ - Instalação Arquivos Implementação das bibliotecas básicas Implementação de perfis Aplicações de apoio Instalação –rpm –ivh *.rpm Distribuições – Red Hat 9.0 – Mandrake 9.1 Kernel – – BlueZ-libs i386.rpm BlueZ-utils i386.rpm BlueZ-sdp i386.rpm BlueZ-hcidump i386.rpm BlueZ-pan i386.rpm BlueZ-bluefw-1.0.i386.rpm

40 BlueZ - Módulos Carregar no kernel Editar /etc/modules.conf : alias net-pf-31 blueZ - inicia a pilha BlueZ alias bt-proto-0 l2cap - inicia o protocolo L2CAP alias bt-proto-2 sco - inicia o protocolo SCO alias bt-proto-3 rfcomm - inicia o protocolo RFCOMM

41 BlueZ - Módulos Ativar módulos Editar /etc/rc.local: modprobe bluez- pilha BlueZ modprobe hci_usb- interface USB modprobe ppp_async modprobe ppp_deflate modprobe bnep- Ativa protocolo BNEP hcid- HCI hciconfig hci0 up- Inicia o dispositivo bluetooth

42 BlueZ - Módulos Exemplo de Script para iniciar os módulos: #!/bin/sh if [ "$1" == "restart" ] then echo "Killing dund process..." killall dund echo "Killing sdpd process..." killall sdpd echo "Killing hcid process..." killall hcid fi echo "Starting the BLUEZ modules and services..." modprobe bluez modprobe hci_usb modprobe ppp_async modprobe ppp_deflate modprobe bnep hcid -f /etc/bluetooth/hcid.conf hciconfig hci0 up sdpd echo "Starting dund..." sleep 2 dund --listen --channel 1 noauth echo "1" > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o eth0 -j ACCEPT

43 BlueZ - Aplicações Ferramentas de auxílio: hciconfig Configuração (nome, classe,...) hcitool scan Inquiry sdptool browse l2ping Teste de conexão

44 BlueZ - Aplicações LAN Disponibiliza um serviço de LAN Access Point Configurando o DUND: Criando os dispositivos /dev/rfcommX –Máximo 7 dispositivos: mknod –m 666 /dev/rfcomm0 c mknod –m 666 /dev/rfcomm1 c mknod –m 666 /dev/rfcomm2 c mknod –m 666 /dev/rfcomm3 c mknod –m 666 /dev/rfcomm4 c mknod –m 666 /dev/rfcomm5 c mknod –m 666 /dev/rfcomm6 c 216 6

45 BlueZ - Aplicações LAN Configurando o DUND (cont.): Configurando o PPP –/etc/ppp/options noauth local noipdefault proxyarp ms-dns netmask connect "sleep 2; echo -n CLIENTSERVER"

46 BlueZ - Aplicações LAN Configurando o DUND (cont.): –Criar um arquivo para cada dispositivo rfcomm contendo IP local e o IP a ser atribuido pro dispositivo que se conectou: –/etc/ppp/options.rfcommX: : IP LOCALIP REMOTO

47 BlueZ - Aplicações LAN Configurando o DUND (cont.): Servidor: Exemplo tirado do script mostrado anteriormente: #!/bin/sh echo "Starting dund..." sleep 2 dund --listen --channel 1 noauth echo "1" > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o eth0 -j ACCEPT

48 BlueZ - Aplicações LAN Configurando o DUND (cont.): Cliente: dund –-connect xx:xx:xx:xx:xx:xx --channel 1 --msdun Endereço Bluetooth da máquina servidora

49 BlueZ - Programação Sockets Bibliotecas #include

50 BlueZ - Programação Estruturas Exemplos: sockaddr_in s_addr L2CAP sockaddr_l2 RFCOMM sockaddr_rc s_addr.l2_family = AF_BLUETOOTH; s_addr.l2_psm = htobs(100); baswap(&s_endereco.l2_bdaddr, addr); s_ addr.rc_family = AF_BLUETOOTH; bacpy(&s_ addr.rc_bdaddr, BDADDR_ANY); s_ addr.rc_channel = 1; str2ba(addr, &s_addr.rc_bdaddr);

51 BlueZ - Programação Criação do sockets RFCOMM: int nsocket = socket(PF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM); L2CAP: int nsocket = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP); Bind: bind(nsocket, (struct sockaddr *) &s_addr, sizeof(s_addr));

52 BlueZ - Programação Cliente connect( nsocket, (struct sockaddr*)&s_endereco, sizeof(struct sockaddr) ); Servidor listen(nsocket, 10); int news = accept (nsocket, (struct sockaddr *) &c_addr, &tam);

53 Bluetooth


Carregar ppt "Bluetooth Ana Cristina Benso da Silva Andrei Oliveira da Silva Fabrício DAvila Cabral CPSE – Centro de Pesquisa em Software Embarcado FACIN/PUCRS – Faculdade."

Apresentações semelhantes


Anúncios Google