Estou muito animado em anunciar meu primeiro projeto open-source público: o MAUIBleScanner, um scanner de Bluetooth Low Energy (BLE) multiplataforma para iOS e Android!
Você pode conferir o código-fonte completo no GitHub: https://github.com/wagenheimer/MAUIBleScanner
A Motivação
Como desenvolvedor que trabalha com .NET MAUI, frequentemente me envolvo em projetos que exigem comunicação com hardware. O Bluetooth Low Energy é uma tecnologia fantástica, mas sua implementação pode ser desafiadora, envolvendo muito código repetitivo e particularidades de cada plataforma.
Meu objetivo era criar um ponto de partida limpo, simples e reutilizável para qualquer pessoa que precise escanear dispositivos BLE em uma aplicação .NET MAUI. Este projeto serve não apenas como uma ferramenta prática, mas também como um recurso de aprendizado para desenvolvedores que estão começando a explorar o BLE no ecossistema .NET.
Tecnologias Principais
O projeto foi construído com uma stack de tecnologias moderna e poderosa:
- .NET MAUI: Para criar uma interface de usuário bonita e com um único código-base que roda nativamente em Android e iOS.
- Framework Shiny: Esta é a estrela do projeto para a comunicação BLE. O Shiny abstrai de forma brilhante as complexidades específicas de cada plataforma, permitindo-nos trabalhar com uma API limpa e multiplataforma. Getting Started | Shiny.NET
- Padrão MVVM: A aplicação é estruturada usando o padrão Model-View-ViewModel (MVVM) para garantir uma separação clara de responsabilidades, tornando o código fácil de entender, manter e testar.
Principais Funcionalidades
- Varredura de Dispositivos: Inicie e pare a busca por dispositivos BLE próximos.
- Resultados em Tempo Real: Os dispositivos descobertos são exibidos em uma lista à medida que são encontrados.
- Detalhes do Dispositivo: Exibe informações essenciais como o nome do dispositivo, UUID/Endereço e a força do sinal (RSSI).
- Multiplataforma: Um único código-fonte que funciona perfeitamente em iOS e Android.
Para Quem é Este Projeto?
Este repositório é perfeito para:
- Desenvolvedores .NET que procuram um exemplo prático de implementação de BLE com MAUI.
- Entusiastas e “makers” que precisam de uma ferramenta simples para descobrir e depurar seus periféricos BLE.
- Estudantes aprendendo sobre desenvolvimento multiplataforma e comunicação com hardware.
Participe!
Este é um projeto de código aberto, e toda contribuição é bem-vinda. Seja relatando um bug, sugerindo uma nova funcionalidade ou enviando um pull request, seu feedback é extremamente valioso.
Vá em frente, clone o repositório, execute o aplicativo e me diga o que achou. E se você achar útil, não se esqueça de dar uma estrela no GitHub! ⭐