O objetivo deste BLOG é demonstrar como é possível utilizar o B4A para gerar uma aplicação BLE em seu CELULAR ANDROID para se comunicar com U-BLOX NINA W106 (PROGRAMADO EM VISUINO) e controlar um LED via escrita em sua Característica (BLE SERIAL SERVICE). Foi utilizado o BREAKOUT U-BLOX NINA W106 para o teste.
No exemplo mandaremos acender ou apagar um LED ligado no GPIO32 (IO5) via BLE.
SOBRE BLE (RESUMO)
Esta é uma breve introdução ao BLE e não chega perto de toda a história.
O BLE não é uma atualização para o Bluetooth Classic, é um sistema diferente com diferentes usos pretendidos. O BLE funciona de uma maneira muito diferente do Bluetooth anterior. O BLE foi projetado para aplicações de baixa energia e consegue isso usando pacotes de dados pequenos e pouco frequentes. Na verdade, ele não foi projetado para conexões contínuas e grandes quantidades de dados. Para isso, o Bluetooth Classic é uma escolha melhor. Em essência, o BLE atinge seu baixo consumo de energia por não estar conectado com muita frequência, ao contrário do Bluetooth Classic, que mantém uma conexão constante.
Existem duas maneiras pelas quais os dispositivos BLE podem se comunicar; Emissora + Observadora e Central + Periférica.
Com o Broadcaster + Observer, não há uma conexão padrão, o Broadcaster, geralmente algum tipo de sensor, envia sinais periódicos (pacotes de publicidade) que o Observer escuta. O radiodifusor normalmente não sabe se algo está escutando ou não.
O cenário Central + Periférico é mais parecido (mas não exatamente o mesmo) que a conexão clássica. Quando o dispositivo central (mestre) encontra um dispositivo periférico (escravo) ao qual deseja se conectar, inicia uma conexão e assume a função principal de gerenciar a conexão e os tempos.
Como o Bluetooth Classic pressupõe que você usará uma única conexão, a conexão será estabelecida por um tempo e não precisará ser particularmente rápida na conexão. O BLE, por outro lado, foi projetado para fazer muitas conexões de curto prazo e, portanto, foi projetado para conectar e desconectar muito rapidamente.
BLE é tudo sobre serviços e características. Um serviço é uma coleção de características relacionadas e uma característica é onde os dados estão. Em um dispositivo BLE típico, você pode ter um serviço que contém características relacionadas às propriedades dos módulos, como; o nome do fabricante, o nome do dispositivo, o ID do firmware e / ou o número da versão. Também pode ter um segundo serviço que agrupa as características que mantêm os dados reais. Podem ser coisas como temperatura, umidade, brilho. Isso significa que, para usar o BLE, você geralmente precisa conhecer as características que deseja usar (mais especificamente os UUIDs para as características).
Com o BLE, os valores dessas propriedades estão disponíveis o tempo todo. Se você quiser saber o nome do fabricante, leia a válvula na característica do nome do fabricante. Se você quiser saber a temperatura, leia o valor da característica de temperatura. Isso é muito diferente de como o Bluetooth clássico funciona. Com o Bluetooth clássico, você tem apenas um canal de comunicação e todos os dados são enviados por um canal.
Cada serviço e característica possui um identificador exclusivo chamado UUID. Este é basicamente um número de 24 bits.
W106
Wi-Fi 802.11b/g/n
Dual-Mode Bluetooth v4.2
Poderoso suporte de CPU aberta para aplicativos personalizados
Tamanho pequeno e várias opções de antena
Pino compatível com outros módulos NINA
Certificação global
Módulo baseado no ESP32, com 4MB FLASH
VISUINO
Visuino é o mais recente software inovador da Mitov Software. Um ambiente de programação visual que permite programar suas placas Arduino. ... Os componentes encontrados no software Visuino representam seus componentes de hardware e você pode criar e projetar facilmente seus programas usando o recurso de arrastar e soltar.
B4A
Basic4Android (atualmente conhecido como B4A) é uma ferramenta de desenvolvimento rápido de aplicativos para aplicativos Android nativos, desenvolvida e comercializada pela Anywhere Software Ltd. B4A é uma alternativa à programação com Java.O App Inventor é um software web criado pela universidade americana Massachusetts Institute of Technology (MIT) que permite desenvolver aplicativos Android usando um navegador da Web e um telefone ou emulador conectados.
O B4A inclui todos os recursos necessários para desenvolver rapidamente qualquer tipo de aplicativo Android.
O B4A é usado por dezenas de milhares de desenvolvedores em todo o mundo, incluindo empresas como NASA, HP, IBM e outras.
Junto com o B4i, você pode desenvolver facilmente aplicativos para Android e iOS.
O B4A é 100% royaltie free
CONFIGURANDO AMBIENTE B4A
Certifique-se de seguir as instruções abaixo. Eles não são complicados e incluem vários componentes necessários para começar.
1. Oracle Java 8 ou OpenJDK 11 (recomendado)
- Baixe um dos seguintes JDKs. Observe que o OpenJDK 11 requer Windows de 64 bits.
- OpenJDK 11 + OpenJFX 11: link para download .
Licença: GPL + classpath exception. A licença permite o uso em projetos comerciais fechados.
(componentes do pacote: OpenJDK and OpenJFX)Baixe o zip e descompacte-o. C:\java é um bom lugar para isso.Recomenda-se usar uma ferramenta como o 7-Zip para descompactar o pacote grande. O Windows Explorer pode não conseguir extraí-lo adequadamente. A instalação não é necessária. - Oracle JDK 8: link para download (requer a criação de uma conta).Verifique o botão Aceitar Contrato de Licença.Selecione "Windows x86" ou "Windows x64" (para máquinas de 64 bits) na lista de plataformas.Baixe o arquivo e instale-o.
2. Android SDK + recursos necessários
- Você precisa baixar dois componentes, ambos não requerem instalação.
- Baixe as ferramentas de linha de comando do Android SDK
Certifique-se de ler e concordar com a licença do SDK. Clique nas ferramentas de linha de comando do Windows para ver a licença.
O Android Studio não é necessário e não será afetado pelas ferramentas de linha de comando (que são sempre necessárias). - Descompacte-o em uma pasta como C:\ Android
- Baixe os recursos necessários.
- Descompacte na mesma pasta. Deve ser assim:
- Observe que você não precisa executar o B4A Sdk Manager, a menos que queira usar o emulador do Android, que é menos recomendado.
- Estes são dois grandes arquivos zip. É recomendável usar uma ferramenta como o 7-Zip para descompactá-los. Vemos muitos casos em que a ferramenta zip interna do Windows não consegue extrair os arquivos corretamente.
3. B4A
- Baixe a versão completa do B4A
- Abra o B4A .
- Escolha Ferramentas> Configurar caminhos .
- Defina o caminho como "javac.exe" se estiver vazio (C:\java\jdk-11.0.1\bin\javac.exe ou C:\Program Files\Java\jdk1.8.0_211\bin\javac.exe)
- Defina o caminho para "android.jar" (C:\Android\platforms\android-30\android.jar).
- Comece a desenvolver com B4A-Bridge ou modo de depuração USB.
- Se você quiser usar o emulador ou instalar mais componentes, inicie o B4A Sdk Manager e defina o caminho para:
C:\Android\tools\bin\sdkmanager.bat. - Leia e aceite as licenças quando solicitadas.
4. B4A-Bridge (recomendado)
- O B4A-Bridge permite que o IDE se conecte ao dispositivo pela rede sem fio. Esta é uma alternativa ao modo de depuração USB (que também é compatível).
- Baixe o B4A-Bridge no Google Play. Você pode pesquisar a ponte B4A ou pressionar o botão acima. Você também pode baixar o arquivo apk diretamente.
O B4A-Bridge também está disponível no HUAWEI AppGallery. - Certifique-se de que a instalação de aplicativos de fontes desconhecidas esteja habilitada. Isso pode ser definido em Configurações - Segurança ou Configurações - Aplicativos.
- Execute o B4A-Bridge no dispositivo. Veja este tutorial para mais informações.
- Conecte o IDE ao dispositivo: Ferramentas - B4A Bridge - Conectar
- Você está pronto para executar seu primeiro programa Android!
EXECUTE O B4A
Baixe a LIB Dialog
Copie para
C:\Program Files (x86)\Anywhere Software\Basic4android\Libraries
Baixe o exemplo
Copie para qualquer pasta
Abra no B4A
Transfira para teu celular (via APK)
Pressione F5 para compilar e transferir
O exemplo:
- Faz SCAN dos BLE;
- Escolha o que aparece ESP32;
- Clique na CHARACTERIST (BLE SERIAL SERVICE);
- Escreva 0 ou ESCREVA 1 (Text).
MONTANDO PROJETO NO VISUINO
"O exemplo abaixo cria via Característica uma comunicação SERIAL via BLE"
Componente Compare Text
Projeto Final
Testes com B4A
Start Scan
Scanning (achou U-BLOX NINA W106)
Click nele e efetuará a conexão
Click nesta Característica.
Apaga LED
Questões: suporte@smartcore.com.br
Sobre a SMARTCORE
A SmartCore fornece módulos para comunicação wireless, biometria, conectividade, rastreamento e automação.
Nosso portfólio inclui modem 2G/3G/4G/NB-IoT/Cat.M, satelital, módulos WiFi, Bluetooth, GNSS / GPS, Sigfox, LoRa, leitor de cartão, leitor QR code, mecanismo de impressão, mini-board PC, antena, pigtail, LCD, bateria, repetidor GPS e sensores.
Mais detalhes em www.smartcore.com.br