You are currently browsing the archives for the Em curso category


Usar uma Trust Mini Webcam WB-1200p como camera do Raspberry Pi

Trust WB 1200P webcam

Trust WB 1200P webcam

A Trus Mini WebCam era uma câmera portátil vendida há muito, muito tempo. Dava para capturar uns incríveis e espetaculares 352 x 288 pixeis.

Hoje há câmeras com muito mais capacidades que esta pequena câmera. Isso não significa que não possa ser aproveitada, nem que seja para umas experiências com o Homebridge.

Ter uma câmera dentro de casa permite criar um sistema de alarme com base na alteração do que a câmera capta. O resultado para mim foi passar a ver a última imagem capturada em caso de movimento e ter acesso ao vídeo do período do evento.

IMG_6385.jpg

Se têm um Homebridge no vosso Raspberry Pi, uma câmera e um iPhone, podem ter estas funcionalidades. Para isso terão de instalar e configurar o seguinte software:

Cada um destes componentes serve um propósito:

  • O Motion é um servidor de deteção de movimento com base em camêras compatíveis com Video for Linux (V4L2);
  • O v4l-util é o conjunto de utilitários que permite ao sistema utilizar câmeras e outros equipamentos de vídeo;
  • O Homebridge-Camera-motion é o módulo do Homebridge que permite configurar uma localização de um ficheiro especial de *nix e da última imagem capturada;
  • O fswebcam é um utilitário que permite testar a câmera.

A instalação dos componentes com através de um comando é trivial. Mais complicado é a configuração e os vários problemas que encontrei por ter um equipamento pouco recente e  algo instável.

Um dos problemas que encontrei foi quando a câmera falha, o device da câmera mudava de /dev/video0 para /dev/video1. Mesmo com regras em /etc/udev que criam um link simbólico de /dev/videoSpaceCam para /dev/video? .

Para combater isto, tive de criar um cão de guarda algo rudimentar que verifica qual o device no link simbólico e recria o link simbólico se não tiver vídeo no nome.

