Quinta, 06 Julho 2017 10:44

Mostra Última Foto de Celular Android

Postado por
Avalie este item
(2 votos)
Selfie com plateia na peça "As Três Patetas em Chamas" Selfie com plateia na peça "As Três Patetas em Chamas"

Shell script de Bash e outras configurações para baixar e mostrar a última foto tirada num celular Android. O script está executado num computador e comunica com o Android através de WiFi.  Não é particularmente eficiente, devido ao fato que o Android não permite a execução de comandas no aparelho por meio de SSH. É necessário, então, baixar todas as fotos do diretório designado no cada ciclo de operação e também que um aplicativo de servidor SSH seja executado no Android e que o Android seja configurado como um hub WiFi. Exige ainda que o Android tenha uma cópia de uma chave pública RSA ou DSA SSH. É melhor que o telefone esteja configurado para tirar fotos de baixa resolução e que a pessoa que tira fotos exclui periodicamente todas as fotos no diretório selecionado para manter o rapidez do sistema.

O sistema foi usado numa performance teatral da peça "As Três Patetas em Chamas" (adaptação das "Três Irmãs" de Chekhov) no Departamento de Artes Cênicas, Universidade de Brasília, julho de 2017, dirigida por Simone Reis. Imagens tiradas pelos atores foram projetadas em tempo real (com pequeno atraso).

O script:

 #!/bin/bash

# Dados do celular
remote_dir=/storage/extSdCard/DCIM/Camera  
port=57846 
dst=usuáEste endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo..1   # nome do usuário no servidor de SSH e o endereço IP do celular. Todos os Androids que testei tinha esse mesmo IP

# diretório local no computador para baixar as fotos
cd /home/username/projects/3patetas

#cria uma imagem inicial no diretório local. No meu caso, criei uma imagem preto chamada black.jpg
cp black.jpg image.jpg  

#atualiza a imagem mais recente, cada segundo, com a utilidade "feh"
feh -F --reload 1 image.jpg&

# busca imagens cada 2 segundos (deveria ser menos frequente) e nomea a foto mais recente com "image.jpg"
while true; do
    scp -P $port -oHostKeyAlgorithms=+ssh-dss $dst:$remote_dir/* /home/iain/projects/3patetas
    sleep 2
    [ -f "2" ] && rm 2 # remove strange file downloaded from mobile
    cp `ls -t /home/username/projects/3patetas | head -1` /home/username/projects/3patetas/image.jpg
    # In the following line -t for timeout, -N for just 1 character
    read -t 0.25 -N 1 input
    if [[ $input = "q" ]] || [[ $input = "Q" ]]; then
        # The following line is for the prompt to appear on a new line.
        echo
        break 
    fi
done

exit 0

How to use:

1. On the computer, make sure you have SSH and "feh" installed (and anything else required in the script not installed by default).
2. On the Android, install an SSH server app. I chose "SSH Server" and it works well.
3. On the computer, create an RSA key pair and email or transfer a copy of the public key to your phone.
4. On the phone, save the RSA public key to a known location and also discover to which directory the phone saves its photos.
5. In SSH Server, create a new server, give it a name an allocate a port number (or note the port number automatically allocated)
6. Click the "user" tab in SSH Server and create a new user, giving the user a name. 
7. Deselect "enable password" and select "enable public key" then browse to find the key previously stored in step 4.
8. Leave the SSH Server app, saving your settings.
9. Still on the Android, turn WiFi off and set up your phone as an active WiFi router, WiFi Hotspot or whatever.
10. On your computer, connect to the Android's WiFi.
11. Edit the script changing the remote_dir, port, username, local download directory and anything else that needs changing.
      Also edit the name of your start up image, if not "black.jpg" (create this image too, and place it in the local download directory).
12. Mark script as executable and run it.
13. Debug.
14. Use "q" as your escape character.

Lido 3103 vezes Última modificação em Quinta, 06 Julho 2017 11:48

Artigos Novos e Notícias