IDE Online com Codebox na Intel Edison

Codebox na Intel Edison

Com toda essa onda de dispositivos conectados, começam a surgir formas e ferramentas que permitem aos desenvolvedores acessar os equipamentos remotamente, de modo a gerenciar arquivos verificar processos, etc. Agora começa também a leva das "IDEs Online", aplicações web que permitem então não só o acesso aos arquivos, como também a edição de códigos-fonte e até mesmo a compilação e execução remota dos projetos. A Intel Edison não ficaria de fora dessa, e neste artigo será apresentado como configurá-la com o CodeBox IDE.

CodeBox IDE

CodeBox é uma Web IDE, ou "Cloud IDE", como eles preferem se chamar. É desenvolvida em NodeJS e possui código-fonte aberto e disponibilizado em GitHub.  Permite gerenciar projetos com GitHub, acessar o Terminal (Shell) do sistema remoto, além de ter suporte à edição de arquivos em inúmeras linguagens, tais como C/C++, Python, NodeJS, Ruby, PHP, etc. Para compilar e executar demais códigos e binários, é preciso fazer uso do Terminal!

Dentre as características da ferramenta, podemos citar:

  • Autocompletar de código;
  • Configurações de tema - fonte, fundo de tela, etc;
  • Desenvolvimento colaborativo - Semelhante ao GoogleDocs;
  • Suporte à GitHub;
  • Edição simultânea de mais de um arquivo - você e mais pessoas podem editar em conjunto;
  • Acesso simultâneo a mais de um Terminal;
  • Dentre outros.

Veja na Figura 1 como é a estrutura visual da IDE no navegador.

Codebox na Intel Edison
Figura 1 - Demonstração do CodeBox IDE

A inspiração para a escrita deste artigo veio pelo fato de que a Intel Edison prima pela conectividade sem-fio. Tanto mais, seria de muito interesse poder acessar os arquivos, escrever, compilar e executar programas remotamente também, não? Ou seja, poder desenvolver aplicações na Intel Edison remotamente! Pesquisando então sobre as possibilidades, encontrei este site da própria Intel, que fornece um passo-a-passo bem resumido sobre como instalar a ferramenta. Resolvi testar, e apresentar um guia parecido, em português.

Instalação do Codebox na Intel Edison

Antes de prosseguir, garanta que a sua Intel Edison esteja devidamente configurada com o Poky Linux fornecido pela própria Intel, além de também ter configurado os repositórios adicionais, assim como mostrado neste artigo do Diego Sueiro. E, mais importante ainda, que ela esteja com acesso à internet!

Com a Edison configurada e rodando apropriadamente o Poky Linux, acesse o Terminal Linux via USB-Serial da própria placa, ou via SSH.

 Antes de começar, vamos atualizar a listagem de repositórios do Poky Linux com o seguinte comando:

Após isso, vamos então proceder com a instalação do Git, por meio do seguinte comando:

Com o Git instalado, faça o download (ou "clone") do repositório GitHub do Codebox, por meio do seguinte comando:

O processo pode demorar um pouco, pois será feito o download dos arquivos do repositório em um diretório chamado codebox.

Terminado o processo de download, vamos entrar no diretório "clonado":

E nesse diretório vamos disparar o comando de instalação dos pacotes NodeJS necessários para a execução da ferramenta online. Este é um ponto que merece destaque: O Codebox é implementado em NodeJS. Para o seu devido funcionamento, precisaremos ter o NodeJS e o NPM instalados na Intel Edison. Em se tratando do Poky Linux fornecido pela própria Intel, os mesmos já são instalados por padrão. Apenas a título de exemplo, a versão de NodeJS utilizada na demonstração é a v0.10.38, e versão do NPM é a 1.4.28.

Dito isso,  a instalação dos pacotes e dependências do Codebox por meio do NPM pode ser feita por meio do seguinte comando:

Mais outro processo que pode demorar um bocado, pois será feito o download de cada um dos pacotes cujo projeto depende para funcionar, além de configurar o projeto para execução com NodeJS. Caso aconteça algum erro, verifique se houve uma falha no download ou instalação de algum pacote, e comente seu erro nos comentários deste artigo. Não se preocupe com mensagens do tipo "WARN", são apenas avisos, e não erros, propriamente. Veja como ficou o andamento da minha execução na Figura 2.

Codebox na Intel Edison
Figura 2 - Clone de repositório e instalação de pacotes e dependências do Codebox.

Caso não ocorra nenhum erro, a instalação simplesmente será finalizada com o retorno do acesso ao Terminal. Veja na Figura 3 que, após uma sequência de mensagens destacando os módulos instalados, a instalação foi finalizada e  logo então "devolvido" o acesso ao terminal.

Edison_CodeBox_Terminal_Finish
Figura 3 - Instalação finalizada do Codebox.

Agora vamos instalar uma dependência fundamental, o gulp, usando NodeJS Package Manager (npm) e com parâmetro para ser um pacote a ser instalado "global" (parâmetro "-g"). Considerando que estamos no diretório clonado do codebox (/home/root/codebox), adiante é mostrado o comando a ser executado no terminal:

Ao disparar o comando, será dado início ao download e instalação dos pacotes relacionados ao gulp. Veja na Figura 4 o processo de instalação. Para este, o processo é bem rápido e direto.

Edison_CodeBox_Terminal_Install_Gulp
Figura 4 - Instalação pelo gulp via npm.

Novamente, não estranhe avisos com "WARN". Não são erros, apenas avisos! Finalizada  a instalação do gulp, com ele vamos então construir o projeto por meio do seguinte comando:

Esse processo também pode demorar uns bons minutos! Ele irá conferir a estrutura do projeto, dependências, etc, e irá então "construir" o projeto para ser executado e acessado, montando os diretórios e demais componentes necessários. Veja na Figura 5 o processo de build disparado pelo gulp. Em alguns dos módulos ele destaca o tempo decorrido no processo de construção.

Edison_CodeBox_Terminal_Gulp_installed
Figura 5 - Processo de build pelo gulp do Codebox.

Finalizada então a construção do projeto com o gulp, vamos criar alguns diretórios necessários para a execução da aplicação. Primeiro, vamos criar o diretório .codebox, dentro do diretório de usuário root em /home, e logo em seguida crie o diretório packages dentro de .codebox, tal como mostrado na sequência de comandos a seguir:

Execução do Codebox na Intel Edison

Um detalhe que pode passar despercebido é o seguinte: O acesso ao Codebox é pelo navegador. Ou seja, você precisa saber o IP da sua Intel Edison na rede! 

Para ver o endereço IP atribuído à sua Intel Edison, considerando que a mesma esteja conectada à rede via WiFi, digite o seguinte comando no Terminal Linux dela:

Após este comando, irá aparecer uma série de dados a respeito do setup de rede da Intel Edison, dentre os quais o endereço IP a ser utilizado, como pode ser visto em destaque na Figura 6. Este é o número IP que deve ser utilizado para acessar a Edison, e correspondentemente o Codebox no navegador do seu computador.

Edison_CodeBox_ifconfigWlan0-cor
Figura 6 - Exibição de dados de rede sem fio Wlan0 da Intel Edison.

Finalmente, para executar o Codebox, é preciso disparar o seguinte "padrão" de comando, considerando que você esteja com o Terminal no diretório "/home/root/codebox", ou seja, que você esteja no diretório da aplicação:

No padrão de comando apresentado, temos os seguintes parâmetros de suma importância:

  • -p PORT - Especifica a porta de conexão com o Codebox. Exemplo: -p 8090
  • -u USERNAME:PASSWORD - Especifica usuário e senha para acesso ao sistema. Exemplo: -u andre:1234
  • run WORKINGDIR - Indica que deve executar e especifica o "workspace", diretório a ser usado pela IDE para armazenar e gerir arquivos de projeto. Exemplo: run /home/root/workspace

Antes de começar, primeiro eu criei o diretório workspace em /home/root por meio do comando:

Com o diretório criado, iniciei então o Codebox em minha Intel Edison por meio do seguinte comando:

Disparado esse processo, ele pode levar mais algum bom tempo, principalmente se for a primeira vez de sua execução, dado que a ferramenta irá criar arquivos de cache, dentre outras coisas mais. Veja na  Figura 7 o andamento da aplicação logo após o comando acima ser disparado.

Edison_CodeBox_Running_Start
Figura 7 - Início da execução do Codebox em Terminal.

