Tutorial 2 – Instalando os pacotes adicionais

Neste tutorial vamos instalar e pré-configurar os pacotes de software adicionais para o funcionamento do Jabuti.

Antes, vamos expandir o sistema de arquivos, pois a partição de dados não ocupa todo cartão de memória e possui somente 300Mbytes de espaço livre.

Para expandir o sistema de arquivos usaremos o comando abaixo:

#sudo raspi-config

#sudo raspi-config

#sudo raspi-config

Selecionamos a primeira opção (1-Expand Filesystem) e após a conclusão o sistema de arquivos ocupará todo cartão de memória.

raspberry-config-expand

Reinicie o sistema com o comando:

#sudo reboot

Após a reinicialização, teremos 1.2 Gigabytes disponíveis para uso. Usamos o comando “df” para visualizar o espaço no sistema de arquivos.

#df -h

raspberry-disksize

Atualizando o sistema

Vamos iniciar atualizando o repositório de pacotes através do comando:

#sudo apt-get update

Aguarde a execução do update.

sudo apt-get update

sudo apt-get update

Agora vamos realizar o upgrade de todos os pacotes. Isso significa atualizar todo o sistema com as ultimas versões de todos os pacotes que sofreram atualização desde que a imagem foi gerada. Use o comando abaixo:

#sudo apt-get upgrade

Você deve aceitar as atualizações e aguardar. Após a execução deste comando execute o próximo:

#sudo apt-get dist-upgrade

Aceite novamente a atualização e aguarde a execução. Esta segunda atualização costuma demorar mais. No nosso caso foram baixados 225 Mbytes de arquivos de atualização e demorou cerca de uma hora para terminar.

Agora estamos prontos para instalar os pacotes adicionais do sistema. Vamos começar pelo mysql.

#sudo apt-get install mysql-server

Você deve aceitar o download de 90Mb de arquivos. Depois de concluído o download, lhe será solicitada uma senha de administração do servidor. Nós utilizamos “r@spberry” (sem aspas). Digite duas vezes.

raspberry-install-mysql

Aguarde a instalação de todos os pacotes relacionados ao servidor mysql.

Agora vamos instalar o servidor web Apache e o interpretador PHP. Use o comando:

#sudo apt-get install php5

Aceite a instalação dos pacotes dependentes com o tamanho de aproximadamente 22 Mbytes e aguarde a instalação.

O próximo passo é instalar o gerenciador de banco de dados phpmyadmin.

#sudo apt-get install phpmyadmin

Aceite o download e aguarde. Uma tela de escolha será apresentada. Selecione a opção “apache2” e avance.

raspberry-install-phpmyadmin

Após a execução do script de instalação, será apresentada uma tela onde a escolha sobre a configuração do phpmyadmin deve ser a opção “yes”.

raspberry-install-phpmyadmin-configure

Depois informe a senha do banco de dados para que a aplicação phpmyadmin possa conectar no mysql. Utilizamos a senha “r@spberry” que usamos para instalar o banco de dados.

raspberry-install-phpmyadmin-pass

Depois informe uma senha para o usuario da aplicação. Utilizamos “1qaz” informando essa senha nas duas próximas telas.

Pronto, o banco de dados, o servidor PHP e a ferramenta de administração do banco de dados estão instaladas com sucesso! Para testar aponte o navegador da sua máquina para o endereço ip da placa. Nosso caso o endereço é http://192.168.1.11.

Se tudo correu bem, teremos o servidor web respondendo bem

Se tudo correu bem, teremos o servidor web respondendo bem

Vamos agora instalar mais alguns pacotes necessários. Execute os comandos:

#sudo apt-get install hostapd udhcpd

Estamos pronto para o tutorial número 3 onde vamos criar um banco de dados e depois alimentar este banco de dados com as tabelas e dados necessários.

Acesse o link abaixo para continuar:

tutorial 3 – Configurando o banco de dados mysql

Publicidade

Tutorial 1 – Instalando a Raspberry Pi

Antes de iniciar a construção da parte mecânica do projeto, vamos preparar um cartão SD com a imagem do sistema operacional.

Baixando a imagem do cartão SD

Iniciamos recuperando uma imagem do sistema operacional já instalado. Utilizamos neste projeto a distribuição Raspbian que pode ser obtida aqui:

