Forum: Manutenção Terminada

Olá a todos!

Informo que a manutenção do forum, foi concluída com sucesso.

O problema com login/logout está resolvido.

Qualquer problema reportem p.f. para [email protected]

Obrigado.


0 Comments:

Fórum em manutenção

Olá a todos,

Serve esta mensagem apenas para vos informar que o nosso fórum irá entrar em manutenção de forma a serem solucionados os problemas actuais com o login.

Esperemos que seja breve.


0 Comments:

XBMC: Addon BeachcamsPT

Olá a todos,

Os tutoriais que escrevi de iniciação ao desenvolvimento de plugins para o XBMC começaram a dar frutos. Está desde hoje disponível o addon BeachCamsPT desenvolvido pelo massivePT (utilizador makelele no fórum).
Pelo facto de ser bodyboarder e gostar de tudo o que tem a ver com o mar, o massivePT desenvolveu o seu primeiro addon. Com este addon podem aceder a câmeras nacionais para observação de ondas bem como alguns vídeos de surf e bodyboard. Podem ver como está o mar no ecrã da vossa televisão antes de decidirem sair para uma determinada praia com o objectivo de praticarem bodyboard, surf ou outro desporto dependente do estado do mar.

Seria positivo que no futuro mais algumas informações referentes aos vários locais também fossem incluídas. Como por exemplo, a cor da bandeira na praia em questão. Assim não só os desportistas poderiam tirar o máximo proveito do addon mas também...os preguiçosos que querem ficar estendidos na toalha :)

O repositório de instalação do addon pode ser obtido no repositório aqui da casa na secção "Essenciais-PT".
O suporte será dado no fórum no tópico: http://forum.aminhacasadigital.com/viewtopic.php?f=2&t=433

Obrigado ao massivePT. Esperamos por mais desenvolvimentos e por mais addons. Só custa o primeiro :)

Screenshots:

0 Comments:

LPH: Instalar Transmission - Cliente de Torrent

Olá a todos!

Hoje deu-me para criar um novo tema: LPH, ou seja, Linux para Humanos! Sim, porque acho que o sistema operativo é tão completo, complexo e vasto que para o dominar temos que ter capacidades fora do normal, ou então trabalhar com a linha de comando todos os dias, e como sabem, não é o meu caso!

Hoje abordo um tema que já utilizei no passado, mas não partilhei convosco e uma vez que estive a fazer umas alterações aqui em casa, resolvi partilhar convosco.

Transmission
O Transmission é um cliente de torrent para utilizar com linha de comando. Utiliza pouco recursos, pode ser controlado via web, é bastante configurável e pode ser gerido através de um addon no XBMC. Aconselho a sua utilização com Xbmcbuntu, Raspbian e até no Raspbmc, desde que claro o tenham ligado por pen drive.

1. Instalação
Através do Windows usa o Putty e acede ao teu equipamento, mete as credenciais de acesso e executa os comandos de instalação.
sudo apt-get install transmission-cli transmission-common transmission-daemon


2. Start/Stop
Os comandos seguintes são essenciais para a gestão do Transmission, pois necessitarás de parar e iniciar os serviços durante a configuração.

sudo /etc/init.d/transmission-daemon start

sudo /etc/init.d/transmission-daemon stop

sudo /etc/init.d/transmission-daemon restart


3. Ficheiro de definições
Após a instalação pára o transmission-daemon com o comando stop. E de seguida edita o ficheiro de definições com o seguinte comando:
sudo nano /etc/transmission-daemon/settings.json

O meu ficheiro tem este aspeto:
{
    "alt-speed-down": 50,
    "alt-speed-enabled": false,
    "alt-speed-time-begin": 540,
    "alt-speed-time-day": 127,
    "alt-speed-time-enabled": false,
    "alt-speed-time-end": 1020,
    "alt-speed-up": 50,
    "bind-address-ipv4": "0.0.0.0",
    "bind-address-ipv6": "::",
    "blocklist-enabled": false,
    "blocklist-url": "http://www.example.com/blocklist",
    "cache-size-mb": 4,
    "dht-enabled": true,
    "download-dir": "/disco2/torrents",
    "download-limit": 100,
    "download-limit-enabled": 0,
    "encryption": 1,
    "idle-seeding-limit": 30,
    "idle-seeding-limit-enabled": false,
    "incomplete-dir": "/disco2/torrents/",
    "incomplete-dir-enabled": false,
    "lpd-enabled": false,
    "max-peers-global": 200,
    "message-level": 2,
    "peer-congestion-algorithm": "",
    "peer-limit-global": 240,
    "peer-limit-per-torrent": 60,
    "peer-port": 51413,
    "peer-port-random-high": 65535,
    "peer-port-random-low": 49152,
    "peer-port-random-on-start": false,
    "peer-socket-tos": "default",
    "pex-enabled": true,
    "port-forwarding-enabled": false,
    "preallocation": 1,
    "prefetch-enabled": 1,
    "ratio-limit": 2,
    "ratio-limit-enabled": false,
    "rename-partial-files": true,
    "rpc-authentication-required": true,
    "rpc-bind-address": "0.0.0.0",
    "rpc-enabled": true,
    "rpc-password": "coloca a tua password",
    "rpc-port": 9091,
    "rpc-url": "/transmission/",
    "rpc-username": "rmcazevedo",
    "rpc-whitelist": "127.0.0.1, 192.168.*.*",
    "rpc-whitelist-enabled": false,
    "script-torrent-done-enabled": false,
    "script-torrent-done-filename": "",
    "speed-limit-down": 100,
    "speed-limit-down-enabled": false,
    "speed-limit-up": 100,
    "speed-limit-up-enabled": false,
    "start-added-torrents": true,
    "trash-original-torrent-files": false,
    "umask": 2,
    "upload-limit": 100,
    "upload-limit-enabled": 0,
    "upload-slots-per-torrent": 14,
    "utp-enabled": true
}

