Explore o novo chatbot do Developer Center! O MongoDB AI chatbot pode ser acessado na parte superior da sua navegação para responder a todas as suas perguntas sobre o MongoDB .

Junte-se a nós no Amazon Web Services re:Invent 2024! Saiba como usar o MongoDB para casos de uso de AI .
Desenvolvedor do MongoDB
Central de desenvolvedor do MongoDBchevron-right
Idiomaschevron-right
JavaScriptchevron-right

Ouça o Scale Up com os serviços de aplicativos do Atlas

Jasiek Petryk3 min read • Published Jun 22, 2022 • Updated Sep 09, 2024
Node.jsAtlasJavaScript
Ícone do FacebookÍcone do Twitterícone do linkedin
Depuração de aplicativo em um Nexus 5antigo e surrado
Avalie esse Artigo
star-empty
star-empty
star-empty
star-empty
star-empty
Alguns recursos mencionados abaixo serão descontinuados em 30, 2025 de setembro. Saiba mais.
Aqui no Scale Up, valorizamos muito a músicas. Temos um orador do Google Home em nosso escritório que é muito usado. A músicas nos move e nos ajuda a nos Express individualmente e como organização. Com a importância da mús Criamos uma lista de reprodução do Scale Up Swift que compartilhamos em nosso site e escutamos com frequência, mas queriamos ir um passo além. Queríamos uma maneira de outras pessoas poderem ver o que estamos ouvindo atualmente no escritório e, para hospedar isso, recorremos ao Atlas App Services.
As fontes de música e as formas de se conectar ao alto-falante são variadas. Algumas pessoas ouvem no YouTube, outras no Spotify, algumas gostam de se conectar por meio de um recurso de transmissão fornecido pelo Google Home e outras usam apenas a conexão Bluetooth para tocar as músicas. Às vezes, usamos os recursos de voz do Google Home e pedimos educadamente ao alto-falante que coloque alguma música.
Tudo isso significa que não há "uma fonte de verdade" facilmente disponível para o que está tocando no alto-falante. Poderíamos tentar nos conectar de alguma forma à API do Spotify ou do Google Home para ver o que está sendo transmitido, mas isso não abrange todos os casos mencionados acima - conexão via Bluetooth ou transmissão do Youtube. A única fonte real da verdade é o que nossos ouvintes podem realmente ouvir.
Foi nisso que acabamos nos concentrando: tentar descobrir qual música está tocando ouvindo as ondas sonoras que saem do alto-falante. Felizmente, há muitas API públicas que podem reconhecer músicas com base em uma pequena amostra de áudio. Decidimos escolher uma que é bastante precisa quando se trata de música polonesa. No final, ela é uma grande parte do que estamos ouvindo.
Depuração de aplicativo em um Nexus 5antigo e surrado
Tudo isso tem que correr em algum lugar. A primeira coisa que me veio à mente foi construir esse "dispositivo de escuta" pegando um Raspberry Pi com microfone, mas depois de vasculhar minha "velha gaveta de tecnologia" - convenhamos, todos nós, técnicos, temos um - encontrei um antigo Nexus 5. Depois de jogar com algumas ROMs personalizadas, conseguir executar aplicativos node.js lá. Se você pensar bem, ele é realmente um dispositivo perfeito para esse caso de uso. Ele tem poder de computação mais do que suficiente, um microfone embutido e uma tela para o caso de você precisar fazer uma depuração rápida. Acabei escrevendo um pequeno programa que coleta uma pequena amostra de áudio a cada dois minutos entre 7:00 am e 5:00 pm e usa a API mencionada acima para reconhecer a música.
A informação sobre o que estamos ouvindo no momento é um bom ponto de partida, mas para incorporá-la em nosso website, primeiro precisamos armazená-la em algum lugar. É aqui que os poderes do MongoDB e do mongo Atlas entram em jogo. Configurar um banco de dados na nuvem foi muito fácil. Levei menos de cinco minutos. A camada grátis é mais do que suficiente para protótipos e casos de uso simples como este e, se você precisar de mais, sempre poderá mudar para uma camada superior. Conectei meu aplicativo a uma instância do MongoDB Atlas usando o MongoDB Node Driver.
Agora que temos informações sobre o que está sendo reproduzido no momento capturadas e armazenadas com segurança na instância do MongoDB Atlas, falta apenas uma peça do quebra-cabeça: uma maneira de recuperar a última música do banco de dados. Normalmente, isso exigiria um aplicativo separado que teríamos que desenvolver, gerenciar na nuvem ou fornecer um bare metal para ser executado, mas aqui está o ponto alto: O MongoDB tem uma maneira de fazer isso facilmente com o MongoDB Application Services. O Application Services permite escrever endpoints HTTP personalizados para recuperar ou manipular dados do banco de dados.
Para criar um endpoint como esse, faça login na sua MongoDB Atlas. Depois de criar um projeto, acesse Atlas App Services na parte superior e, em seguida, Criar um novo aplicativo. Dê um nome à sua aplicação, clique em Criar App Service e, à esquerda, você verá a entrada HTTP Endpoints. Após clicar em Adicionar Endpoint, selecione todas as configurações relevantes.
Criando novo ponto de conexão HTTP do Aplicativo Atlas
A função fetchsong é uma pequena função JavaScript que retorna a música mais recente se a música mais recente tiver sido reproduzida nos últimos 15 minutos e conectada a um endpoint HTTPS. Aqui está em toda a honra:
1exports = async function (request, response) {
2 const filter = {date: {$gt: new Date(new Date().getTime() - 15 * 60000)}};
3 const projection = {artist: 1, title: 1, _id: 0};
4
5 const songsCollection = context.services.get("mongodb-atlas")
6 .db("scaleup")
7 .collection("songs");
8 const docs = await songsCollection
9 .find(filter, projection)
10 .sort({date: -1})
11 .limit(1).toArray();
12
13 const [latestSong] = docs;
14 response.setBody(latestSong);
15};
E voilà! Depois de incorporar um trecho de JavaScript em nosso website para ler os dados das músicas, aqui está o resultado final:
Música atualmente tocada no Spotify
Para ver os resultados por si mesmo, visite https://scaleup.com.pl/en/#Music. Se você não ver nada, não se incomode — funcionamos no fuso horário da Europa Central, então o escritório pode estar vazio no momento. :) Além disso, se você precisar empregar especialistas em T.I. aqui na Polônia, não hesite em nos enviar uma mensagem. ;)
Muito obrigado a John Page por ser uma inspiração para brincar com os produtos do MongoDB e escrever este artigo. O código fonte de todo o projeto está disponível no GitHub. :)

Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Artigo
star-empty
star-empty
star-empty
star-empty
star-empty
Relacionado
Início rápido

Como conectar o MongoDB Atlas ao Vercel usando a nova integração


Aug 05, 2024 | 4 min read
Tutorial

Introdução ao MongoDB Atlas, NodeJS e o Azure App Service


Apr 02, 2024 | 5 min read
Artigo

Audio Find - Atlas Vector Search para áudio


Sep 09, 2024 | 11 min read
Tutorial

Capturando menções de notícias de hackers com Node.js e MongoDB


Sep 09, 2024 | 8 min read