Intel Galileo Gen2 com nova imagem em microSD Deixe um comentário

“Recentemente” a Intel liberou uma imagem Linux atualizada para a Intel Galileo Gen1 e Gen2 contendo algumas melhorias e atualizações para o sistema dessa incrível placa.

Intel Galileo Gen2

Para quem não sabe, a Intel Galileo Gen2 roda Linux em um processador Intel Quark X1000, operando a 400 MHz com 256 MB de RAM. Em outras palavras, é um processador x86 para aplicações embarcadas de controle e automação. Ou seja, ela é bem mais poderosa do que um tradicional Arduino da vida. Você pode executar um simples Sketch de Arduino nela, ou escrever um programa em Python com banco de dados e conexão com serviços na nuvem, por exemplo, fazendo uso do sistema Linux que ela executa.

O Adilson Thomsen já escreveu sobre a Galileo Gen2 aqui no Blog MakerHero, a saber:

Todavia, dos tempos desses artigos para cá a Intel realizou atualizações na imagem, e o próprio processo de gravação da imagem em cartão foi modificado também. Assim, irei mostrar como gravar a imagem de cartão e como localizar a Intel Galileo Gen2 na rede.

“André, mas a Galileo já não vem com Linux na memória interna dela?” – Sim, fato. Mas a memória interna dela é pequena, bem pequena: 8 MB. Suficiente apenas para rodar alguns scripts e executar os binários de Arduino, por exemplo. Se você quiser algo mais “requintado”, por assim dizer, terá que usar uma imagem gravada em cartão de memória!

E mais: Com essa imagem atualizada é possível instalar o Python, bibliotecas como OpenCV, executar NodeJS, dentre outros. Ou seja, você terá muito mais funcionalidades com a placa, indo além do tradicional Arduino.

Receita de Bolo

Para esse artigo, iremos usar os seguintes itens e ferramentas:

  • Intel Galileo Gen2 com fonte de alimentação, cabo de rede Ethernet;
  • Roteador com uma porta Ethernet disponível;
  • Cartão microSD – recomendo pelo menos 4 GB ou 8 GB;
  • Imagem Linux Poky para Intel Galileo Gen2;
  • Programa Win32DiskImager
  • Programa Advanced IP Scanner
  • Programa Putty

Baixando e Gravando a imagem de cartão

O primeiro passo é ir na página de Downloads da Intel para a Galileo Gen2 – Disponível neste link. Nessa página é possível ter acesso ao link de download da imagem Linux Poky (feita com Yocto) para a Intel Galileo Gen2.

Download Poly Intel Galileo Gen2
Figura 1 – Download da imagem Linux Poky para Intel Galileo Gen2. Fonte: Intel.com

Feito o download da imagem, no momento da escrita desse artigo, você terá um arquivo chamado iot-devkit-prof-dev-image-galileo-20160606.zip. Descompacte esse arquivo em um diretório de sua preferência, usando um WinZip, WinRAR ou 7zip da vida.

Quem já gravou imagens para Raspberry Pi ou correlatos da vida, deve estar esperando encontrar um arquivo com extensão *.img dentro desse arquivo *.zip compactado. Mas… A Intel colocou o arquivo com extensão *.direct! Não estranhe, está tudo certo, está tudo bem 😉

Descompactado o arquivo que você baixou da Intel, você terá então um arranjo da seguinte forma:

Arquivos Intel Galileo Gen2
Figura 2 – Arquivo de imagem com extensão *.direct da Intel Galileo Gen2.

O próximo passo agora é usar o Win32DiskImager para gravar a imagem que baixamos de cartão na Intel Galileo Gen2. O programa está disponível no SourceForge neste link. A instalação é OK, o típico “procedimento padrão” – próximo, próximo, etc.

Instalado o programa, insira o cartão microSD usando um adaptador USB ou um adaptador de cartão SD, caso esteja usando um notebook com entrada para cartão, por exemplo.

Micro SD e adaptador

Agora, abra o programa Win32DiskImager instalado no seu computador com Windows. Após abrir o programa, você irá observar uma janela tal como a mostrada na imagem da Figura 3 logo abaixo, com 2 itens que destaco para o nosso processo:

  • 1o Item – ícone para abrir a janela de seleção para o arquivo de imagem a ser gravado.
  • 2o Item – Lista de seleção para unidade de disco (ou cartão…) onde será gravada a imagem.
Win23DiskImager
Figura 3 – Win32DiskImager – Pontos a observar.

Clique no ícone indicado pelo número 1 da Figura 3, e irá abrir uma janela do Windows Explorer para você selecionar a imagem que usaremos para gravar o cartão microSD. Como padrão, o programa espera encontrar arquivos no formato *.img, mas a nossa imagem está no formato *.direct, lembram? Assim, clique na lista de seleção destacada no canto inferior direito da Figura 4 e selecione a opção *.* para que o programa exiba todos os arquivos. Selecione então a imagem iot-devkit-prof-dev-image-galileo-20160606.direct, no local em que foi descompactada, e clique em Open.

Seleção Imagem
Figura 4 – Win32DiskImager – Seleção da imagem da Intel Galileo Gen2.

Feito isso, ATENÇÃO: Vamos selecionar a unidade de disco no campo “Device” do Win32DiskImager, conforme destacado no item 2º da Figura 3. Verifique pelo Windows Explorer qual é a unidade de disco do microSD que você inseriu no seu computador. No meu caso, o Windows Explorer identificou a unidade como sendo a G:. Isso é muito importante porque o programa irá sobrescrever os dados da unidade (ou cartão), gravando a imagem que selecionamos. Se você selecionou a unidade certa, OK. Mas se selecionar a errada… Aí é uma dor de cabeça. Então, atenção nessa parte!

Vejam na Figura 5 que meu cartão microSD inserido no computador foi identificado como um “USB Drive”, como unidade G:

Disk Explorer
Figura 5 – Windows Explorer identificou microSD inserido no computador.

Feito isso, deixe marcado então no campo Device a unidade correspondente ao cartão microSD no seu computador, e agora vem o ponto-chave: A gravação! Clique no botão Write, conforme indicado na Figura 6, para que o programa faça então o processo de gravar o arquivo de imagem no cartão microSD. Paciência, pois esse processo pode demorar uns bons minutos.

Gravação de imagem
Figura 5 – Win32DiskImager – Gravação da imagem no cartão microSD.

Como o processo irá sobrescrever os arquivos da unidade selecionada, o programa irá exibir um aviso tal como o da imagem da Figura 6. Clique em Yes caso tenha selecionado corretamente a unidade e tenha certeza em continuar com o processo.

Win32diskImager Warning
Figura 6 – Aviso de gravação do Win32DiskImager.

 Agora é esperar…

Gravação de imagem
Figura 7 – Win32DiskImager – Gravando a imagem no cartão microSD.

Se tudo correu bem, e assim esperamos que corra bem, o programa irá exibir ao final uma janela tal como a mostrada na Figura 8. Clique em OK.

Gravação concluída
Figura 8 – Win32DiskImager – Gravação realizada com sucesso.

Terminado, faça a remoção com segurança do adaptador USB/adaptador de cartão microSD (nos mesmos moldes que você faz – ou deveria fazer – com pendrives no Windows).

É importante remover com segurança para que o sistema finalize eventuais processos vinculados à unidade, o que reduz as chances de o cartão acabar sendo corrompido.

Startup e Conexão SSH com Galileo Gen2

Beleza, gravamos o cartão com a imagem mais nova, agora é hora de colocar ele na Galileo Gen2, ligar a placa e colocar ela na rede!

Primeiro – Insira o cartão microSD no conector para cartão microSD da Intel Galileo Gen2.

Cartão de Memória

Segundo – Ligue o cabo de rede Ethernet no seu roteador e na Intel Galileo Gen2

Cabo de rede

Terceiro – Ligue o cabo de energia da fonte que acompanha a placa, e ligue a fonte na tomada para energizar a placa.

Fonte de alimentação conectada

Antes, para sabermos o endereço IP da Intel Galileo e sermos capazes de acessar ela pela rede, era necessário gravar um Sketch de Arduino nela, capaz de ler os dados da rede e enviar via Serial.

Com essa nova imagem, o serviço de SSH já vem acionado por padrão no Linux Poky da Galileo Gen2. Isso significa que basta localizarmos o IP da placa na rede para podermos acessar o console do sistema Linux, e até mesmo termos acesso aos arquivos da placa, dentre outros.

Para localizarmos a placa na rede, iremos usar o programa Advanced IP Scanner, que é gratuito. Acesse o site do programa e clique no ícone verde Free Download, que irá levar você a uma outra página, específica para Download. Nessa página, clique no ícone verde no canto superior direito da página, Download Latest Version. Baixe e faça a instalação (procedimento padrão!). Esse programa tem um modo de operação “standalone”, ou seja, não instala – executa diretamente. Não recomendo… Como uso ele com frequência, deixo instalado já de cara, ok?

