Tutoriais

Este é o seu guia de construção do robô “Jabuti”. Siga os tutoriais para construção de cada parte do projeto.

Iniciaremos com a instalação do sistema operacional na placa Raspberry Pi.

Tutorial 1 – Instalando a Raspberry Pi – neste tutorial iremos instalar o sistema operacional em um cartão de memória vazio.

Tutorial 2 – Instalando os pacotes adicionais – após a instalação do sistema operacional, iremos instalar todos os pacotes adicionais para o funcionamento do projeto.

Tutorial 3 – Configurando a interface wi-fi como ponto de acesso – realizaremos a configuração da interface de rede wi-fi USB para funcionar como ponto de acesso e permitir que as pessoas conectem no nosso Jabuti.

Tutorial 4 – Instalando o banco de dados – instalaremos o banco de dados mysql necessário para persistência dos dados do sistema.

Tutorial 5 – Instalando os arquivos do sistema – copiaremos os arquivos do sistema e realizaremos a configuração inicial.

Tutorial 6 – Construindo e instalando a ponte-H – neste tutorial construiremos e instalaremos a ponte-h para controle dos motores do Jabuti.

Tutorial 7 – Raspberry Pi GPIO – será realizada as ligações entre a porta geral de entrada e saída da raspberry pi e a ponte-H. Serão realizados testes também.

Tutorial 8 – Escolhendo a versão – aqui iremos escolher entre duas versões oficiais do projeto: Jabuti Edu em plástico e Jabuti Edu em MDF.

Tutorial 8.a – Montando a Jabuti Edu em plástico – esta versão utiliza uma impressora 3D para a confecção das peças.

Tutorial 8.b – Montando a Jabuti Edu em MDF – esta versão utiliza uma fresadora CNC, corte à laser, ou mesmo ferramentas manuais para a confecção das peças.

Publicidade

Tutorial 3 – Configurando o banco de dados MySQL

No tutorial anterior, além de outras coisas, instalamos o servidor de banco de dados mySQL e a ferramenta phpMyAdmin dentro da nossa placa raspberry pi. Neste tutorial vamos criar um banco de dados vazio dentro do mySQL para depois carregar os objetos e dados que a Jabuti Edu necessita.

NOTA: Neste tutorial, assumimos que a sua placa raspberry Pi está conectada na sua rede local, com o endereço IP 192.168.1.11 que pode ser acessado de outro computador na rede local através de um navegador. Adapte o seu endereço IP para aquele que a sua raspberry pegou via DHPC. Esse endereço 192.168.1.11 foi obtido no tutorial 1 e ele pode ser diferente na sua rede. (se você não lembra, veja aqui)

Acompanhe o passo a passo então:

1 – Acessando o phpMYAdmin da nossa Jabuti:

Abra um navegador e aponte para o endereço da ferramenta “phpMyAdmin” da nossa JabuiEdu:

http://192.168.1.11/phpmyadmin/

Será apresentada a tela de login do phpMyAdmin. Informamos as seguintes credenciais:

Username: root
Password: r@spberry

Após efetuar o login, a tela abaixo será apresentada:

Login no phpMyAdmin

Login no phpMyAdmin

2 – Criando um banco de dados vazio

Após acessar a ferramenta phpMyAdmin, vamos criar um banco de dados vazio.

Para isso, aponte para o menu indicado abaixo: Databases

Tela para criar banco de dados no phpMyAdmin

Tela para criar banco de dados no phpMyAdmin

 

Uma tela para criação de um banco de dados será apresentada. Vamos criar um banco de dados chamado “jabuti”. Para isso, insira a palavra “jabuti” na caixa de texto “Create new database” e então pressione o botão “create“. Veja:

Criando banco de dados "jabuti"

Criando banco de dados “jabuti”

Após a criação do banco, notamos que ele aparece no menu lateral, e então selecionamos esse banco de dados novo clicando com o mouse no item “jabuti” que aparece no menu esquerdo. Veja:

selectdatabase-jabuti

Será apresentada a tela correspondente ao banco de dados “jabuti”. Esse banco de dados está vazio.

banco de dados "jabuti" vazio

banco de dados “jabuti” vazio

 

No próximo passo vamos carregar esse banco com informações.

3 – Alimentando o novo banco de dados

Após criar o banco de dados “jabuti” precisamos alimentar esse banco de dados com os objetos e dados necessários para o funcionamento dos sistemas da JabutiEdu.

No passo anterior selecionamos o banco de dados “jabuti” como o banco de dados de trabalho, e agora vamos carregar informações neste banco de dados através da importação de um arquivo que contém todos os objetos necessários.

Primeiramente baixe o arquivo “jabuti.sql” no link abaixo:

jabuti.sql