#!/bin/bash
SPACECAMDEV=$(ls -l /dev/videoSpaceCam | sed ‘s/.*> //’);

if [[ $SPACECAMDEV == *”video”* ]];
then
echo “SPACECAMDEV OK”
else
echo -e “$SPACECAMDEV NOK \n$(ls -la /dev/video*)”
DEVID=$(ls /dev/video? | sed ‘s/\/dev\/video//’)
rm /dev/videoSpaceCam;
ln -s /dev/video$DEVID /dev/videoSpaceCam;
fi

O script é depois chamado a cada minuto depois de configurado com o crontab.

Outro problema encontrado foi que a captura de imagem da câmera revertia sempre para um tamanho ainda mais pequeno que os incríveis e espetaculares 352 x 288 pixeis.

Para isso foi necessário configurar corretamente o motion para capturar na capacidade máxima da câmera. Isso é feito no motion.conf alterando o valor da variável v4l2_palette.

Para saber isso e outras coisas utilizei o comando v4l2-ctl:

v4l2-ctl –list-formats-ext — identificação do formato a configurar na variável v4l2_palette

v4l2-ctl –list-ctrls — lista de controles da câmera

Por último, para mostrar a imagem do último evento no iPhone, foi necessário criar um segundo cão de guarda.

O script procura a última imagem no diretório onde os eventos detetados são guardados e copia-a para o nome laspsnap.jpg para ser mostrado no iPhone.

#!/bin/bash
find /media/Media/Motion/ -maxdepth 1 -type f -name “*.jpg” -print0 | xargs -0r ls -tr  | tail -1 > lastjpeg
LASTJPEG=$(cat lastjpeg)
cp -f $LASTJPEG /media/Media/Motion/lastsnap.jpg

Guardo as imagens e filmes gerado pelo Motion num disco externo para evitar problemas de falta de espaço.

O Motion pode ser configurado para aceder remotamente a câmeras ip, o que facilita a configuração do sistema de controlo num sitio e de captura no outro.

Que ESP? Uma comparação de Espressif

ESP2866 placa programável com WiFi

ESP2866 placa programável com WiFi

Quando comprei o ESP8266 foi para me iniciar na criação de “coisas interligadas”. A primeira coisa que fiz foi uma espécie de “hello world” que mede a temperatura e a humidade.

Ultrapassados as primeiras dificuldades e concluída a aprendizagem, a construção de coisas interligadas está bastante facilitada por estes módulos. Só que o módulo é bastante volumoso porque têm muitos pontos de ligação e a parte de configuração tudo na mesma peça.

Existem módulos de volume mais reduzido, mas que podem não ter tudo o que precisamos. Por isso, fui à procura duma comparação entre estes módulos ESP8266, e encontrei. Esta página contém também uma comparação entre os módulos de desenvolvimento.

Adaptei a tabela de comparação sobre os módulos ESP8266 que podem encontrar no site.

ESP-01 ESP-12 ESP-201
ESP01v0 ESP-12 ESP-12
Pins GPIO 2 11 11

ADC (Analog-to-Digital Converter)

1 1
Antena PCB PCB Externa e PCB
Facilidade de utilizar numa Breadboard Media Boa
Tamanho Pequeno Médio Grande
Aplicação Standalone
ou como wifi shield para um Arduino
Standalone Standalone
Preço aproximado €2,00 €1,74 €3,31

O site tem também detalhes sobre os módulos de desenvolvimento, como o que veem na imagem acima, e a opinião do autor sobre cada módulo.

Encontrei também outra página, mas é uma comparação que vai para além dos módulos baseados em ESP8266, mas isso fica para outro dia.

ESP8266: um amigo para o RPi

ESP2866 placa programável com WiFi

ESP2866 placa programável com WiFi

O Espressif 8266(ESP8266) é uma placa programável com WiFi. Tal como o Raspberry Pi (RPi), mas com menos capacidade, dá-nos a liberdade de criarmos para nós coisas que a que dificilmente teríamos acesso por um preço tão baixo.

Aqui em casa vai servir para fazer tarefas que não posso por o RPi a fazer porque está agarrado à televisão a fazer de gestor de conteúdos multimédia ou Home Theater PC. O sensor de temperatura e humidade que tinha ligado ao RPi esteve a registar dados na sala, mas se quero dados de qualquer outro sitio, não posso andar a passear com isto tudo pela casa.

Como já sabemos, o RPi custa cerca de €35,00, enquanto o ESP8266 custa cerca de €5,00, na versão de desenvolvimento e menos que isso na versão definitiva. A diferença entre estas duas versões é a facilidade em programar e alimentar o ESP8266.

A versão de desenvolvimento tem uma porta USB que permite a programação sem mais nada para além de um cabo USB, enquanto a outra é mais pequena e a  programação depende da placa ser ligada através de outro equipamento.

O resultado prático é o mesmo que tinha já quando publiquei a informação sobre como ligar o HomeKit da Apple a equipamentos não certificados através do Homebridge. A diferença é que posso ter mais sensores por um preço muito baixo.

Apple TV, Homekit, Home App, Raspberry Pi e homebridge dá IoT

Works with apple HomeKit sticker

Works with apple HomeKit sticker

A Apple TV e o Home App no iPhone/iPad em conjunto trazem a possibilidade de termos um equipamento à imagem do Amazon Echo na nossa mão. O Amazon Echo era aquela torre que permitia o controlo por voz recorrendo ao Alexia da Amazon.

Com os equipamentos ligados através do HomeKit é possível configurar cenários e regras automáticas. Um cenário ou cena é uma configuração de todos os equipamentos para cumprir uma função, como por exemplo, baixar as luzes da sala quando vamos ver um filme. Já os automatismos podem recorrer a estes cenários ou fazer ações especificas como ligar equipamentos quando chegamos a casa ou desligá-los quando saímos de casa.

Apple HomeKit - Home layout

Apple HomeKit – Home layout

Podemos definir as divisórias da casa e os equipamentos que se encontram em cada divisória. Os serviços que cada equipamento presta aparecem depois junto com o equipamento.

A Apple TV funciona como o servidor central e faz a ligação da casa ao iPhone, quer estejamos em casa, quer estejamos noutro sitio qualquer.

Acontece que nos equipamentos que não estiver o autocolante a dizer que funciona com o Apple HomeKit, não há comunicação. Isto significa quase imediatamente que todos os equipamentos que tenham o autocolante serão mais caros.

Depois de alguma pesquisa na Web, decidi experimentar um mix de Raspberry Pi (RPi), iOS, TVos e outras coisas da Internet (IoT).

Ligado ao RPi tenho um sensor de humidade e temperatura. Para ter estes sensores a prestarem serviços através do HomeKit foi necessário instalar o Homebridge no RPi.

Instalar o node.js necessário para correr o Homebridge, ou mesmo os plugins do Homebridge, é bastante direto.

Configurar cada equipamento e serviço é feito à mão, editando o ficheiro de configuração do Homebridge. A configuração é feita através da edição do ficheiro de configuração em JavaScript Object Notation (JSON), uma forma de trocar dados muito em voga hoje em dia na web.

Home App no iPhone com sensores no Raspberry Pi mediados pelo Homebridge

Home App no iPhone com sensores no Raspberry Pi mediados pelo Homebridge

O resultado é poderem consultar os vossos sensores no iPhone/iPad em qualquer lugar e configurar condições baseadas nesses sensores.

 

Apple TV vs HTPC no Raspberry Pi 2

Apple TV

Apple TV

Comprei recentemente um Apple TV. A Apple TV é um pequeno computador que presta serviços multimédia para a nossa casa.

A Apple TV é a visão da Apple do que deve ser um Home Theater PC (HTPC), mas que, ao contrário do Raspberry Pi com o OSMC, é de longe um equipamento para não-especialistas.

A Apple TV custa cerca de mais €20,00 do que me custou o Raspberry Pi (RPi) e restantes peças para montar o meu HTPC no RPi, mas é muito mais fácil de utilizar e muito mais elegante que a quantidade de fios emaranhados que se tornou o meu RPi.

A Apple TV também não tem tantas opções. O seu potencial é infinitamente inferior ao do RPi por ser uma plataforma fechada, mas para começar a ver filmes e jogar uns joguinhos para jogadores casuais, foi só ligá-lo à televisão, inserir os dados da minha conta iCloud e começar a usar.

A Apple TV funciona como um iPhone/iPad ligado a uma televisão. Ao contrário do iPhone/iPad, o Apple TV lê alguns conteúdos que temos no computador sem necessidade de cabos. Para isso basta ter as App Photos e iTunes ligadas com partilha doméstica.

Nos próximos tempos vamos ter mais coisas aqui sobre a Apple TV e tudo o que é possível fazer com a caixinha preta para além de ver filmes.

Pintar um capacete

Capacete pintado

Capacete pintado

“Ah e tal, para pintar um capacete é fácil. É só lixar aqui e pintar ali…” Pois… é tudo facilidades. Mas a realidade é bastante diferente. Se alguém vos vier contar o conto com um final feliz, desconfiem.

Quando me propus pintar um capacete modular que tinha aqui em casa já sabia que me estava a meter em trabalhos. Tirar a tinta de borracha foi metade do trabalho.

Primeiro há que desmontar o capacete. Lembrem-se de onde tiraram as peças. Não façam como eu… Atirei tudo para uma caixa e depois foi como fazer um puzzle, mas na versão irritante.

Peças do capacete

Peças do capacete

O capacete para além de antigo, estava coberto de uma tinta borrachosa. Foram horas a esfregar para remover a cobertura.

Depois deste trabalho todo, há que pintar.

Para pintar, a solução foi criar uma espécie de estúdio de pintura móvel. Nas grandes superfícies de bricolage é possível comprar caixotes de cartão de tamanhos avantajados. Comprei o tamanho maior que tinham disponível e levei-o para a varanda de casa.

Não é propriamente um ambiente livre de poeiras, mas serviu para a experiência.

No caixote coloquei, através do cartão, um gancho improvisado com o arame que recuperei aqui em tempos. Este gancho serviu para ir pendurando as peças, com a capacidade de as rodar pelo lado de fora da caixa sem lhes tocar.

Depois de pintar várias camadas de tinta base, havia que colocar os autocolantes. Tenho uma Honda, por isso, fui até uma loja de equipamentos para motas e comprei uma folha de autocolantes da marca.

Depois de colocados os autocolantes, são aplicadas várias camadas de verniz.

Supostamente, no fina, teria um capacete como novo.

A minha fraca memória é que me fez esquecer da barulheira que este capacete fazia quando andava com ele. A quantidade de molas e peças móveis aumenta a dificuldade em insonorizá-lo e por isso, sim, tenho um capacete com uma pintura personalizada, mas garanto-vos que não vou passear com ele a mais de 50 Km/hora.