Um gerenciador de projetos Arduino baseado em web. Permite criar, carregar, salvar, compilar e enviar código para placas Arduino.
Este projeto é uma aplicação web que facilita o gerenciamento de projetos Arduino. O frontend é desenvolvido com HTML, CSS e JavaScript, usando o Monaco Editor para edição de código. O backend é feito com Flask e interage com o arduino-cli
para manipular o código e a placa Arduino.
- Python 3.x
- Flask
arduino-cli
-
Configure o
arduino-cli
e ajuste o caminho no código se necessário. -
Inicie o servidor Flask:
python app.py
-
Adicione o código HTML e CSS no diretório
static
do Flask. -
Certifique-se de que o Monaco Editor é carregado corretamente com a configuração CDN.
- Criar Projeto: Insira o nome do projeto e clique em "Criar Projeto".
- Carregar Projeto: Selecione um projeto da lista e clique em "Carregar".
- Excluir Projeto: Selecione um projeto da lista e clique em "Excluir".
- Editar Código: Use o editor para modificar o código.
- Salvar Código: Clique em "Salvar Código" para salvar as alterações.
- Compilar Código: Clique em "Compilar Código" para compilar o código.
- Enviar Código: Clique em "Enviar Código" para enviar o código para a placa Arduino.
- GET /api/projects: Lista todos os projetos disponíveis.
- PUT /api/create_project: Cria um novo projeto. Exige
project_name
no corpo da requisição. - POST /api/delete_project: Exclui um projeto existente. Exige
project_name
no corpo da requisição. - GET /api/load_code: Carrega o código de um projeto. Exige
project_name
como parâmetro de consulta. - POST /api/save_code: Salva o código de um projeto. Exige
project_name
ecode
no corpo da requisição. - POST /api/compile_code: Compila o código de um projeto. Exige
project_name
no corpo da requisição. - POST /api/upload_code: Envia o código para a placa Arduino. Exige
project_name
no corpo da requisição.
Se desejar contribuir para o projeto:
- Fork o repositório.
- Crie uma branch para sua feature:
git checkout -b minha-nova-feature
- Faça as mudanças necessárias e commit:
git commit -am 'Adiciona nova feature'
- Envie para o repositório remoto:
git push origin minha-nova-feature
- Abra um Pull Request.
A estrutura de projeto preferida do usuário inclui:
- Backend em Python/Flask para manipulação de arquivos e interações com a CLI do Arduino.
- Frontend com HTML, CSS e JavaScript, utilizando o Monaco Editor para edição de código e uma área de console para exibição de mensagens e erros.
- Funcionalidades principais:
- Criar, carregar, salvar, compilar e enviar projetos para o Arduino.
- Atualização dinâmica da lista de projetos e exibição de mensagens no console.
A estrutura é usada para gerenciamento de projetos Arduino com integração com o Monaco Editor.
// Declarações de variáveis e constantes
const int ledPin = 13; // O pino do LED embutido na placa Arduino
void setup() {
// Configura o pino do LED como saída
pinMode(ledPin, OUTPUT);
}
void loop() {
// Acende o LED
digitalWrite(ledPin, HIGH);
delay(1000); // Aguarda 1 segundo
// Apaga o LED
digitalWrite(ledPin, LOW);
delay(1000); // Aguarda 1 segundo
}