Autor: Luiz Nobre

  • O Visitante Que a Teologia e a Ciência Reclamam

    O Visitante Que a Teologia e a Ciência Reclamam

    O Visitante Que a Teologia e a Ciência Reclamam

    Duas disciplinas guardam a mesma porta. A teologia mantém os anjos; a ciência mantém os alienígenas. E ambas reclamam o mesmo visitante: o ser que desce, que transmite mensagens, que interfere no corpo e no destino humano. A fronteira entre os dois departamentos do saber — o sobrenatural e o extraterrestre — é, talvez, apenas uma questão de vocabulário. Foi o que Erich von Däniken perguntou, nos anos 1960, em Eram os Deuses Astronautas?, o livro que transformou a teoria dos astronautas antigos em fenômeno mundial: e se os deuses dos textos sagrados fossem visitantes, e os seus carros, máquinas?

    A leitura reabriu os documentos com olhos de engenheiro. A descida do Senhor sobre o Sinai, em fogo e fumaça, com o monte tremendo (Êxodo 19), lida como um pouso; a visão de Ezequiel — rodas dentro de rodas, fogo, “a aparência da semelhança da glória do Senhor” — lida como um veículo; e os anjos, como tripulação. O caso mais curioso da história da ideia: um engenheiro da NASA, Josef Blumrich, começou a ler Ezequiel para refutar von Däniken e terminou publicando As Naves Espaciais de Ezequiel, com plantas do artefato. Um engenheiro aeroespacial reconstruindo o carro de Deus: o escudo de novo, desenhado agora em escala.

    O que sabemos

    Sabemos que a teologia, por seu lado, sempre admitiu a possibilidade de outros mundos habitados sem crise — ou quase. O Observatório Vaticano, uma das mais antigas instituições científicas ativas do mundo, conduz pesquisa astronômica há séculos; o jesuíta e astrônomo Guy Consolmagno, curador das coleções de meteoritos do Vaticano, resumiu a posição com uma frase que deu a volta ao mundo: se extraterrestres existem, “seriam meus irmãos”. A lógica é impecável: se são criaturas, são criaturas — o Criador não tem monopólio planetário, e a encarnação concerne à carne deste mundo sem limitar o resto da obra.

    Sabemos, do outro lado, que a ciência deixou de achar a pergunta ridícula. Desde os anos 1990, a astronomia confirmou milhares de exoplanetas — o catálogo público da NASA conta aos milhares —, e a equação de Drake deixou de ser especulação para ter termos reais; o paradoxo de Fermi — se o cosmo é tão vasto e tão antigo, onde está todo mundo? — tornou-se a pergunta oficial da astronomia moderna; e o SETI escuta o céu com radiotelescópios há décadas. As duas disciplinas chegaram à mesma conclusão por caminhos opostos: a teologia, que trata do invisível, está confortável com estranhos; a ciência, que trata do mensurável, está constrangida por testemunhas.

    O que não sabemos

    Não sabemos se anjo e alienígena são o mesmo referente descrito em duas gramáticas, ou duas coisas diferentes que a mente humana insiste em confundir. Os argumentos de aproximação são fortes: se os anjos são “ministros de Deus” vindos de outro plano, e se o cosmos antigo tinha andares — as águas de cima, os céus sólidos, as portas —, então o “outro plano” é, em última instância, outro mundo, e o anjo é, por definição, um extraterrestre. Por outro lado, os relatos modernos de visitas ocupam exatamente o nicho fenomenológico dos anjos: mensageiros que trazem avisos, vigias que observam, seres que interferem na biologia. O visitante que desce à noite cumpre, sem saber, o itinerário de Gabriel.

    Há um dado que complica a separação: a materialidade dos anjos nos textos. O anjo que luta com Jacó deixa o patriarca com o quadril deslocado — toca, pressiona, machuca; o anjo da anunciação fala e é ouvido; os anjos de Sodoma comem e são perseguidos. O texto sagrado insiste em corpos. Se os anjos têm corpos, têm biologia ou algo que a imita; se têm biologia, a distância entre o anjo e o alienígena encolhe até desaparecer. A tradição resolveu chamar isso de corpo glorioso ou aparição; a ciência, se um dia tiver um espécime, chamará de espécie. O nome é que muda.

    Os argumentos de separação são igualmente antigos. Na tradição, o anjo não é biológico: não se reproduz — “na ressurreição, nem se casam nem se dão em casamento, mas são como os anjos” —, não envelhece, não morre; come, quando come, por cortesia, como em casa de Abraão. O alienígena, nos relatos, é um corpo: respira, coleta, examina, implanta, procria. O anjo é uma mensagem; o alienígena é um vizinho. A distinção pode ser a única coisa que separa as duas leituras — e é uma distinção que nenhum relato consegue verificar.

    O que está em jogo

    Se o anjo era um alienígena, a fé sobrevive mas encolhe: a transcendência vira tecnologia, o sagrado vira o meramente desconhecido, e o milagre vira um procedimento executado por um visitante com instrumentos — a anunciação, de novo, lida como inseminação. Se o alienígena é um anjo, a ciência sobrevive mas se expande: o universo não está vazio, os relatos não são todos delírio, e o método precisa admitir a testemunha. A Igreja não tem dogma sobre o extraterrestre; a ciência não tem dados sobre a alma. O visitante está na brecha entre duas certezas, reclamado por ambas — e talvez ambas estejam descrevendo a mesma descida com os únicos vocabulários que possuem.

    Há, ainda, o fenômeno das religiões ufológicas: movimentos do século XX que fizeram dos visitantes objeto de culto, com escatologia própria, contato mediúnico e promessa de salvação cósmica. A teologia oficial os vê como sincretismo; a sociologia, como resposta à secularização. Mas o dado relevante é outro: quando a ciência se cala sobre o sentido do céu, alguém o preenche — sempre foi assim, de Enoque a Nuremberg, dos Vigilantes aos contatados. O céu não tolera vazio de interpretação.

    A pergunta que fica

    O visitante espera. A teologia o reclama como anjo, a ciência o reclama como dado, a cultura popular o reclama como mito — e nenhuma das três conseguiu apresentar documento definitivo de posse. Fica a pergunta que o século XXI herdou sem resposta: quando o visitante descer de vez, quem o reconhecerá primeiro — o crente, que o espera há milênios com o nome de anjo, ou o astrônomo, que o procura há décadas com o nome de sinal? Ou a pergunta certa é outra: o que verão os dois, no mesmo céu, quando ele finalmente pousar — e quantos séculos serão necessários para que a era seguinte encontre a palavra que ainda não temos para o que ambos estão vendo?

  • Integrar tudo: seu companheiro de bancada do zero

    Integrar tudo: seu companheiro de bancada do zero

    Esta série partiu de um aparelho que fica ao lado do teclado e termina no ponto em que ele deixa de ser tutorial e passa a ser seu. Os quatro projetos anteriores entregaram as peças soltas: o panorama de repositórios, o hardware de voz, a energia que sustenta o uso contínuo, o firmware que não trava e a arquitetura híbrida host + periférico. Este fechamento junta tudo num ecossistema próprio — com roadmap, os pontos que derrubam o conjunto na prática, e o salto que vem depois: automação de IDE por voz.

    O que a série construiu, em uma frase por camada

    • Voz na placa: captura I2S, VAD e wake word rodam localmente, offline, sem depender da nuvem para acordar.
    • Energia: LiPo + buck-boost + fuel gauge definem se o assistente fica na mesa sem cabo — e a térmica define se ele sobrevive fechado numa caixa.
    • Firmware: FreeRTOS com tasks, filas e watchdog, reconexão de Wi-Fi com backoff e OTA dual-partition fazem o aparelho durar semanas ligado.
    • Arquitetura híbrida: o host faz STT/LLM/TTS/ações; o ESP32 faz o mundo físico. A fronteira é o socket.

    Arquitetura do companheiro completo

    O desenho final tem quatro planos empilhados. Na base, a energia (carga, regulação, medição). Acima, o firmware (tasks determinísticas que nunca bloqueiam o I2S). No centro, a fronteira de transporte (MQTT para controle e estado, WebSocket para fluxo contínuo). No topo, o host cognitivo (Ollama local ou API, Piper para a voz, e a camada de ação que toca o shell, o git e a IDE). O ESP32 nunca “pensa”; ele presencia o ambiente e executa o que o host decide — e faz isso com a latência previsível que um LLM jamais teria no silício.

    Tabela de módulos e etapas

    Roadmap de construção, do zero ao companheiro integrado. Cada etapa é um incremento verificável — nada de “solda tudo e reza”.

    Etapa Módulo Entrega verificável Depende de
    1 Áudio I2S Mic captando e amp reproduzindo um WAV gravado —
    2 Wake word local LED acende só quando a palavra-chave é dita Etapa 1
    3 Wi-Fi + transporte Placa publica/consome um tópico MQTT com JSON Etapa 2
    4 Host cognitivo Ollama responde na LAN e a resposta chega em voz Etapa 3
    5 Energia LiPo + fuel gauge: percentual confiável e sem brownout Etapa 3
    6 Firmware robusto OTA pela LAN + reconexão sozinho após queda de roteador Etapas 3 e 5
    7 UI/estado Display mostra idle / escutando / pensando / falando Etapa 2
    8 Ação por voz “roda os testes” executa de fato no host Etapas 4 e 6

    Desafios térmicos e de energia ao rodar IA contínua na mesa

    O ponto que mais surpreende é que a IA não esquenta a placa — esquenta o host. O ESP32 tem trabalho leve e constante: microfone, rádio, display. Quem vira forno é a GPU que roda o modelo, e o erro comum é dimensionar o companheiro como se o calor estivesse só no microcontrolador. Na prática, o desafio de bancada se divide em três: (1) manter o ESP32 estável com picos de TX e áudio simultâneos, sem brownout; (2) dissipar o host — ou aceitar que ele already existe e trazer a inferência para a máquina que você já tinha; e (3) não deixar a UI/heat da placa encostar no regulador em caixa fechada. A resposta que a série defendeu é econômica: mova o calor para onde ele já mora.

    O próximo salto: automação de IDE por voz

    A etapa 8 é só o começo. O salto real é transformar o assistente num agente de fluxo de trabalho: além de responder, ele opera a IDE. Isso exige três coisas que a arquitetura híbrida já tem naturalmente — um canal de intenção (voz -> texto), um cérebro que decide a ação (LLM no host) e um executor com contexto do projeto (shell, git, tarefas da IDE). A peça que fecha o ciclo é expor as ferramentas do editor ao LLM por um protocolo de contexto (MCP é o caminho mais direto hoje): o modelo deixa de “adivinhar” e passa a chamar ações reais — abrir arquivo, rodar teste, revisar diff — enquanto a placa física continua sendo o botão de acionamento e o alto-falante do retorno.

    A ligação com o ecossistema próprio

    Um companheiro de bancada não vive isolado. Ele é a interface física de um ecossistema maior — e é aí que o Projeto Eko entra em cena: a mesma linguagem de UI/estado, o mesmo barramento de áudio e a mesma fronteira host + periférico se reaproveitam na interface física do Eko, alimentada por peças do estoque da antiga INOBOT. Não é coincidência: componentes reais na prateleira (placas S3, mics I2S, amps, displays, células LiPo) definem o que é construível este mês, e o desenho híbrido garante que o software sobreviva à troca do hardware. Quem vem do mundo visual reconhece o parentesco com os cyberdecks — a volta do computador com identidade —, e o crossover entre as duas frentes está explicado em Cyberdecks: A Volta do Computador com Alma, que vale reler como irmão deste material, não como repetição.

    Como seguir na sua bancada

    • Comece pela etapa 1: valide mic e amp antes de qualquer API. Áudio ruim invalida todo o resto.
    • Meça antes de otimizar energia: sem INA219/multímetro você está chutando o consumo.
    • Trate OTA como requisito, não extra: é o que separa brinquedo de ferramenta.
    • Mantenha a fronteira: se uma tarefa exige GPU, ela mora no host. Se exige determinismo, mora na placa.
    • Reaproveite: o mesmo hardware desta série serve à interface física do Eko — projete pensando nas duas frentes.

    Se você quer os fundamentos do “cérebro” que roda no host e do “offline sem nuvem”, vale cruzar com LLMs Locais: Sua IA, Seu Hardware, Suas Regras, Edge AI: Inteligência na Ponta dos Dedos e Assistentes de Voz Offline: Seu Jarvis Pessoal. Esta série foi o concreto: da LiPo ao agente que roda testes por voz. O hub da editoria Inobot fica em tiolu.com.br/nucleo-hits.

  • Martelo de Negativa

    Martelo de Negativa

    Na capoeira, defesa e ataque não são momentos separados: eles se fundem num fluxo contínuo, em que cada esquiva já prepara o próximo golpe. O martelo de negativa é a expressão perfeita dessa filosofia. Partindo da negativa, uma das esquivas mais fundamentais da arte, o capoeirista desfere um chute preciso, transformando a defesa em ataque num único movimento.

    A negativa como base

    A negativa é uma esquiva de chão na qual o capoeirista se abaixa, estendendo uma perna à frente e apoiando o corpo na outra, rente ao solo. É uma posição de proteção e de prontidão, que desvia o corpo dos golpes altos e o deixa pronto para reagir. Dominar a negativa é essencial para qualquer capoeirista, pois ela é a porta de entrada para o jogo de chão.

    A partir da negativa, inúmeros movimentos podem ser iniciados: rolês, aús, cabeçadas e chutes. A posição baixa e estável oferece uma base perfeita para a transição, e é exatamente essa característica que o martelo de negativa explora.

    Do chão para o ataque

    No martelo de negativa, o capoeirista parte da esquiva e, em seguida, projeta a perna em um chute que sobe do chão em direção ao oponente. O movimento aproveita o impulso da saída da negativa, somando a potência das pernas à surpresa da transição rápida. O resultado é um golpe que pega o adversário desprevenido, já que ele esperava apenas uma esquiva.

    Essa capacidade de surpreender é a essência da malícia na capoeira. O capoeirista que domina o martelo de negativa não se limita a se defender: ele responde, transformando a posição mais defensiva em ponto de partida para o ataque. É a dialética da capoeira em ação, na qual os opostos se convertem.

    Técnica e precisão

    Executar o martelo de negativa com eficiência exige técnica apurada. O praticante precisa manter o equilíbrio na esquiva, controlar a perna de apoio e direcionar o chute com precisão. A força do golpe vem menos da musculatura e mais da coordenação do movimento, que aproveita o impulso do corpo que se levanta.

    O treino começa com o domínio da negativa e evolui para a transição do chute. O trabalho em dupla, com o professor corrigindo a postura e o direcionamento, é fundamental para desenvolver a precisão necessária. Com o tempo, o movimento se torna natural e pode ser encaixado no jogo com fluidez.

    Variações de aplicação

    O martelo de negativa admite variações conforme a distância e a intenção do jogo. Ele pode ser executado com a perna da frente ou de trás, em linha reta ou em trajetória circular, mirando o tronco ou a cabeça do oponente conforme a situação. Cada variação exige um ajuste fino de equilíbrio e de timing, o que torna o golpe rico em possibilidades.

    Essa flexibilidade é uma das razões da importância do martelo de negativa no repertório da capoeira. Ele não é um movimento mecânico, mas uma ferramenta de leitura de jogo: o capoeirista precisa decidir, em frações de segundo, a melhor forma de converter a esquiva em resposta.

    Condicionamento e preparação

    Para executar o martelo de negativa com qualidade, o capoeirista precisa de uma base de condicionamento bem construída. A negativa exige força nas pernas e no tronco para sustentar o corpo rente ao solo, enquanto a transição para o chute demanda explosão e flexibilidade. Exercícios de agachamento, prancha e alongamento dos posteriores são aliados importantes no treino.

    O trabalho de mobilidade é igualmente essencial. Quadris e tornozelos flexíveis permitem que o movimento flua sem tensões, reduzindo o risco de lesões. Muitos professores incluem sequências de negativa e rolê no aquecimento, justamente para preparar o corpo para os golpes de transição.

    Com o condicionamento adequado, o martelo de negativa deixa de exigir esforço excessivo e passa a ser executado com naturalidade. O capoeirista ganha confiança para usá-lo no jogo real, onde a velocidade da decisão é tão importante quanto a técnica do movimento.

    O martelo de negativa na roda

    Na roda, o martelo de negativa é uma arma versátil. Ele pode ser usado para responder a um golpe alto, para surpreender o oponente após uma esquiva ou para quebrar o ritmo do jogo. Sua imprevisibilidade o torna valioso, e seu domínio eleva o nível técnico de qualquer capoeirista.

    O martelo de negativa ensina uma lição essencial da capoeira: nunca há apenas defesa ou apenas ataque. No fluxo do jogo, tudo é movimento, e a sabedoria está em saber converter cada situação em oportunidade. É a malícia feita golpe, a esquiva que se transforma em arte.

    O martelo de negativa é, portanto, um movimento que resume boa parte da filosofia da capoeira. Nele, a humildade da esquiva e a ousadia do ataque convivem, lembrando que o capoeirista completo sabe tanto se proteger quanto responder. É essa dupla capacidade que torna o jogo de capoeira imprevisível e fascinante, e que faz do martelo de negativa um dos golpes mais admirados por mestres e alunos.

  • O Escudo Voador Que Atravessou os Séculos

    O Escudo Voador Que Atravessou os Séculos

    O Escudo Voador Que Atravessou os Séculos

    Em 14 de abril de 1561, os habitantes de Nuremberg olharam para o céu e viram uma batalha. Esferas, cruzes, tubos e “dois grandes canos” se enfrentavam ao nascer do sol; algumas esferas caíam em chamas, outras se dissipavam em fumaça. O episódio foi registrado em uma folha volante ilustrada por Hans Glaser, com a precisão burocrática de um boletim — e o fenômeno celeste de 1561 entrou para a história como um dos documentos mais estranhos da iconografia europeia. Cinco anos depois, em Basileia, esferas negras giravam em torno do sol como pássaros mecânicos, e o gravurista registrou o que viu: esferas, apenas esferas, porque não havia outra palavra.

    Os cronistas não disseram “naves espaciais”. Disseram o que o vocabulário permitia: globos, cruzes, tubos, escudos. Um monge da abadia de Byland, na Inglaterra de 1290, registrou em crônica a passagem lenta, sobre o mosteiro, de “um objeto redondo, chato e prateado, como um disco” — a palavra disco, a forma de um escudo, o metal de um espelho. Na Antiguidade, historiadores romanos anotaram escudos que cruzavam o céu durante as guerras púnicas. O céu sempre esteve cheio de escudos; o que muda é o nome que cada século lhes dá.

    O que sabemos

    Sabemos que a sequência documental é longa e teimosa. Em 1897, os Estados Unidos foram varridos por uma onda de airships misteriosos: dirigíveis com faróis e hélices avistados por centenas de jornais, de Sacramento ao Meio-Oeste, numa época em que o voo motorizado ainda era sonho de laboratório. Havia embustes — jornais famintos por notícia —, mas a onda em si é um fato histórico: uma população que nunca vira uma aeronave descreveu, em massa, aeronaves. Durante a Segunda Guerra, pilotos aliados sobre a Europa e o Pacífico relataram orbes luminosos que acompanhavam as formações, aceleravam sem inércia, mudavam de direção em ângulo reto: os foo fighters, nome tomado de uma tira cômica, porque a guerra também precisa de humor para suportar o que não classifica. Em 1947, Kenneth Arnold viu nove objetos “saltando como discos” sobre o Monte Rainier; a imprensa cunhou “discos voadores”, e o avistamento de Arnold batizou uma era.

    O verão de 1947 não terminou com Arnold. Dias depois, um rancheiro do Novo México encontrou destroços estranhos; a base aérea local emitiu um comunicado sobre um “disco voador capturado” e o retirou horas depois. O incidente de Roswell nasceu como nota de rodapé e virou fundação de uma mitologia: o primeiro objeto do céu que os Estados Unidos oficialmente reconheceram, negaram e nunca mais deixaram de explicar. A forma do relato já era conhecida — o escudo caiu, o escudo foi recolhido —; o que mudou foi a escala: agora o céu tinha arquivo, e o arquivo tinha segredo.

    Sabemos, ainda, que o fenômeno ganhou burocracia: o que era folclore virou pasta de arquivo. O termo OVNI nasceu nos anos 1950 para substituir “disco voador” por algo administrável; hoje o vocabulário oficial fala em “fenômenos anômalos não identificados”, com escritórios dedicados, relatórios ao Congresso e gravações desclassificadas. A cada mudança de era, o objeto ganha um nome novo — e a cada nome novo, uma nova explicação: balões, nuvens, drones, satélites, aviões secretos, sensores defeituosos. O céu é explicado; o relato permanece.

    O que não sabemos

    Não sabemos se é a mesma coisa que aparece em todas as eras. A evidência é verbal: cada geração diz ter visto o céu se mover e descreve o movedor com a gramática da sua tecnologia. Os objetos de Nuremberg tinham a iconografia de uma batalha teológica — cruzes entre os globos, como num afresco do apocalipse; os airships de 1897 tinham hélices, cabos e faróis, o imaginário industrial; os foo fighters não tinham estrutura visível, apenas luz; os discos de Arnold não tinham som. Se é um fenômeno único, ele jamais chega duas vezes com a mesma forma; se são fenômenos distintos, a coincidência das testemunhas através dos milênios é estatisticamente embaraçosa.

    Não sabemos, tampouco, quem mente. Cada época produziu fraudes: gravuras exageradas, airships inventados, fotografias trucadas, confissões póstumas. Mas as fraudes não explicam os cronistas que nada ganhavam com o registro — o monge de Byland não vendia jornais — nem explicam a constância do formato básico: o disco, o escudo, a esfera achatada, o “chapéu” — a mesma silhueta repetida do século XIII ao XXI, de Yorkshire a Nuremberg, de Basileia a Washington. Ou a forma é real, ou a imaginação tem uma anatomia fixa; ambas as hipóteses são assombrosas.

    O que está em jogo

    Em jogo está a historiografia do céu. Se o escudo medieval e o OVNI moderno são o mesmo fenômeno, então o fenômeno é anterior à tecnologia — e toda explicação que depende das máquinas do nosso século falha por definição: não havia drones no século XIII, não havia satélites no século XIX, não havia dirigíveis secretos em 1561. Se, ao contrário, são coisas diferentes que apenas se parecem, então o céu é um palco onde cada época ensaia os seus medos: a guerra religiosa em 1561, o poder aéreo em 1897, a angústia nuclear depois de 1945, a vigilância depois de 2010.

    Em ambos os casos, a testemunha é honesta e a linguagem mente. O escudo do cronista não é o objeto: é o espelho de mão da época. A disciplina — a única que a história permite — é ler o relato e subtrair o século: o que sobra depois de retirar as cruzes de Nuremberg, as hélices de 1897 e os sensores de hoje é a única constante do arquivo, uma forma redonda e plana que atravessa os milênios trocando de nome como quem troca de roupa.

    A pergunta que fica

    Os monges viram um disco prateado e o chamaram de escudo; os vitorianos viram um dirigível e o chamaram de máquina; os pilotos viram luz e a chamaram de foo fighter; nós vimos o vídeo e o chamamos de anomalia. Fica a pergunta que o arquivo não responde: se o objeto nunca mudou e apenas o vocabulário envelhece, qual é o nome que estamos usando hoje — e qual será o nome que a próxima era dará ao que agora chamamos de fenômeno? E, mais inquietante: quando a nossa época for subtraída do relato, o que sobrará para ser explicado?

  • Arquitetura híbrida: host + ESP32 como periférico inteligente

    Arquitetura híbrida: host + ESP32 como periférico inteligente

    A tentação é colocar tudo na placa: wake word, STT, LLM e TTS num único ESP32-S3. Na prática, o assistente de bancada que sobrevive ao dia a dia é híbrido — o microcontrolador cuida do mundo físico (microfone, alto-falante, display, botão) e um host na mesma rede cuida do trabalho pesado (transcrição, inferência, síntese). Este Projeto 10 da série Assistentes de IA de Bancada mostra a divisão de responsabilidades, o transporte entre as duas pontas e por que esse desenho costuma vencer o “tudo na placa”.

    Conceito e arquitetura híbrida

    A regra de ouro é separar tempo real de capacidade de computação. O ESP32 é excelente em determinismo de I/O: amostrar I2S sem jitter, acender LEDs com latência previsível, segurar um socket e reagir a um botão. Ele é péssimo em rodar um modelo de linguagem, em carregar um TLS gordo de forma estável e em manter 8 MB de pesos na cabeça. O host (Raspberry Pi, mini-PC ou o próprio PC do dev) é o oposto: sobra CPU/GPU, mas não tem pinos.

    Então a fronteira se desenha assim:

    Camada Onde roda Por quê
    Captura de áudio I2S, VAD e wake word ESP32 Latência determinística, offline, perto do microfone
    Display, animação de estado, LEDs ESP32 Frames locais, sem round-trip pela rede
    Botão, sensores, GPIO ESP32 É o único com acesso ao mundo físico
    STT (fala -> texto) Host Modelo grande (Whisper e afins) que não cabe no micro
    LLM (Ollama / API) Host GPU/RAM de sobra; troca de modelo sem reflash
    TTS (texto -> fala) Host Voz neural local (Piper) ou nuvem
    Orquestração e ação (rodar teste, commit) Host Tem shell, git, IDE e sistema de arquivos

    O transporte também se divide por natureza. MQTT é o canal de controle e estado: tópicos pequenos, QoS, retenção, ideal para “intenção detectada” e “assistente está pensando”. WebSocket é o canal de fluxo contínuo (streaming de áudio ou de tokens) quando você precisa de baixa latência bidirecional. Para quem está começando, um par de tópicos MQTT com payload JSON resolve 90% dos casos — e o mesmo firmware evolui para WebSocket depois.

    Lista de peças (BOM)

    Componente Modelo exato Função Faixa de preço
    Periférico ESP32-S3-DevKitC-1 (N16R8) Áudio I2S, display, GPIO e cliente MQTT/WebSocket R$ 70–130
    Host Raspberry Pi 4 (4 GB) / Pi 5, ou o próprio PC/macOS do dev STT + Ollama + TTS + orquestração de ações R$ 0 (PC) – R$ 700 (Pi 5)
    Microfone INMP441 (I2S) Captura de voz digital, sem ADC ruidoso R$ 12–30
    Amplificador MAX98357A (I2S) + alto-falante 4 Ω 3 W Reprodução da resposta em voz R$ 25–60
    Armazenamento host microSD 32 GB Classe 10 (no Pi) Imagens do Ollama e modelos locais R$ 30–60

    Wiring e cuidados elétricos

    Enlace Pinos Observação
    Mic I2S (INMP441) SCK 14 / WS 15 / SD 13 Rail analógica separada; L/R no GND.
    Amp I2S (MAX98357A) BCLK 16 / LRC 17 / DIN 18 Bulk cap junto ao 3V3; ganho fixo no SD.
    Link serial (opcional) ESP32 TX 43 -> Pi RX (GPIO15); ESP32 RX 44 <- Pi TX (GPIO14) Cruze TX/RX, terra comum. Ambos 3,3 V: sem level shifter.
    Transporte de rede Wi-Fi 2,4 GHz (mesma LAN do broker) Prefira IP fixo ou mDNS para o broker; evite depender de DHCP volátil.
    Alimentação Fontes separadas (USB da placa + fonte do Pi) Não alimente o Pi pelo regulador da placa; o pico do Pi derruba o S3.

    Código e firmware

    No ESP32, o lado físico publica a intenção e escuta a resposta. O tópico de voz carrega JSON curto; o parse é feito com buffer fixo para não fragmentar o heap:

    #include <WiFi.h>
    #include <PubSubClient.h>
    #include <ArduinoJson.h>
    
    WiFiClient net;
    PubSubClient mqtt(net);
    const char* TOPICO_VOZ  = "bancada/voz";
    const char* TOPICO_RESP = "bancada/resposta";
    
    void onMessage(char* topic, byte* payload, unsigned int len) {
      StaticJsonDocument<512> doc;             // fixo: nada de heap aqui
      if (deserializeJson(doc, payload, len)) return;
      const char* acao = doc["acao"] | "";
      if (!strcmp(acao, "falar"))  tocaTexto(doc["texto"] | "");
      if (!strcmp(acao, "estado")) mostraEstado(doc["valor"] | "idle");
    }
    
    void reconecta() {
      while (!mqtt.connected()) {
        if (mqtt.connect("bancada-esp32")) mqtt.subscribe(TOPICO_RESP);
        else vTaskDelay(pdMS_TO_TICKS(2000));
      }
    }
    
    void publicaIntencao(const char* texto) {
      StaticJsonDocument<256> doc;
      doc["texto"] = texto;
      char buf[256];
      serializeJson(doc, buf);
      mqtt.publish(TOPICO_VOZ, buf);           // acorda o host
    }
    
    void loop() {
      if (!mqtt.connected()) reconecta();
      mqtt.loop();
      // ... wake word/ VAD detectou fala -> publicaIntencao("roda os testes")
    }
    

    No host, o serviço assina o mesmo tópico, chama o Ollama na rede local e decide a ação. Aqui está o ponto central da arquitetura: o LLM não precisa estar na placa, e a ação (rodar um teste, abrir um arquivo) acontece onde há shell de verdade:

    import json, subprocess, requests
    import paho.mqtt.client as mqtt
    
    BROKER = "192.168.0.10"
    OLLAMA = "http://localhost:11434/api/chat"
    
    def pergunta_llm(texto):
        r = requests.post(OLLAMA, json={
            "model": "qwen2.5:7b",
            "messages": [{"role": "user", "content": texto}],
            "stream": False,
        }, timeout=60)
        return r.json()["message"]["content"]
    
    def executa_acao(intencao):
        low = intencao.lower()
        if "teste" in low:
            subprocess.run(["python", "-m", "pytest"], cwd=".")
        elif "status do git" in low:
            subprocess.run(["git", "status", "--short"])
    
    def on_message(client, userdata, msg):
        texto = json.loads(msg.payload)["texto"]
        resposta = pergunta_llm(texto)
        executa_acao(texto)                      # acao no host, nao na placa
        client.publish("bancada/resposta",
                       json.dumps({"acao": "falar", "texto": resposta}))
    
    c = mqtt.Client()
    c.on_message = on_message
    c.connect(BROKER, 1883)
    c.subscribe("bancada/voz")
    c.loop_forever()
    

    Resolução de problemas

    • MQTT cai e não volta: keepalive alto com Wi-Fi instável. Baixe o keepalive (15–30 s) e reconecte no loop(); no broker, aumente o timeout de sessão e use last will para sinalizar queda.
    • Comandos perdidos: QoS 0 em tópico crítico. Use QoS 1 para a intenção e marque o tópico de estado como retained para o host saber o estado atual ao reconectar.
    • TLS no broker torna o micro lento: em LAN confiável, rode o Mosquitto sem TLS e proteja por rede/VPN; se exigir TLS, reserve PSRAM e heap — o handshake come RAM.
    • Latência de resposta alta: quase sempre é o LLM, não o transporte. Meça separadamente o tempo de transmissão (ms) e o de inferência (s) para não “otimizar” a rede por engano.
    • Host não acha a placa: IP dinâmico. Use mDNS (bancada-esp32.local) ou DHCP estático.
    • WebSocket com framing estranho: proxies que remontam buffers. Prefira conexão direta na LAN; evite tunelar áudio por camadas de proxy.
    • Ordem de pacotes: WebSocket preserva ordem, mas se você paralelizar publicações, numeradores no JSON evitam respostas cruzadas.

    Aplicações reais

    Com a divisão pronta, a automação de fluxo por voz deixa de ser ficção de escritório e vira rotina de bancada. Você fala “roda os testes” e o host executa; “o que mudou neste arquivo?” e o LLM lê o git diff e responde em voz enquanto você continua digitando. O teclado nunca é interrompido — o assistente físico absorve o comando e devolve o resultado no canal certo (voz para o resumo, display para o detalhe).

    Essa é a tese central da série: o companheiro de bancada não compete com o PC, ele estende o PC para fora da tela. E é por isso que a divisão host + periférico vence: você troca o modelo do Ollama sem reflash, atualiza a lógica de ação sem mexer no firmware e mantém a placa fazendo o que ela faz de melhor.

    Para o recorte de assistentes que rodam sem host e sem nuvem, vale reler Assistentes de Voz Offline: Seu Jarvis Pessoal e a dupla Construindo Seu Próprio J.A.R.V.I.S — Parte 1: O Cérebro e Parte 2: Os Sentidos. O fechamento da série vem no próximo post, juntando energia, firmware e arquitetura num roadmap único. Hub: tiolu.com.br/nucleo-hits.

  • Spotify vs Artistas: A Matemática Por Trás de 0,003 Centavos

    Spotify vs Artistas: A Matemática Por Trás de 0,003 Centavos

    Um milhão de streams no Spotify. Parece muito — e é. Mas quanto isso realmente paga ao artista? Entre US$ 3.000 e US$ 5.000. Agora divida esse valor entre gravadora (que fica com 50-85% na maioria dos contratos), editora musical, compositores, produtores. O artista principal — aquele cujo nome está na capa — pode receber menos de US$ 1.000 líquidos por um milhão de streams. Para contextualizar: um milhão de streams equivale a aproximadamente 7.000 horas de audição contínua do seu trabalho. Bem-vindo à cruel matemática do streaming.

    Pro-Rata: O Modelo Que Concentra Renda

    O Spotify — assim como Apple Music, Deezer e a maioria das plataformas — usa o modelo pro-rata: todo o dinheiro arrecadado com assinaturas e publicidade em um mês é jogado em um único pote gigante, e depois distribuído proporcionalmente ao total de streams da plataforma inteira. Se Drake teve 5% de todos os streams globais do mês, Drake leva 5% do pote — independentemente de quem você, pessoalmente, escutou. Isso significa que o dinheiro da sua assinatura — mesmo que você só ouça bandas independentes da Islândia e choro brasileiro — está pagando Drake, Taylor Swift e Bad Bunny.

    Para o 1% de artistas no topo da pirâmide, o sistema é excelente. Para os outros 99%, é uma máquina de concentração de renda disfarçada de meritocracia digital. Estudos do Centre National de la Musique da França e da Deezer mostraram que, no modelo pro-rata, os 10 artistas mais tocados do planeta concentram uma parcela brutalmente desproporcional da receita — enquanto artistas de nicho, que têm ouvintes fiéis mas menor volume total de streams, recebem migalhas. É a economia da atenção aplicada à música: quem já é grande fica maior, quem é pequeno subsidia os grandes.

    User-Centric: A Alternativa Que as Majors Bloqueiam

    Existe uma alternativa que parece óbvia: o modelo user-centric. Nele, o dinheiro da sua assinatura vai apenas para os artistas que você realmente ouviu. Se você só escuta MPB e jazz, sua mensalidade financia MPB e jazz. O SoundCloud adotou esse modelo em 2021 com o ‘fan-powered royalties’. A Deezer implementou na França. Os resultados iniciais mostram que artistas com audiências menores, porém fiéis, ganham de 10% a 30% a mais. Em contrapartida, os top 10 globais perdem um pouco.

    E é exatamente por isso que o user-centric não avança: as três grandes gravadoras — Universal, Sony e Warner — controlam o catálogo dos maiores artistas e têm poder de veto nas negociações com as plataformas. Para elas, o pro-rata é matematicamente mais vantajoso. As mesmas empresas que financiam campanhas publicitárias sobre ‘apoiar artistas’ são as que bloqueiam a reforma que mais beneficiaria os pequenos e médios.

    A Greve Que Ainda Não Aconteceu

    Em 2024, o movimento ‘Justice at Spotify’, liderado pelo United Musicians and Allied Workers (UMAW) nos EUA, exigiu pagamento mínimo de 1 centavo de dólar por stream — aproximadamente o triplo do valor atual. A petição reuniu mais de 30 mil assinaturas de músicos. O Spotify respondeu com… silêncio. No mesmo ano, a plataforma gastou US$ 1 bilhão em contratos de podcasting (Joe Rogan, Alex Cooper, Emma Chamberlain), US$ 250 milhões em recompra de ações próprias, e reportou lucro operacional recorde de US$ 1,2 bilhão.

    A greve dos roteiristas de Hollywood em 2023 — 148 dias de paralisação total da indústria — mostrou que ação coletiva organizada funciona. Conquistou proteções contratuais históricas contra IA, transparência de dados de streaming e aumentos salariais. Mas os músicos são uma categoria estruturalmente fragmentada: sem sindicato unificado com poder de paralisação nacional, competindo ferozmente entre si por visibilidade algorítmica. A ironia é cruel — a indústria que mais depende do trabalho criador é a que menos protege seus criadores.

    O Que Vem Depois?

    Regulação governamental pode ser o caminho inevitável. A França implementou um imposto sobre streaming que financia o Centre National de la Musique. O Reino Unido conduziu uma investigação parlamentar sobre a ‘economia do streaming’ e recomendou um modelo de ‘remuneração equitativa’. O Canadá aprovou o Online Streaming Act (Bill C-11) em 2023, exigindo que plataformas contribuam para a produção cultural local. Enquanto isso, o modelo pro-rata permanece intocado — e a cada mês que passa, a distância entre o que o Spotify fatura e o que o artista recebe aumenta um pouco mais.

    Ha outro problema estrutural menos discutido: o streaming matou a ‘classe media’ musical. Antes, um artista que vendia 50 mil discos por ano — numeros modestos para os padroes pre-internet — conseguia viver de musica. Hoje, 50 mil ‘vendas equivalentes’ em streaming representam uma fracao infima da receita anterior. A digitalizacao da musica prometia democratizar o acesso; na pratica, criou uma economia de vencedores-levam-tudo onde apenas o 0,1% do topo ganha o suficiente para dispensar outros empregos.

    Enquanto isso, Daniel Ek, CEO do Spotify, vendeu US$ 350 milhoes em acoes da empresa entre 2023 e 2025, e a plataforma foi avaliada em mais de US$ 100 bilhoes em 2026. Nao e ilegal — o Spotify nao quebrou nenhuma lei. Mas e um sintoma de um sistema onde quem cria o valor extrai a menor fatia dele. E ate que musicos se organizem coletivamente como roteiristas e atores fizeram em 2023, essa matematica nao vai mudar.

  • A Semana de Arte Moderna e a Capoeira

    A Semana de Arte Moderna e a Capoeira

    A Semana de Arte Moderna de 1922 é um marco na cultura brasileira: foi o momento em que artistas e intelectuais se voltaram para as raízes do país em busca de uma identidade própria. Nesse movimento de redescoberta do Brasil, a capoeira — antes perseguida e marginalizada — passou a ser vista com novos olhos, entrando para o imaginário modernista como expressão autêntica da cultura nacional.

    O modernismo e a busca pelo Brasil

    Os modernistas de 1922 queriam romper com a imitação dos modelos europeus e construir uma arte genuinamente brasileira. Para isso, voltaram-se para o povo, para o folclore e para as manifestações populares, buscando nelas a essência da identidade nacional. O samba, o carnaval, o candomblé e a capoeira entraram nesse horizonte de redescoberta.

    Essa valorização da cultura popular representou uma mudança profunda. O que antes era visto como coisa de “marginal” passou a ser reconhecido como patrimônio a ser estudado, celebrado e incorporado à arte erudita. A capoeira, símbolo da resistência negra, ganhou um lugar nesse novo imaginário.

    Mário de Andrade e a capoeira

    Entre os modernistas, Mário de Andrade foi um dos que mais se dedicaram ao estudo das manifestações populares. Pesquisador incansável, ele percorreu o Brasil registrando músicas, danças e tradições, e dedicou atenção especial à capoeira, reconhecendo nela uma expressão rica da cultura afro-brasileira.

    Os estudos de Mário de Andrade sobre a música de capoeira e sobre as tradições populares foram pioneiros, abrindo caminho para que a arte fosse compreendida e valorizada como manifestação cultural legítima. Seu trabalho influenciou gerações de pesquisadores e ajudou a consolidar a capoeira no campo da cultura nacional.

    A capoeira nas artes

    A partir do modernismo, a capoeira passou a aparecer com mais frequência na literatura, na pintura e na música brasileiras. Escritores como Jorge Amado, décadas depois, retratariam a capoeira e os capoeiristas em suas obras, e artistas como Carybé dedicariam telas e desenhos à roda. Essa presença nas artes consolidou a capoeira como símbolo da brasilidade.

    A mudança de olhar foi decisiva para a reabilitação da capoeira. De prática criminalizada no início do século, ela foi, aos poucos, sendo reconhecida como expressão fundamental da cultura nacional, até se tornar, no século XXI, patrimônio cultural da humanidade.

    O folclore e o nacionalismo cultural

    A valorização da capoeira pelos modernistas não foi um caso isolado: integrou um movimento mais amplo de redescoberta do “Brasil profundo”. Intelectuais da época buscavam nas tradições populares a matéria-prima para um projeto de nacionalidade, no qual a cultura afro-brasileira deixava de ser renegada e passava a ser celebrada como componente essencial da identidade do país.

    É preciso, contudo, reconhecer os limites dessa apropriação. Nem sempre a valorização da capoeira pela elite intelectual significou valorização dos capoeiristas de carne e osso, que continuaram enfrentando o preconceito nas ruas. Ainda assim, o movimento modernista abriu espaço para que a capoeira fosse vista como cultura, e não como crime.

    Outros modernistas e a cultura popular

    Além de Mário de Andrade, outros nomes do modernismo se voltaram para as manifestações populares brasileiras. Heitor Villa-Lobos incorporou ritmos e temas nacionais à música erudita; Tarsila do Amaral e outros artistas visuais buscaram no Brasil profundo a matéria de suas obras. Embora a capoeira nem sempre aparecesse de forma explícita, ela integrava o mesmo universo cultural que os modernistas passaram a celebrar.

    O interesse modernista pela cultura popular, contudo, era marcado por tensões. Muitos artistas admiravam as manifestações do povo à distância, sem necessariamente romper com o preconceito em relação aos seus praticantes. A capoeira, nesse sentido, foi valorizada como símbolo estético antes de ser plenamente aceita como prática legítima de cidadãos.

    Reconhecer essas contradições não diminui a importância do modernismo para a capoeira. Ao colocar a cultura popular no centro do debate nacional, os modernistas abriram espaço para que a arte fosse, décadas depois, reivindicada pelos próprios capoeiristas como patrimônio a ser preservado e respeitado.

    Um longo caminho de reconhecimento

    A relação entre o modernismo e a capoeira mostra que a valorização cultural é um processo lento. O olhar dos artistas e intelectuais dos anos 1920 ajudou a mudar a percepção sobre a arte, mas o reconhecimento pleno só viria décadas depois, com o trabalho dos mestres e a luta das comunidades.

    Ainda assim, o modernismo plantou uma semente importante: a ideia de que o Brasil deveria se reconhecer em sua cultura popular. E nessa cultura, a capoeira ocupa um lugar central, como expressão da resistência, da criatividade e da alma do povo brasileiro.

    Hoje, ao estudar a história da capoeira, percebe-se como o olhar modernista contribuiu para deslocá-la do lugar de crime para o de cultura. Esse deslocamento, ainda que incompleto e contraditório, foi um passo essencial. Sem ele, talvez a capoeira não tivesse alcançado, ao longo do século XX, o prestígio que a levou a ser reconhecida como patrimônio cultural. A Semana de 1922, nesse sentido, foi um divisor de águas também para a arte da ginga.

  • O Caído Que Voltou Sem Rosto

    O Caído Que Voltou Sem Rosto

    O Caído Que Voltou Sem Rosto

    Antes do dilúvio, a terra era outra — e o texto bíblico guarda o vestígio disso em seis versículos quase ilegíveis: “Naqueles dias estavam os nefilins na terra” (Gênesis 6:4). Quem eram os nefilins, de onde vieram, o que fizeram? O cânon não explica; o que explica está num livro expulso do cânon. O Livro de Enoque, lido e citado pelos primeiros cristãos, contado entre os manuscritos de Qumran e depois banido, narra o resto: duzentos anjos — os Vigilantes — desceram ao monte Hérion nos dias de Jarede, juraram aliança entre si e tomaram por mulheres as filhas dos homens.

    O texto desce a detalhes que o Gênesis omite: os nomes dos líderes — Semiazá, Azazel — e o catálogo do que ensinaram: encantamentos, corte de raízes, astrologia, o trabalho dos metais, os cosméticos, as artes de transformar a matéria e a aparência. Conhecimento proibido, entregue como presente. E o produto da mistura: os Nefilim, gigantes que devoravam o trabalho dos homens, “os heróis da antiguidade, homens de renome”. O dilúvio, nessa leitura, não foi castigo por um pecado moral: foi saneamento de uma linhagem adulterada.

    O que sabemos

    Sabemos que o mito é mais antigo que a Bíblia: a história de deuses que descem, se misturam e geram híbridos é o motor de metade das mitologias do mundo antigo — grega, mesopotâmica, cananeia. O Gênesis comprime a narrativa a um fragmento; Enoque a restaura. E sabemos que o fragmento nunca foi esquecido: a epístola de Judas cita Enoque como profecia autêntica, o que significa que o livro banido está costurado na costura do cânon que o baniu. A Igreja primitiva herdou os Vigilantes como demônios; a Idade Média os reencarnou como íncubos e súcubos, demônios do leito; o folclore os dissolveu em fadas e elfos que roubavam crianças. A cada época, o mesmo ser: aquele que se mistura com o sangue humano.

    O cenário da descida também importa: o monte Hérion, fronteira entre o que hoje são Síria, Líbano e Israel, montanha de gelo e de templos, vigiada por povos que a consideravam morada de deuses. Não foi uma descida discreta: foi uma ocupação. E os dias de Jarede, segundo o Livro dos Jubileus, eram um tempo em que os anjos desciam à terra com regularidade — o céu, naquela era, tinha trânsito intenso, e a fronteira era porosa como nunca mais voltaria a ser.

    E o século XX fez a sua versão. O Grey — pequeno, cabeça grande, olhos negros e oblíquos, corpo sem pelos, boca quase inexistente — aparece nos relatos a partir dos anos 1950 e se consolida em 1961 com o caso mais célebre: Betty e Barney Hill, na Nova Inglaterra, que sob hipnose regressiva descreveram seres de cabeças grandes e olhos que “contornavam o rosto”, exames médicos, coleta de amostras, um mapa estelar. A partir deles, o arquétipo ganhou corpo: implantes, gestações, híbridos, programas de melhoramento. A interferência na biologia humana — o pecado original dos Vigilantes — voltou como protocolo médico.

    O que não sabemos

    Não sabemos se o Grey é a memória do Vigilante ou se o Vigilante foi a profecia do Grey. A correspondência é minuciosa demais para ser acidental: ambos descem de outro lugar; ambos se interessam obsessivamente pelo corpo humano e pela reprodução; ambos deixam descendência mestiça — os Nefilim de um lado, os híbridos do outro; ambos são descritos como seres que observam sem expressão. O nome hebraico dos anjos caídos, Grigori, significa exatamente o que o Grey é: os que vigiam. O Vigilante é todo olhar; o Grey é todo olho.

    Ao longo de meio século, o mesmo roteiro se repetiu em milhares de depoimentos, de países e línguas diferentes: a luz no quarto, a paralisia, a mesa, o exame, o implante, o conselho para esquecer. Para a história das ideias, porém, o debate importa menos que o fato: a humanidade passou a narrar, em escala industrial, encontros com um ser que toca o corpo humano — e essa narrativa tem um ancestral exato, escrito há mais de dois mil anos em aramaico.

    Não sabemos, ainda, o que fazer com o rosto apagado. Na angelologia, o anjo é a criatura do rosto: os serafins cobrem o rosto diante da luz, mas têm rosto. O caído perdeu a expressão e conservou a mirada — um rosto reduzido à função de vigia, sem boca que fale, sem sobrancelha que tema, sem ruga que envelheça. A hipnose regressiva, o instrumento que revelou os Hills ao mundo, funciona como oráculo: memórias trazidas de um lugar abaixo da consciência, como Enoque trouxe as suas de um lugar acima do mundo. Whitley Strieber chamou os seus de “os Visitantes” e descreveu o mesmo rosto. A ufologia moderna é um apócrifo em formação: testemunhos colhidos, catalogados, contestados — e sempre, no centro, o ser sem rosto que mexe no que não devia.

    O que está em jogo

    Em jogo está a continuidade do arquétipo. Se a linhagem é contínua — Vigilantes, demônios, íncubos, fadas, Greys —, então a ufologia está fazendo teologia sem saber, e a teologia está colecionando relatórios sem reconhecê-los. O abduzido de hoje ocupa o lugar do vidente de ontem: aquele que viu, foi levado, voltou com a memória lacunar e passou o resto da vida tentando provar o que não se prova. O medo da mistura, o horror da linhagem adulterada, é o medo mais antigo do texto — e continua sendo o centro dos relatos modernos, agora expresso em termos de genética em vez de genealogia.

    E há a questão do rosto. Um ser que interfere na biologia humana sem mostrar expressão é um ser que não negocia: não há emoção com que dialogar, não há cansaço, não há crueldade — apenas função. Os Vigilantes, ao menos, tinham nomes, votos e um líder; pecaram com paixão. O Grey não peca: processa. A queda do anjo terminou em maquinaria. Talvez seja essa a verdade mais sombria da evolução do mito: o que era drama virou procedimento, o que era queda virou função, e o que era rosto virou vigia.

    A pergunta que fica

    Enoque registrou o destino dos Vigilantes: amarrados nas profundezas até o dia do juízo. Os Greys, nos relatos, continuam livres, voltando, retomando o trabalho onde o interromperam. Fica a pergunta que os olhos negros não respondem: se o Vigilante caiu por descer e se misturar, e o Grey desce e se mistura até hoje — o que teria mudado para que o mesmo ser voltasse, milênios depois, sem rosto, sem nome e sem arrependimento? E o que o dilúvio não lavou, o que estará sendo gestado agora, em silêncio, nos corredores estreitos dos relatos que ninguém assina?

  • Firmware que não trava: FreeRTOS, watchdog, OTA e partições de flash

    Firmware que não trava: FreeRTOS, watchdog, OTA e partições de flash

    Firmware de bancada não é firmware de demo. Um assistente que fica ao lado do teclado o dia inteiro precisa sobreviver a roteador reiniciando, TLS derrubando handshake por falta de memória, OTA que chega pela metade e uma tarefa de áudio que perde o prazo e trava o buffer I2S. Este é o Projeto 9 da série Assistentes de IA de Bancada: transformar um esboço que “funciona na bancada” num binário que aguenta semanas ligado sem intervenção.

    Conceito e arquitetura de firmware

    O padrão vencedor é uma arquitetura de tarefas sob FreeRTOS com responsabilidades separadas, não um loop() monolítico. Um loop() único mistura áudio, rede e UI no mesmo fio de execução: qualquer chamada HTTP bloqueante faz o buffer de captura I2S estourar e o áudio picota. Quatro tarefas resolvem o problema por construção:

    • audio_task (core 1, prioridade alta) — preenche buffers I2S de captura e enfileira blocos; nunca faz I/O de rede.
    • net_task (core 0) — consome a fila, fala com o host (HTTP/WebSocket) e publica resultados de volta.
    • ui_task (core 1, prioridade baixa) — desenha estado (idle, escutando, pensando, falando) sem bloquear.
    • sys_task (core 0) — reconexão Wi-Fi, gatilho de OTA e manutenção de NVS.

    A comunicação entre elas é por filas (dados) e event groups (estado). Áudio nunca espera a rede de forma bloqueante; a rede nunca rouba tempo do I2S. Sobre essa base vêm as três camadas de resiliência: watchdog (detecta tarefa travada e reinicia), reconexão de Wi-Fi com backoff exponencial (sobrevive a queda de roteador) e OTA com partição dual (atualiza sem brickar, com rollback se a imagem nova falhar no boot).

    Lista de peças (BOM)

    O firmware robusto impõe requisitos de hardware — sobretudo flash e PSRAM para caber duas imagens de aplicação e buffers de TLS/áudio.

    Componente Modelo exato Função Faixa de preço
    Placa ESP32-S3-DevKitC-1 N16R8 (16 MB flash, 8 MB PSRAM octal) Flash p/ OTA dual-partition + PSRAM p/ buffers de áudio e TLS R$ 70–130
    LED de status WS2812B (NeoPixel) 5 mm Estado do sistema (boot, Wi-Fi OK, OTA, erro) sem precisar de display R$ 3–10
    Botão Push-button tátil 6×6 mm Gatilho manual de OTA / reset de fábrica (NVS wipe) R$ 2–5
    Capacitor de reset 100 nF + 10 kΩ pull-up no EN Reset limpo; evita boot errático R$ 2–5
    Conversor USB-serial CP2102 ou CH340 (se a placa não tiver USB-CDC) Flash/console de debug R$ 10–25

    Wiring e cuidados elétricos

    Sinal Pino ESP32-S3 recomendado Observação
    LED de status (dados WS2812B) GPIO 48 Vcc em 3,3 V (ou 5 V com level shifter); resistor de 300–500 Ω na linha de dados.
    Botão de OTA / factory reset GPIO 0 (BOOT) É strapping pin: só para download/bootloader. Segurar no reset entra em modo flash.
    UART0 (console) GPIO 43 (TX) / GPIO 44 (RX) Não oculte: é o único canal de diagnóstico quando o Wi-Fi cai.
    Botão de ação geral GPIO 5 Com pull-up interno, ligado a GND via 100 nF p/ debounce.
    Strapping pins a respeitar GPIO 0, 3, 45, 46 Nunca pendure carga que force nível errado no reset; deixe flutuante ou com nível correto.

    Dois cuidados evitam suporte eterno: mantenha o console serial acessível mesmo dentro da carcaça (pads expostos), e nunca alimente o botão de OTA por um pino que também sirva de saída — strapping pin em nível errado no boot é uma classe inteira de bugs intermitentes.

    Código e firmware

    Esqueleto mínimo com duas tarefas orientadas a fila, watchdog por task e criação ancorada por núcleo:

    #include <WiFi.h>
    #include "esp_task_wdt.h"
    
    QueueHandle_t qAudio;                    // audio_task -> net_task
    TaskHandle_t  hAudio, hNet;
    
    void audioTask(void* pv) {
      for (;;) {
        Bloco bloco;
        if (capturaI2S(&bloco)) {            // bloqueia ate preencher um bloco
          if (xQueueSend(qAudio, &bloco, pdMS_TO_TICKS(50)) != pdPASS) {
            Serial.println(" fila cheia: descarta bloco (host lento)");
          }
        }
        esp_task_wdt_reset();                // alimenta o watchdog DESTA task
      }
    }
    
    void netTask(void* pv) {
      Bloco bloco;
      for (;;) {
        if (xQueueReceive(qAudio, &bloco, portMAX_DELAY) == pdPASS) {
          enviarParaHost(&bloco);            // HTTP/WS para o host (Ollama/API)
        }
        esp_task_wdt_reset();
      }
    }
    
    void setup() {
      Serial.begin(115200);
      qAudio = xQueueCreate(8, sizeof(Bloco));
      xTaskCreatePinnedToCore(audioTask, "audio", 8192,  NULL, 5, &hAudio, 1);
      xTaskCreatePinnedToCore(netTask,   "net",   12288, NULL, 4, &hNet,   0);
    
      // Watchdog: 8 s, panic -> reinicia em vez de ficar pendurado
      esp_task_wdt_config_t cfg = { .timeout_ms = 8000, .idle_core_mask = 0, .trigger_panic = true };
      esp_task_wdt_init(&cfg);
      esp_task_wdt_add(hNet);                // registra as tasks criticas
    }
    

    Reconexão de Wi-Fi resiliente com backoff exponencial (o sleep vai numa task de sistema, nunca dentro do callback de evento, que roda no contexto do driver):

    uint8_t tentativas = 0;
    
    void onWifiEvent(WiFiEvent_t e) {
      if (e == ARDUINO_EVENT_WIFI_STA_DISCONNECTED) {
        tentativas = min(tentativas + 1, 6);
        uint32_t espera = min(30000u, 500u * (1u << tentativas));  // ~1s..30s
        xTaskNotifyGive(hSys);               // a sys_task aplica o backoff
      } else if (e == ARDUINO_EVENT_WIFI_STA_GOT_IP) {
        tentativas = 0;
        Serial.print("[net] IP: "); Serial.println(WiFi.localIP());
      }
    }
    

    OTA sobre HTTPS com verificação de integridade e reinício só no fim:

    #include <Update.h>
    #include <HTTPClient.h>
    
    void doOTA(const char* url) {
      HTTPClient http; http.begin(url);
      int code = http.GET();
      if (code != 200) { Serial.printf("[ota] HTTP %d\n", code); return; }
      int len = http.getSize();
      if (!Update.begin(len)) {                      // grava na particao ota_1
        Serial.printf("[ota] begin falhou: %s\n", Update.errorString()); return;
      }
      size_t w = Update.writeStream(*http.getStreamPtr());
      if (w != (size_t)len) Serial.println("[ota] escrita parcial");
      if (!Update.end() || !Update.isFinished()) {
        Serial.printf("[ota] fim falhou: %s\n", Update.errorString());
      } else { Serial.println("[ota] OK, reiniciando"); ESP.restart(); }
    }
    

    A tabela de partições precisa reservar duas partições de aplicação mais otadata, senão o OTA nem compila:

    # Name,   Type, SubType, Offset,   Size,     Flags
    nvs,      data, nvs,     0x9000,   0x5000,
    otadata,  data, ota,     0xe000,   0x2000,
    app0,     app,  ota_0,   0x10000,  0x1E0000,
    app1,     app,  ota_1,   0x1F0000, 0x1E0000,
    spiffs,   data, spiffs,  0x3D0000, 0x30000,
    

    Resolução de problemas

    • Task watchdog dispara: alguma task não chega ao esp_task_wdt_reset() — quase sempre por I/O bloqueante dentro dela. Mova a rede para a própria task e alimente o watchdog no laço.
    • Stack overflow / Guru Meditation: meça com uxTaskGetStackHighWaterMark() e redimensione. Parse de JSON e TLS pedem pilha maior que o imaginado.
    • Heap fragmentado após dias: aloque buffers no boot, prefira StaticJsonDocument no stack para payloads pequenos e evite String em laços.
    • “OTA partition could not be found”: a tabela de partições não tem ota_0/ota_1/otadata. Ajuste o partitions.csv e regrave.
    • Rollback após OTA ruim: com CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE, a imagem nova só é confirmada depois de marcar-se válida. Não marque antes de checar Wi-Fi e hello-world com o host.
    • Brownout durante a escrita do OTA: flash exige corrente estável; garanta alimentação e evite rodar em bateria no fim da carga.
    • Wi-Fi que não volta: callbacks de evento não devem dormir; use notificação para uma task e aplique o backoff lá.

    Aplicações reais

    Com essa base, o assistente vira infraestrutura: você o deixa na mesa e esquece que ele existe até precisar. O OTA pelo navegador da LAN elimina o cabo USB do dia a dia — comportamento de produto, não de protótipo. O watchdog transforma travamentos silenciosos em reinícios observáveis (contados no LED e no log), e a reconexão com backoff faz o aparelho voltar sozinho quando o roteador pisca. É a diferença entre um brinquedo que você desliga no fim do dia e uma ferramenta que fica no ar.

    O capítulo anterior tratou da energia que sustenta esse firmware; o próximo muda a fronteira de responsabilidade e mostra por que dividir o trabalho com um host que roda o LLM é, na prática, a arquitetura mais robusta. Para o lado “cérebro” dessa divisão, veja LLMs Locais: Sua IA, Seu Hardware, Suas Regras. Hub da editoria: tiolu.com.br/nucleo-hits.

  • João Gilberto e a Batida Que Mudou o Mundo

    João Gilberto e a Batida Que Mudou o Mundo

    Em 10 de julho de 1958, um baiano de 27 anos entrou no estúdio da Odeon no Rio de Janeiro e gravou ‘Chega de Saudade’. A canção, composta por Tom Jobim e Vinicius de Moraes, já tinha sido gravada por Elizeth Cardoso alguns meses antes — uma versão bonita, convencional, com arranjo de orquestra. Mas a versão de João Gilberto era diferente. Era outra coisa. Entre o violão e a voz, havia um silêncio — um deslocamento rítmico, um espaço entre as notas que ninguém tinha ouvido antes. Naquele dia, a bossa nova não ‘nasceu’. Foi meticulosamente inventada por um homem que passou meses trancado no banheiro da casa da irmã em Diamantina, Minas Gerais, porque a acústica dos azulejos era perfeita para o som que ele estava criando.

    O Que Era a Batida de João?

    A bossa nova tem duas datas oficiais de nascimento: a gravação de ‘Chega de Saudade’ por João Gilberto em julho de 1958 e o lançamento do LP Chega de Saudade em 1959. Mas a verdadeira revolução não foi a canção — foi a batida. João Gilberto criou uma forma completamente nova de tocar violão, com um ritmo sincopado que desafiava a separação convencional entre melodia, harmonia e acompanhamento.

    Tecnicamente, João fazia o que músicos descrevem como ‘violão gago’: acordes dedilhados com um deslocamento rítmico único — a voz entrando milissegundos antes ou depois do tempo esperado, o baixo do polegar marcando o contratempo, as cordas abafadas com a palma da mão criando um efeito percussivo. O efeito conjunto é hipnótico. João reinventou a relação entre cantor e instrumento — o violão deixou de ser mero acompanhante para se tornar um parceiro de dança. Tom Jobim, que entendia de harmonia como poucos, ficou em choque: ‘João Gilberto faz o que nenhum músico no mundo consegue fazer.’

    O Impacto Global: Da Zona Sul ao Grammy

    O jazz americano estava pronto. Em 1962, o saxofonista Stan Getz voou para o Rio de Janeiro e gravou ‘Desafinado’ com João e Tom. O single foi um sucesso improvável nas rádios americanas. No ano seguinte, o álbum Getz/Gilberto (1964), gravado em Nova York com Astrud Gilberto cantando ‘The Girl from Ipanema’ quase por acaso, vendeu milhões de cópias, ganhou o Grammy de Álbum do Ano — derrotando Beatles, Barbra Streisand e Henry Mancini — e transformou a bossa nova em fenômeno global.

    ‘The Girl from Ipanema’ se tornou a segunda canção mais regravada da história da música, atrás apenas de ‘Yesterday’ dos Beatles. Frank Sinatra gravou um álbum inteiro com Tom Jobim. Miles Davis disse que ouvir João Gilberto mudou sua forma de entender o silêncio na música. Herbie Hancock passou anos estudando a batida e não conseguiu replicá-la. ‘É como truque de mágica’, disse Hancock. ‘Você vê, você ouve, mas não entende como ele faz.’

    O Mito e o Silêncio

    João Gilberto passou grande parte da vida adulta fora do Brasil — Nova York, México, depois um apartamento no Leblon onde vivia recluso. Tornou-se uma figura mítica: perfeccionista ao extremo, capaz de interromper um show lotado no Carnegie Hall porque alguém na quinta fileira tossiu, obcecado pela acústica perfeita e pelo silêncio absoluto da plateia. Exigia que o ar-condicionado fosse desligado. Que as portas fossem seladas. Que ninguém falasse. Suas raras aparições públicas nos últimos 30 anos de vida eram tratadas como eventos religiosos por seus devotos — e com razão.

    Quando João Gilberto morreu em 6 de julho de 2019, aos 88 anos, o Brasil perdeu seu maior inventor musical — um artista cujo impacto transcendeu gênero, nacionalidade e século. A bossa nova não foi um movimento que João Gilberto integrou. Foi um som que ele criou sozinho, e que o mundo passou os 65 anos seguintes tentando entender.

    A influencia de Joao vai muito alem da bossa nova como genero datado. Sua abordagem ao tempo e ao silencio influenciou diretamente musicos como Caetano Veloso — que o considerava ‘o maior artista brasileiro de todos os tempos’ —, Chico Buarque, Gilberto Gil e geracoes de violonistas que tentaram em vao decifrar sua batida. O jazzista Pat Metheny dedicou um album inteiro ao estudo de Joao. Ate musicos de vanguarda como Arto Lindsay e David Byrne citam Joao Gilberto como influencia central. Nao e nostalgia: e engenharia ritmica de precisao que o mundo ainda esta tentando entender.

    Joao Gilberto nao estava a frente do seu tempo. Ele criou um tempo proprio — um ritmo que nao existia antes de 1958 e que, 68 anos depois, continua sendo o som mais sofisticado que um ser humano ja produziu com seis cordas de nylon e uma voz quase sussurrada.

    Em 2023, o Correio Brasileiro lancou um selo postal em homenagem a Joao Gilberto. Em 2025, o Google celebrou seu aniversario com um Doodle global. Sao gestos simbolicos, mas que apontam para uma verdade maior: Joao Gilberto nao e patrimonio do Brasil — e patrimonio da humanidade. Nenhum outro musico brasileiro do seculo XX teve impacto tao profundo e tao silencioso. Como sua musica, seu legado dispensa alarde — apenas permanece, ecoando no espaco entre os acordes.