15 Comentários

Projeto de Kiosk Interativo para a Beaglebone Black com Yocto – parte 1

projeto de kiosk interativo
Este post faz parte da série Projeto de Kiosk Interativo para a Beaglebone Black com Yocto. Leia também os outros posts da série:

Neste artigo veremos como desenvolver um Interactive Kiosk (projeto de Kiosk Interativo) para a BeagleBone Black com o Yocto Project. Se você não conhece o Yocto sugiro que dê uma lida no artigo BeagleBone Black + Yocto escrito pelo Henrique Rossi. Totens, Kiosks e Terminais de Auto-Atendimento, são exemplos de produtos que podem ser desenvolvidos a partir da solução proposta.

Esta solução é composta por dois tipos de atores: o web-kiosk e o kiosk-manager. O web-kiosk é o equipamento que será utilizado pelo usuário final, e sua interface além de possuir uma tela LCD conectada na porta HDMI, pode ter também teclado e mouse ou ser sensível ao toque (touchscreen).

O kiosk-manager irá gerenciar o conteúdo a ser exibido em todos os web-kiosks, porém a sua presença não é obrigatória, já que o web-kiosk pode funcionar como um equipamento stand-alone. Os equipamentos podem estar conectados entre si através de uma LAN ou pela internet.

A figura abaixo ilustra uma possível topologia utilizando esses atores:

topologia

Nesta primeira parte vamos montar o ambiente de trabalho e gerar e testar a imagem do web-kiosk.

Montando o Ambiente de construção

Vamos criar os diretórios e baixar os fontes necessários:

Agora vamos configurar o ambiente para gerarmos os artefatos de software:

Adicione as duas linhas abaixo no arquivo ~/yocto/kiosk-build/conf/bblayers.conf  para a variável BBLAYERS:

Modifique e adicione as seguintes variáveis no arquivo ~/yocto/kiosk-build/conf/local.conf

Note que configuramos nossa machine como sendo a beaglebone (serve tanto para a white como a black), mudamos o diretório de download para podermos reutilizar os fontes baixados em outros projetos, usaremos o gerenciador de pacotes ipk (ele é mais indicado para sistemas embarcados porque não exige muitos recursos para funcionar) e vamos instalar na imagem todos os módulos do kernel gerados.

Se você já fez o tutorial do Henrique, você pode simplesmente atualizar as suas cópias locais dos repositórios (git pull origin <branch_name>), adicionar o repositório da meta-web-kiosk (git clone git://git.yoctoproject.org/meta-web-kiosk) e modificar os arquivos bblayers.conf e local.conf.

Veja que nesse caso, para criarmos a aplicação de Kiosk Interativo foi necessário adicionar apenas a camada meta-web-kiosk, que possui as receitas das aplicações necessárias e as imagens que irão compor a solução. E essa é uma das características mais vantajosas do Yocto. Como ele é organizado em meta-layers, que são camadas usadas para agrupar um determinado conjunto de receitas, elas podem ser integradas com diferentes camadas afim de prover diversas funcionalidades diferentes para o seu projeto. Além disso, as camadas podem ter propósitos específicos, como por exemplo suporte a arquiteturas de hardware, como é o caso da camada meta-ti que contém os BSPs (Board Support Packages) para algumas placas e arquiteturas da Texas Instruments.

Gerando a imagem do web-kiosk

Para gerar a imagem do web-kiosk rode o seguinte comando:

Esta é a configuração de build que eu utilizei:

Gravando a imagem do web-kiosk

Este procedimento é praticamente o mesmo utilizado no tutorial do Henrique mencionado no começo deste post. 

Para a gravação das imagens no microSD card, o mesmo deve ser particionado e formatado de acordo o padrão aceito pelo placa. Para isso foi criado um script, que pode ser obtido com os seguintes comandos:

Insira um microSD card no computador PC ou notebook (sistema host) e descubra qual o device node criado pelo sistema operacional. Tente um dos seguintes comandos:

Caso, por exemplo, o device node criado seja /dev/sdb, use o seguinte comando:

Assim que o processo de particionamento e formatação terminar, duas partições no microSD card são criadas:

  • boot (FAT32);
  • rootfs (ext4).

Execute a “montagem” dessas duas partições no sistema de arquivos do sistema host. Caso esse faça uso da distribuição Ubuntu, basta remover e inserir novamente o dispositivo no seu conector. Dado que, por exemplo, os pontos de montagem criados sejam /media/boot e /media/rootfs, as imagens geradas anteriormente são copiadas da seguinte forma paro o web-kiosk:

Testando a imagem

Remova o microSD do computador e insira-o na BBB, conecte-a a uma TV por um cabo HDMI, a um roteador pelo cabo ethernet e a um teclado e a um mouse através de um hub USB. Se quiser monitorar o processo de boot, você também pode conectar um cabo serial.

Depois de energizar a placa você terá as seguintes imagens na TV:

splash
yocto_page

É possível mudar a página inicial a ser exibida. Para isso conecte na console serial da BBB e digite o comando:

E este será o resultado:

embarcados_page

 

Projeto de Kiosk: O que vem por aí

Na segunda parte desta série sobre o projeto de kiosk interativo veremos como gerar a imagem do kiosk-manager e como configurar os atores para que conversem entre si.

Na terceira do projeto de kiosk interativo, veremos como customizar a imagem de acordo com as nossas necessidades.

Saiba mais

Embedded Linux Build Systems

Cozinhando com o Yocto Project

Desvendando Yocto Project – Primeiros passos

BeagleBone Black + Yocto

Beaglebone Black + Yocto Daisy (Versão 1.6)

Lançada Nova Versão 1.7 (dizzy) do Yocto Project

Raspberrypi + Yocto

Desenvolvendo um Kiosk Interativo para a Beaglebone Black com Yocto – parte 1

Desenvolvendo um Kiosk Interativo para a Beaglebone Black com Yocto – parte 2

Desenvolvendo um Kiosk Interativo para a Beaglebone Black com Yocto – parte 3

Beaglebone Black + Qt Embedded + Yocto – parte 1

Beaglebone Black + Qt Embedded + Yocto – parte 2

Beaglebone Black + Qt5 + Yocto - parte 1

Beaglebone Black + Qt5 + Yocto - parte 2

Raspberry pi + Qt5 + Yocto - parte 1

Raspberry pi + Qt5 + Yocto - parte 2

Referência

Apresentação que eu origem a esses artigos sobre o projeto de um kiosk interativo: Build Your Own Digital Signage Solution with Yocto Project no ELC 2013 San Francisco, feita por Nitin Kamble. 

Outros artigos da série

Projeto de Kiosk Interativo para a Beaglebone Black com Yocto - parte 2 >>
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

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

Beaglebone Black » Projeto de Kiosk Interativo para a Beaglebone Black com Yocto - parte 1
Comentários:
Notificações
Notificar
guest
15 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Henrique Santos Fernandes
Henrique Santos Fernandes
16/04/2014 11:36

Diego,

Primeiramente, ótimos artigos da série. Estou pensando em montar um!

Você conhece algum LCD touch ou um Touch externo que seja compatível e com preço acessível aqui no Brasil?
Obs: 17 a 19 polegadas

Obrigado.

Diego Sueiro
Diego Sueiro
Reply to  Henrique Santos Fernandes
24/04/2014 17:28

Olá Henrique,

Desculpe pela demora na resposta.
Estava na espera de um cliente me passar o contato do fornecedor.
Segue: https://www.playtix.com.br

Henrique Santos Fernandes
Henrique Santos Fernandes
Reply to  Diego Sueiro
24/04/2014 17:31

Sem problemas!

Muito Obrigado.

Daniel Grossi
Daniel Grossi
13/03/2014 20:05

Olá Diego,
É possível realizar a mesma operação utilizando o Raspberry Pi?
Teria a disponibilidade de colocar o código fonte?

Diego Sueiro
Diego Sueiro
Reply to  Daniel Grossi
16/03/2014 08:14

Olá Daniel. Essa é uma ótima pergunta. Vou passar as instruções e se não ficar claro eu posso criar um post para mostrar o processo todo. Basicamente, teremos que baixar os fontes e configurar o Yocto para gerar as imagens (web-kiosk e kiosk-manager) para a Rpi. O Yocto constrói e empacota todos os artefatos de software para o target através da variável MACHINE. Portanto vamos modificar essa variável para o target "raspberrypi". 1 - Baixando o source do BSP da Rpi em ~/yocto/kiosk-src : git clone git://git.yoctoproject.org/meta-raspberrypi cd meta-raspberrypi git checkout dora 2 - Vamos modificar o Yocto para "enxergar"… Leia mais »

trackback
27/05/2015 02:38

[…] Desenvolvendo um Kiosk Interativo para a Beaglebone Black com Yocto – parte 1 […]

trackback
22/04/2015 21:40

[…] Desenvolvendo um Kiosk Interativo para a Beaglebone Black com Yocto – parte 1 […]

trackback
12/01/2015 08:32

[…] Desenvolvendo um Kiosk Interativo para a Beaglebone Black com Yocto – parte 1 […]

trackback
22/08/2014 07:11

[…] Desenvolvendo um Kiosk Interativo para a Beaglebone Black com Yocto – parte 1 […]

trackback
29/04/2014 19:15

[...] você já fez o tutorial do Henrique ou tutorial: ”Desenvolvendo um Kiosk Interativo para a Beaglebone Black com Yocto”, você pode [...]

trackback
15/04/2014 01:09

[...] Desenvolvendo um Kiosk Interativo para a Beaglebone Black com Yocto – parte 1 [...]

trackback
11/04/2014 00:00

[...] na primeira e segunda partes da série como gerar, gravar e testar as imagens do web-kiosk e kiosk-manager na [...]

Talvez você goste:

Séries



Outros da Série

Menu

WEBINAR
 

Soluções inteligentes para acionamento de MOSFETs/IGBTs com família STDRIVE

Data: 08/10 às 15:00h - Apoio: STMicroelectronics
 
INSCREVA-SE AGORA »



 
close-link