Primeiras linhas de código

Com um Rover já em condições de andar, faltava o video de demonstração da praxe (o que está no artigo de abertura desta série).

Antes de me meter à aventura com o Snap! limitei-me a transferir para o Raspberry Pi um script muito básico em python que faz o Rover por 4 vezes andar um troço a direito seguido de uma curva à esquerda (idealmente voltando ao ponto de partida mas como não usei nenhum tipo de sensores a única forma de o conseguir foi afinando os tempos à mão) e no final uma rotação em torno de si mesmo várias vezes para a direita:

import nxt
import nxt
import nxt.locator
from nxt.sensor import *
from nxt.motor import *
from time import sleep

brick = nxt.locator.find_one_brick()
left = Motor(brick, PORT_B)
right = Motor(brick, PORT_C)
both = nxt.SynchronizedMotors(left, right, 0)
leftboth = nxt.SynchronizedMotors(left, right, 100)
rightboth = nxt.SynchronizedMotors(right, left, 100)

for n in range(0,4):
 both.run(100)
 sleep(1.25)
 both.idle()
 sleep(0.25)
 leftboth.run(100)
 sleep(0.48)
 leftboth.idle()
 sleep(0.25)

rightboth.run(100)
sleep(4)
rightboth.idle()

A execução do script foi comandada manualmente (essencialmente acedi de modo wireless a partir do meu portátil por SSH e invoquei o script a partir da shell).

Roda livre

Não gostei da roda livre baseada num «pneu», os  movimentos curvos do Rover não me pareciam consistentes.

Tinha encontrado recentemente um artigo de uma roda livre com base numa bola de um conjunto Mindstorms que eu não tenho mas a ideia pareceu-me boa e experimentei primeiro com a bola da minha trackball e depois decidi usar um «abafador» (um berlinde de vidro grande, cerca do dobro do diâmetro de um berlinde normal).

DSC_0183-2 DSC_0185-2A forma como a roda livre está montada no chassis ainda é deficiente (ocorre alguma torção devido ao peso do Rover) mas os movimentos curvos são muito mais fluidos já que o eixo de rotação do Rover passou a ser a bola em vez de uma roda com o seu próprio eixo de rotação.

Entretanto ainda hei-de experimentar outra ideia bastante interessante, usar a bola de um desodorizante roll-on, requer bastante menos peças. O autor (Philippe “Philo”Hurbain) é bastante conhecido no mundo Lego Technic e Mindstorms, com análises tecnicamente muito detalhadas aos motores e baterias da Lego. Também tem no seu site diagramas para montagem de um Rover em Lego que  usa uma bola como roda livre (Spy Camera Rover).

 

Robalo no forno

Além do dito cujo, perfurado e recheado com alho:

  • abóbora da mãe aos cubos
  • cenoura da cunhada em palitos grossos
  • pomodoros do sogro aos sextos
  • manjericão da horta do 6º andar
  • chuchu às fatias
  • cebola às rodelas grossas
  • oregãos, sal fino e azeite q.b.

Forno a 180º, desligar quando as cebolas começarem a tostar ou baixar para 120º se quisermos os vegetais mais macios.

Havendo batatinhas também iam, com casca bem lavada e eventualmente previamente meio cozidas no micro-ondas (conforme o tamanho).

Não havendo grávidas nem lactentes também ia meio copo de vinho branco a meio da assadura para refrescar.

 

 

 

 

O meu próprio servidor – parte 1

This post is part 1 of 4 of  O meu próprio servidor

Tentativas anteriores de ter o meu próprio site acabaram sempre mal – mais cedo ou  mais tarde um palerma pirata qualquer acabava sempre por conseguir tomar conta dele e utilizar o meu domínio para fins no mínimo duvidosos. Ter um site alojado numa empresa deixa-nos dependente da qualidade dos serviços de administração de sistema dessa empresa… e a experiência ensinou-me que mais vale arregaçar as mangas e fazer eu mesmo. Mas infelizmente quando temos um site alojado numa empresa o nosso controlo sobre o servidor em si é nulo, o mais que conseguimos para lá de webadmin é o controlo sobre o file system – nunca sobre o estado dos serviços, as configurações ou as versões.

A solução passava por ter o meu próprio servidor dedicado mas os preços eram exorbitantes por isso durante algum tempo aventurei-me e tive o meu próprio servidor doméstico, ligado à net através da minha ligação ADSL. Para experiências e usos reduzidos servia perfeitamente mas as ligações ADSL na minha zona estão limitadas pela Portugal Telecom a uns míseros 4 Mbps com 512  kbps e acabei por desistir.

Mas agora existem os VPS/VDS que nos permitem utilizar apenas uma fracção de um servidor real como se fosse um servidor completo. A experiência do servidor doméstico mostrara que 200 MHz e 64 MB eram suficientes para um pequeno site por isso optei por um VDS de 256 MB com 5 GB de espaço em disco. O processador é de 3 GHz, tem de ser partilhado pelos restantes VDS mas mesmos que haja 10 servidores em simultâneo a puxar pelo processador dá 300 MHz a cada um – quanto aos outros não sei mas a mim chega-me perfeitamente.

Ah pois, e Linux porque para lidar com as parvoíces do Windows já me basta o dia-a-dia. Escolhi Ubuntu Server porque já estou familiarizado com o Ubuntu como Desktop principal mas Red Hat também seria uma boa escolha (na minha profissão também lido com uns quantos servidores RHEL embora não como webadmin).

E agora que em Portugal finalmente se deu a liberalização nos Domínios, um domínio .pt só para mim.

No próximo artigo explico como configurar o servidor VDS para funcionar como servidor Web.