Os pontos que destaquei acima a vermelho, são os que recomendo que alteres, dependendo da situação pretendida. Penso que são de fácil compreensão. Os limites de download e upload podem ser alterados via web posteriormente.

Após isto, inicia de novo o transmission com o comando start indicado acima.

Abre o browser e acede ao teu equipamento:
http://oteuip:9091/transmission/web/





4. Permissões de leitura / escrita
Certamente necessitarás indicar ao Transmission onde deverás colocar os torrents. Partilho convosco o meu exemplo, pois usei a localização /disco2/torrents e o meu username rmcazevedo
Por isso recomendo que vejas atentamente as configurações e alteres conforme o teu cenário.

Adicionar o user ao grupo debian-transmission:
sudo usermod -a -G debian-transmission chen


Mudar o ownership da pasta:
sudo chgrp debian-transmission /disco2/torrents


Permitir o acesso ao grupo:
sudo chmod 770 /disco2/torrents


Pára de novo o serviço do Transmission e e abre o ficheiro settings.json
sudo /etc/init.d/transmission-daemon stop
sudo nano /etc/transmission-daemon/settings.json

Caso não o tenhas feito antes muda o "umask": 18 para "umask": 2
Salva e sai.

Inicia de novo o serviço:
sudo /etc/init.d/transmission-daemon start


5. Instala o addon no XBMC
No XBMC o addon para Transmission é nativo, basta ir a Programas, ativa-lo e configurar com o IP, Porta e credenciais.





0 Comments:

XBMC - O teu primeiro addon - Repositório com updates automáticos com google code e subversion

Olá a todos,

Já lá vai algum tempo desde que escrevi o último post desta série de tutoriais. Ainda assim, é bom ver que foram úteis a alguns leitores que começaram a criar o seus primeiros addons. Neste post, pretende-se explicar uma das possíveis formas de criar um repositório para o vosso addon para permitir que os vossos utilizadores recebam automaticamente as alterações que introduzam no addon. Qualquer servidor web ou plataforma de alojamento serve perfeitamente para alojar o vosso addon. A dropbox ou outra cloud com alojamento público pode ser uma alternativa mas...não a sugiro devido às limitações de tráfego. As melhores alternativas gratuitas são respectivamente: o google code (suporta git ou svn), o github (apenas git) ou o sourceforge.

Sendo assim, ilustra-se neste post a criação de um repositório utilizando como alojamento o google code recorrendo ao subversion (svn) para envio dos ficheiros.

O que é um repositório?

Um repositório é em última análise, um simples ficheiro xml que aponta para dois ficheiros principais: o addons.xml (listagem de todos os addon.xml dos vossos addons) e o addons.xml.md5 (que não é mais do que uma checksum do ficheiro addons.xml). Uma checksum, é uma hash do conteúdo do ficheiro addons.xml que serve para uma comparação rápida entre dois ficheiros.
Para compreenderem melhor visitem este site: http://www.adamek.biz/md5-generator.php e gerem hashs para as palavras "aminhacasadigital.com" e "forum.aminhacasadigital.com". Verificam facilmente que as hashs geradas são diferentes. Agora pensem que em vez de uma palavra curta como "aminhacasadigital" se utilizava um texto com dezenas de linhas. O tempo de comparação entre dois textos seria muito mais curto, uma vez que apenas se comparavam as hash's dos textos que resultam em strings com apenas algumas dezenas de letras.
Na realidade, esta é a forma que o xbmc utiliza para verificar se existem alterações (nova versão) no addon. Se acederem ao menu de contexto de um repositório encontrarão 2 opções:  "Procurar actualizações" e "forçar actualização". A primeira, limita-se a comparar a hash do addon.xml que têm instalado com a hash do addon.xml alojada no servidor. Já a segunda, lê todo o texto do addon.xml que têm instalado e compara-o com o ficheiro alojado no servidor.
A primeira opção é portanto uma forma rápida de procurar actualizações...

Mas deixemo-nos de conversa e ilustremos a construção do repositório...

Criação do google code project

Antes de mais, necessitam de criar uma conta google (se ainda não tiverem) e criar um novo projecto no google code (http://code.google.com) preenchendo os dados como na imagem abaixo (atenção ao "subversion").

Uma vez criado o projecto, toda a informação importante que necessitam para o operar encontra-se na divisão "source" (ver imagem abaixo).


Controlo do projecto

Windows:

Ferramentas que precisam:
Após instalação de ambas as ferramentas, abram o explorador do windows e criem uma pasta num local à vossa escolha para o repositório. No meu caso C:\repositorio. Uma vez dentro da pasta, cliquem com o botão direito do rato num espaço vazio e façam "SVN checkout"


No endereço coloquem o endereço do projecto (obtido na parte source do google code - ver 2ª imagem). No meu caso (atenção ao https):

https://plugin-xbmc-maisfutebol.googlecode.com/svn/trunk/ plugin-xbmc-maisfutebol

Serão pedidos o username (vosso email google) e a password (obtida na secção source do projecto - ver segunda imagem). Após finalizado, ficarão com uma cópia da pasta com o nome do repositório (plugin-xbmc-maisfutebol no meu caso) dentro da pasta c:\repositorio.

Coloquem a pasta do addon dentro da pasta criada, juntamente com um script em python (addons_xml_generator.py) que gera automaticamente o addons.xml e o addons.xml.md5 para o repositório. Podem fazer download desse ficheiro python aqui.
A pasta deverá ficar como na imagem abaixo:


Agora executem o ficheiro python (deverão ter o python 2.7.5 instalado) para serem criados o addons.xml e o addons.xml.md5. Se tudo correr bem, após execução do script, a pasta ficará como na imagem abaixo.


Carreguem novamente com o botão direito do rato num local vazio da pasta e escolham: TurtoiseSVN -> Commit de forma a fazerem upload do conteúdo da pasta para o google code. Selecionem todos os ficheiros e confirmem a operação. Deverão ser pedidas novamente, as credenciais (utilizador e password).


Se tudo correr bem e se no final da operação consultarem o endereço onde são alojados os ficheiros do vosso plugin, deverão constar os ficheiros que adicionaram.



Mac OS:

O procedimento é idêntico, apenas não é necessário instalar o python (podem executar o ficheiro no terminal) e o programa para o subversion é também diferente. Recomendo que utilizem o Versions (http://www.versionsapp.com/).

Linux (Debian-based):

O subversion não vem instalado de origem:

sudo apt-get install subversion

O controlo do repositório é feito no terminal:

svn co --> checkout
svn add --> adicionar ficheiros
svn ci --> commit das revisões


Criar o repositório

Como referi no inicio do post, o repositório é um simples ficheiro xml que aponta para o addons.xml e addons.xml.md5 alojados num determinado local da web. Em baixo fica o exemplo do ficheiro addon.xml para este repositório do tutorial utilizando os endereços dos ficheiros enviados para o google code.


<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="repository.maisfutebol.xbmc" name="Repositorio tutorial" version="1.0.0" provider-name="Miguel BF">
<extension point="xbmc.addon.repository" name="Maisfutebol Add-on Repository">
<info compressed="false">http://plugin-xbmc-maisfutebol.googlecode.com/svn/trunk/plugin-xbmc-maisfutebol/addons.xml</info>
<checksum>http://plugin-xbmc-maisfutebol.googlecode.com/svn/trunk/plugin-xbmc-maisfutebol/addons.xml.md5</checksum>
<datadir zip="false">http://plugin-xbmc-maisfutebol.googlecode.com/svn/trunk/plugin-xbmc-maisfutebol/</datadir>
</extension>
<extension point="xbmc.addon.metadata">
<summary>Repositório Maisfutebol</summary>
<description>Repositorio para o tutorial do blog</description>
<disclaimer></disclaimer>
<platform>all</platform>
</extension>
</addon>


Basta portanto criar um zip contendo o addon.xml com o codigo acima, juntamente com o logo.png e a fanart.jpg(opcionais) e distribuir. Até podem colocar o ficheiro na pasta que utilizaram para o repositório e fazer commit. Têm um exemplo de um repositório aqui.

Como actualizar o addon e permitir que os utilizadores recebam a actualização?

É muito simples. Basta que substituam na pasta do repositório os ficheiros que foram alterados e alterem a versão do addon no ficheiro addon.xml que está na pasta do addon.py. Corram novamente o ficheiro python (addons_xml_generator.py) e façam commit das alterações, como indicado mais acima.

Bom trabalho.

Alguma dúvida, coloquem por favor no fórum.

Miguel Borges de Freitas

0 Comments: