Há um entendimento de que uma câmera de vídeo, acessível e funcionalmente descomplicada, ajudará a resolver alguns problemas dos motoristas e residentes de verão.
O artigo não abordará o lado ético da questão de um produto DIY (faça você mesmo) e quem vai precisar mais dele - infratores ou cidadãos cumpridores da lei. Em vez disso, sugere-se que se concentre no lado técnico da solução, o que certamente será interessante nas situações apresentadas no título do artigo.
Então, o que vai fazer a câmera, que se propõe a ser montada com base orçamentária, e não mergulhar nos aspectos técnicos da questão.
O algoritmo de trabalho é o seguinte. Depois de ligada, a câmera "pega a conexão" através de um modem usb 3G, se conecta à VPN, monitora a imagem e, ao aparecer movimento nela, tira uma foto e, ao mesmo tempo, envia a foto para o dono canal de telegrama. Das opções - a capacidade de gravar lapso de tempo, vídeo e ... a capacidade de "balançar a cabeça" remotamente, ou seja, controlar a câmera e ver "o que é o quê". Não há redes neurais aqui, tudo é muito simples.
Isso vai funcionar?
Talvez sim, uma vez que 1-3 minutos devem ser suficientes para chegar ao carro e pagar apenas a multa com satisfação; veja quem está roubando morangos do jardim e até vire a câmera remotamente em sua direção. Mesmo que pessoas desconhecidas retirem a câmera ou a manchem, uma foto permanecerá no telegrama como uma lembrança.
Para conhecedores mais exigentes de tudo que se move, a detecção de movimento pode ser "tornada áspera" para que os suspiros das árvores e o voo de uma mariposa não sejam registrados.
link da imagem original A
interface RPi-web é usada como software.
Em geral, o projeto irá repetir parcialmente o meu projeto semelhante, anteriormente descrito no post aqui .
As diferenças e adições são as seguintes:
- comunicação com um canal de telegrama (envio de uma foto para o canal),
- Conexão 3G simultaneamente com a presença de wi-fi,
- feedback com a câmera via vpn,
- outras mudanças nas configurações.
Um pouco de história de fundo chata
Durante o desenvolvimento do protótipo, várias questões surgiram agudamente:
- como criar feedback com uma câmera que tem um endereço IP dinâmico "cinza",
- como ligá-lo, quais baterias são necessárias para durar pelo menos algumas horas,
- como controlar a câmera, já que constantemente escolhendo o ângulo da instalação sem a possibilidade de corrigi-lo no futuro, a lição não é muito interessante.
A primeira implementação da câmera em termos de software tinha abundância de muletas.
Inicialmente, tudo foi montado em um raspberry pi 3b com uma câmera não nativa (usb, não csi). O Skype foi usado como um "feedback". Para se comunicar com a câmera, era preciso ... ligar.
Via Skype. O Skype tinha função de atendimento automático, “depois de atender o telefone”, foi estabelecido um canal de videocomunicação e dava para ver o que a câmera via. É simples.
E tudo funcionou assustador em termos de velocidade, o som era nojento e assim por diante. Então o skype parou de atualizar os pacotes do framboesa. Foi feita uma tentativa de estender a vida útil deste produto usando um desktop exagear, que emulava o win e permitia que aplicativos como icq, viber, teamspeak fossem instalados. Mas tudo isso funcionou de forma extremamente lenta e ineficaz. Em seguida, o exagear desktop, que também era com uma licença paga (graças a Deus, um pagamento único), foi descontinuado e o suporte foi descontinuado.
Em termos de nutrição, nem tudo era totalmente simples. Raspberry pi 3b amava e adora comer, e bancos de energia eram necessários em abundância. Houve tentativas de fornecer energia a partir de painéis solares, mas imediatamente ficou claro que essa opção não funcionaria.
Vamos passar para a implementação atual, que também não é isenta de pecados, mas cumpre suas funções de maneira bastante tolerável.
A base da filmadora
Como base, da qual avançaremos ao criar uma câmera, haverá o mesmo pi framboesa, apenas o modelo zero w (com suporte wi-fi).
Nossos componentes são os seguintes:
- framboesa pi zero w - 1,8 a rublos;
- câmera com um loop - 500 rublos.
- servo drives sg-90 - 2 pcs. - 200 rublos.
- suspensão de plástico - 100 rublos.
- fonte de alimentação - 1000 rublos;
- cartão SD para 8 ou melhor para 16 GB - 1000 rublos;
- Modem 3G Huawei E171 - esfregar 2k.
- cartão SIM com um pacote de serviços de Internet, por exemplo, de mts - 500 rublos.
- adaptador de mini-usb para usb para conectar um modem usb 3g - 200 rublos.
- a caixa em que o pi de framboesa foi enviado é gratuita.
Total: 7300 rublos.
O diagrama de conexão com os servos de suspensão da câmera é o mesmo usado anteriormente.
Vá para as configurações
Não vamos muito longe da imagem com a interface Rpi-web pré-instalada, servoblaster, dada no artigo publicado anteriormente - um link para a imagem . Precisará ser um pouco complementado.
A primeira coisa que configuraremos é um modem 3g.
Sua configuração após a conexão com o raspberry repete em grande parte os passos do artigo aqui publicado .
Mas o artigo contém muitas etapas desnecessárias para se ter uma ideia do modem, por assim dizer. Portanto, você pode começar a configurar com segurança com a etapa "RECONECTAR QUANDO SOLTAR" e não realizar todas as anteriores:
$ mkdir ~/3g
$ cd ~/3g
$ wget http://zool33.uni-graz.at/petz/umtskeeper/src/umtskeeper.tar.gz
$ tar -xzvf umtskeeper.tar.gz
$ chmod +x umtskeeper
$ ./umtskeeper --sakisoperators "USBINTERFACE='0' OTHER='USBMODEM' USBMODEM='12d1:1506' APN='CUSTOM_APN' CUSTOM_APN='internet.mts.ru' APN_USER='mts' APN_PASS='mts'" --sakisswitches "--sudo --console" --devicename 'Huawei' --log --nat 'no'
$ sudo nano /etc/rc.local
/home/pi/3g/umtskeeper --sakisoperators "USBINTERFACE='0' OTHER='USBMODEM' USBMODEM='12d1:1506' APN='CUSTOM_APN' CUSTOM_APN='internet.mts.ru' APN_USER='mts' APN_PASS='mts'" --sakisswitches "--sudo --console" --devicename 'Huawei' --log --silent --nat 'no' &
* 12d1: 1506 - mude para o seu próprio, que pode ser encontrado em lsusb.
** se o modem não iniciar, adicione sudo no início do comando.
Após configurar o modem e editar /etc/rc.local, haverá um pequeno bug, por assim dizer. Apesar do rc.local iniciar todos os scripts especificados nele na inicialização, o umtskeeper é iniciado muito lentamente. E a inicialização do modem pode levar de 1 a 3 minutos, o que pode ser crítico em algumas situações. Como lidar com isso ainda não está claro.
Agora vamos configurar o envio de mensagens para o canal de telegramas com pi de framboesa.
Precisaremos do seguinte artigo .
Aqui, podem surgir dificuldades para configurar um bot em telegrama, caso não haja experiência de criá-lo através do Poderoso Chefão, bem como obter um token e API, que devem estar refletidos no script:
#Telegram details
tokenurl="https://api.telegram.org/bot<your API key>"
chatid="<your chat id>"
No entanto, após a configuração, a funcionalidade funcionará como um relógio:
foto
Configurando os parâmetros da câmera
Por padrão, na interface Rpi-web, quando você ativa o monitoramento de movimento, a câmera primeiro tira um instantâneo e depois começa a gravar o streaming de vídeo. Está escrito sobre isso aqui . P - É possível gravar imagens estáticas usando a interface RPi Cam Web na detecção de movimento?
Por um lado, é conveniente, tirei algumas fotos, enviei em telegrama e depois gravo um vídeo. Mas, na prática, isso leva a um congelamento, uma vez que a gravação está acontecendo enquanto há movimento no quadro, e apenas as primeiras imagens entram nos telegramas.
Portanto, as configurações da câmera devem ser alteradas da seguinte forma:
Em vez de ca 1 e ca 0, escreva apenas im.
Agora quase todas as fotos chegarão em telegrama.
Configurando um
link VPN para a imagem original
Houve algumas reflexões sobre várias opções.
A primeira e mais simples é comprar um ip "branco" (estático) e acessar a câmera sem problemas desnecessários. Anteriormente, isso era possível com alguns operadores. Mas agora essa opção não está disponível para um indivíduo para a Internet móvel. Emitir um empresário individual ou comprar uma empresa falsa apenas por causa disso não é uma opção.
Segundoopção - inverter ssh-, vpn- túnel. Ou seja, um túnel é criado do raspberry pi para o próprio servidor VPN existente. Neste caso, o servidor VPN deve ter um ip branco para que o raspberry pi o alcance. Não é uma opção ruim, mas aqui você precisa comprar esse ip branco, encaminhar a porta no roteador atrás do qual está o servidor, resolver o problema com queda de vpn. Fácil, mas problemático.
O terceiro (foi decidido parar por aí) é o serviço vpn, em particular vpnki .
O site oferece um período gratuito de 14 dias, então os túneis VPN são bloqueados se você não comprar um pacote de serviço pago:
As tarifas em si não afetame instruções detalhadas irão guiá-lo pela maneira fácil de configurar túneis. Você precisará de pelo menos dois deles - um para o framboesa pi, o segundo para o dispositivo a partir do qual haverá acesso (por exemplo, um telefone Android). No nosso caso, esta opção de configuração foi usada para o raspberry pi .
E aqui outra armadilha desagradável aguarda, novamente associada a rc.local.
Resumindo, o modem e o vpn estão competindo pela conexão ppp0 e, como resultado, é ocupado por aquele que inicializa mais rápido. A questão é descrita com mais detalhes aqui .
Sair - não inicie o vpn até que o modem inicie (não estabelece uma conexão ppp). Em seguida, aumente manualmente o vpn por meio do comando -
sudo pon vpnki updetach
Novamente, o problema com a queda do vpn não será resolvido aqui. * O modem (umtskeeper) restaura sua conexão em caso de queda e as mensagens em telegramas virão de qualquer maneira, mas o VPN não ganha vida. Portanto, a opção "balance a cabeça" pode ser um pouco fraca se a conexão do pi do raspberry for ruim.
Isso é tudo. Ainda há ideias para adicionar informações sobre o equilíbrio de mts e vpn à interface da web.
Dúvidas e sugestões são bem-vindas.