duck-xxxx agora é derivado do /proc/cpuinfo Serial do kernel em vez do valor da árvore de dispositivos do U-Boot. As duas placas Beta no relatório upstream compartilharam anteriormente duck-d041 ; um teste de origem agora deriva duck-2b6d. Um nome escolhido pelo usuário é mantido e o Zero 3W ainda lê seu serial na árvore de dispositivos. A mesma série Beta também alimenta a semente de voz/coral e o ID de hardware de acesso remoto, portanto, esses identificadores podem mudar; este não é um emparelhamento BLE geral ou uma correção de segurança. Se um nome padrão salvo anteriormente parar de selecionar seu robô após a atualização, execute uvx duckctl scan novamente e use o nome exibido real para --name ou DUCK_ROBOT. Um robô vinculado pode anunciar de forma diferente, portanto, uma varredura esparsa por si só não prova que ele está offline. Não remova uma conexão Bluetooth apenas porque o nome mudou. Mantenha o serial do SoC e o ID de hardware fora das postagens de suporte público. leitor específico da placa ↗ derivação de nome ↗ advertências de descoberta ↗ versão 0.17.4 ↗.1. Encontre o robô certo em seu laptop.
Instale uv primeiro se ainda não o tiver. O cliente duckctl publicado é executado em um laptop por meio de uvx ; não execute-o no robô. O primeiro comando abaixo lê anúncios BLE próximos sem conectar ou solicitar um PIN. Use o nome da sua própria saída de varredura no lugar do exemplo upstream duck-c51b. Especificar um nome é importante: sem nome, o primeiro robô encontrado pode vencer em um banco compartilhado. O segundo comando conecta-se à leitura da identidade e pode emparelhar e comprovar o PIN do robô; é uma etapa diferente da varredura passiva. guia oficial do laptop ↗ implementação do cliente ↗.
uvx duckctl scan
uvx duckctl --name duck-c51b infoSe o robô estiver faltando, uvx duckctl scan --verbose pode mostrar o que mais o rádio Bluetooth viu, mas a ausência por si só não identifica uma falha de energia, rádio ou nomenclatura. Mantenha a saída da verificação privada porque ela pode incluir endereços de dispositivos. uvx duckctl pode usar um pacote em cache ou resolver um pacote recém-publicado; essas instruções foram verificadas no cliente 0.17.2, portanto compare o cliente instalado e a versão do robô se o comportamento for diferente. Pacote 0.17.2 ↗.
2. Trate “sem endereço” como uma questão de Wi-Fi, não como uma falha na verificação do BLE.
| Observação | O que estabelece | Próxima verificação |
|---|---|---|
Robô aparece com no address | O BLE descobriu o robô, mas ele não possui endereço IPv4 atual. | Leia wifi status e, se necessário, peça ao robô para wifi scan sobre BLE. |
| O robô aparece sem nenhum campo de endereço | Um anúncio mais antigo não incluía este campo; isso não prova que o Wi-Fi esteja desconectado. | Pergunte a wifi status o estado real da rede. |
| Robô aparece com um endereço IP | O endereço pode ser usado para a próxima verificação da rede local; isso não prova que o fluxo do console funciona. | Leia ip e imprima o URL do console. |
Essas duas consultas Wi-Fi são feitas ao robô por Bluetooth; uma conexão Wi-Fi ou SSH existente não é necessária. Escolha o nome exato do robô. Ao contrário do scan passivo, uma consulta Wi-Fi se conecta e precisa do PIN do robô ( --pin, DUCK_PIN ou o substituto 000000 documentado). A verificação do PIN não é prova de que o link BLE está criptografado. Não publique seu PIN, nome de Wi-Fi ou endereço de dispositivo com uma pergunta de suporte. Guia de Wi-Fi e PIN ↗ Padrão de serviço BLE ↗.
uvx duckctl --name duck-c51b wifi status
uvx duckctl --name duck-c51b wifi scanSe você ingressar intencionalmente em uma rede, substitua ambos os espaços reservados localmente no modelo de comando oficial abaixo. A CLI fixa duckctl aceita a senha como argumento --psk; ele não oferece uma opção de senha interativa oculta nesta rota. Em um computador compartilhado, os argumentos da linha de comando e o histórico do shell podem expô-lo. Mais seriamente, o padrão do serviço Bluetooth 0.17.2 fixo é nenhum emparelhamento ou criptografia de link em uma placa de desenvolvimento comum: o PIN e a senha do Wi-Fi podem ser lidos por alguém no alcance do rádio. Trate isso como provisionamento somente de desenvolvimento em uma rede de laboratório isolada e confiável com credenciais temporárias; não insira uma senha Wi-Fi comum de casa ou trabalho nesta rota como se fosse segura. Nunca cole o comando concluído em uma postagem. Esta etapa altera a rede do robô: uma sessão SSH Wi-Fi existente pode ser desconectada, o que pode ser um resultado esperado. O serviço pesquisa por até 45 segundos e o cliente tem um prazo separado de 60 segundos; nem é uma promessa de adesão bem-sucedida. Omitir --psk apenas para uma rede intencionalmente aberta. procedimento Wi-Fi oficial ↗ Definição de argumento CLI ↗ aviso de serviço ↗ rota não criptografada ↗.
uvx duckctl --name duck-c51b wifi connect 'YOUR_SSID' --psk 'YOUR_WIFI_PASSWORD'3. Separe um endereço de um console funcional.
Após entrar, leia o status do Wi-Fi e o endereço novamente. open --print imprime apenas a URL do console do robô sem abrir um navegador; o comando open normal abre a página do robô integrado. Um robô sem endereço de rede não pode oferecer este console WebRTC. A página em si é servida na porta 8080, enquanto sua conexão de sinalização separada usa a porta 8443. Se a página carregar, mas relatar que a sinalização não respondeu, a página do robô estará acessível e a próxima pergunta será o caminho da rede para 8443, geralmente um firewall. Este não é um motivo para emparelhar novamente o Bluetooth. Não exponha nenhuma das portas à Internet pública como um atalho para solução de problemas. escopo do console ↗.
uvx duckctl --name duck-c51b wifi status
uvx duckctl --name duck-c51b ip
uvx duckctl --name duck-c51b open --printO console contém controles de movimento ao vivo. Seu botão Parar zera as intenções enviadas por aquela página; não corta a energia do servo e não é uma parada física de emergência. Este artigo explica como chegar à página, não como validar o movimento. limite oficial de segurança do console ↗.
Compartilhe o estágio com falha, com os segredos removidos.
Uma pergunta técnica útil indica a versão do cliente e do robô, se conhecida, se um robô nomeado apareceu em scan, se seu endereço estava ausente e se o problema é a página da porta 8080 ou a sinalização da porta 8443. Diga se a máquina é oficial ou uma réplica. Remova o endereço Bluetooth, serial, IP local, SSID, PIN, senha Wi-Fi e detalhes da conta. Para resposta do gamepad após a conexão, siga o diagnóstico do teclado Bluetooth separado; para temporização de controle UDP, consulte o guia de versão 0.17.2.
O que você gostaria de entender a seguir?
Mantenha a fonte, seu ambiente e suas observações juntos.
Fontes e data de revisão
Fontes verificadas em 16 de outubro de 2026 · Fonte revisada
- Fonte original 1 · github.com / daemon-v0.17.2 ↗
- Fonte original 2 · github.com / duckctl.md ↗
- Fonte original 3 · github.com / main.rs ↗
- Fonte original 4 · github.com / main.rs ↗
- Fonte original 5 · github.com / route.rs ↗
- Fonte original 6 · pypi.org / 0.17.2 ↗
- Fonte original 7 · github.com / duckctl.md ↗
- Fonte original 8 · github.com / README.en.md ↗
- Fonte original 9 · github.com / daemon-v0.17.4 ↗
- Fonte original 10 · github.com / serial.rs ↗
- Fonte original 11 · github.com / identity.rs ↗
- Fonte original 12 · github.com / lib.rs ↗
- Fonte original 13 · github.com / duckctl.md ↗
- Fonte original 14 · github.com / 418 ↗