A API Gemini e a Internet das Coisas

MAR 31, 2025
Paul Ruiz Senior Developer Relations Engineer

O espaço da Internet das Coisas (IoT na sigla em inglês) está mudando rapidamente com a introdução da inteligência artificial em tudo. Graças ao avanço da IA e dos serviços em nuvem, microcontroladores simples, juntamente com sensores e atuadores padrão, podem ser integrados a uma variedade de coisas para criar dispositivos inteligentes interativos. Nesta postagem, exploraremos como os desenvolvedores de IoT podem usar a API REST do Gemini para criar dispositivos que entendam e reajam a comandos de fala personalizados, preenchendo a lacuna entre os mundos digital e físico para solucionar problemas práticos e, anteriormente, desafiadores.

Para simplificar, esta postagem usará conceitos mais generalizados, mas você pode ver o exemplo de código completo e os esquemas de dispositivos com o uso do microcontrolador ESP32 no GitHub.


Da voz à ação: o poder do reconhecimento de fala e das funções personalizadas

A integração do reconhecimento de fala a dispositivos IoT, especialmente aqueles com memória limitada, sempre foi uma tarefa complexa. Embora soluções como o LiteRT para Microcontroladores permitam que você execute modelos básicos para reconhecer palavras-chave, a linguagem humana é uma entrada muito mais ampla e com mais nuances que os desenvolvedores podem usar a seu favor. A API Gemini simplifica isso, oferecendo uma solução poderosa e baseada na nuvem que entende uma ampla gama de idiomas falados, mesmo entre diferentes idiomas, tudo a partir de uma única ferramenta, além de poder determinar quais ações um dispositivo incorporado deve executar com base na entrada do usuário.

Esses recursos dependem da capacidade da API Gemini de processar e interpretar dados de áudio de um dispositivo IoT, bem como determinar o próximo passo que o dispositivo deve dar, seguindo este processo:

1. Captura de áudio: o dispositivo IoT, equipado com um microfone, captura uma frase falada.

2. Codificação de áudio: a fala é codificada em um formato para transmissão pela Internet. No exemplo oficial mencionado acima, convertemos sinais analógicos em áudio no formato WAV e, em seguida, em uma string codificada em base64 para a API Gemini.

3. Solicitação de API: o áudio codificado é enviado para a API Gemini por meio de uma chamada de API REST. Essa chamada inclui instruções, como solicitar o texto do comando falado ou direcionar o Gemini para selecionar uma função personalizada predefinida (por exemplo, acender as luzes). Se estiver usando o recurso de chamada de função da API Gemini, você deverá fornecer definições de função, incluindo nomes, descrições e parâmetros, dentro do JSON da solicitação.

4. Processamento: os modelos de IA da API Gemini analisam o áudio codificado e determinam a resposta apropriada.

5. Resposta: a API retorna informações para o dispositivo IoT, como uma transcrição do áudio, a próxima função a ser chamada ou uma resposta de texto com instruções adicionais.


Por exemplo: vamos considerar o controle de um LED com comandos de voz para ativá-lo ou desativá-lo e alterar sua cor. Podemos definir duas funções: uma para alternar o LED e outra para alterar sua cor. Em vez de limitar a cor a um intervalo predefinido, podemos permitir qualquer valor RGB entre 0 e 255, o que oferece mais de 16 milhões de combinações possíveis.

A solicitação a seguir, incluindo a string de áudio codificada em base64 ($DATA), demonstra isso:

{
    "contents": [
        {
            "parts": [
                {
                    "text": "Trigger a function based on this audio input."
                },
                {
                    "inline_data": {
                        "mime_type": "audio/x-wav",
                        "data": "$DATA"
                    }
                }
            ]
        }
    ],
    "tools": [
        {
            "function_declarations": [
                {
                    "name": "changeColor",
                    "description": "Change the default color for the lights in an RGB format. Example: Green would be 0 255 0",
                    "parameters": {
                        "type": "object",
                        "properties": {
                            "red": {
                                "type": "integer",
                                "description": "A value from 0 to 255 for the color RED in an RGB color code"
                            },
                            "green": {
                                "type": "integer",
                                "description": "A value from 0 to 255 for the color GREEN in an RGB color code"
                            },
                            "blue": {
                                "type": "integer",
                                "description": "A value from 0 to 255 for the color BLUE in an RGB color code"
                            }
                        },
                        "required": [
                            "red",
                            "green",
                            "blue"
                        ]
                    }
                },
                {
                    "name": "toggleLights",
                    "description": "Turn on or off the lights",
                    "parameters": {
                        "type": "object",
                        "properties": {
                            "toggle": {
                                "type": "boolean",
                                "description": "Determine if the lights should be turned on or off."
                            }
                        },
                        "required": [
                            "toggle"
                        ]
                    }
                }
            ]
        }
    ]
}

Embora esse seja um exemplo muito simplificado, ele destaca inúmeros benefícios práticos para o desenvolvimento de IoT:

  • Experiência do usuário aprimorada: os desenvolvedores podem dar suporte facilmente à entrada de texto por voz, proporcionando uma interação mais intuitiva e natural, mesmo para dispositivos com pouca memória.

  • Manipulação simplificada de comandos: essa configuração elimina a necessidade de uma lógica de análise complexa, como tentar decompor cada comando falado ou esperar por entradas manuais mais complexas para escolher a próxima função a ser executada.

  • Execução dinâmica de funções: a IA do Gemini seleciona de forma inteligente a ação apropriada com base na intenção do usuário, tornando os dispositivos mais dinâmicos e capazes de executar operações complexas.

  • Compreensão contextual: enquanto os padrões de reconhecimento de fala mais antigos precisavam de uma estrutura semelhante a "acender as luzes" ou "definir o brilho em 70%", a API Gemini é capaz de entender instruções mais gerais, como "está escuro aqui!", "preciso de um pouco de luz para ler" ou "deixe o ambiente escuro e assustador" para fornecer uma solução apropriada aos usuários sem que ela seja especificada.

Ao combinar a chamada de função e a entrada de áudio com a API Gemini, os desenvolvedores podem criar dispositivos IoT que respondam de forma inteligente a comandos falados.


Transformação de ideias em realidade

Embora o áudio e as chamadas de funções sejam ferramentas essenciais para aprimorar dispositivos IoT com a IA, há muito mais que pode ser usado para criar dispositivos inteligentes incríveis e úteis. Algumas das áreas potenciais a serem exploradas incluem:

  • Automação de casa inteligente: controle luzes, eletrodomésticos e outros dispositivos com comandos de voz, aumentando a conveniência e a acessibilidade.

  • Robótica: emita comandos falados para robôs ou envie streams de imagens ou vídeo para a API Gemini para navegação, execução de tarefas e interação, automatizando tarefas repetitivas e fornecendo assistência em várias configurações.

  • IoT industrial: aprimore máquinas e equipamentos especializados para aumentar a produtividade e reduzir o risco para as pessoas que dependem deles.


Próximas etapas

Mal podemos esperar para ver todas as coisas incríveis que você vai criar com a API Gemini! Seus aplicativos podem transformar a maneira como interagimos com o mundo ao nosso redor e resolver problemas do mundo real com o poder da IA. Não deixe de compartilhar seus projetos conosco no Google AI for Developers no LinkedIn e no Google AI Developers no X.