Downloads – Raspberry Pi

Baixe a ultima imagem do arquivo wheezy-raspbian.zip.

downloadimagem-raspbian

Depois de baixar o arquivo, descompacte em alguma pasta. O arquivo resultante é uma cópia exata do conteúdo do cartão SD usado para instalar o sistema, portanto temos que pegar um cartão SD vazio e gravar essa imagem nele.

Vamos tratar do procedimento para Linux. Se você usa Windows ™, existem diversos tutoriais na internet ensinando esse procedimento para esse tipo de sistema operacional. Se você gosta de hackear coisas, sugiro fortemente que passe a usar linux. É um mundo destinado à aqueles que gostam de criar e modificar coisas e nos disponibiliza um monte de ferramentas livres  e fantásticas!

Preparando o cartão SD

Para nosso protótipo, usaremos um cartão SD de 4 Gigabytes. Usaremos um microSD e um adaptador de tamanho.

sdcard 4gbytes classe 4

Conecte o cartão de memória no seu PC. Você pode usar o leitor embutido (se houver um) ou um leitor externo de cartão SD, tanto faz. O próximo passo é rodar alguns comandos para descobrir o caminho do dispositivo de armazenamento no sistema.

Encontrando o caminho do dispositivo

Para carregar a imagem no cartão, precisamos descobrir o seu caminho na arvore de dispositivos. Para isso utilizamos o comando “sudo fdisk -l” e então procuramos a informação no retorno do comando. Veja:

terminal-fdisk

Portanto, o caminho “/dev/sdb” é o caminho do nosso cartão de memória. Os dispositivos sda e sdc são respectivamente o SSD principal da máquina e o disco externo de 1 Tera.

Carregando o cartão de memória

AVISO – O procedimento abaixo, se executado de forma incorreta pode danificar permanentemente os dados contidos nos seus dispositivos de armazenamento, portanto somente os execute se tiver certeza do que está fazendo. Se o caminho do dispositivo errado for usado, todo conteúdo (dados) do dispositivo serão apagados e sobrepostos, sem chance de recuperação.

Depois de descompactar a imagem do sistema operacional, teremos um arquivo com a extensão “img” com 3 Gbytes de tamanho.Esse arquivo representa uma cópia exata de cada setor físico do cartão. Ao carregarmos o arquivo de imagem no cartão, todas as partições, tabelas de alocação, arquivos e atributos do sistema de arquivo são  transferidos para o novo cartão. É como uma “xerox” do cartão original. Esse é o jeito mais fácil de instalar o sistema, pois na verdade ele já está instalado e pré-configurado.

Usaremos um programa chamado “Disk Dupe” para colocar todo conteúdo do arquivo dentro do cartão, referenciando o seu caminho de dispositivo, no caso “/dev/sdb”.

A maioria das distribuições linux já vem com o comando “dd” instalado. Para usar, use a linha de comando abaixo:

terminal-dd

# sudo dd if=2014-01-07-wheezy-raspbian.img of=/dev/sdb

onde “2014-01-07-wheezy-raspbian.img” é o arquivo de imagem e “/dev/sdb” é o caminho do seu cartão de memória.

Note que o comando demora para responder. Isso é normal, pois todos os dados do arquivo de imagem estão sendo transferidos para o cartão. Aguarde pacientemente a conclusão da operação.

terminal-dd-completo

A cópia completa demorou 21 minutos e 36 segundos. O resultado pode ser conferido através do comando fdisk no PC. Note as duas partições no cartão:

terminal-fdisk-depois

Neste momento, o cartão de memória possui duas partições, uma de boot menor e outra maior contendo o sistema de arquivos principal e o sistema operacional. Hora de colocar o cartão na Raspberry Pi.

raspberry-cartao

Raspberry Pi cartão SD e interface wi-fi USB

Note que conectamos o cartão SD no slot da placa através do adaptador.

Preparamos a placa com todas as conexões básicas. Cabo de rede ethernet, teclado USB, interface wi-fi USB (usaremos depois) e cabo de vídeo composto.

Placa com as conexões básicas.

Placa com as conexões básicas.

Se tudo correu bem, ao ligar a placa, o boot do sistema será apresentado.

raspberry-boot

