Apresentação e considerações

O objetivo deste artigo é mostrar passo a passo como você pode utilizar o Raspberry para a exibição dos seus dashboards em telões de monitoramento.

O que é Raspberry?

Atualmente na versão Raspberry Pi 3 Model B, o Rasp (para os mais intimos…rs) basicamente é uma pequena placa que possui as características de um computador completo, que cabe na palma da mão, a imagem abaixo ilustra todos os componentes existentes nessa placa.

raspberry-foto.jpg

Instalando o Sistema Operacional Raspbian

Raspbian OS é uma distro Linux baseada no Debian criada para rodar nos Raspberry Pi, possui profundo controle do hardware, e é considerado o S.O padrão do computadores da Raspberry Foundation.

  1. Faça download da imagem do S.O: RASPBIAN STRETCH WITH DESKTOP
  2. Insira o MicroSD no adaptador e conecte-o em um notebook/pc que possua entrada.
  3. Instale o Etcher. Programa simples para gravar imagem de S.O no cartão de memória.
  4. Abra o Etcher e faça a gravação da imagem baixada no cartão.

Configuração inicial do Raspbian

Para ligar, insira o cartão MicroSD no respectivo slot, conecte a placa no monitor através de um cabo HDMI e ligue na energia e conecte seu Rasp na internet.

Abra o Terminal no menu Accessories e vamos iniciar as configurações.

Ao abrir o terminal você já estará dentro do diretório home do usuário pi: pi@raspberrypi:~ $

Vamos iniciar as configurações:

Ajustando timezone para America/Sao_Paulo

sudo rm -f /etc/localtime && sudo ln -s /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime

Habilitando o ssh

Dados de acesso padrão:
User: pi
Password: raspberry

sudo apt-get update -y
sudo apt-get install vim -y
sudo systemctl enable ssh 
sudo /etc/init.d/ssh start 

Script para rotate do Chromium (alt_tab)

Meu brother Eduardo Cruz fez um script simples e muito funcional para realizar o rotate das janelas do navegador Chromium caso você queira inserir mais de 1 URL na exibição do seu monitoramento.

Para baixá-lo siga os passos abaixo:

mkdir /home/pi/bin
curl -o /home/pi/bin/raspbian-alt_tab.sh -O -L https://goo.gl/mTN45n
chmod +x /home/pi/bin/raspbian-alt_tab.sh

Configurando o autostart

O objetivo desse arquivo é setar as configurações de startup do seu Rasp, onde passamos instruções de que ele deverá fazer ao ser iniciado, como resultado teremos a abertura totalmente automática do Chromium já com todos os seus dashboards definidos, e impedindo que a tela desligue por inatividade.

vim /home/pi/.config/lxsession/LXDE-pi/autostart
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@point-rpi

@unclutter
@xset s off
@xset s noblank
@xset -dpms

# Aqui passamos a instrução do chromium iniciar no modo kiosk, bastando substituir das URLs de exemplo pelos seus dashboards sempre separando por espaços.
@chromium-browser --disable-session-crashed-bubble --disable-infobars --kiosk http://url01 http://url02 http://url03 http://url04

# Referencia o script que vai rotacionar as abas do chromium para a visualização
@/home/pi/bin/raspbian-alt_tab.sh &

Habilitando Read-Only no Filesystem

Um dos problemas comuns com MicroSD em Raspberry é a sensibilidade do cartão, quando ocorre o desligamento digamos que “abrupto” muito provavelmente o filesystem irá corromper gerando um Kernel Panic levando você a ter que instalar tudo novamente.

Para previnir esse problema, vamos utilizar um filesystem overlay e montar o nosso root-fs como Read-Only também conhecido como somente leitura

Esse é o artigo original que utilizei para fazer o setup:

https://github.com/josepsanzcamp/root-ro

Instalando dependências e desabilitando a memória Swap

sudo -i
apt-get update
apt-get -y install git rsync gawk busybox bindfs

dphys-swapfile swapoff
dphys-swapfile uninstall
update-rc.d dphys-swapfile disable
systemctl disable dphys-swapfile

Clonando o repositório e fazendo o setup

git clone https://github.com/churrops/root-ro.git
rsync -va root-ro/etc/initramfs-tools/* /etc/initramfs-tools/
mkinitramfs -o /boot/initrd.gz
echo initramfs initrd.gz >> /boot/config.txt
reboot

Habilitando a escrita

Com o filesystem no modo Read-Only - RO, caso você precise fazer alguma alteração não será permitido, com isso precisa passar o filesystem para Read-Write - RW.

Filesystem: /

sudo mount -o remount,rw /mnt/root-ro

Filesystem: /boot

sudo mount -o remount,rw /mnt/boot-ro

Voltando para Read-only novamente

Depois da alteração basta retornar para RO novamente.

Filesystem: /

sudo mount -o remount,ro /mnt/root-ro

Filesystem: /boot

sudo mount -o remount,ro /mnt/boot-ro

Com essa modificação o filesystem ficará da seguinte forma:

raspibian-readonly

Agora seja feliz e monte seus dasboards de monitoramento.

Por enquanto é isso, valeu pessoal!

Referências adicionais

https://github.com/josepsanzcamp/root-ro

https://github.com/chesty/overlayroot