iot-mcp-bridge
README.md
# 🍃 IoT MCP Bridge - Controle IoT via Linguagem Natural
## 🚀 Visão Geral
Sistema IoT moderno que permite controlar dispositivos ESP8266 e Raspberry Pi usando **linguagem natural** através do Claude Desktop. Ideal para educação, demonstrações e projetos maker.
## ✨ Características
- 🤖 **Controle via Linguagem Natural** - "Acenda o LED verde"
- 🍃 **Suporte ESP8266/NodeMCU** - LEDs e sensores físicos
- 🍓 **Suporte Raspberry Pi** - Simulação completa
- 🎯 **Interface Claude Desktop** - Integração nativa
- 📱 **Múltiplos Dispositivos** - Rede local
- 🎓 **Educacional** - Perfeito para aulas de IoT
## 🛠️ Tecnologias
- **Python 3.8+**
- **FastMCP 2.0** - Protocolo MCP
- **aiohttp** - Comunicação assíncrona
- **ESP8266/NodeMCU** - Hardware IoT
- **Claude Desktop** - Interface de usuário
## 📦 Instalação
### 1. Clonar o Repositório
```bash
git clone https://github.com/seu-usuario/iot-mcp-bridge.git
cd iot-mcp-bridge
```
### 2. Criar Ambiente Virtual
```bash
python -m venv iot-mcp-env
source iot-mcp-env/bin/activate # Linux/Mac
# ou
iot-mcp-env\Scripts\activate # Windows
```
### 3. Instalar Dependências
```bash
pip install -r requirements.txt
```
### 4. Configurar ESP8266
1. Carregar `examples/esp8266_firmware.ino` no ESP8266
2. Configurar WiFi no firmware
3. Anotar o IP do ESP8266
4. Atualizar IP em `src/esp8266_controller.py`
## ⚙️ Configuração Claude Desktop
### 1. Copiar Configuração
Copie o conteúdo de `claude_desktop_config.json` para as configurações do Claude Desktop.
### 2. Localizar Arquivo de Configuração
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
- **Mac:** `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Linux:** `~/.config/Claude/claude_desktop_config.json`
### 3. Adicionar Configuração
```json
{
"mcpServers": {
"iot-mcp-bridge": {
"command": "python",
"args": ["mcp_fastmcp2_correct.py"],
"env": {
"PYTHONPATH": "."
}
}
}
}
```
## 🎯 Como Usar
### 1. Iniciar Claude Desktop
Abra o Claude Desktop e verifique se o MCP Bridge está conectado.
### 2. Comandos de Exemplo
```
"Qual o status do ESP8266?"
"Acenda o LED verde do ESP8266"
"Desligue o LED azul do ESP8266"
"Leia o sensor de luz do ESP8266"
"Faça o LED vermelho piscar por 5 segundos"
"Mostre o status de todos os dispositivos"
```
### 3. Comandos Disponíveis
#### ESP8266
- `esp8266_get_status` - Status completo
- `esp8266_control_led` - Controlar LEDs
- `esp8266_read_sensor` - Ler sensores
- `esp8266_blink_led` - Piscar LEDs
#### Raspberry Pi (Simulação)
- `raspberry_control_led` - Controlar LEDs
- `raspberry_read_sensor` - Ler sensores
- `raspberry_read_button` - Ler botão
#### Sistema
- `get_system_status` - Status geral
- `list_devices` - Listar dispositivos
- `emergency_stop` - Parada de emergência
## 🔧 Hardware
### ESP8266/NodeMCU
```
LED Vermelho → GPIO 12 (D6)
LED Verde → GPIO 4 (D2)
LED Azul → GPIO 5 (D1)
Sensor LDR → A0 (pino analógico)
```
### Conexões
- Conectar LEDs com resistores (220Ω)
- Conectar sensor LDR com resistor (10kΩ)
- Alimentar com 3.3V
## 📁 Estrutura do Projeto
```
iot-mcp-bridge/
├── mcp_fastmcp2_correct.py # 🚀 MCP Bridge principal
├── claude_desktop_config.json # ⚙️ Configuração Claude Desktop
├── src/
│ ├── esp8266_controller.py # 🍃 Controlador ESP8266
│ └── raspberry_controller.py # 🍓 Controlador Raspberry Pi
├── examples/
│ └── esp8266_firmware.ino # 🍃 Firmware ESP8266
├── config/
│ └── settings.py # ⚙️ Configurações
├── requirements.txt # 📦 Dependências
└── README.md # 📖 Este arquivo
```
## 🎓 Aplicações Educacionais
### Para Professores
- **Demonstrações IoT** - Controle via linguagem natural
- **Aulas de Programação** - Conceitos de IoT
- **Projetos Maker** - Integração hardware/software
### Para Alunos
- **Primeiros Passos IoT** - Interface intuitiva
- **Experimentos Práticos** - LEDs e sensores
- **Aprendizado de IA** - Linguagem natural
## 🚨 Solução de Problemas
### ESP8266 Não Responde
1. Verificar se o firmware foi carregado
2. Verificar conexão WiFi
3. Verificar IP no código
4. Testar com `ping [IP_ESP8266]`
### Claude Desktop Não Conecta
1. Verificar configuração MCP
2. Verificar se o arquivo existe
3. Verificar dependências instaladas
4. Reiniciar Claude Desktop
### LEDs Não Acendem
1. Verificar conexões físicas
2. Verificar GPIOs no firmware
3. Verificar alimentação
4. Testar com Serial Monitor
## 🤝 Contribuição
1. Fork o projeto
2. Crie uma branch para sua feature (`git checkout -b feature/AmazingFeature`)
3. Commit suas mudanças (`git commit -m 'Add some AmazingFeature'`)
4. Push para a branch (`git push origin feature/AmazingFeature`)
5. Abra um Pull Request
## 📄 Licença
Este projeto está sob a licença MIT. Veja o arquivo `LICENSE` para mais detalhes.
## 👨🏫 Autor
**Fran - Aluno Maker Digital**
- Projeto educacional para ensino de IoT
- Integração com Claude Desktop
- Foco em linguagem natural e IA
## 🙏 Agradecimentos
- **Anthropic** - Claude Desktop e MCP
- **FastMCP** - Framework MCP
- **ESP8266 Community** - Hardware e firmware
- **Comunidade Maker** - Inspiração e suporte
---
**⭐ Se este projeto te ajudou, considere dar uma estrela no GitHub!** This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues