NPDD/Baobáxia/Redes Autônomas (Felipe Fonseca e Vincenzo Tozzi-Brasil)

(Diferença entre revisões)
Ir para: navegação, pesquisa
(Tv Multicast)
(Criando um repositorio git-annex para a Nuvem)
Linha 107: Linha 107:
 
Imagine abir um terminal e criar uma pasta onde vai ter todos os video
 
Imagine abir um terminal e criar uma pasta onde vai ter todos os video
 
da Nuvem:
 
da Nuvem:
  mkdir -p repositorio_gitannex_nuvem/videos/
+
  mkdir /home/nuvem/nuvem/
 +
 
  
 
Vou agora transformar essa pasta em um repositorio git-annex:
 
Vou agora transformar essa pasta em um repositorio git-annex:
  cd repositorio_gitannex_nuvem/
+
  cd /home/nuvem/nuvem/
 
  git init .
 
  git init .
 
  git annex init nuboteca
 
  git annex init nuboteca
  
'nuboteca' é o nome do computador da nuboteca para poder identificar facilmente
+
'nuboteca' é o nome do computador da Nuboteca para poder identificar facilmente
 
depois no mapa dos clones..
 
depois no mapa dos clones..
  
Depois coloco o meu video na pasta:
+
Depois coloco o meu video na pasta de videos:
 +
mkdir videos
 
  cp /algum/lugar/OrquestraTaina.ogg videos/
 
  cp /algum/lugar/OrquestraTaina.ogg videos/
  
Linha 124: Linha 126:
 
  git annex add OrquestraTaina.ogg
 
  git annex add OrquestraTaina.ogg
  
E depois falo pro git-annex atualizar os outros clones:
+
E depois falo pro git-annex atualizar a situação:
 
  git annex sync
 
  git annex sync
  
 
Feito isso, nos outros clones (que poderiam ser em servidores em outras
 
Feito isso, nos outros clones (que poderiam ser em servidores em outras
comunidades/pontos), se for listar o conteúdo da pasta
+
comunidades/pontos), pode exectuar o mesmo comando
repositorio_gitannex_nuvem/videos/, vai aparecer o OrquestraTaina.ogg,
+
git annex sync
 +
 
 +
e se for listar o conteúdo da pasta
 +
/home/nuvem/nuvem/videos/, vai aparecer o OrquestraTaina.ogg,
 
que na real é só um link simbólico.
 
que na real é só um link simbólico.
  
Linha 135: Linha 140:
 
  git annex get OrquestraTaina.ogg
 
  git annex get OrquestraTaina.ogg
  
Isso permite sincronizar rapidamente tendo a referencia dos arquivos e
+
Isso permite sincronizar rapidamente as referencias aos arquivos e
 
baixar e enviar seletivamente só o que realmente é necessário.
 
baixar e enviar seletivamente só o que realmente é necessário.
  

Edição das 00h36min de 4 de novembro de 2012

Conteúdo

Resumo

O projeto trata do desenvolvimento protótipos para a criação de redes autônomas, que possibilitem a troca de conteúdos digitais em áreas isoladas ou com pouca conectividade. Está articulado nos eixos hardware, software, acesso e conteúdo. Relaciona-se com projetos correntes dos autores (ZASF e Rede Mocambos).



Núcleo Filosofico/Pedagogico/Metodologico

Día 1

1 - Analise da Nuboteca

Primero miramos cómo está actualmente organizada la nuboteca.

2 - Classificação/Indice

Discutimos sobre cuál debía ser el método de clasificación: (por contenido? por formato?). Se planteó la idea de que esto dependía del tipo de usuario que fuera a hacer uso del acervo, si pensábamos en un usuario común que accediera a una biblioteca de contenidos generales o bien a usuarios ligados por unos intereses compartidos (por ejemplo, software libre, arte y tecnología, etc.) que constituyen una comunidad de prácticas e intereses.

3 - Comunidade/Publico

Se llegó a la conclusión de que la nuboteca está dirigida a un público genérico, ya que el material relacionado con los proyectos de Interactivos está recogido en el wiki.

4 - Criterios

Decidimos entonces aplicar un criterio más genérico (en base al formato) para la clasificación en el nivel más alto, para ir luego especificando (en base al tema) en los siguientes niveles.

5 - Proposta de Estrutura

Definimos la siguiente estructura de contenidos:

  • Video
    • Peliculas
      • Ficción
      • Documental
      • Infantil
      • Musical
  • Audio
    • Música
    • Entrevistas/Charlas/Presentaciones
  • Texto
    • Tutoriales/Manuales
    • Ensayo
    • Ficción
  • Imágenes
NOTA: En todas las categorías, se incluye una carpeta de 'Otros' para material que no tenga cabida en las carpetas existentes. Periódicamente esa carpeta se revisa y se decide si crear o no una nueva carpeta en función del contenido que haya.
Duda: ¿Es necesario incluir una carpeta de 'Recursos' donde meter material como software, código, mapas, fuentes, etc.?

Dia 2

Proposta de interface da nuboteca

Interfacenuboteca.png


Núcleo de Pesquisa e Desenvolvimento Digital

Dia 1

Instalando o Raspberry-Pi

Para instalar baixar a imagem do site do Raspberry ou uma Debian testing (arquitetura armhf)

Para gravar a imagem no cartão ligado no device sdb

dd bs=4M if=nomedaimagem.img of=/dev/sdb

Link:

WTF: Instalação da rede interna para o Interactivos

