quinta-feira, novembro 21, 2013

Raspberry Pi: BASIC

Para iniciar as minhas aventuras de "retroprogramação" com o Raspberry Pi, vou matar a saudade dos primeiros computadores pessoais e instalar um interpretador BASIC.


Os procedimentos descritos neste post tem dois motivadores:
  • A televisão está longe do roteador e não quis me aventurar a usar um adaptador WiFi neste momento.
  • Preferi, quando possível, controlar o Raspberry remotamente do meu PC ao invés de através de um teclado conectado a ele.
Preparação Inicial

A preparação inicial do Raspberry Pi está descrita em vários lugares. Eu segui as instruções oficiais para preparar um cartão SD em um PC Windows:
Em seguida, coloquei o cartão SD  no Rapberry, conectei um teclado em uma das portas USB e conectei uma TV via HDMI. Para alimentar usei um carregador "genérico" de celular, com saída de 5V 850mA.

Após o boot é apresentado um menu para selecionar o SO a instalar, selecionei o Raspbian. Após uma longa espera, aparece a mensagem de fim da instalação. Teclando Enter, é feito um reboot e o raspi-config é automaticamente executado. Coloquei No em "Enable boot to desktop" e, nas Advanced Options, habilitei o SSH. Em seguida, selecionei (com a tecla Tab) Finish e teclei Enter. O Raspberry avisa que vai rebootar, teclei novamente Enter.

Após o reboot estamos com um console na tela, pedindo o login e senha. O default é pi/raspberry. Para desligar use "sudo shutdown -h now" e desconecte a fonte.

Escolhendo um BASIC

Existem vários interpretadores BASIC disponíveis para o Raspberry Pi. Alguns deles:

FreeBASIC: um BASIC moderno bastante sofisticado
TinyBASIC Two: um BASIC bem simples
Yabasic: um BASIC tradicional, bastante completo. Existe uma versão 3 em desenvolvimento.
RTB (Return to BASIC):  um BASIC desenvolvido para o Raspberry

Minha opção foi pelo Yabasic (versão 2), pois parece ter as instruções que preciso para adaptar alguns programas antigos. As instruções para instalação foram obtidas do forum do Raspberry Pi.

Instalando o Yabasic

Neste ponto eu desliguei o teclado e a TV do Raspberry e liguei ao roteador via um cabo de rede. Você vai precisar saber qual o endereço IP dado pelo roteador para ele, o roteador pode dar esta informação ou você pode usar um scanner de portas e ver quem está com o ssh aberto.

Conecte com o Rapberry usando um programa de comunicação com suporte ao SSH, como o putty. A adafruit tem um tutorial sobre o usode SSH no Rapberry.

Agora é dar os comandos abaixo, para atualizar o SO e instalar as dependências:
sudo apt-get update
sudo apt-get install ncurses-dev xorg-dev
Vamos agora baixar os fontes do Yabasic (confira no site oficial o número de versão e o link abaixo):
mkdir temp
cd temp
wget http://www.yabasic.de/download/yabasic-2.763.tar.gz
Agora é só expandir os fontes, compilar e instalar:
tar xf yabasic-2.763.tar.gz
cd yabasic-2.763
./configure
sudo make install
Vamos fazer um teste rápido. Digite no prompt yabasic, você verá algo como a imagem no início do post. Digite o nosso primeiro programa:
10 print "Olá Raspberry"
20 wait  3
30 goto 10
Digitando um segundo Enter ao final da terceira linha o programa será executado. Para encerrar, digite Control C.

4 comentários:

Ronaldinho disse...

Comprei um RaspberryPi e pretendo começar a mexer nele agora nas férias de dezembro. Interessante voltar no tempo com o Basic. Mas estou querendo algo mais atual, já vi que você pode controlar interface IO via linguagem Python e tem muita coisa bem aos moldes Arduino pra isso. Você pretende trabalhar com algo assim? Aproveitando, muito bom seu blog, estou sempre lendo e acompanhando os posts.

Daniel Quadros disse...

Ainda não comecei a usar Python no Raspberry. Você encontra algumas informações aqui: https://garoa.net.br/wiki/Raspberry_Pi

Ronaldinho disse...

Ok, obrigado. Vou acompanhando.

DVM - Delphi Virtual Machine disse...

Se tem o fonte do BASIC então é possível modifica-lo para criar comandos/funções de acesso as portas?