Abra o Advanced IP Scanner e clique no botão Scan, para que ele comece a procurar pelos dispositivos na sua rede local.

Advanced IP Scanner
Figura 9 – Advanced IP Scanner.

A Intel Galileo Gen2 irá aparecer com o nome galileo.home, conforme mostrado na Figura 10. Observe ao lado do nome o endereço IP dela na rede, iremos usar esse endereço para acessá-la logo adiante.

Advanced IP Scanner Galileo
Figura 10 – Intel Galileo Gen2 como galileo.home

A despeito de existirem diversos programas para acessar um sistema Linux via SSH, iremos usar o Putty por ser gratuito, simples e prático. Você pode baixar o programa nesta página – Selecione o putty-0.68-installer.msi para máquinas x86 ou o putty-64bit-0.68-installer.msi para máquinas x64. Faça o download e realize a instalação do programa logo em seguida. Terminada a instalação, abra o programa Putty.

O Putty já é aberto com a opção de acesso via SSH selecionada por padrão. Assim, no campo Host Name (IP), coloque o endereço IP da Intel Galileo Gen 2, localizado pelo Advanced IP Scanner. A porta de acesso é a 22, padrão do SSH. Feito isso, clique em Open para iniciar a conexão via SSH com o Linux Poky da Intel Galileo Gen2.

Putty
Figura 11 – Setup para acesso via SSH à Intel Galileo Gen2.

O protocolo SSH é uma forma segura para acesso a sistemas remotamente. De uma forma resumida, há uma troca de chaves que garantem um acesso autorizado ao sistema. Assim, na primeira vez que você for acessar o sistema Linux da Intel Galileo Gen2, no endereço IP informado, o Putty irá notificar a adição da chave de acesso, tal como mostrado na Figura 12. Clique em Yes para adicionar e continuar com o acesso. Caso a Intel Galileo Gen2 mude de endereço IP, haverá uma nova troca/adição de chaves, ok?

Putty Key Galileo
Figura 12 – Confirmação de chave para acesso remoto via SSH.

Com o acesso autorizado, a primeira mensagem que irá aparecer é um campo (login as: ) para você inserir o usuário o qual deseja usar no acesso. Por padrão, o Poky Linux da Intel Galileo Gen2 está com o usuário root, sem senha. Então, digite root e aperte a tecla ENTER. O acesso agora está garantido! Observe na Figura 13 como fica. Em termos de sistema Linux, o console será exibido como “root@galileo: ~#”root por ser o usuário, galileo pelo nome da máquina (hostname), ~ é o diretório raiz, e # indica que o console está como super-usuário (root).

Putty login
Figura 13 – Acesso via SSH à Intel Galileo Gen2 – Login como root.

Um panorama sobre o Poky Linux para Intel Galileo Gen2

Essa versão do Poky Linux para a Intel Galileo Gen2 está realmente fantástica! Para makers e desenvolvedores de plantão, é um prato cheio para a criação de aplicações em Java, Python, NodeJS e até C/C++, pois já vem com os compiladores/interpretadores instalados. Veja na Figura 14 uma “prova” disso.

Galileo SSH
Figura 14 – Poky Linux com muitos recursos!

Ela já vem até com servidor Web Lighttpd instalado e configurado. Acesse o endereço IP que você usou para acessá-la no Putty via SSH em um navegador. No meu caso, acessei o IP 192.168.1.35 no Firefox, e pude ver a mensagem “It works” exibida. Ficou curioso? Essa página está no diretório /www/pages da Intel Galileo. Eu editei o arquivo e olha só:

Intel Galileo Rocks!
Figura 15 – Página web da Intel Galileo Gen2.

Alguns usuários começaram usando a Intel Galileo Gen2 no modo Arduino, mais purista… Brincando com a placa usando simplesmente o Arduino IDE. Mas ela tem muito mais recursos! Aventure-se pelo mundo de Linux Embarcado e explore o desenvolvimento de aplicações embarcadas em Java, C/C++, Python e NodeJS. Você pode criar mecanismos que controlam os recursos da Intel Galileo Gen2, ao mesmo tempo que realiza comunicação com serviços na nuvem tais como Azure, Amazon, etc.

Gostou? Deixe seu comentário logo abaixo.

Faça seu comentário

Acesse sua conta e participe