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.

Mac OS 7 no Raspberry Pi


Já fizemos de tudo com o Raspberry Pi.

A lista de coisas que podemos fazer com o RPi recebeu agora uma nova possibilidade: correr um sistema Mac num Raspberry Pi (RPi) 3.

O RPi3 já tem a capacidade de correr sistemas operativos a 64 bits, o que vai permitir mais coisas destas no futuro.

 

Preço do gasóleo e gasolina na estação onde abasteço

Variação do gasóleo e gasolina 95 simples na estação onde abasteço

Variação do gasóleo e gasolina 95 simples na estação onde abasteço

O custo com energia, em concreto com combustíveis, é algo que não temos como evitar nas nossas vidas. Este preço tem um peso significativo no nosso orçamento doméstico e por isso não pode deixar de ser controlado.

Por esta razão, temos feito aqui vários posts sobre o preço dos combustíveis e também sobre o preço da energia.

Para controlar a variação dos custos de combustível, mantenho os dados dos preços de abastecimento. Durante algum tempo, mantive mesmo um controlo apertado do preço do combustível e do consumo da mota.

As variações momentâneas podem não ter grande influência. A uma variação para baixo pode  corresponder uma variação logo a seguir para cima e vice-versa.

Atualmente controlo apenas o preço na rotunda aonde me vou abastecer. Esses dados estão desenhados no gráfico que ilustra este texto.

Observando os valores no gráfico, podemos ver que o preço do combustível tem vindo a descer ao longo do mês de março, apresentando uma subida extemporânea da gasolina 95 simples. Só posso conjeturar que seja para aproveitar a aproximação do fim de semana.

Vamos aguardar e controlar.

 

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.

Rotas de aviões

Como muita gente, sinto um grande fascínio pelos aviões. Gosto de ver o Flightradar24, dou atenção a preocupações de eficiência nos aviões e aeroportos, e de uma forma geral dou bastante atenção ao sector. Nunca quis todavia ser piloto, e as poucas tentativas que fiz há muito tempo nos primeiros simuladores de voo para PCs deram para ter a certeza que não deveria ter grande jeito para a coisa.

Ainda assim, o fascínio leva-me a descobrir alguns sites muito interessantes. Como é o caso do Flight Plan Database, onde podemos fazer de conta que somos pilotos… Basta inserir o aeroporto de partida e de destino, para obtermos uns mapas giros de como seria o trajecto, neste caso de Lisboa para Genebra:

Lisboa -> Genebra no Flight Plan Database

O mapa é criado com base nas condições conhecidas do momento. Ficamos com indicação dos waypoints a seguir, o perfil do voo em altitude, e condições meteorológicas pelo caminho. Escolhi Genebra de propósito, para ver como seria com as montanhas à volta, e não me enganei no propósito, como podem ver pelo gráfico da altitude…

Para além do interesse que possa ter em diversos aspectos, utilizo-o sobretudo para ver como são os trajectos nos voos em que vou voar, sabendo que se for à janela vou ter uma ideia mais clara por onde vamos passar…

Para verificar como são as projecções, nada como ir ao FlightRadar24 e ver o que aconteceu para um voo realizado no mesmo período em que fiz a simulação, ontem:

Lisboa -> Genebra no Flight Radar24

Como é possível ver, o trajecto é similar, mas condicionado neste caso pelos ventos, com impacto na direcção das pistas de descolagem e aterragem, e um trajecto ligeiramente mais a sul, especialmente perto da origem e destino. O perfil em termos de altitude também revela uma altitude superior:

Lisboa -> Genebra altitude/velocidade no Flight Radar24

Termómetro e Higrómetro IoT

IMG_6062

DST22 numa breadboard pronto a ligar a um ESP8266

O primeiro projeto a fazer com um Espressif 8266(ESP8266) é uma estação meteorológica com acesso remoto. É quase obrigatório. Está documentado extensivamente na Internet e podemos usar o conhecimento de outros projetos para melhorarmos o nosso.

Esta é uma pequena estação meteorológica que é um bom exemplo de um objeto da Internet da coisas (IoT). Aqui a ideia é usar o Raspberry Pi (RPi) como servidor central dos IoT cá de casa, mas aproveitando as facilidades do HomeKit da Apple.

iot_do_ferro

Rede IoT do Álvaro

No RPi estará a correr o Homebridge. Este é exposto à Internet aos outros equipamentos Apple através da Apple TV e protegido pelos meios que a Apple disponibiliza aos restantes equipamentos da marca.

Por sua vez, o Home no iPhone irá permitir ver os dados recolhidos pelos IoT feitos por mim e centralizados na Apple TV através do Homebridge. Ao mesmo tempo, o Home permitirá também configurar cenários e ações automáticas mediante condições escolhidas.