Uma maneira fácil de obter seus dispositivos Bluetooth na Internet

Hoje, o protocolo Bluetooth é a opção mais comum no segmento de eletrônicos vestíveis, em particular para rastreadores de fitness e relógios inteligentes. É adequado para a comunicação direta de dispositivos a curtas distâncias, quando é necessário garantir o mínimo consumo de energia e longa duração da bateria, mas não há requisitos de alta velocidade. Uma vantagem é o baixo custo dos produtos.

No entanto, esse protocolo é cada vez mais encontrado em dispositivos estacionários, como lâmpadas, vários sensores, dispositivos de controle e até travas. Alguns fabricantes, em especial o Archos, o utilizam para implementar um sistema de automação residencial. Seu apoio aparece em controladores profissionais, como Evika LogicMachine Wall. No entanto, nesses cenários, também é necessário monitoramento e controle remotos, o que não pode ser feito usando apenas o Bluetooth, pois esse protocolo é exclusivamente local e não pode ser roteado pela Internet. Esse problema pode ser resolvido, em particular, usando um smartphone ou tablet no local de instalação de dispositivos sem fio, mas é claramente difícil considerar essa opção.



A organização Bluetooth SIG, que lida com o desenvolvimento, certificação e promoção de protocolos Bluetooth, não querendo perder o crescimento do segmento IoT e dos sistemas de automação, no início de fevereiro propôs um kit de ferramentas para criar gateways para conectar dispositivos Bluetooth à Internet e serviços em nuvem. Ele é focado em desenvolvedores e OEM e é capaz, de acordo com os criadores, de fornecer acesso à Internet para "bilhões de dispositivos". O kit inclui códigos e documentação do servidor que permitem implementar rapidamente a versão básica do dispositivo.

O exemplo proposto usa o conhecido ambiente Node.js e não exige recursos de computação. A documentação descreve a criação de um gateway e servidor Web Frontend com base na plataforma Raspberry Pi. Para começar, você precisará de um adaptador Bluetooth. É verdade que um modelo com suporte a BLE pode ser difícil de encontrar. Nesse caso, você pode sugerir o uso de outras plataformas, por exemplo, Intel Edison, onde essa interface está embutida.

O gateway verifica os dispositivos Bluetooth presentes no ar, armazena em cache informações sobre eles, incluindo recursos e serviços disponíveis. Quando uma solicitação externa é recebida, ela responde com base nos dados coletados anteriormente ou solicita os valores atuais do dispositivo. A interface do gateway funciona com o GAP e a API RESTful do GATT, cujas descrições podem ser encontradas no site do Bluetooth SIG e o JSON é usado para trocar informações. Em particular, recursos como solicitar uma lista de dispositivos, solicitar serviços do dispositivo, solicitar características do serviço, ler e gravar dados são implementados aqui.



O frontend é implementado pelo aplicativo NaviBLE Web, que permite ao usuário trabalhar com dispositivos Bluetooth conectados ao gateway. Nos exemplos, as interfaces para os recursos de gateway acima estão disponíveis. Além disso, o desenvolvedor pode criar suas próprias páginas, incluindo aquelas com CSS e funções internas de processamento de dados JavaScript, para um trabalho mais conveniente com dispositivos específicos. Por exemplo, para a lâmpada, você pode ativar e desativar os botões, bem como a seleção de cores.



Esses exemplos podem ser úteis tanto para desenvolvedores de sistemas de automação que planejam incluir suporte para o protocolo Bluetooth em seus produtos quanto para entusiastas. Em particular, você pode implementar o processamento de um cenário como a aparência de um dispositivo Bluetooth em casa, por exemplo, para acender automaticamente a luz ou alterar o modo de alarme.



Observe que no site do Bluetooth SIG, você também pode encontrar documentação e exemplos de como trabalhar com dispositivos Bluetooth (por exemplo, tags) para integrar o suporte a esse protocolo em várias plataformas, incluindo o código-fonte dos aplicativos para Android, iOS e Windows.

Source: https://habr.com/ru/post/pt390467/


All Articles