"Fácil como cair e quebrar um braço"
Este texto mostra como montar um sistema de monitoramento de câmeras e um Media Center por menos de R$300.00
A nova versão da Raspberry Pi é uma máquina muito interessante:
- CPU: 900MHz quad-core ARM Cortex-A7
- RAM: 1GB
E, como o modelo 1 B+, também tem:
- 4 portas USB
- 40 pinos de GPIO
- Porta Full HDMI
- Ethernet
- Saída combinada de video composto e audio stereo
- Interface para câmera (CSI)
- Interface de display (DSI)
- Entrada de cartão Micro SD
- Núcleo de video gráfico VideoCore IV 3D
Por ter um processador ARM7, pode rodar qualquer distribuição linux ARM GNU. Reza a lenda que a Microsoft irá portar o Windows 10 para ela. Esperemos, pois.
Existe muita gente usando as Raspberries como Media Center, usando principalmente a distribuição OpenElec + Kodi. Mais detalhes em www.openelec.tv.
Também existe muita gente usando Raspberries como sistemas de segurança de baixo custo usando o zoneminder. Mais detalhes em www.zoneminder.com.
Eu queria os dois ao mesmo tempo, numa mesma raspberry. Já usando o kodi numa Raspberry 1 há mais de um ano em casa, tratei logo de pegar outra e experimentar o zoneminder.
Para tristeza, a Rasp 1 mal dava conta de monitorar uma câmera - eu precisava de duas.
Assim, quando lançaram a Rasp 2, quatro vezes mais rápida, fiz a conta simples e concluí que daria conta de duas câmeras mais o Kodi e ainda sobraria um pouquinho.
Só que o OpenElec carece de um monte de coisa necessária para instalar o zoneminder. Ele tem o mínimo necessário para rodar o Kodi e só. Afinal, foi otimizado para Media Centers e seria injusto reclamar disso. Pelo contrário, é um trabalho excelente. Mas não atende ao propósito e meu conhecimento de linux me fez crer que daria um trabalhão enorme colocar de volta tudo o que arrancaram dele.
Decidi então partir para uma distro mais completa e consegui o que queria usando o Debian para a Rasp 2, o raspbian.
Gravei-o num SD de 4Gb e no final de tudo ele estava com 3.7Gb ocupados. No meu caso, eu preferi mover os dados do Kodi, do zoneminder e do MySql para um pendrive, mas nada impede de se usar um cartão maior.
Quem preferir essa alternativa, basta ignorar os passos onde eu movo as coisas para o pendrive.
Para iniciar, precisaremos de:
- Uma placa Raspberry Pi 2 Model B V1.1 (acredite, precisa da placa mesmo);
- Um cartão micro SD de 4Gb ou maior;
- Um teclado USB;
- Um monitor ou TV com entrada HDMI;
- Um pendrive de 4Gb ou superior (opcional, leia o texto);
- Uma fonte de 5V - pode ser o carregador do celular com tomada micro USB;
- Um ponto de rede ethernet;
- Cabos para interligar tudo;
Estando tudo à mão e conectado, vamos lá:
I - Instalando o raspbian
1.1. Baixe o arquivo atual, procurando em https://www.raspberrypi.org/downloads/1.2. Extraia o zip e grave a imagem no cartão. Ao inserir o cartão, dê um dmesg no terminal para ver em que /dev ele está. No meu, ficou em /dev/sdb. Portanto, o comando para gravar o cartão é:
sudo dd if=nome-da-imagem.img of=/dev/sdb bs=4096
1.3. Dê um boot na Raspberry com o cartão. O debian deve iniciar normalmente. Após o primeiro boot, irá aparecer a configuração da raspberry. Selecione a opção que reajusta o tamanho das partições e reinicie o sistema.
A partir daqui, é tudo feito direto no terminal da raspberry. Se preferir, acesse-a via ssh a partir do seu computador. Os dados de login são:
username: pi
password: raspberry
II - Instalando o pendrive (opcional)
Rodando dmesg, o pendrive apareceu como /dev/sda. Veja como fica no seu caso e use o caminho nos comandos abaixo.2.1 - Formate o pendrive como ext4:
sudo mkfs.ext4 /dev/sda1
2.2 - Edite o arquivo fstab para monta-lo no boot e crie o caminho para ele:
sudo mkdir /mnt/pendrive
sudo nano /etc/fstab
No final do arquivo, acrescente a linha:
/dev/sda1 /mnt/pendrive ext4 defaults 0 1
Salve com CTRL-X e confirmando com Y.
2.3 - Monte o pendrive usando o comando
sudo mount -a
E confirme se está ok.
III - Instalando e configurando o Zoneminder
3.1 - No terminal, instale o zoneminder:
sudo apt-get update
sudo apt-get install zoneminderSiga as instruções.
IV - Movendo os dados do MySql para o pendrive (opcional)
Siga os passos abaixo:
sudo /etc/init.d/mysql stop
sudo cd /var/lib/mysql
ls -l (para ver quais bases de dados existem)
sudo mkdir /mnt/pendrive/mysqldata
sudo chown -R mysql:mysql /mnt/pendrive/mysqldataImportante: Somente as bases de dados precisam ser copiadas para o novo local. Assim, temos o mysql e performance_schema. (Não tenho certeza se é necessário mover esse segundo, mas movi e está tudo OK...).
sudo cp -r mysql /mnt/pendrive/mysqldata
sudo cp -r performance_schema /mnt/pendrive/mysqldata
sudo chown -R mysql:mysql /mnt/pendrive/mysqldata/*Em /etc/mysql/my.cnf, apenas a linha 'datadir' precisa ser alterada:
sudo nano /etc/mysql/my.cnfaltere a linha:
datadir = /mnt/pendrive/mysqldataSalve e feche (Ctrl+X e Y).
sudo /etc/init.d/mysql start
V - Colocando o site do zoneminder no apache:
sudo ln -s /etc/zm/apache.conf /etc/apache2/conf.d/zoneminder.conf
sudo apache2ctl restart
VI - Movendo os caminhos de imagens e eventos do Zoneminder para o pendrive (opcional)
sudo mkdir /mnt/pendrive/zmdata
sudo mkdir /mnt/pendrive/zmdata/images
sudo mkdir /mnt/pendrive/zmdata/events
sudo cp -av /var/cache/zoneminder/images /mnt/pendrive/zmdata/images
sudo cp -av /var/cache/zoneminder/events /mnt/pendrive/zmdata/events
sudo chown www-data:www-data /mnt/pendrive/zmdata/*
editar fstab
sudo nano /etc/fstabE inserir no final:
/mnt/pendrive/zmdata/images /var/cache/zoneminder/images none defaults,bind 0 2
/mnt/pendrive/zmdata/events /var/cache/zoneminder/events none defaults,bind 0 2
VII - Instalando o Cambozola
O Zoneminder precisa desse plugin jvaa para mostrar os feeds das câmeras. Quando baixei, a versão era 0.936. Se for outra, não esqueça de alterar a última linha.sudo sucd /usr/srcwget http://www.charliemouse.com:8080/code/cambozola/cambozola-latest.tar.gz
tar -xzf cambozola-latest.tar.gzcp cambozola-0.936/dist/cambozola.jar /usr/share/zoneminder/
exit
VIII - Renicie o sistema
sudo reboot
Neste ponto, o zoneminder deve iniciar automaticamente. Pode-se abrir a janela dele pelo navegador no endereço IP-da-raspberry/zm
A configuração do zoneminder, como adicionar câmeras e configura-las está fora do escopo deste post. Leia o manual do zoneminder!!!!! Em casa, duas câmeras IP com frame rate de 12 fps ocupa menos de 60% da CPU da Rasp.
IX - Instalando o Kodi
9.1 - No terminal, baixe e instale o Kodi:
sudo apt-get install kodi
9.2 - Para iniciar o kodi automaticamente, troque todo o conteúdo do arquivo de inicialização do kodi:
sudo nano /etc/init.d/kodi
apague todas as linhas e cole o texto abaixo:
#! /bin/sh
### BEGIN INIT INFO
# Provides: kodi
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts instance of Kodi
# Description: starts instance of Kodi using start-stop-daemon and xinit
### END INIT INFO
############### EDIT ME ##################
# path to xinit exec
DAEMON=/usr/bin/xinit
# startup args
DAEMON_OPTS=" /usr/bin/kodi-standalone -- :0"
# script name
NAME=kodi
# app name
DESC=Kodi
# user
RUN_AS=pi
# Path of the PID file
PID_FILE=/var/run/kodi.pid
############### END EDIT ME ##################
test -x $DAEMON || exit 0
set -e
case "$1" in
start)
echo "Starting $DESC"
start-stop-daemon --start -c $RUN_AS --background --pidfile $PID_FILE --make-pidfile --exec $DAEMON -- $DAEMON_OPTS
;;
stop)
echo "Stopping $DESC"
start-stop-daemon --stop --pidfile $PID_FILE
;;
restart|force-reload)
echo "Restarting $DESC"
start-stop-daemon --stop --pidfile $PID_FILE
sleep 5
start-stop-daemon --start -c $RUN_AS --background --pidfile $PID_FILE --make-pidfile --exec $DAEMON -- $DAEMON_OPTS
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0
9.3 - Teste se está Ok chamando:
sudo /etc/init.d/kodi start
Se falhar, pode ser que precise habilitar o X para todos, chame:
sudo dpkg-reconfigure x11-common
e escolha "anybody".
estando ok, feche o Kodi e salve a inicialização:
sudo /etc/init.d/kodi stop
update-rc.d kodi defaults
X - movendo dados do kodi para o pendrive (opcional)
Crie uma pasta no pendrive para o kodi e mova tudo o que está nela:sudo mkdir /mnt/pendrive/kodidata
sudo cp -av /home/kodi/.kodi/userdata /mnt/pendrive/kodidata
Depois, edite o fstab para montar o caminho na inicialização:
sudo nano /etc/fstabInclua no final:
/mnt/pendrive/kodidata /home/kodi/.kodi/userdata none defaults,bind 0 2
XI - habilitando o servidor web do Kodi.
Se você quiser controlar o Kodi via http (usando o browser ou os aplicativos para smartphones, é preciso habilitar o acesso ao Kodi via web.
No Kodi, vá em Settings → Services → Webserver → Allow control of Kodi via HTTP. Altere a porta para 8080, pois a porta 80 está em uso pelo Apache onde está rodando o zoneminder).
Aqui também, a configuração do Kodi está fora do escopo deste post. Leia o manual!!!!!
Pronto!!!
Agora, basta reiniciar tudo e ver se está OK.
gostei da ideia!! mas pode postar fotos de como ficou a montagem?
ResponderExcluirBom dia Luiz!Partindo deste principio, é posssível editar, reinstalar ou instalar esse sistema no aparelho de DVR mesmo?Quero dizer, eu pegar um dvr e editar o S.O embarcado do mesmo?Desculpe minha ignorancia, é que quero estudar sistemas embarcados.Sucesso pra vc!
ResponderExcluir