Uma tela de configuração será apresentada. Se você usou um cartão de memória maior que 4Gbytes, use a opção “expand Filesystem”, e depois realize um “reboot” da sua rasp. Caso contrário, feche o programa selecionando a opção “Finish”.

raspberry-config

A primeira coisa que faremos será descobrir o endereço IP da placa de rede ethernet. Se você conectou o cabo no seu roteador pessoal, provavelmente este entregou um endereço IP para a placa. Rodamos o comando “ifconfig” para descobrir esse endereço e partimos para a conexão SSH. A configuração da placa através da rede é mais prática.

raspberry-ifconfig

O endereço na nossa placa na rede interna é 192.168.1.11, então através de um computador na mesma rede, abrimos um terminal e uma sessão ssh para a placa. (Caso você só tenha windows ™,  use o programa Putty para acessar a rasp via rede. Baixe o putty aqui ).

O comando para acessar a rasp via ssh é:

#ssh pi@192.168.1.11

onde “192.168.1.11” é o endereço IP que a sua placa pegou na tua rede.

O usuario padrão é “pi” e a senha é “raspberry” (sem as aspas)

Conectamos na Rasp através da rede

Conectamos na Rasp através da rede

Neste momento, temos o sistema operacional instalado e pronto para receber os pacotes que usaremos no projeto. No próximo tutorial vamos aprender como instalar todos os pacotes necessários.

Acompanhe o tutorial 2 clicando aqui:

Requisitos do sistema

Para que o seu Jabuti possa ser implementado, apresentamos um guia de requisitos, onde demonstraremos os materiais, hardware e software, que serão utilizados no projeto. O objetivo desta página é apresentar um checklist de itens que são necessários para que o projeto possa ser implementado.

Vamos precisar dos seguintes itens:

  1. Placa Raspberry Pi – modelo B;
  2. Interface de rede wi-fi USB – Precisamos de um modelo específico, que permita modo AP;
  3. Cartão SD de 4 Giga bytes, preferencialmente classe 4 ou 10.
  4. Imagem do sistema operacional – Baixamos e gravamos no SD card o sistema operacional Debian Wheezy;
  5. Instalação dos pacotes adicionais – Banco de dados Mysql, Apache, PHP e algumas ferramentas para configurar a nossa Rasp como Access Point;
  6. Arquivos de instalação do sistema de gerenciamento;
  7. Eletrônica adicional para construção do robô Jabuti Edu.

Abaixo descrevemos cada item dos requisitos e depois apresentamos um tutorial completo de configuração do sistema.

1 – Placa Raspberry PI modelo B.

A grande diferença entre o modelo A e B é que o Modelo B possui um controlador Ethernet e duas portas USB, enquanto que o Modelo A possui apenas uma porta USB e nenhuma porta de Ethernet.

Vamos utilizar uma interface de rede wi-fi USB, mas precisamos da porta ethernet para realizar as configurações, baixar pacotes e atualizações, portanto o modelo B é nossa melhor escolha.

Nosso projeto, utiliza apenas 5 pinos da GPIO, dois para o controle de cada motor e um pino adicional para o controle da caneta.

Os pinos utilizados para conexão com a placa da ponte-H é apresentado abaixo:

(incluir foto da ligação na GPIO aqui)

2 – Interface de rede wi-fi USB

A interface de rede wi-fi configurada como Access Point serve para facilitar as conexões das pessoas ao sistema. Essa facilidade acontece porque ao ligar o Jabuti  ele cria a própria a rede sem fio e permite que todos se conectem no dispositivo diretamente sem a necessidade de configuração de uma infraestrutura de rede adicional.

Para que essa funcionalidade seja possível, precisamos de uma interface de rede USB compatível com o modo AP, além de uma configuração especial para que essa interface de rede permita conexões dos usuários.

Utilizamos os tutoriais representados nos links abaixo para configurar nossa Rasp. Apresentamos nossa própria versão do tutorial de configuração, porém a leitura dos artigos abaixo ajudará a entender as limitações dos diversos modelos de interfaces Wi-Fi USB existentes.

RPI Wireless HotSpot

Raspberry Pi Into a WiFi Hotspot with Edimax Nano USB EW-7811Un (RTL8188CUS chipset)

3 – Cartão SD de 4Gbytes

Em uma placa Raspberry Pi o sistema de arquivos principal e o sistema operacional são instalados em um cartão SD conectado na placa. Não é possível instalar o sistema operacional em um outro dispositivo (HD externo por exemplo).

