LUZMCP
README.md
# ๐ก LUZMCP โ Sistema IoT com MCP Server & PWA
[](https://projetosapp-f1f85.web.app)
[](https://wokwi.com/projects/474785026691994625)
[](https://python.org)
[](https://react.dev)
[](https://vitejs.dev)
[](https://modelcontextprotocol.io/)
Sistema distribuรญdo para monitoramento e controle remoto de lรขmpadas/dispositivos IoT em tempo real. A arquitetura conecta um **Progressive Web App (PWA)** moderno, um servidor **MCP (Model Context Protocol)** para integraรงรฃo com Agentes e LLMs, uma **API REST Flask** e um **microcontrolador simulado no Wokwi** executando MicroPython.
---
## ๐ฎ Demonstraรงรฃo Online (Teste Agora Mesmo)
Vocรช pode testar todo o sistema funcionando ao vivo sem precisar instalar nada:
1. **Abra o Simulador de Hardware**:
๐ [Acessar Simulador Wokwi](https://wokwi.com/projects/474785026691994625)
*(Clique no botรฃo verde de **Play โถ๏ธ** para iniciar a placa e ligar a conexรฃo Wi-Fi).*
2. **Abra o Painel de Controle (PWA)**:
๐ [Acessar Painel IoT Control (PWA)](https://projetosapp-f1f85.web.app)
*(Funciona no computador e no celular. No celular, vocรช pode selecionar "Adicionar ร tela inicial" para instalar como app).*
3. **Interaja com as Lรขmpadas**:
- Clique no botรฃo de **L1** โ O LED Vermelho no pino GP10 acende na simulaรงรฃo.
- Clique no botรฃo de **L2** โ O LED Azul no pino GP11 acende na simulaรงรฃo.
- Desligue os interruptores no app para apagar as luzes correspondentes.
---
## ๐๏ธ Arquitetura do Sistema
```text
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Clientes โ
โ โข PWA no Celular / Computador (Firebase Hosting) โ
โ โข Agentes de IA / LLMs (Claude, Gemini, Antigravity) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโ
โ โ
(Modo IA / Tools) (Modo Web Direto)
โผ โผ
โโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโ
โ MCP Server (Py) โ โ API REST Flask (Py) โ
โ Transporte SSE / RPC โโโโโโโโโโโบโ (PythonAnywhere) โ
โโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโฌโโโโโโโโโโโโ
โ
Polling HTTP (1s)
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโ
โ Raspberry Pi Pico W โ
โ (MicroPython) โ
โโโโโโโโโโโโโฌโโโโโโโโโโโโ
โ
Pinos GP10 e GP11
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโ
โ LEDs L1 (Vermelho) โ
โ LEDs L2 (Azul) โ
โโโโโโโโโโโโโโโโโโโโโโโโโ
```
---
## ๐ ๏ธ Tecnologias Utilizadas
- **Microcontrolador / IoT**: Raspberry Pi Pico W simulado no [Wokwi](https://wokwi.com), programado em **MicroPython** com comunicaรงรฃo HTTP via `urequests`.
- **Backend**: **Python / Flask** hospedado no [PythonAnywhere](https://www.pythonanywhere.com), com suporte a CORS nativo e gerenciamento de estado dos perifรฉricos.
- **Camada MCP**: **Model Context Protocol SDK** (`mcp`), expondo as ferramentas `obter_status_lampadas` e `alterar_status_lampada` via Server-Sent Events (SSE).
- **Frontend / PWA**: **React 19**, **Vite**, **TypeScript**, **Tailwind CSS** e **Lucide Icons**, hospedado no **Firebase Hosting**.
---
## ๐ Estrutura de Diretรณrios
```text
.
โโโ app.py # API Flask existente com rotas /micro e /comandos
โโโ mcp_server.py # MCP Server expondo Tools IoT via protocolo SSE
โโโ wokwi.txt # Cรณdigo MicroPython para o simulador Wokwi
โโโ firebase.json # Configuraรงรตes de deploy no Firebase Hosting
โโโ pwa/ # Aplicaรงรฃo frontend PWA
โ โโโ src/
โ โ โโโ App.tsx # Lรณgica hรญbrida (MCP + API Direta) e interface
โ โ โโโ main.tsx # Ponto de entrada React
โ โโโ package.json # Dependรชncias do frontend
โ โโโ vite.config.ts # Configuraรงรตes de build e proxy local
โโโ README.md # Documentaรงรฃo do projeto
```
---
## ๐ป Como Rodar o Projeto Localmente
### 1. Prรฉ-requisitos
- Python 3.10 ou superior instalado.
- Node.js 18 ou superior instalado.
### 2. Rodando o Servidor MCP (Python)
```bash
pip install -r requirements.txt
python mcp_server.py
```
O servidor MCP inicializarรก ouvindo conexรตes SSE na porta `8080`.
### 3. Rodando o PWA em Desenvolvimento
```bash
cd pwa
npm install
npm run dev
```
Abra `http://localhost:5173` no seu navegador. O frontend conectarรก automaticamente ao MCP Server local via proxy `/sse`.
---
## ๐จโ๐ป Autor
Desenvolvido por **Marlon Kipson**
- GitHub: [@marlonkipson95](https://github.com/marlonkipson95)
- Repositรณrio: [marlonkipson95/LUZMCP](https://github.com/marlonkipson95/LUZMCP)
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues