O Expo Micro IDE é um ambiente de desenvolvimento integrado para microcontroladores, que permite programar e interagir com dispositivos MicroPython e CircuitPython diretamente do seu smartphone Android usando React Native e Expo.
- Dispositivo Android com suporte a USB OTG (On-The-Go)
- Microcontrolador compatível com MicroPython ou CircuitPython
- Cabo USB compatível
- Instale o aplicativo Expo Go da Play Store
- Escaneie o QR code do projeto ou acesse o link fornecido
- Conecte seu microcontrolador ao dispositivo Android usando um cabo USB
-
Clone o repositório:
git clone https://github.com/seu-usuario/expo-micro-ide.git cd expo-micro-ide -
Instale as dependências:
npm install
-
Execute o projeto:
npx expo start
-
Escaneie o QR code com o aplicativo Expo Go ou execute em um emulador/dispositivo conectado
O projeto segue a estrutura padrão de um módulo Expo, com algumas adições específicas:
expo-micro-ide/
├── android/ # Código nativo Android
│ └── src/main/java/expo/modules/microide/
│ ├── managers/ # Gerenciadores de funcionalidades
│ └── utils/ # Utilitários e classes auxiliares
├── ios/ # Código nativo iOS
├── src/ # Código JavaScript/TypeScript
│ ├── domain/ # Modelos e interfaces
│ └── ...
├── example/ # Aplicativo de exemplo
└── docs/ # Documentação
- Conecte seu microcontrolador ao dispositivo Android
- O aplicativo detectará automaticamente dispositivos compatíveis
- Se solicitado, conceda permissão para acessar o dispositivo USB
- Uma vez conectado, você verá o terminal REPL do MicroPython
// No código JavaScript/TypeScript
import { ExpoMicroIdeModule } from 'expo-micro-ide';
// Enviar comando para o dispositivo
ExpoMicroIdeModule.sendCommand('print("Hello, World!")');
// Receber dados do dispositivo
ExpoMicroIdeModule.addListener('onReceiveData', (data) => {
console.log('Dados recebidos:', data);
});
// Monitorar status de conexão
ExpoMicroIdeModule.addListener('onStatusChanges', (status) => {
console.log('Status da conexão:', status);
});- Explore a documentação da API para mais detalhes sobre as funcionalidades disponíveis
- Veja o guia do BoardManager para entender como gerenciar conexões com dispositivos
- Confira os exemplos para ver implementações práticas