BLE com CY8CKIT-042-BLE da Cypress - Embarcados
Unboxing do Kit CY8CKIT-042-BLE
PSoC 4 BLE – Estrela do CY8CKIT-142
Um PSoC e um PRoC?!
Uma Baseboard para os módulos – BLE Pioneer
Um dongle BLE com Cysmart CY5670
Review no YouTube e Vídeos do Cysmart
Em um outro artigo aqui no Embarcados citei a CY8CKIT-049, uma mini-placa de avaliação para PSoC ARM Cortex-M0 da Cypress. Prático, simples e direto, é um ótimo e barato ponto de entrada para o mundo de Embarcados usando o ecossistema da Cypress. Mas você sabia que a Cypress possui muito mais? Inclusive, tem investido pesado na Internet das Coisas, tendo como fruto o ponto-chave desse artigo – A CY8CKIT-042-BLE, um kit voltado para projetos de baixo consumo com comunicação via Bluetooth Low Energy. A documentação completa para os ansiosos de plantão está neste link.
Figura 1 – Caixa do Kit CY8CKIT-042-BLE.
Quero de início agradecer ao André Trabulsi da Tradecomp por ter fornecido o Kit CY8CKIT-042-BLE, o item de fronteira para a linha PSoC 4 BLE da Cypress. E esse item realmente merece o nome de Kit – É fornecido com todo um aparato para realmente conhecer, experimentar e prototipar soluções com Bluetooth Low Energy – BLE – da Cypress.
Verdadeiramente, isso é o que podemos chamar de Kit – É um prato cheio e bem servido de itens que auxiliam na avaliação, prototipação e desenvolvimento de soluções usando Bluetooth Low Energy com o ecossistema e estrutura da Cypress.
Figura 2 – Elementos do Kit CY8CKIT-042-BLE.
Figura 3 – Elementos do Kit CY8CKIT-042-BLE em separado.
Placa-base BLE Pioneer, pré-carregada com o móduleo CY8CKIT-142 PSoC 4 BLE;
Módulo PRoC BLE CY5671;
Dongle USB para BLE Cysmart CY5670;
Cabo USB A para USB Mini-B;
4 jumpers de 4 polegadas e 2 jumpers de sensor de proximidade de 5 polegadas;
Bateria "moeda" 3V CR2032.
Vamos ver agora um pouco sobre cara um.
Em suma, a família PSoC 4 BLE da Cypress é estruturada com base em um ARM Cortex-M0, configurado para operar em 48 MHz, com versões que podem ter até 256 KB de memória Flash e até 32 KB de RAM.
O interessante em se tratando de PSoC – Sistemas em Chip Programáveis – é a habilidade de configurar componentes mais baixo-nível, tais como amplificadores operacionais, filtros, módulos PWM, Timers/Contadores e até mesmo módulos de I2C/SPI e UART. Para quem nunca mexeu com a parte de módulos configuráveis da Cypress, é literalmente "brincar de LEGO", você arquiteta, monta e configura os componentes como blocos que fazem parte da sua aplicação.
Na Figura 4 é possível ver o esquemático de componentes do PSoC 4 BLE.
FIgura 4 – Diagrama e Esquemático do PSoC 4 BLE. Fonte: Cypress.com.
E somado a esse aparato todo, o SoC possui comunicação com Bluetooth LE 4.2 com Balun integrado, o que facilita os projetos com antena, vide Figura 5 com comparativo de estrutura empregada pela Cypress e concorrentes.
Figura 5 – Componentes para interface com antena da Cypress vs concorrentes.
O PSoC 4 BLE é o núcleo do CY8CKIT-142, que acompanha o Kit. Basicamente, é um módulo que já expõe os sinais disponíveis no microcontrolador (PSoC), juntamente com a antena em PCB e demais itens necessários (cristal, etc). Veja na Figura 6 como é o módulo e observe pela legenda os componentes presentes.
Figura 6 – Vista com legenda do módulo CY8CKIT-142 PSoC 4 BLE que acompanha o kit.
Devidamente programado, você poderia, por exemplo, embutir esse módulo em algum projeto e/ou aplicação. Ou caso necessário, tomar por base as guidelines para embarcar diretamente em uma placa de sua autoria.
Em resumo, temos as seguintes características para o PSoC 4 BLE (basicamente escrevendo a Figura 4):
CPU ARM® Cortex™-M0 operando até 48-MHz
Até 256 KB de memória Flash e 32 KB SRAM
Controlador de DMA de 8 canais
Subsistema de Bluetooth Low Energy
Rádio 2.4 GHz BLE com balun integrado
Sensitividade em Rx de -92-dBm
Potência de Tx até +3-dBm
Novas características BLE 4.2
Segurança aprimorada com LE Secure Connections
Privacidade com uso eficiente de energia com LL Privacy 1.2
Transmissão até 2.6x maior com LE Data Length Extension
Modos flexíveis de Low-Power / Baixo Consumo
Corrente de 1.3-µA em Deep-Sleep.
Corrente de 150-nA em Hibernação.
Corrente de 60-nA em parada.
Parte Analógica Programável
4 Amplificadores Operacionais;
2 Comparadores Low-Power;
1 Conversor Analógico-Digital de 12 bits com amostragrem de 1-Msps;
Parte Digital Programável
4 Blocos Digitais Universais (UDB)
4 Blocos de TCPWM de 16 bits;
2 Blocos SCBs, configuráveis como I2C, SPI ou UART;
Interface I2C para áudio;
Controlador LCD para até 4 sinais comum e 32 segmentos;
Mapeamento flexível de GPIOs para todos os periféricos.
Interface Touch Capacitivo
Controlador touch Cypress CapSense com auto-ajuste SmartSense
Biblioteca para suprote de gestos de 1 ou 2 dedos
Industrial: -40ºC a 85ºC
Industrial Estendido: -40ºC a 105ºC
Tensão de Alimentação para Operação: 1.7 – 5.5 V (Para rádio: 1.9 V em diante)
Além do PSoC 4 BLE, o kit também acompanha um PRoC BLE. Em resumo, o PRoC não possui as partes modificáveis em mais baixo-nível que um PSoC BLE possui, tais como os Universal Digital Blocks (lembra do "LEGO" que comentei lá no início? Pois é! São esses caras). Isso deixa o chip mais barato, ao mesmo tempo que possui alguns recursos ainda assim interessantes.
Para a maioria dos mortais, pode acabar por ser algo bem interessante, dependendo do cenário que você for usar. Assim como o PSoC, o PRoC também possui módulos de comunicação e temporização programáveis, a saber, SCB e TCPWM. Ah, e não poderia esquecer do CapSense, tecnologia da Cypress para leitura de sinais capacitivos. Compare a Figura 7 com a Figura 4, e verá esses pontos em diferença.
Figura 7 – Detalhamento técnico do PRoC BLE.
O carinha que possui esse PRoC no kit é o módulo PRoC BLE CY5671, que assim como seu colega PSoC, também é uma placa que expõe os sinais, antena em PCB e demais itens necessários. Vide Figura 8 com detalhes do módulo em legendas.
Figura 8 – Legenda com detalhes para o módulo PRoC BLE CY5671
Essa baseboard não tem um partnumber ou página específica. Ela faz parte do Kit mesmo, e é chamada na documentação de BLE Pioneer.
Essa placa-base possui um gravador/depurador integrado, o que permite a mesma programar os dois módulos PSoC/PRoC que acompanham o kit. Além disso, possui regulador de energia, pinagem Arduino UNO R3, CapSense Slider, LED RGB, conector para jumper de proximidade, botão de usuário/reset, como também memória FRAM e até mesmo conector para pilha tipo "moeda". Achou que é muito? Mais detalhes na foto com legendas na Figura 9.
Figura 9 – Baseboard Pioneer BLE sem módulo – com legendas de componentes.
Observe que o formato dos conectores para os módulos PSoC/PRoC é bem específico, sendo somente possível encaixá-los no formado adequado. Veja na Figura 10 como fica a placa-base com o módulo PSoC 4 BLE encaixado na placa.
Figura 10 – Baseboard Pioneer BLE com Módulo PSoC BLE.
Tal como mostrado na Figura 10, é possível alimentar a placa via USB e também programar o módulo plugado caso a placa esteja conectada em um computador.
E se você quer experimentar o modos de baixo consumo do Bluetooth Low Energy, na parte de trás da placa-base há um conector para a pilha "moeda". Inserida a pilha, a placa pode funcionar de forma independente.
Esse dongle é programado de fábrica para emular uma central BLE GAP, de forma a permitir o debug de aplicações BLE implementadas com o CY8CKIT-042-BLE Pioneer Kit.
Figura 11 – Dongle USB Cysmart CY5670.
Por meio desse dongle, você pode interagir com outros dispositivos BLE, inclusive, como citado, com uma aplicação construída com o Kit e/ou PSoC e PRoC.
Figura 12 – Interface do Dongle com BLE Pioneer Kit via BLE.
Uma boa notícia é que o firmware dele não é "estático", ou seja… Você pode reprogramar o dongle também! Ele possui um programador/depurador integrado, e quem faz o Bluetooth Low Energy no dongle também é um PRoC, como mostrado na legenda do componente na Figura 13.
Figura 13 – Dongle USB Cysmart CY5670. com legenda
Além de um bom hardware, a "coisa" precisa ter um bom ambiente de desenvolvimento. No caso da Cypress a IDE é o PSoC Creator com Componente BLE. Um ponto muito positivo é que a ferramenta é gratuita. E, na minha humilde opinião, o único ponto negativo da IDE é ser somente para Windows.
Em adição ao Bluetooth Low Energy, o PSoC Creator conta agora com as seguintes características:
Suporte para Perfis e Serviços Bluetooth SIG
Caso necessário, suporte para Serviços e Perfis Personalizados
Um grande foco de aplicações BLE é na interface com dispositivos móveis tais como celulares smartphones, em produtos tais como pulseiras inteligentes, coleiras de cachorros, sensores em tênis, roupas e acessórios, etc.
Assim sendo, é primordial uma "base" para criar Apps em smartphones capazes de fazer interface com as aplicações embarcadas. Não pra menos, a Cypress fornece exemplos para Android e iPhone com código-fonte disponível das Apps, ou seja, você pode pegar como base, ver como funciona, aprender e fazer o seu!
Em se tratando da versão Android, o CySmart está disponível na Play Store neste link.
Figura 14 – CySmart na Play Store do Google.
Veja mais sobre o Cysmart, download dos fontes e documentação neste link.
Figura 15 – Fontes e documentos do CySmart.
A App CySmart para Smartphones possui exemplos de telas para as seguintes aplicações de Bluetooth com serviços e perfis SIG BLE:
Serviço de bateria.
Serviço e Perfil de pressão sanguínea.
Serviço e Perfil de velocidade de ciclismo e cadência.
Serviço de Informação de Dispositivo.
Perfil "Ache-me" e Serviço de "Alerta Imediato".
Serviço e Perfil para nível de glicose.
Serviço e Perfil para ritmo cardíaco.
Serviço e Perfil para temperatura corpórea.
Perfil de proximidade, Serviço de perda de link, e Serviço de potência Tx.
Serviço e Perfil de velocidade de corrida e cadência.
E além dessas telas, o App também apresenta telas personalizadas para perfis e serviços definidos pela Cypress:
Serviço e Perfil CapSense® – Habilita comunicação BLE para dispositivos CapSense, como sensores de proximidades, botões e sliders.
Serviço e Perfil Bootloader – Habilita atualizações de firmware over-the-air (OTA) para dispositivos Cypress.
Serviço e Perfil RGB LED – Habilita o controle de cor e intensidade de brilho de LED via BLE.
Eu também fiz o review da placa no Youtube, e caso queira, você pode assistir a esse vídeo review logo abaixo.
Na sequência, demonstro algumas das funcionalidades do Kit em uso conjunto com o Cysmart, aplicativo fornecido para uso em dispositivos móveis. No meu caso, usei Android! Peço humildemente desculpas caso os vídeos não estejam tão bons quanto se queira.