O BitDogLab é uma plataforma educacional baseada na placa Raspberry Pi Pico, equipada com diversos componentes eletrônicos como botões, buzzers, microfone, LEDs, display e muito mais. Foi desenvolvida com o propósito de ensinar tecnologia de forma lúdica e interativa, despertando o interesse de crianças e jovens pelo universo da programação e eletrônica. Este aplicativo é uma interface interativa criada com React + Capacitor, que permite aos usuários se conectarem e interagirem diretamente com a placa, facilitando o aprendizado e ampliando as possibilidades de experimentação.
Para mais detalhes sobre o hardware, acesse a documentação oficial do BitDogLab.
- Node.js:
v22.14.0 - npm:
v10.9.2 - Java JDK :
v17.0.14 - Android Studio:
2024.3.1.14 - BitDogLab: firmware
git clone https://github.com/datasci4citizens/app-bitdoglab.git
cd bitdoglabnpm installnpx cap add androidSempre que fizer alterações no código, execute:
npm run build
npx cap syncnpm run devAcesse: http://localhost:5173/
Versão recomendada: 2024.3.1.14
Você pode instalar via PowerShell:
winget install Oracle.JavaRuntimeEnvironment --version 17Ou baixe manualmente:
👉 https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html
sudo apt update
sudo apt install openjdk-17-jdkVerifique a instalação com:
java -versionCertifique-se de que o Java 17 está no PATH. Caso haja múltiplas versões:
sudo update-alternatives --config java
Se o Android Studio não detectar o JDK 17 corretamente:
- Vá em
File > Settings(ouCtrl + Alt + S) - Acesse
Build, Execution, Deployment > Build Tools > Gradle - Em Gradle JDK, selecione o caminho para o JDK 17 instalado
- Clique em
Applye depois emOK
npx cap open android- Aguarde o build inicial.
- Você pode rodar o app:
- No emulador do Android Studio
- No seu celular conectado por USB ou Wi-Fi com a depuração ativada
-
Criar pasta nova na
/pagescom o nome do componente- Adicionar o arquivo da tela
.tsxcom o layout e UI do componente - Adicionar arquivo
.tsxcom o fluxograma explicativo da tela
- Adicionar o arquivo da tela
-
Criar um hook na pasta
/hooks- Implementar a lógica, estado e handlers para a tela
- Usar esse hook dentro da tela para conectar UI e lógica
-
Criar um controlador na pasta
/utils- Implementar a conversão de dados da interface para JSON
- Enviar os comandos ao backend para comunicação com a placa
-
Criar os componentes visuais reutilizáveis na pasta
/components- Componentes simples para pequenas partes visuais
- Componentes composites para agrupamentos que serão usados na tela
- Leia o README específico em cada pasta para detalhes e exemplos:
/pages/README.md— estrutura e uso das telas/hooks/README.md— exemplos e organização dos hooks/utils/README.md— controladores e comunicação com o backend/placa/components/README.md— como criar componentes folha e composite
- Separe visual (UI) da lógica usando hooks personalizados
- Mantenha a comunicação com a placa isolada em controladores (
utils) - Reutilize componentes React para manter a consistência visual
- Documente sempre cada novo componente e hook para facilitar manutenção