Pocketbeagle board - Como fazê-la falar as informações do clima

A Pocketbeagle Board é, no momento da escrita deste artigo, a placa mais nova da linha das placas Beaglebone. Dentre seus atrativos, destacam-se o diminuto tamanho físico e o uso de um SiP da Octavo muito similar ao das famosas BeagleBone Black. Partindo do princípio que esta é uma placa compacta e com considerável poder computacional, este artigo mostrará um projeto muito interessante com ela: uma central de informações de clima, que não somente exibe as informações, mas sim as fala!

 

 

Material necessário

 

Para reproduzir este projeto, será necessário:

  • Uma placa Pocketbeagle Board operacional (com sistema operacional instalado no cartão SD), com barras de pinos soldadas;
  • Um display OLED 0.96" I²C (da cor que desejar);
  • Uma placa de som USB;
  • Um cabo adaptador micro-USB;
  • Uma placa breakout USB;
  • Jumpers macho-fêmea.

 

 

Circuito esquemático

 

O circuito esquemático do projeto pode ser visto na figura 1.

 

Circuito esquemático.
Figura 1 - Circuito esquemático.

 

Observações:

  • A placa de som USB deve ser ligada no cabo adaptador micro-USB e este, por sua vez, ligado à placa breakout USB;
  • Pode-se ligar ou caixas de som de computadores convencionais ou fones de ouvido à saída de som da placa de som USB. Fica à sua escolha.

 

 

Pocketbeagle board - Preparação

 

Antes de prosseguir com o projeto em si, deve-se realizar uma preparação na Pocketbeagle board (ou seja, bibliotecas devem ser instalas e configurações devem ser feitas).

 

Conectividade à Internet

 

Para garantir conectividade à Internet com a Pocketbeagle board, siga as instruções deste artigo

 

Seleção da placa de som USB

 

Na distribuição Debian da Pocketbeagle board, por default, a placa de som USB não é automaticamente selecionada como placa de som principal. Desta forma, é necessário que a configuração para que esta seja a placa principal de som seja feita. Para isso, o primeiro passo é verificar se a placa de som foi ao menos reconhecida como dispositivo USB. Para isso, utilize o comando abaixo:

 

 

Ele irá produzir uma saída conforme mostrado na figura 2. Nesta figura, nota-se que a placa de som foi reconhecida (C-Media Electronics, Inc. CM108 Audio Controller), logo ela pode ser utilizada pelo sistema operacional.

 

Detecção da placa de som USB como dispositivo USB válido.
Figura 2 - Detecção da placa de som USB como dispositivo USB válido.

 

Uma vez com a certeza de que a placa de som foi reconhecida, pode-se avançar para a configuração desta como placa principal. Para isso, deve-se criar o arquivo .asoundrc no diretório /home/debian. Trata-se do arquivo de configuração a ser lido pelo ALSA. Para fazer isso, execute os comandos abaixo:

 

 

No editor de texto nano, cole o código abaixo (verifique o id de sua placa de som com o comando aplay -l):

 

 

Salve e saia do editor nano (aperte Ctrl+X e depois Ctrl+Y). Pronto, agora sua placa de som USB está configurada como placa de som principal do sistema. 

 

Instalação de bibliotecas

 

Para o projeto, serão necessárias as bibliotecas para utilizar o display OLED, text-to-speech (gTTS), player de áudio mpg123 e a biblioteca para fazer requisições HTTP. Todas estas são bibliotecas Python. Execute os comandos abaixo para realizar as instalações:

 

  • Biblioteca para display OLED:

  • Biblioteca text-to-speech e player de áudio mpg123:

  • Biblioteca para requisições HTTP:

 

Obtenção de acesso à API OpenWeather e download de fontes TTF para o Display

 

Para obter acesso à API OpenWeather e ter orientações do download de fontes TTF para o display, faça a leitura deste artigo.

 

Código-fonte do projeto

 

Finalmente, é chegada a hora do código-fonte do projeto. Primeiramente, é preciso criar um script para fazer o text-to-speech somente (servirá como um "módulo" do projeto). Para isso, crie um script Python com o nome text_to_speech.py (com o comando nano text_to_speech.py) e cole o código abaixo. 

 

 

Feito isso, salva e saia do nano (aperte Ctrl + X e Ctrl + Y).

 

Agora, crie um script Python com o nome clima_oled_audio.py (com o comando nano clima_oled_audio.py) e cole o código abaixo.

 

IMPORTANTE: NÂO SE ESQUEÇA de substituir sua API key do OpenWeather API no código! Se isto for esquecido, nada irá funcionar.

 

 

Para rodar o projeto, utilize o comando abaixo:

 

 

 

Projeto em ação!

 

Veja o vídeo abaixo do projeto em ação:

 

 

 

Saiba mais

 

PocketBeagle - Nova placa da Beagleboard

Conectando a Photon ao Twitter por IFTTT

CHIP - Um computador de $9

 

 

Referências

 

https://www.hackster.io/beaglefriends-octavosystems/adding-text-to-speech-to-pocketbeagle-projects-3ab078

NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Pedro Bertoleti
Sou engenheiro eletricista formado pela Faculdade de Engenharia de Guaratinguetá (FEG - UNESP) e trabalho com desenvolvimento de sistemas embarcados em São Paulo capital. Curioso e viciado em tecnologia, sempre busco me aprimorar na área de eletrônica e programação, em especial em desenvolvimento de firmware (área que mais gosto de trabalhar e estudar).Para mais informações, acesse minha página no Facebook:https://www.facebook.com/pbertoleti

Deixe um comentário

avatar
 
  Notificações  
Notificar