Conectando ao Wi-Fi pelo aplicativo
O DoguIA precisa de Wi-Fi com internet para funcionar. Quem coloca o robô na rede é o aplicativo DoguIA — não há endereço para digitar no navegador.
Por que pelo aplicativo?
O aplicativo encontra o robô sozinho: procura primeiro por Bluetooth e, se não achar, pela rede Wi-Fi que o próprio robô cria (DoguIA-XXXXX). Você não precisa descobrir endereço, nem trocar o celular de rede à mão.
Pelo aplicativo você:
- Escolhe a rede Wi-Fi da sua casa
- Digita a senha — ela vai direto do celular para o robô, sem passar pelos nossos servidores
- Acompanha o robô reiniciar e voltar conectado
- Vincula o robô à sua conta com o código de 6 dígitos
Ainda não tem o aplicativo? Ele é gratuito, para Android e iPhone: veja Aplicativo DoguIA.
Passo a passo para conectar
Ligue a chave na base. Na primeira vez ele entra sozinho no modo de configuração, e o LED fica azul.
Na tela inicial do app, toque em Conectar o robô e siga a tela. Ela procura o robô sozinha. Se precisar de mais algum toque na cabeça do robô, a própria tela diz quantos e qual cor de LED esperar.
O app mostra as redes que o robô enxerga. Selecione a da sua casa e digite a senha. O robô reinicia e volta já conectado.
Já na rede, o DoguIA fala em voz alta um código de 6 dígitos. Digite no aplicativo para ligar o robô à sua conta. Pronto.
Calibracao do Dispositivo
O DoguIA realiza calibracoes automaticas para garantir o melhor desempenho:
Na primeira vez que voce falar com o DoguIA (via navegador web), ele realiza uma calibracao automatica de 2 segundos. Nesse momento, fique em silencio — o sistema esta medindo o nivel de ruido ambiente para ajustar o limiar de deteccao de voz.
Os 4 servos do DoguIA (patas dianteiras e traseiras) ja vem calibrados de fabrica com posicoes neutras pre-definidas. A calibracao e armazenada na memoria NVS do dispositivo e e preservada mesmo em atualizacoes de firmware.
A regiao NVS do ESP32 armazena dados criticos como credenciais Wi-Fi, calibracao de sensores e configuracoes do dispositivo. Essa regiao e preservada automaticamente em atualizacoes de firmware quando feitas pelo Painel.
Assistente de Configuracao (Wizard)
O wizard guia voce em 5 passos para configurar completamente seu DoguIA.
Acesse o wizard em doguia.com.br/painel/#/wizard. Antes de iniciar, um alerta importante aparece pedindo que voce conecte o dispositivo ao carregador para evitar desligamentos durante a configuracao.
Wi-Fi
Este passo exibe um video tutorial (YouTube) mostrando como conectar o DoguIA ao Wi-Fi. Assista ao video para entender o processo visual e, quando estiver pronto, avance para o proximo passo.
Dispositivo (Codigo de Verificacao)
Aqui voce vincula o dispositivo fisico ao sistema. O DoguIA exibe um codigo de 6 digitos no display apos conectar ao Wi-Fi.
Digite os 6 digitos exibidos no display do DoguIA. Cada caixa aceita apenas 1 numero e o cursor avanca automaticamente. Use Backspace para voltar.
Modelo de IA
Neste passo voce da um nome ao seu agente e escolhe qual modelo de inteligencia artificial ele vai usar.
Este sera o nome pelo qual seu DoguIA se apresentara e respondera. Ao dizer "qual seu nome?", ele dira esse nome. Pode ser qualquer nome que voce quiser.
Escolha o "cerebro" do seu DoguIA. Cada modelo tem caracteristicas diferentes:
Voz
Escolha como seu DoguIA vai soar! Selecione o idioma e a voz de sintese (TTS).
Selecione o idioma principal do agente. O DoguIA sera instruido a sempre responder nesse idioma. Idiomas disponiveis incluem Portugues, Ingles, Espanhol, Frances, Alemao, Italiano, Japones, Coreano, Chines e Russo.
Para cada idioma, ha diversas opcoes de voz com timbres diferentes — vozes masculinas, femininas e neutras. Clique no botao ao lado de cada voz para ouvir uma demonstracao antes de escolher.
Personalidade
Defina o comportamento e a personalidade do seu DoguIA. Este e o campo mais criativo!
Selecione um template pre-pronto clicando nos chips. Cada template preenche automaticamente o campo de texto abaixo com uma personalidade detalhada. Templates disponiveis:
Escreva livremente como voce quer que seu DoguIA se comporte. Voce pode personalizar completamente ou editar um template. Limite de 1.000 caracteres.
O que e adicionado automaticamente?
O sistema adiciona automaticamente ao texto da personalidade:
- Bloco [Identidade] — Define o nome do agente para que ele saiba como se apresentar.
- Regras Obrigatorias — Instrucoes tecnicas para que o robo execute movimentos fisicos corretamente (use ferramentas, nao peca confirmacao, etc).
- Idioma Obrigatorio — Instrucao para que sempre responda no idioma selecionado.
Conclusao
Ao finalizar o wizard, o sistema executa automaticamente:
- Cria o agente com o nome escolhido
- Vincula o dispositivo fisico usando o codigo de verificacao
- Aplica todas as configuracoes (modelo, voz, personalidade)
- Ativa automaticamente as habilidades MCP (movimentos, luzes, melodias)
Apos isso, seu DoguIA esta pronto para conversar! Basta falar com ele.
Aplicativo DoguIA para Celular
Controle seu cachorro-robo direto do seu celular ou tablet, em qualquer lugar.
Tela Inicial
Apos abrir o app, você ve:
- Card do robo — mostra o nome, bateria e status
- Botoes de controle — ligar/desligar, conectar, versão do firmware
- Status da bateria — quanto tempo falta de carga
- Menu — acesso ao painel, Wi-Fi e mais
Tela do Robo (Controlar)
Clique no card do robo para entrar no modo de controle:
- Conversar — segure o botao para falar com ele
- Botoes de movimento — andar, pular, dançar
- Cores e luzes — mude a cor dos olhos
- Sons — faça ele latir, roncar, cantar
Conectar no Robo Local (WiFi)
Com o celular e o robô no mesmo Wi-Fi, o app comanda o robô diretamente (a conversa por voz continua precisando de internet):
É feito pelo próprio app, em Conectar o robô — veja Conectando ao Wi-Fi.
O app procura o robô na sua rede sozinho. Quando acha, o pontinho da aba DoguIA fica verde e a linha de conexão, no alto da tela, mostra com qual robô ele está falando.
Direcional, truques, luz, visor e sons falam direto com o robô, pela rede de casa. Tem dois DoguIAs? Escolha o seu tocando nessa mesma linha de conexão.
Modo Demonstração (Demo)
Pode experimentar sem ter um robo fisico! O app tem um robo virtual:
- Basta entrar em modo demo na tela inicial
- Um robo tridimensional aparece na tela
- Voce pode falar com ele e ve-lo se mover
- Perfeito para testar antes de comprar
Painel do Agente — Configuracoes Avancadas
Apos criar seu agente pelo wizard, voce pode ajustar tudo em detalhes pelo painel.
Acesse em doguia.com.br/painel/#/agents → clique no seu agente. O painel tem 7 abas:
Aba 1: Configuracao
A aba principal onde voce ajusta todas as configuracoes do agente.
Configuracoes Gerais
O nome pelo qual o DoguIA se apresenta. Altere quando quiser dar um novo nome.
Troque o modelo de IA a qualquer momento. Cada modelo tem velocidade e capacidade diferentes.
Voz e Idioma
Ao trocar o idioma, as vozes disponiveis sao automaticamente filtradas para o idioma selecionado.
Teste diferentes vozes clicando no play. A voz sera usada para todas as respostas faladas.
Lenta, Normal ou Rapida. Ajuste conforme sua preferencia de velocidade de fala.
Nomes e Memoria
Nome usado no bloco de identidade. Normalmente igual ao nome do agente.
Como o DoguIA vai te chamar. Padrao: "Dono".
Desligada: esquece tudo apos cada conversa. Curto Prazo: lembra durante a conversa atual. Longo Prazo: lembra entre conversas diferentes. Recomendado: Longo Prazo.
Personalidade
Textarea grande para definir a personalidade (limite: 2.500 caracteres no painel). Possui:
- Dropdown de Templates — Selecione um template para preencher automaticamente.
- Botao Otimizar — Usa IA para melhorar e refinar seu texto de personalidade.
- Contador de Caracteres — Mostra quantos caracteres voce ja usou.
Aba 2: Dispositivos
Gerencie os dispositivos fisicos vinculados ao agente.
Clique em "Vincular" e insira o codigo de 6 digitos do display do DoguIA para adicionar um novo dispositivo.
De um apelido ao dispositivo para identificar facilmente (ex: "DoguIA da Sala", "DoguIA do Quarto").
Indica em tempo real se o dispositivo esta conectado e funcionando (verde = online, cinza = offline).
Checkbox que ativa/desativa atualizacao automatica de firmware. Quando ativo, o dispositivo atualiza sozinho.
Remove o dispositivo do agente. O dispositivo precisara ser vinculado novamente com um novo codigo.
Aba 3: Conversas
Historico completo de todas as conversas que o DoguIA teve.
- Expandir — Clique em uma conversa para ver todas as mensagens trocadas.
- Audio — Mensagens com audio incluem um player para ouvir a gravacao.
- Duracao — Mostra quanto tempo durou cada conversa.
- Excluir — Apague conversas individuais quando desejar.
Aba 4: Reconhecimento de Voz
Configure perfis de locutores para que o DoguIA reconheca quem esta falando.
- Adicionar Locutor — Selecione uma amostra de voz (gravada automaticamente pelo dispositivo), de um nome (ex: "Papai", "Mamae") e uma descricao opcional.
- Preview — Ouca a amostra de voz antes de confirmar para garantir que e a pessoa certa.
- Remover — Delete perfis que nao sao mais necessarios.
Aba 5: Habilidades (MCP)
Gerencie as habilidades do DoguIA baseadas no protocolo MCP (Model Context Protocol).
Gera uma URL WebSocket (wss://www.doguia.com.br/mcp/...) para conectar ferramentas MCP suas a este agente — os outros agentes não são afetados. Passo a passo com código em Crie seu próprio MCP.
Cada habilidade possui varias funcoes individuais. Ative ou desative cada funcao conforme sua necessidade e clique em "Salvar Alteracoes".
Visualize os logs do processo MCP para depuracao. Mostra chamadas de ferramentas (azul), resultados (verde) e erros (vermelho).
Reinicia o processo MCP caso ele pare de responder ou apresente erros.
Aba 6: Conhecimento
Crie bases de conhecimento para que o DoguIA tenha acesso a informacoes especificas.
- Criar Base — De um nome (ex: "FAQ do Produto", "Manual Tecnico") e descricao.
- Organizacao — Cada base e identificada por nome e descricao para facil referencia.
- Excluir — Remova bases que nao sao mais necessarias.
Aba 7: Memorias
Veja e edite as memorias que o DoguIA acumulou durante as conversas.
- Editar — Cada memoria e editavel. Altere o texto e clique no para salvar.
- Excluir Individual — Remova memorias especificas que voce nao quer que o DoguIA lembre.
- Limpar Tudo — Apague todas as memorias de uma vez (acao irreversivel).
Atualizacao de Firmware
Mantenha seu DoguIA sempre com a versao mais recente do firmware.
Acesse em doguia.com.br/painel/#/firmware, em um computador. A instalacao acontece dentro do proprio navegador, sem instalar nenhum programa.
Comprou o robô de outro vendedor?
Robô comprado em outra loja, de segunda mão ou direto da China chega com o firmware do fabricante. Antes de instalar, assista ao guia de migração em vídeo (9 min): ele mostra como conferir a placa, guardar o backup do sistema original, instalar pelo computador, desvincular no xiaozhi.me e vincular no aplicativo.
Como funciona?
Sao 3 passos, e leva cerca de 2 minutos:
Ligue um cabo USB-C no DoguIA e a outra ponta no computador. Precisa ser um cabo de dados — o mesmo que carrega o celular serve, desde que nao seja um cabo so de carga.
O navegador abre uma janelinha com a lista de aparelhos conectados. Escolha o que aparecer e clique em Conectar. E a unica vez que voce escolhe o aparelho. Se o DoguIA nao aparecer na lista, o painel explica como entrar no modo de gravacao: desconecte o cabo, segure o botao da placa (fica atras da cabeca), conecte o cabo com o botao apertado e so entao solte.
A barra de progresso mostra o andamento. Nao desconecte o cabo nem feche a janela durante a gravacao. Ao terminar, desconecte o cabo USB e conecte de novo — e isso que liga o DoguIA no firmware novo. Depois e so recolocar a cabeca.
Deu erro no meio. Estraguei o DoguIA?
Quase certamente nao. O modo de gravacao do chip fica numa memoria que nao pode ser apagada, entao o DoguIA sempre aceita uma nova tentativa — mesmo que a gravacao anterior tenha parado no meio e ele nao esteja mais ligando.
Repita a instalacao entrando no modo de gravacao na mao: desconecte o cabo, segure o botao da placa, conecte o cabo com o botao apertado, solte o botao e clique em "Instalar firmware" de novo. Se o erro se repetir, troque o cabo por um de dados e ligue direto no computador, sem hub USB.
Preservacao de Dados (NVS)
Quando a atualizacao e feita pelo Painel, o firmware e dividido em partes que pulam a regiao NVS (Non-Volatile Storage). Isso garante que:
Requisitos e Compatibilidade
A conversa com o cabo USB depende da Web Serial API, que existe so em navegador de computador e so em paginas https://. Em celular e tablet nao ha como gravar. Se o seu navegador nao servir, a propria tela avisa antes de voce comecar.
Habilidades MCP — Movimentos, Luzes e Melodias
Tudo que seu DoguIA pode fazer fisicamente, controlado por IA via protocolo MCP.
Como ativar uma habilidade
Toda habilidade do DoguIA é acionada por voz: basta falar com ele em português natural. A IA interpreta o pedido e dispara a habilidade certa via MCP.
- Acorde o DoguIA — espere o LED indicar que ele está ouvindo (ou diga o nome dele se você configurou wake-word).
- Fale o que você quer em linguagem natural, sem precisar decorar comando. Ex: "da uma volta", "toca uma música feliz", "modo filhote".
- Combine habilidades numa só frase: "Faz a coreografia de boas-vindas com luz arco-íris".
50+ Movimentos
Seu DoguIA possui 68 movimentos pre-programados divididos em categorias. Basta pedir por voz!
Locomocao
Movimentos de deslocamento e caminhada.
Posturas
Posicoes estaticas e de descanso.
Gestos
Gestos expressivos e interativos.
Acrobacias
Movimentos avancados e atleticos.
Danca e Expressao
Dancas, alongamentos e expressoes corporais.
Truques Especiais
Truques divertidos e dramaticos.
20 Reacoes Emocionais
O DoguIA combina automaticamente movimento + LED para reagir a emocoes. Basta conversar naturalmente que a IA decide qual reacao usar.
Efeitos de LED
O DoguIA possui 4 LEDs RGB WS2812 com 16,7 milhoes de cores. Alem de cores solidas, tem efeitos animados:
15 Coreografias
Sequencias pre-programadas que combinam varios movimentos em ordem:
Jogos Interativos
O DoguIA tem jogos interativos que voce pode jogar por voz:
Perguntas de multipla escolha sobre animais. 3 dificuldades: facil, medio e dificil. O DoguIA reage conforme voce acerta ou erra!
O DoguIA imita 10 animais diferentes com movimentos e luzes: gato, passaro, cobra, urso, coelho, macaco, pinguim, touro, tartaruga e cachorro!
Treine seu DoguIA com exercicios em 3 niveis: basico (sentar, deitar, dar pata), intermediario (reverencia, implorar) e avancado (flexoes, bananeira, moonwalk).
Jogo de memoria com sequencias de movimentos. 10 rodadas progressivas — cada rodada adiciona um movimento novo!
5 temas de historias narradas com movimentos: Aventura, Misterio, Ninar, Circo e Espaco. O DoguIA atua enquanto conta!
200+ Melodias
O DoguIA pode tocar melodias no buzzer! Sao mais de 200 musicas organizadas por categoria:
Brilha Brilha Estrelinha, Parabens, Marcha Soldado, Cai Cai Balao...
Jingle Bells, Noite Feliz, We Wish You...
Bach, Mozart, Vivaldi, Beethoven, Chopin...
Star Wars, Harry Potter, James Bond, Missao Impossivel...
Mario, Zelda, Sonic, Pokemon, Tetris...
Beatles, Queen, Michael Jackson, AC/DC...
Garota de Ipanema, Aquarela, Asa Branca, Mas que Nada...
Sirene, Campainha, Alarme, Sucesso, Nokia...
5 Modos de Personalidade
Alem da personalidade configurada no Painel, voce pode ativar modos temporarios por voz:
Animado e cheio de energia! Abana o rabo o tempo todo, pula de empolgacao.
Calmo e ponderado. Fica sentado, faz reverencias suaves, pondera antes de agir.
Travesso e imprevisivel! Danca, surpreende, faz piadas com movimentos inesperados.
Timido e cauteloso. Espia antes de agir, se assusta facilmente, movimentos contidos.
Energico e competitivo! Faz flexoes, pula, exercicios e esta sempre ativo.
Crie seu próprio MCP — ensine habilidades novas ao seu agente
Escreva uma função em Python, ligue no link MCP do seu agente e o DoguIA passa a usá-la quando você pedir por voz.
O que é um MCP e o que dá para fazer
MCP (Model Context Protocol) é o padrão que a IA do DoguIA usa para chamar ferramentas. Cada ferramenta é uma função sua — com um nome, uma descrição e parâmetros. Quando você fala com o robô, a IA lê essas descrições, decide se alguma serve para o seu pedido, chama a função e responde em voz com o resultado.
Com um MCP próprio você pode, por exemplo:
- fazer contas exatas, conversões e cálculos do seu trabalho;
- manter uma lista de compras, de tarefas ou de estoque que fica salva no seu computador;
- consultar serviços da internet (clima, cotações, o sistema da sua empresa);
- acionar coisas na sua casa ou no seu escritório que tenham uma API (automação residencial, planilhas, webhooks).
A ligação é de dentro para fora: é o seu computador que se conecta ao DoguIA. Você não precisa abrir porta no roteador, ter IP fixo nem domínio — basta internet.
Só o agente do link é afetado
O link MCP pertence a um agente, não à sua conta. Ele carrega a identificação daquele agente, e as ferramentas que você conectar por ele aparecem somente nele:
- Seus outros agentes continuam exatamente como estavam — não veem nem chamam as suas ferramentas.
- Os robôs vinculados a esse agente passam a usar as ferramentas; robôs de outros agentes, não.
- As habilidades que já vêm no DoguIA (movimentos, luzes, melodias, agenda) continuam funcionando junto com as suas.
- As ferramentas só existem enquanto a ponte está ligada. Desligou o programa, o agente volta a ser o que era.
Passo 1 — Gere o link MCP no painel
O link é gerado no painel web (no computador ou no navegador do celular), entrando com o mesmo e-mail e senha do aplicativo.
Em www.doguia.com.br/painel, menu Agentes, clique no agente que vai receber as ferramentas.
O botão fica no canto direito, acima da lista de serviços.
A janela mostra um endereço que começa com wss://www.doguia.com.br/mcp/?token=dg1. — um código longo, que é a chave do seu agente. Clique no botão azul ao lado para copiar.
wss://api.doguia.com.br? Esse endereço não conecta. Gere um novo, ou troque api. por www. no link que você já tem — o resto continua igual.
Passo 2 — Prepare o computador
Você precisa do Python 3.10 ou mais novo (Windows, macOS ou Linux; um Raspberry Pi também serve). No Windows, baixe em python.org e marque “Add Python to PATH” na instalação.
Crie uma pasta (por exemplo meu-mcp), abra o terminal nela e instale as duas bibliotecas:
python3 -m venv .venv
source .venv/bin/activate
pip install "mcp>=1.2" "websockets>=12"
No Windows, troque python3 por python e o source por .venv\Scripts\activate.
Passo 3 — Escreva as ferramentas (servidor.py)
Este é o arquivo onde ficam as suas funções. Cada função com @mcp.tool() em cima vira uma ferramenta do agente. O exemplo traz três prontas: uma calculadora, a hora certa em qualquer fuso e uma lista de compras que fica salva num arquivo ao lado.
"""
servidor.py — as ferramentas que o seu DoguIA vai poder usar.
Cada função marcada com @mcp.tool() vira uma ferramenta. O NOME da função,
a DESCRIÇÃO (o texto entre três aspas) e os PARÂMETROS são o que a IA lê
para decidir quando e como chamar. Escreva a descrição pensando nela.
"""
import ast
import json
import operator
import sys
from datetime import datetime
from pathlib import Path
from zoneinfo import ZoneInfo
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("minhas-ferramentas")
# ── Exemplo 1: calculadora (sem eval, à prova de código malicioso) ──────────
_OPERACOES = {
ast.Add: operator.add, ast.Sub: operator.sub, ast.Mult: operator.mul,
ast.Div: operator.truediv, ast.Pow: operator.pow, ast.Mod: operator.mod,
ast.USub: operator.neg, ast.UAdd: operator.pos,
}
def _avaliar(no):
if isinstance(no, ast.Constant) and isinstance(no.value, (int, float)):
return no.value
if isinstance(no, ast.BinOp) and type(no.op) in _OPERACOES:
return _OPERACOES[type(no.op)](_avaliar(no.left), _avaliar(no.right))
if isinstance(no, ast.UnaryOp) and type(no.op) in _OPERACOES:
return _OPERACOES[type(no.op)](_avaliar(no.operand))
raise ValueError("expressão não permitida")
@mcp.tool()
def calcular(expressao: str) -> dict:
"""Calcula uma conta de matemática. Use sempre que a pessoa pedir uma conta,
em vez de calcular de cabeça. Escreva a expressão com números e os
operadores + - * / ** e %. Exemplo: "(12.5 * 3) + 7"."""
try:
resultado = _avaliar(ast.parse(expressao, mode="eval").body)
return {"ok": True, "expressao": expressao, "resultado": resultado}
except Exception as erro:
return {"ok": False, "erro": str(erro)}
# ── Exemplo 2: data e hora em qualquer fuso ─────────────────────────────────
@mcp.tool()
def hora_agora(fuso: str = "America/Sao_Paulo") -> dict:
"""Diz a data e a hora atuais. O fuso é opcional, no formato
"Continente/Cidade" (ex.: "Europe/Lisbon", "America/Manaus")."""
try:
agora = datetime.now(ZoneInfo(fuso))
except Exception:
return {"ok": False, "erro": f"fuso desconhecido: {fuso}"}
return {"ok": True, "fuso": fuso, "data": agora.strftime("%d/%m/%Y"),
"hora": agora.strftime("%H:%M")}
# ── Exemplo 3: lista de compras que fica salva num arquivo ──────────────────
ARQUIVO_LISTA = Path(__file__).with_name("lista_de_compras.json")
def _ler_lista() -> list:
if ARQUIVO_LISTA.exists():
return json.loads(ARQUIVO_LISTA.read_text(encoding="utf-8"))
return []
@mcp.tool()
def lista_de_compras(acao: str, item: str = "") -> dict:
"""Gerencia a lista de compras da casa.
acao: "adicionar" (precisa de item), "remover" (precisa de item),
"ver" (mostra a lista) ou "limpar" (apaga tudo)."""
lista = _ler_lista()
item = item.strip().lower()
if acao == "adicionar" and item:
if item not in lista:
lista.append(item)
elif acao == "remover" and item:
lista = [i for i in lista if i != item]
elif acao == "limpar":
lista = []
elif acao != "ver":
return {"ok": False, "erro": "ação inválida ou item faltando"}
ARQUIVO_LISTA.write_text(json.dumps(lista, ensure_ascii=False), encoding="utf-8")
return {"ok": True, "itens": lista, "total": len(lista)}
if __name__ == "__main__":
# Aviso vai para stderr: o stdout é o canal do protocolo e não pode ter
# nada além das mensagens MCP. Um print() solto ali quebra a conexão.
print("[servidor] ferramentas prontas", file=sys.stderr)
mcp.run(transport="stdio")
O que a IA enxerga de cada ferramenta:
- O nome da função (
lista_de_compras) — curto, sem espaço nem acento. - A descrição (o texto entre
""") — é por ela que a IA decide quando usar. Diga quando usar e explique cada parâmetro. - Os parâmetros com tipo (
cidade: str,quantidade: int = 1) — viram o formulário que a IA preenche. Parâmetro com valor padrão é opcional. - O retorno — devolva um dicionário pequeno com o que importa. A IA transforma isso em fala.
print() para mostrar mensagens no servidor.py: a saída padrão é o canal das mensagens MCP, e um texto solto ali derruba a conexão. Para avisos, use print(..., file=sys.stderr), como no exemplo.
Passo 4 — Ligue ao seu agente (ponte.py)
O servidor.py fala pela entrada e saída do terminal; o DoguIA fala por WebSocket. A ponte.py liga os dois lados, repassa as mensagens e reconecta sozinha se a internet cair. Você não precisa mexer nela — só colar o link.
"""
ponte.py — liga o seu servidor MCP (servidor.py) ao link MCP do seu agente DoguIA.
O DoguIA conversa por WebSocket; o servidor.py conversa pela entrada e saída
padrão (stdio). Esta ponte abre os dois lados e repassa as mensagens, e se a
internet cair ela reconecta sozinha.
Uso:
python ponte.py # roda o servidor.py desta pasta
python ponte.py python outro.py # roda outro servidor MCP qualquer
"""
import asyncio
import json
import os
import sys
import time
import websockets
# Cole o link aqui OU defina a variável de ambiente DOGUIA_MCP_URL.
LINK_MCP = os.environ.get("DOGUIA_MCP_URL") or "COLE_AQUI_O_SEU_LINK"
# Comando que inicia o seu servidor MCP.
SERVIDOR = sys.argv[1:] or [sys.executable, "servidor.py"]
def log(texto):
print(f"[ponte {time.strftime('%H:%M:%S')}] {texto}", file=sys.stderr, flush=True)
async def uma_sessao():
async with websockets.connect(LINK_MCP, ping_interval=30, ping_timeout=30, max_size=None) as ws:
log("conectado ao DoguIA")
processo = await asyncio.create_subprocess_exec(
*SERVIDOR,
stdin=asyncio.subprocess.PIPE,
stdout=asyncio.subprocess.PIPE,
limit=16 * 1024 * 1024, # respostas grandes cabem numa linha só
)
async def do_doguia_para_servidor():
async for mensagem in ws:
if isinstance(mensagem, bytes):
mensagem = mensagem.decode("utf-8")
# O stdio do MCP é "uma mensagem JSON por linha": recompacta
# para garantir que nenhuma quebra de linha parta a mensagem.
linha = json.dumps(json.loads(mensagem), ensure_ascii=False)
processo.stdin.write((linha + "\n").encode("utf-8"))
await processo.stdin.drain()
raise ConnectionError("o DoguIA fechou a conexão")
async def do_servidor_para_doguia():
while True:
linha = await processo.stdout.readline()
if not linha:
raise RuntimeError("o servidor MCP parou (veja o erro acima)")
linha = linha.decode("utf-8").strip()
if linha:
await ws.send(linha)
tarefas = [asyncio.create_task(do_doguia_para_servidor()),
asyncio.create_task(do_servidor_para_doguia())]
try:
prontas, _ = await asyncio.wait(tarefas, return_when=asyncio.FIRST_EXCEPTION)
for tarefa in prontas:
tarefa.result()
finally:
for tarefa in tarefas:
tarefa.cancel()
if processo.returncode is None:
processo.terminate()
try:
await asyncio.wait_for(processo.wait(), 5)
except asyncio.TimeoutError:
processo.kill()
async def principal():
if not LINK_MCP.startswith(("wss://", "ws://")):
log("falta o link MCP: cole em LINK_MCP ou defina DOGUIA_MCP_URL")
sys.exit(1)
espera = 1
while True:
inicio = time.monotonic()
try:
await uma_sessao()
except Exception as erro:
log(f"conexão caiu: {erro}")
if time.monotonic() - inicio > 60:
espera = 1 # ficou de pé um bom tempo: recomeça a espera do zero
log(f"tentando de novo em {espera}s...")
await asyncio.sleep(espera)
espera = min(espera * 2, 60)
if __name__ == "__main__":
try:
asyncio.run(principal())
except KeyboardInterrupt:
log("encerrado")
Passo 5 — Rode e converse
Com os dois arquivos na mesma pasta, informe o link e inicie a ponte (ela mesma inicia o servidor.py):
source .venv/bin/activate
export DOGUIA_MCP_URL="wss://www.doguia.com.br/mcp/?token=COLE_O_SEU_TOKEN_AQUI"
python ponte.py
.venv\Scripts\activate
$env:DOGUIA_MCP_URL = "wss://www.doguia.com.br/mcp/?token=COLE_O_SEU_TOKEN_AQUI"
python ponte.py
Se der certo, o terminal mostra:
[ponte 23:34:24] conectado ao DoguIA
[servidor] ferramentas prontas
INFO Processing request of type ListToolsRequest
Pronto: o agente já tem as ferramentas. Fale com o DoguIA (vinculado a esse agente):
- “Quanto é doze e meio vezes três, mais sete?” → usa
calcular - “Coloca pão e leite na lista de compras.” → usa
lista_de_compras - “Que horas são em Lisboa?” → usa
hora_agora
A cada uso, o terminal registra Processing request of type CallToolRequest — é a prova de que a IA chamou a sua função.
servidor.py? Pare a ponte (Ctrl+C) e rode de novo. A lista de ferramentas é lida na conexão.
Exemplo: ferramenta que consulta a internet
Cole no servidor.py, antes do bloco if __name__ == "__main__":. Ela usa o serviço gratuito Open-Meteo (sem cadastro nem chave) e só a biblioteca padrão do Python.
import json
import urllib.parse
import urllib.request
def _buscar_json(url: str) -> dict:
with urllib.request.urlopen(url, timeout=8) as resposta:
return json.load(resposta)
@mcp.tool()
def clima_agora(cidade: str) -> dict:
"""Diz a temperatura e o vento agora numa cidade. Use quando a pessoa
perguntar como está o tempo, se está calor ou frio. cidade: nome da
cidade, ex.: "Campinas" ou "Belo Horizonte"."""
try:
busca = _buscar_json("https://geocoding-api.open-meteo.com/v1/search?count=1&language=pt&name="
+ urllib.parse.quote(cidade))
if not busca.get("results"):
return {"ok": False, "erro": f"não achei a cidade {cidade}"}
lugar = busca["results"][0]
tempo = _buscar_json("https://api.open-meteo.com/v1/forecast?current=temperature_2m,wind_speed_10m"
f"&latitude={lugar['latitude']}&longitude={lugar['longitude']}")["current"]
except Exception:
return {"ok": False, "erro": "o serviço de clima não respondeu agora"}
return {"ok": True, "cidade": lugar["name"], "estado": lugar.get("admin1"),
"temperatura_c": tempo["temperature_2m"], "vento_kmh": tempo["wind_speed_10m"]}
Teste dizendo: “Como está o tempo em Campinas agora?”. Repare no padrão que vale para qualquer API: tempo limite curto (timeout=8) e, quando falhar, devolver um erro em texto em vez de deixar a exceção estourar — assim o robô explica o que houve em vez de ficar mudo.
O que acontece por baixo (para quem quer entender)
As mensagens são JSON-RPC 2.0. Quem pergunta é a plataforma; quem responde é o seu servidor. Ao conectar, a plataforma se apresenta (initialize) e pede a lista de ferramentas:
→ {"jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": {}}
← {"jsonrpc": "2.0", "id": 2, "result": {"tools": [
{"name": "lista_de_compras",
"description": "Gerencia a lista de compras da casa. ...",
"inputSchema": {"type": "object",
"properties": {"acao": {"type": "string"},
"item": {"type": "string", "default": ""}},
"required": ["acao"]}}
]}}
Quando a IA decide usar uma ferramenta, chega um tools/call com os argumentos que ela preencheu, e o seu servidor devolve o resultado:
→ {"jsonrpc": "2.0", "id": 4, "method": "tools/call",
"params": {"name": "lista_de_compras",
"arguments": {"acao": "adicionar", "item": "pão"}}}
← {"jsonrpc": "2.0", "id": 4, "result": {
"content": [{"type": "text",
"text": "{\"ok\": true, \"itens\": [\"pão\"], \"total\": 1}"}],
"isError": false}}
A biblioteca mcp monta tudo isso a partir da sua função — o inputSchema sai dos tipos dos parâmetros, e a description, do texto entre """. Se preferir outra linguagem (Node.js, Go, Java…), qualquer servidor MCP que fale pela entrada e saída padrão funciona com a mesma ponte: python ponte.py node meu-servidor.js.
npx @modelcontextprotocol/inspector python servidor.py. Ele abre uma página onde você chama cada função à mão.
Boas práticas
- Responda rápido. A pessoa está esperando o robô falar. Para tarefas longas, comece o trabalho e devolva “comecei, aviso quando terminar” — não segure a resposta por minutos.
- Devolva pouco. Um dicionário com o essencial. Páginas inteiras de texto deixam a resposta lenta e a fala confusa.
- Nomes únicos e claros. Evite nomes genéricos como
tocaroumover, que podem confundir com as habilidades de fábrica; prefiracasa_ligar_luz,loja_consultar_estoque. - Valide tudo que chega. Os argumentos são escritos pela IA a partir do que alguém falou. Nunca use
eval(), nunca monte comando de terminal com eles, e confirme por voz antes de ações que não têm volta (apagar, comprar, abrir portão). - Ajude a IA a lembrar. Se ela não usa a ferramenta quando deveria, melhore a descrição (“Use sempre que…”) ou cite a ferramenta na personalidade do agente, na aba Configuração.
Deixar ligado o tempo todo
As ferramentas só existem enquanto a ponte roda. Para não depender de um terminal aberto, rode-a num computador que fica ligado (um Raspberry Pi é ótimo para isso). No Linux, um serviço do systemd inicia sozinho no boot e reinicia se cair — ajuste os caminhos e o usuário:
[Unit]
Description=Meu MCP do DoguIA
After=network-online.target
Wants=network-online.target
[Service]
User=pi
WorkingDirectory=/home/pi/meu-mcp
Environment="DOGUIA_MCP_URL=wss://www.doguia.com.br/mcp/?token=COLE_O_SEU_TOKEN_AQUI"
ExecStart=/home/pi/meu-mcp/.venv/bin/python ponte.py
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now meu-mcp
journalctl -u meu-mcp -f # acompanhar o que está acontecendo
No Windows, a forma mais simples é o Agendador de Tarefas: crie uma tarefa “Ao fazer logon” que execute C:\caminho\meu-mcp\.venv\Scripts\python.exe com o argumento ponte.py e “Iniciar em” apontando para a pasta meu-mcp (defina DOGUIA_MCP_URL nas variáveis de ambiente do usuário, ou cole o link dentro da ponte.py).
Problemas comuns
| O que aparece | O que fazer |
|---|---|
HTTP 502 / O serviço de MCP está indisponível agora | Instabilidade passageira do nosso lado. A ponte tenta de novo sozinha; se durar mais de alguns minutos, fale com o suporte. |
Name or service not known / getaddrinfo failed | O link começa com wss://api.doguia.com.br, que não existe. Troque api. por www. ou gere um link novo. Se o link está certo, confira a internet do computador. |
HTTP 401 / Link MCP inválido ou expirado | O link foi copiado pela metade ou com espaço. Copie de novo pelo botão azul, inteiro, entre aspas. Se persistir, gere um link novo. |
falta o link MCP | A variável DOGUIA_MCP_URL não foi definida no mesmo terminal em que você rodou a ponte, e o link também não foi colado dentro da ponte.py. |
o servidor MCP parou | Há um erro no servidor.py. Rode python servidor.py sozinho para ver a mensagem; o mais comum é erro de digitação ou de recuo (indentação). |
ModuleNotFoundError: No module named 'mcp' | O ambiente virtual não está ativo, ou a instalação do Passo 2 não foi feita nele. Ative o .venv e rode o pip install de novo. Confira também se o Python é 3.10 ou mais novo (python --version). |
| Conecta, mas o robô não usa a ferramenta | Confira se o robô está vinculado ao mesmo agente do link (aba Dispositivos). Depois, melhore a descrição da função e peça de forma direta (“use a lista de compras e…”). |
| A conexão cai e volta de tempos em tempos | É esperado em redes instáveis: a ponte reconecta sozinha, esperando um pouco mais a cada tentativa (até 1 minuto). |
Bateria e Autonomia
Entenda como funciona a bateria do seu DoguIA.
Por que o app nao mostra a porcentagem
O DoguIA padrao nao tem sensor de bateria: a bateria fica na base, e a cabeca recebe sempre a mesma tensao, cheia ou quase vazia. Qualquer numero na tela seria um chute — e um numero ao lado de um icone de bateria e lido como verdade, como no celular. Por isso o app nao mostra porcentagem nem tempo restante para o DoguIA padrao.
O DoguIA Pro mede a carga de verdade, e nele a porcentagem aparece normalmente.
Como Carregar
O robo nao carrega ligado. Siga a ordem do guia:
Com a luz verde acesa ele esta ligado e nao vai carregar. Desligue e espere a luz verde apagar.
A entrada USB-C fica na base do robo. Use o cabo que veio na caixa ou um cabo USB-C comum ligado a um carregador de celular.
Carregando certo e verde apagado + vermelho aceso. A vermelha e discreta, ao lado da entrada do cabo — olhe de perto. Mantenha o cabo conectado.
Quando a Bateria Acaba (Brownout)
Se a bateria realmente esvaziar, o robo desliga sozinho. Isso se chama "brownout".
Quando isso acontece, o app mostra um aviso especial: "a bateria esta muito fraca". Isso e a unica certeza de que a bateria esta realmente acabando.
Se ver esse aviso, carregue o robo imediatamente.
Volume e Protecao da Audicao
Configure o volume com seguranca.
Como Funciona o Volume
O DoguIA pode ficar bem alto — ate 200%! Mas existe um limite seguro para nao prejudicar a audicao:
- Nivel Seguro = ate 100% (totalmente seguro)
- Acima de 100% = cuidado, pode machucar os ouvidos
- Maximo = 200% (so use por pouco tempo)
Aviso de Seguranca
Quando voce tenta aumentar o volume acima de 100%, o app mostra um aviso:
"Cuidado! Volume alto pode prejudicar seus ouvidos. Tem certeza?"
Voce pode clicar "Sim, aumentar" ou "Nao, manter seguro".
Se clicar sim, o volume sobe. Mas voce so ve esse aviso uma vez por sessao do app — depois pode aumentar sem avisos.
Dicas de Uso
- Para criancas pequenas, mantenha sempre em 100% ou menos
- Se vai usar acima de 100%, use so por alguns minutos
- O firmware do robo tambem respeita o limite — nunca vai ficar mais alto que o permitido
Calibracao de Servos — Ajuste pelo aplicativo
Se os movimentos do DoguIA parecem tortos, desalinhados ou estranhos, a calibracao resolve.
Quando calibrar?
Voce deve calibrar os servos se perceber qualquer um destes sintomas:
- Patas desalinhadas — O DoguIA nao fica reto em pe, uma pata fica mais alta ou baixa que as outras.
- Movimentos tortos — Ao andar, ele puxa para um lado ou as patas se cruzam.
- Posicao neutra errada — Em repouso, as patas nao ficam paralelas ou simetricas.
- Ruidos mecanicos — Servos forcando porque estao calibrados fora do centro.
- Apos trocar um servo — Se voce substituiu um servo motor, ele precisa ser recalibrado.
Hardware dos Servos
O DoguIA possui 4 servo-motores independentes (180 graus de amplitude) controlados por PWM a 50Hz:
Como ajustar a calibracao
A calibração é feita pelo aplicativo DoguIA, com o robô ligado e na mesma rede Wi-Fi do celular. O app encontra o robô sozinho — não há endereço para digitar.
No app, abra a aba DoguIA (Operar o robô) e toque em Avançado. O pontinho verde no alto da tela confirma que o app achou o robô na rede; cinza quer dizer que ele não foi encontrado — confira se o robô está ligado e no mesmo Wi-Fi.
São etapas numeradas: primeiro velocidade e amplitude do movimento, depois o ajuste fino de cada perna (FL, FR, BL, BR), com o desenho da pose certa ao lado. A ordem importa: com a amplitude errada você acaba endireitando uma pata que não estava torta. Cada controle mexe no offset (desvio) em relação à posição neutra do servo.
O valor de porcentagem representa quanto o servo desvia do seu ponto neutro:
Ajuste uma perna de cada vez, em pequenos incrementos (1-3% por vez), e olhe o robô a cada toque. O DoguIA move a pata em tempo real conforme voce ajusta. O alvo é zero em todas — só saia disso na perna visivelmente torta.
Quem grava o ajuste é a saída da calibração: sair é salvar, e por isso o botão de sair aparece em todas as etapas. Os valores vao para a memoria NVS do dispositivo e persistem mesmo apos atualizacoes de firmware (desde que feitas pelo Painel). Do lado do robô não há desfazer, mas o app guarda como o robô estava quando você abriu a tela — o botão Restaurar meu padrão, no rodapé, devolve esses valores.
Valores Padrao de Fabrica
Se voce precisa restaurar os valores originais, estes sao os valores padrao de cada servo:
Sobre os motores espelhados
Os motores sao montados em lados opostos do corpo, entao para o mesmo movimento fisico:
- Pata para frente: lado direito (FR, BR) = offset positivo, lado esquerdo (FL, BL) = offset negativo
- Pata para tras: lado direito = offset negativo, lado esquerdo = offset positivo
- Abaixar corpo: FL negativo, FR positivo, BL positivo, BR negativo
O range maximo e de -80 a +80, mas recomendamos ficar entre -50 a +50 para evitar forcamento mecanico.
Dicas de Calibracao
Sempre calibre com o DoguIA apoiado em uma mesa ou superficie plana e nivelada.
Mude 1-3% por vez. Movimentos bruscos podem forcar as engrenagens do servo.
Apos calibrar, peca ao DoguIA para "sentar" ou "ficar em pe" para verificar se os movimentos estao corretos.
Evite valores acima de +50 ou abaixo de -50. Valores extremos (-80/+80) podem causar travamento mecanico e danificar os servos.
Os valores ficam salvos na NVS e sobrevivem a reinicializacoes e atualizacoes de firmware feitas pelo Painel.
Som picotado — calibrar a reserva de audio
Quando a fala do DoguIA sai cortada, o conserto quase sempre e este — e ele nao exige abrir o robo.
Por que a fala pica
O DoguIA nao guarda a resposta inteira antes de falar: o audio chega da internet em pedacinhos de alguns milissegundos e ele vai reproduzindo. Se um pedaco atrasa, o alto-falante fica sem dado novo por um instante — e e isso que se ouve como estalo ou corte no meio da frase. Nao e peca queimada nem alto-falante ruim.
A defesa e guardar um pouco de audio adiantado antes de comecar a falar. Guardar mais deixa a fala lisa e a resposta um tiquinho mais lenta; guardar menos e o contrario. O aplicativo chama isso de reserva, e ela tem quatro niveis: Rapido, Padrao, Estavel e Maximo.
Como calibrar, pelo aplicativo
O caminho e Operar o robo → Avancado → Calibrar o som, com o robo ligado e na mesma rede Wi-Fi do celular. O aplicativo nao pede que voce escolha um nivel no escuro: ele faz um teste de verdade.
- Fazer ele falar. O robo conta uma historia curta. E durante a fala que o defeito existe, e e durante a fala que da para medir.
- O aplicativo mede. Enquanto ele fala, sao lidos os contadores do proprio robo: falhas no meio da fala, esperas no comeco e a maior interrupcao.
- O veredito. Sai em portugues: a fala saiu lisa, ou faltou reserva, ou o problema e outro. Se faltou reserva, o botao seguinte ja sobe um nivel e ouve de novo.
- Repete ate sair liso. Ai aparece Guardar no robo — e e esse toque que faz o ajuste sobreviver ao proximo desligamento.
Quando o audio nao chega do servidor, o problema e a rede — nenhuma reserva inventa o que nao foi recebido, e o aplicativo trava os botoes para voce nao gastar reserva a toa. E quando falta memoria no robo, ele desce um nivel sozinho: foi longe demais.
Trocar de nivel vale na hora, inclusive com ele falando, e nao escreve na memoria do robo. So o botao de guardar grava. Sem guardar, tudo volta ao normal quando ele reiniciar — e assim de proposito, para um ajuste ruim se desfazer sozinho.
Na maior reserva a memoria do robo fica no limite e a carinha dele pode travar de vez em quando. Pode ser exatamente a troca que voce quer — desde que seja escolha, e nao surpresa.
O botao Restaurar o padrao devolve o ajuste de fabrica e esquece o que estava guardado — inclusive para o robo acompanhar as melhorias das proximas versoes de firmware, em vez de ficar preso no ajuste de hoje.
E a palavra magica?
O DoguIA padrao nao tem palavra de despertar: ele nao fica escutando a espera de um nome, e chamar por ele em voz alta nao faz nada. A conversa comeca com um toque no botao da cabeca — ou pelo aplicativo, tocando no rosto dele na tela inicial. Nao e defeito: sem escuta continua, o microfone so entra em acao quando alguem toca no robo.
O DoguIA Pro tem o detector no proprio aparelho e aceita uma
palavra sua, com duas condicoes: duas palavras ou mais e
escrita em ingles — o reconhecedor dele so sabe
pronunciar ingles, entao hey doggy dispara e
ei cachorrinho e aceito, grava sem erro e nunca funciona. Ela
passa a valer depois de reiniciar o robo, porque a lista de palavras e
carregada uma vez, ao ligar.
Antes de calibrar, confira o basico
Picote e quase sempre sinal de Wi-Fi fraco no lugar onde o robo esta. Aproxime do roteador e teste: se resolver, nao ha o que calibrar. A calibracao existe para a casa onde o sinal e o que e e nao da para melhorar.
Perguntas Frequentes
Duvidas comuns respondidas de forma direta.
Na configuração do Wi-Fi: confira se o robô está em modo de configuração (LED azul). Se ele já conheceu uma rede antes, desligue e ligue a chave, conte um segundo e dê um toque na cabeça. Deixe o Bluetooth do celular ligado, aceite as permissões que o app pedir e siga a tela de Conectar o robô — se ela precisar de mais toques, ela diz quantos.
No dia a dia (pontinho cinza na aba DoguIA): o celular precisa estar no mesmo Wi-Fi do robô. Confira se o robô está ligado e o roteador no ar, e toque em procurar de novo. Redes de convidados e alguns roteadores isolam os aparelhos entre si — nesse caso use a rede principal. Se continuar, fale com a gente.
Atualmente: XiaoZhi Lite (padrao, rapido e leve), Qwen (recomendado, respostas naturais), DeepSeek V4 (raciocinio avancado) e DouBao Seed 2.0 (robusto, boa compreensao). Voce troca a qualquer momento na aba "Configuracao" do painel.
Nao. O DoguIA precisa de conexao Wi-Fi ativa para funcionar, pois a inteligencia artificial roda em servidores na nuvem. Sem internet, ele nao consegue processar voz nem responder.
Sim! Voce pode trocar o modelo de IA a qualquer momento pela aba "Configuracao" no painel do agente. Basta selecionar outro modelo e clicar em "Salvar Configuracao".
E a reclamacao mais frequente que recebemos, e quase sempre se resolve no painel, sem mexer no robo. Faca nesta ordem:
- Troque o modelo de IA. Na aba "Configuracao" do agente, escolha outro modelo e clique em "Salvar Configuracao". Alguns modelos entram em repeticao com certos textos de personalidade, e a troca costuma resolver na hora.
- Reveja a personalidade. Leia o texto do campo de personalidade e tire o que estiver repetido, contraditorio ou muito longo — instrucoes como "sempre diga isso" ou "termine toda frase com aquilo" sao as que mais fazem o robo repetir. Se preferir, use o botao "Otimizar" para a IA enxugar o texto. Salve e converse de novo.
Se depois dessas duas mudancas ele continuar repetindo, fale com a gente contando o nome do agente, qual modelo esta em uso e um exemplo do que ele repete. Nesse caso avaliamos o dispositivo.
A memoria permite que o DoguIA lembre informacoes entre conversas. Com memoria de longo prazo, ele lembra seu nome, preferencias e contexto de conversas anteriores. Voce pode ver e editar essas memorias na aba "Memorias" do painel.
Para resetar as configuracoes do agente, voce pode deletar o agente no painel e criar um novo pelo wizard. Para resetar o firmware e Wi-Fi, faca uma atualizacao de firmware usando um arquivo binario "merged" (unico), que sobrescreve toda a memoria incluindo NVS.
Sim! Na aba "Dispositivos" voce pode vincular varios DoguIAs ao mesmo agente. Todos compartilharao a mesma personalidade, modelo e configuracoes.
Recomendamos manter o firmware atualizado para ter acesso a novos recursos e correcoes. A atualizacao e feita pelo menu Firmware, com o DoguIA ligado por cabo USB a um computador. Leva cerca de 2 minutos.
Se for a mesma placa do DoguIA, sim. Ele chega com o firmware do fabricante — o app avisa ao entrar, boa parte das funções não aparece e ele não se atualiza pela rede, porque a memória de fábrica não tem partição reservada para isso. A solução é uma gravação por cabo, uma vez só, seguindo os três passos da seção Atualização de Firmware; dali em diante ele se atualiza sozinho. Como o robô não veio de nós, o acesso ao cérebro é por assinatura, com os planos mostrados no próprio app. Atenção: isto vale para a mesma placa — gravar o nosso firmware num robô de outra placa pode deixá-lo sem ligar, sem garantia de volta. Na dúvida, escreva para [email protected] antes de gravar, com uma foto da placa.
Nao! Quando a atualizacao e feita pelo Painel, o sistema preserva automaticamente o Wi-Fi, calibracao e dados do dispositivo (NVS). As configuracoes do agente (personalidade, modelo, voz) ficam no servidor e nao sao afetadas.
O painel de gerenciamento funciona em qualquer navegador moderno. Ja a atualizacao de firmware depende da Web Serial API: funciona no Google Chrome, Microsoft Edge, Opera e no Firefox 151 ou mais novo, sempre em computador. Safari e navegadores de celular nao conseguem gravar — a propria tela avisa antes de voce comecar.
MCP (Model Context Protocol) e o protocolo que permite ao DoguIA executar acoes fisicas como movimentos, luzes e melodias. As habilidades MCP sao os "servicos" que traduzem comandos de voz em acoes fisicas no robo. Elas sao ativadas automaticamente ao criar o agente pelo wizard.
Sim! O DoguIA suporta animacoes com keyframes. A IA pode criar movimentos ineditos combinando posicoes dos 4 servos em sequencia. Tambem tem 15 padroes geradores (onda, batimento, samba, robot, etc) que criam movimentos dinamicos. Basta descrever o que voce quer: "Faz um movimento de samba!" ou "Cria uma danca nova!"
A configuração é feita pelo aplicativo DoguIA, gratuito para Android e iPhone. Os endereços locais que esta página ensinava dependiam do celular, do navegador e do roteador, e falhavam para muita gente — o app encontra o robô sozinho, por Bluetooth ou pela rede que ele cria, e cuida do Wi-Fi, do vínculo com a conta, da calibração e dos controles. Não consegue instalar o app? Escreva para o suporte que ajudamos.
Verifique: (1) Se o dispositivo esta online (indicador verde no painel). (2) Se o Wi-Fi esta funcionando. (3) Se as habilidades MCP estao ativas na aba "Habilidades". (4) Tente reiniciar o servico MCP clicando no botao de reiniciar na aba "Habilidades".