E como são vários os componentes associados, tais como Terminal, Editor, Git, dentre outros, veja que componente a componente é "preparado" para funcionamento, o que é exibido pelo log da aplicação. Veja essa parte do processo no meu exemplo na Figura 8.

Edison_CodeBox_Running_Start_Packages
Figura 8 - Log da aplicação destacando o preparo dos módulos e componentes

Por fim, a despeito de um ou outro "erro" (realmente, aparecem alguns erros nessa parte), observe se a última mensagem a ser exibida é "Codebox is running at http://localhost:8090". Se aparecer essa mensagem, OK! Deu tudo certo, e agora vamos ver a aplicação no navegado!

Edison_CodeBox_Running_Started
Figura - Serviço iniciado.

Mas, André, e as mensagens de erro?! Bom... Não sei explicar. Funciona! 

Execução do Codebox na Intel Edison

Finalizada então a inicialização da aplicação pelo terminal, agora podemos acessar a ferramenta pelo navegador. No meu exemplo, a Intel Edison está no endereço IP 192.168.1.12 na minha rede local. Lembrando que parametrizei uma porta de acesso igual a 8090, o link para acessar o Codebox no navegador será http://192.168.1.12:8090. E assim que você digitar esse link e acessar o endereço em seu navegador, será pedido então um "login" para acesso! Lembra dos parâmetros de usuário e senha que passamos? Basta digitá-los agora. Veja 

Edison_CodeBox_browser_login
Figura 9 - Login de acesso ao Codebox.

Feito o login com as credenciais informadas no momento de iniciar a aplicação pelo Terminal da Intel Edison, seu acesso é liberado e a ferramenta começa a ser carregada no navegador. Veja na Figura 10 como é o acesso inicial ao Codebox.

Edison_CodeBox_Browser_Start
Figura 10 - Tela inicial do Codebox.

Muita coisa interessante, não concorda? Observe na Figura 11 o destaque para alguns componentes bem importantes. O primeiro que merece destaque é o Terminal. Na figura, uma seta preta no canto esquerdo destaca o ícone que faz abrir a aba de Terminal no Codebox. Quer mudar alguma configuração? Clique então no botão de Configurações, e será aberta uma janela com opções que lhe permitem alterar alguns parâmetros da aplicação Web. Observe que na parte superior costumam ficar os arquivos de código-fonte, que serão editados, e normalmente o Terminal aparece como abas na parte inferior da aplicação. Caso queira criar algum arquivo novo, basta ir no menu File e depois em New File, e será aberta uma nova aba para você editar seu arquivo.

Edison_CodeBox_Guia
Figura 11 - Destaque para componentes do Codebox.

Depois de criado o arquivo, para você fazer uso dos recursos de destaque para palavras de sintaxe, dentre outros que a ferramenta suporta, é preciso salvar o arquivo com a extensão que o mesmo deve ter. Para salvar um arquivo editado você pode usar o atalho de teclaro CTRL+S, ou ir no menu File e depois em Save. E caso ainda não tenha dado um nome para seu arquivo, irá aparecer uma janela para você digitar o nome. Digite, com a extensão apropriada, por exemplo "olaMundo.c" para código em C, ou "olaMundo.py" para código Python, por exemplo. E aí o código ficará destacado para a linguagem.

Veja na Figura adiante um exemplo onde é editado um programa em Código C, um simples "olá mundo", que em seguida é compilado e executado pelo Terminal embarcado na aplicação. 

Edison_CodeBox_Browser_C
Figura 12 - Edição de código C, com compilação e execução em Terminal.

Veja na Figura abaixo um exemplo bem simples de edição de código Python, e a sua execução em Terminal.

Edison_CodeBox_Browser_Python
Figura 13 - Edição e execução de código Python em Terminal.

Gostou da ferramenta? Se puder, faça a sua instalação na sua Intel Edison e nos conte a sua experiência!

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Linux Embarcado » IDE Online com Codebox na Intel Edison
Comentários:
Notificações
Notificar
guest
0 Comentários
Inline Feedbacks
View all comments
Talvez você goste:

Séries

Menu

WEBINAR
 

Soluções inteligentes para acionamento de MOSFETs/IGBTs com família STDRIVE

Data: 08/10 às 15:00h - Apoio: STMicroelectronics
 
INSCREVA-SE AGORA »



 
close-link