No Projeto Jabuti Edu utilizamos um cartão de memória com capacidade de 4 Giga bytes de armazenamento.

Outro detalhe à ser observado é a velocidade do cartão SD, visto que todo sistema operacional e seu sistema de arquivo será armazenado neste cartão, quanto mais rápido ele conseguir trocar informações, melhor para o desempenho geral do sistema.

Utilizamos um cartão classe 4 pois este é o melhor custo-benefício entre velocidade de capacidade. Confira uma tabela de velocidade de cartões. Observe que quanto mais rápido o cartão for, mais caro também será.

Marks Operable Under Applications SD Memory Card
Speed Class 10 High Speed Bus I/F Full HD video recording
HD still consecutive recording
SD, miniSD, microSD
SDHC, miniSDHC, microSDHC
SDXC, microSDXC
6 4 Normal Bus I/F HD ~ Full HD video recording
2 SD video recording
UHS Speed Class 1 UHS-I Bus I/F
UHS-II Bus I/F
Full higher potential of recording real-time broadcasts and capturing large-size HD videos
(UHS Speed Class1 denotes a 10 MB/s minimum write speed)
SDHC UHS-I and UHS-II, SDXC UHS-I and UHS-II
3 Capable of recording 4K2K video
(UHS Speed Class 3 denotes 30 MB/s minimum write speed)

4 – Imagem do sistema operacional

Preferimos iniciar a instalação utilizando uma imagem pronta com o sistema Debian Wheezy (Raspbian) , que poderá ser baixada no link abaixo:

Downloads Raspberry Pi – Baixar a imagem atual do sistema Raspbian

Realizamos diversas customizações no sistema operacional que comentaremos nos tutoriais. Na sessão de Downloads será disponibilizada uma imagem do cartão SD do nosso protótipo.

 

5 – Instalação dos pacotes adicionais

Além do sistema operacional, utilizaremos diversos pacotes adicionais. A lista de pacotes adicionais será abordada em um tutorial específico.

Observe que uma conexão à internet via cabo será necessária para a instalação dos pacotes manualmente.

Caso você utilize a imagem do cartão SD que disponibilizamos, a conexão com a internet não é necessária.

 

6 – Arquivos de instalação do sistema de gerenciamento

Por fim, depois de instalar o sistema operacional, instalar e configurar os pacotes adicionais, chegou a hora de instalar o sistema de controle no jabuti.

Na sessão de Downloads está disponível um pacote com os arquivos do sistema para instalação manual.

Se você optou por baixar a imagem do cartão SD que disponibilizamos, o sistema já está incluso e funcionando!

 

7 – Eletrônica adicional

Para construir a base robótica que carinhosamente chamamos de Jabuti, você precisará dos seguintes componentes:

  • Bateria de ions de lítio (li-po) de duas células e 2400mAh de capacidade;
  • Placa Ponte-H para controle de 2 motores (nossa versão aqui)
  • Dois motores com redução (usamos 2 servos modificados);
  • Base de apoio (chassis);
  • Cabos de ligação e chave liga-desliga.

Disponibilizaremos um tutorial para instalação desta eletrônica.

 

Próximos passos

Agora que você já sabe de tudo que precisa para iniciar o projeto, aguarde nossos tutoriais com a explicação completa de como construir seu Jabuti.

 

 

 

Hardware Para montar o Seu Jabutí

Diagrama de Hardware

A

O projeto Jabuti Edu é baseado em uma placa de processamento chamada Raspberry Pi montada em um “carrinho” em formato de tartaruga. O “Jaboti”possui além da Raspberry Pi, uma placa wi-fi USB, uma eletrônica de controle para os dois motores, uma bateria li-po de duas células e um circuito que fornece energia regulada em 5V para todo sistema.

Diagrama de Software

Diagrama de SoftwareA

Essa placa carinhosamente chamada de “Rasp”, roda um servidor linux (Debian Wheezy) e executa um sistema de gerenciamento de aulas construído em PHP.

O sistema de gerenciamento de aula permite que o professor proponha problemas e os alunos construam programas de comandos de movimentação do robô.

Quando executado, cada programa é interpretado pelo sistema que comanda a eletrônica embarcada para mover o robô de acordo com o programa.