Depois de salvar o arquivo, vamos importa-lo no banco de dados “jabuti”. Para isso, no phpMyAdmin clique na aba “Import”. Veja:

db_jabuti_importSelecione o arquivo “jabuti.sql” através do botão “browser”:

db_jabuti_import_jabuti

 

Depois de selecionar o arquivo “jabuti.sql” pressione o botão “Go”. O menu esquerdo será atualizado com os dados importados:

jabuti-import-concluido

Pronto! Agora temos um banco de dados “jabuti” instalado no mySQL.

No próximo tutorial vamos demonstrar como instalar o sistema de controle de atividades.

Tutorial Opcional – Configurando a interface wi-fi como ponto de acesso

Uma caracteristica que facilita o uso do projeto é permitir que todas as pessoas possam conectar no Jabuti.

Tanto professores quanto alunos poderão acessar o sistema instalado no Jabuti, apenas realizando a conexão ao ponto de acesso que o próprio Jabuti gera.

O Jabuti gera um ponto de acesso onde todos podem conectar.

O Jabuti gera um ponto de acesso onde todos podem conectar.

Para atingir esse objetivo, precisamos realizar algumas configurações. Vamos à elas.

Descobrindo qual a sua interface de rede wi-fi

Antes de começar, precisamos descobrir qual o modelo de interface wi-fi você possui. Para isso iremos executar o comando “lsusb” no termnal.

#lsusb

O retorno deste comando é uma lista de dispositivos conectados nas portas USB da placa. No nosso caso temos o dispositivo de rede wi-fi com o chip controlador da marca Realtek.

raspberry-terminal-lsusb

Interface Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter

Sabemos que esse chip controlador da interface wi-fi — SUPORTA — modo AP. Mais informações no link abaixo:

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

Esse chip controlador é muito comum no mercado, então vamos realizar a configuração deste chip, mas posteriormente contaremos com a colaboração dos leitores par adicionar a configuração de mais modelos de interface wi-fi USB.

Por hora, precisamos executar a lista de comandos abaixo para baixar os binários necessários para configurar esse chip. Isso é necessário porque a ferramenta “hostapd” que usaremos não tras os binários referentes ao nosso modelo de interface.

A lista de comandos é:

# wget http://www.daveconroy.com/wp3/wp-content/uploads/2013/07/hostapd.zip
# unzip hostapd.zip 
# sudo mv /usr/sbin/hostapd /usr/sbin/hostapd.bak
# sudo mv hostapd /usr/sbin/hostapd.edimax 
# sudo ln -sf /usr/sbin/hostapd.edimax /usr/sbin/hostapd 
# sudo chown root.root /usr/sbin/hostapd 
# sudo chmod 755 /usr/sbin/hostapd

Uma dica é executar os comandos um a um e verificar se não emitem erros. Abaixo o retorno da nossa execução:

Execução dos comandos sem erros

Execução dos comandos sem erros

Configurando o arquivo /etc/default/udhcpd

Vamos editar o arquivo /etc/default/udhcpd. Para isso execute o comando abaixo: Antes saiba que para salvar o arquivo texto você precisará pressionar a tecla Control + a tecla “o” e para sair do editor você precisa pressionar a tecla Control + a tecla “x”.

#sudo nano /etc/default/udhcpd

No arquivo, troque a linha:

DHCPD_ENABLED=”no”

por

# DHCPD_ENABLED=”no”

A inclusão do simbolo “#” indica que a linha de configuração deve ser ignorada. Comentando essa linha o servidor dhcp será ativado.

Salve o arquivo pressionando Control + “o”, pressione enter para aceitar o nome do arquivo e retorne ao terminal pressionando Control + “x”

Aproveite e crie o arquivo /var/lib/misc/udhcpd.leases executando o comando abaixo:

# sudo nano /var/lib/misc/udhcpd.leases

Salve o arquivo mesmo sem conteúdo.

Configurando o arquivo /etc/udhcpd.conf

Primeiro vamos efetuar um backup do arquivo com o comando:

# sudo cp /etc/udhcpd.conf /etc/udhcpd.conf.original

Agora vamos editar o arquivo

# sudo nano /etc/udhcpd.conf

Apague todo conteúdo do arquivo pressionando “Control + k” até que todo conteúdo tenha sido deletado. Depois copie e cole as linhas abaixo:

start 192.168.20.20
end 192.168.20.100
interface wlan0
remaining yes
max_leases 200

opt dns 192.168.20.1
opt subnet 255.255.255.0
opt router 192.168.20.1
opt lease 864000
opt domain local

Salve o arquivo “Control+o” e saia para o console “Control + x”.

Configurando o arquivo /etc/network/interfaces

Agora vamos configurar as interfaces de rede editando o arquivo /etc/network/interfaces. Alterando esse arquivo iremos informar um endereço IP fixo para a interface de rede wi-fi. Execute o comando:

# sudo nano /etc/network/interfaces

O conteúdo padrão deste arquivo é o apresentado abaixo:

Conteudo padrão do arquivo /etc/network/interfaces

Conteudo padrão do arquivo /etc/network/interfaces

Comentaremos as linhas referente a configuração da interface wi-fi. Acrecentamos “#” às linhas:

# allow-hotplug wlan0
# iface wlan0 inet manual
# wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

Adicionamos agora a configuração com endereço IP estárico para a interface de rede wi-fi. Usaremos a rede 192.168.2o.x. e nosso Jabuti será o 192.168.20.1

iface wlan0 inet static
 address 192.168.20.1
 netmask 255.255.255.0

O arquivo deverá ficar como mostrado na imagem abaixo:

Arquivo alterado

Arquivo alterado

Salve o arquivo “Control+o” e saia para o console “Control + x”.

Configurando o arquivo /etc/hostapd/hostapd.conf

Vamos configurar o arquivo /etc/hostapd/hostapd.conf e informar ao sistema as configurações do nosso ponto de acesso. Nesse arquivo será configurado o nome do ponto de acesso, o tipo de segurança de acesso e outros detalhes. Caso o arquivo esteja em branco (vazio) não se preocupe, pois listamos o conteúdo dele abaixo.

Execute:

#sudo nano /etc/hostapd/hostapd.conf

Copie e cole as linhas abaixo para dentro do editor. Para copiar usr o control+c normalmente, mas para colar utilize control+shift+v.

interface=wlan0
#driver=nl80211 #descomentar no caso de interfaces não realtek.
driver=rtl871xdrv
ssid=JABUTI_EDU_SALA01
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=jabutiedu001
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

Note as linhas “ssid” e “wpa_passphrase”. Elas indicam o nome do ponto de acesso e a senha para acessá-lo. Copie e cole o conteudo acima no arquivo e altere essas duas linhas caso deseje.

Conteúdo do arquivo /etc/hostapd/hostapd.conf

Conteúdo do arquivo /etc/hostapd/hostapd.conf

Salve o arquivo “Control+o” e saia para o console “Control + x”.

Configurando do arquivo /etc/default/hostapd

Vamos configurar um ultimo arquivo. Execute o comando:

# sudo nano /etc/default/hostapd

descomente a linha:

#DAEMON_CONF=””

apague o “#” e deixe-a assim:

DAEMON_CONF=”/etc/hostapd/hostapd.conf”

Arquivo /etc/default/hostapd alterado

Arquivo /etc/default/hostapd alterado

Salve o arquivo “Control+o” e saia para o console “Control + x”.

Testando as configurações

Já realizamos todas as configurações e agora precisamos testá-las.vamos reiniciar a placa com o comando:

# sudo reboot

Depois do reboot, vamos executar os seguintes comandos:

# sudo service hostapd start
# sudo service udhcpd start

Se tudo correu bem, a rede servida pelo Jabuti já deve aparecer na lista de redes wi-fi disponível.

Ponto de acesso configurado na Raspberry Pi

Ponto de acesso configurado na Raspberry Pi

Ao realizar a conexão ao ponto de acesso, informamos a senha “jabutiedu001” e então ganhamos o endereço 192.168.20.24

Após realizar a conexão, ganhamos o endereço 192.168.20.24

Após realizar a conexão, ganhamos o endereço 192.168.20.24

 

Falta somente testar o acesso ao servidor PHP usando o browser e apontando para o endereço do Jabuti – http://192.168.20.1

Note que o endereço do servidor é o 192.168.20.1

Note que o endereço do servidor é o 192.168.20.1

 

Essa etapa terminou. Caso você receba mensagem de erro ou não consiga fazer o Ponto de Acesso, os seguintes comandos pode ajudar a diagnosticar o problema.

Para testar a configuração do software hostadp, use o comando abaixo. Se houver problemas, uma mensagem será apresentada.

# sudo hostapd -dd /etc/hostapd/hostapd.conf

Caso uma lista com um monte de informação seja apresentada, a configuração correu bem.

Para diagnosticar o serviço udhcpd use o comando abaixo para visualizar o log do sistema, que é onde o serviço registra erros:

# tail -f /var/log/syslog

Vamos agora para o tutorial 4 onde instalaremos o banco de dados do sistema.

 

 

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

Downloads

Nesta página você poderá realizar todos os downloads referente ao projeto Jabuti.

Sugerimos que você realize o download de todo material antes de começar os tutoriais.

Arquivo link
 Arquivos fonte da placa da ponte-H contendo desenhos e arquivos formato eagle pcb.  Ponte-H-L293D.zip
 Imagem do cartão SD do Jabuti pronta para uso (S.O. + adicionais + sistema) (em breve)