Os access point que o Capo passou, tem uma opção de funcionar ao mesmo tempo como cliente de outro access point e access point mesmo (AP Client Router). Essa funcionalidade deve ser muito cheia de bug porque a rede caía o tempo todo.

Os access point são da marca TP-LINK, modelo TL-WR743ND.

Topografia da rede

O que conseguimos montar e que ta razoavelmente estavel.


Portal na entrada                      Varanda em                          Salao da Casa     
da casa                                baixo do telhado                                     Varanda/Mesa             Espalhados ;)

{Internet}                 {192.168.1.x}                             {192.168.10.x}                                 {192.168.100.x}
    |                _______________________                       ________________                           
    |               |                       |                     |                |         
  ((3g))        ((wifi))                 ((wifi))              ((wifi))          ((wifi))                                
    [ Router - Nuvem ]                      [ Router - NuvemNuvem ]         [ Servidor - Nuboteca ]              [ Laptop ]    [ Laptop ]
    [  192.168.1.1   ]                      [     192.168.10.1    ]         [    192.168.10.10    ]               ((wifi))      ((wifi))
                                                               <<cabo>>                                               |            |
                                                                  |_________________                            ______|_____ ______|____ __...
                                                                                    |                          |            |           |
                                                                                <<cabo>>                    ((wifi))        |           |
                                                                                    [ Router - NuvemNuvemNuvem ]         ((wifi))     ((wifi))
                                                                                    [      192.168.100.1       ]        [ Laptop ]   [ Rasp-Pi ]

    

Dia 2

Criando um repositorio git-annex para a Nuvem

Basicamente um repositório git-annex é uma pasta de arquivos que pode ser clonada em vários lugares/computadores facilitando manter as copias/clones sincronizados e mapeados..

Entao no linux, vamos fazer algumas operações na linha de comando/terminal.

Imagine abir um terminal e criar uma pasta onde vai ter todos os video da Nuvem:

mkdir /home/nuvem/nuvem/


Vou agora transformar essa pasta em um repositorio git-annex:

cd /home/nuvem/nuvem/
git init .
git annex init nuboteca

'nuboteca' é o nome do computador da Nuboteca para poder identificar facilmente depois no mapa dos clones..

Depois coloco o meu video na pasta de videos:

mkdir videos
cp /algum/lugar/OrquestraTaina.ogg videos/

Peço pro git-annex tomar conta do video:

cd videos/
git annex add OrquestraTaina.ogg

E depois falo pro git-annex atualizar a situação:

git annex sync

Feito isso, nos outros clones (que poderiam ser em servidores em outras comunidades/pontos), pode exectuar o mesmo comando

git annex sync

e se for listar o conteúdo da pasta /home/nuvem/nuvem/videos/, vai aparecer o OrquestraTaina.ogg, que na real é só um link simbólico.

Para pegar o conteúdo do arquivo OrquestraTaina.ogg precisa pedir assim:

git annex get OrquestraTaina.ogg

Isso permite sincronizar rapidamente as referencias aos arquivos e baixar e enviar seletivamente só o que realmente é necessário.

E tem outras coisas bacanas.. se quiser saber onde tem mais copias do video é só pedir:

git annex whereis OrquestraTaina.ogg

Ele vai mostrar a lista dos clones do repositório que mantêm copia do video..

Copiando/Clonando um repositorio

Uma vez criado nosso repositorio podemos clonar atraves de varios meios por exemplo:

  • Localmente
    • pasta - git clone /home/usuario/repositorio
    • pendrive - git clone /media/pendrive/repositorio
  • Remotamente
    • ssh - git clone ssh://usuario@endereço/home/usuario/repositorio

Se quiser entao clonar o repositorio da nuvem na minha maquina via ssh, no terminal:

git clone ssh://nuvem@192.168.10.10/home/nuvem/nuvem

Vai criar uma pasta no lugar onde vc executou o comando com toda a arvore muito rapidamente, mas sem os conteudos.

Depois precisa incializar localmente o repositorio:

cd nuvem
git annex init AlgumNomeParaIdentificarOSeuComputador
git annex sync

Pronto.. seu repositorio ta ligado!

Tv Multicast

Um experimento de streaming multicast com vlc:

cvlc /home/nuvem/nuvem/ultimos_videos/*.ogg --sout '#transcode{vcodec=mp2v,vb=0,scale=0,acodec=mpga,ab=128,channels=2,samplerate=44100}:std{access=udp{ttl=1},mux=ts,dst=239.239.239.239:1234}' --sout-keep

Se tiver uma pasta "ultimos_videos", por exemplo, para fazer uma televisão local multicast so precisa dar o comando acima...

Dia 3

Conteúdos importantes que tem que ser compartilhados/baixados sempre

Quando voce clona um repositorio git-annex, tem rapidamente uma copia de toda a arvore de pastas e arquivos.. mas so os links simbolicos. Se quiser, por exemplo, baixar sempre o conteudo da pasta /nuvem/importantes pode usar a seguinte configuração para baixar o que contem sempre que clonar/sincronizar. Colocar no arquivo: .git/hooks/post-checkout

#!/bin/sh
# Uses git-annex to get all files in the specified directories
# (relative to the top of the repository) on checkout.
dirs=importantes
top="$(git rev-parse --show-toplevel)"
for dir in "$dirs"; do git annex get $top/$dir"; done
Ferramentas pessoais
Espaços nominais
Variantes
Ações
Navegação
Ferramentas
Rede Mocambos