WeIO

WeIO - Uma nova plataforma para a Internet das Coisas com foco em desenvolvimento Web para integração de elementos de hardware.
WeIO

Hoje vivenciamos uma revolução chamada de “Internet of Things”, em que temos mais “coisas” do que pessoas conectadas à internet. E para tirar proveito deste efeito diversos fabricantes já conhecidos no mercado e  novos empreendedores estão lançando novas ferramentas e soluções no mercado, de modo a serem usadas por profissionais ou simplesmente por entusiastas de plantão.

WeIO – Platform for Web of Things, de NoDesign no Vimeo.

Uma destas soluções é a WeIO, uma placa que possui uma característica já conhecida, como o SoC AR9331, presente no Arduino Yún, mas que se diferencia em um aspecto: O uso de um microcontrolador LPC com core ARM Cortex-M0 para lidar com periféricos analógicos e atividades de tempo real.

687474703a2f2f77652d696f2e6e65742f696d672f7765696f4261636b2e6a7067
Figura 1: Vista inferior e superior da placa WeIO

O objetivo do projeto é aproximar as coisas da Web, por assim dizer. Já que as coisas estão se conectando à internet, por que não propriamente à Web? Dessa forma, a base do desenvolvimento para soluções com a WeIO é usando HTML5, JavaScript e Python, de modo a criar aplicações puramente Web que interajam com elementos de hardware.

WEIO STEP 02
Figura 2: Integração de componentes Web para controle da WeIO

Segue abaixo uma visualização superior da placa WeIO, com legenda para os componentes e periféricos presentes na placa, e logo depois temos uma descrição detalhada destes componentes.

weioImage
Figura 3: Destaque para a placa em sua vista superior e seus componentes presentes

Hardware

 

Processador, Sistema e Memória

  • SoC Atheros AR9331 operando a 400MHz;
  • Sistema Operacional OpenWRT com Linux Kernel 3.7.9;
  • 16MB de memória Flash e 64MB de memória RAM DDR2;
  • Coprocessador LPC11xx ARM Cortex-M0 para I/Os analógicas e interface de hardware em tempo real.

 

Armazenamento Adicional

  • WeIO possui entrada para cartão microSD. Não é informado o limite de memória suportada.

 

Interfaces de comunicação e I/Os de Propósito Geral (GPIOs)

  • 32x GPIO;
  • 1x UART;
  • 2x SPI;
  • 1x I2C;
  • 8 canais de conversão analógico-digital com 10bits de precisão;
  • 6 canais PWM com precisão de 16bits;
  • 2 portas USB Host;
  • 1 adaptador miniUSB FTDI Serial-USB para debug de sistema;
  • 1 interface Ethernet na parte inferior da placa.

 

Conectividade Sem Fio

  • WiFi 802.11 b/g/n 2.4GHz integrada ao SoC AR9331;
  • Modo simultâneo de AP e STA;
  • Quantidade ilimitada de interfaces virtuais WLAN para criar topologias de redes complexas.

 

Sensores e feedback

  • LED RGB  conectado a 3 saídas PWM;
  • Termômetro digital LM75.

 

Tensão de Operação e Alimentação

  • Tensão de operação de 3.3V;
  • Sinais GPIO com tolerância de 5V;
  • Fonte de alimentação externa de 5V.

 

Interfaces de Programação

  • JTAG para AR9331;
  • JTAG para LPC11xx.

 

Todo o arranjo de hardware e a pilha de desenvolvimento de software têm como fundamento cumprir com uma necessidade atual de prototipagem rápida e integração de produto final. A WeIO é fruto da experiência em computação física e design de produto da Nodedesign.net. O sistema Linux presente já vem pré-configurado para uma execução eficiente, e vem acompanhado de um rico conjunto de ferramentas para construção das aplicações do usuário, tais como:

  • Suporte a compartilhamento SAMBA;
  • IDE online para desenvolvimento de software embarcado e interface de usuário;
  • Servidor Tornado, escrito em Python, com suporte a WebSockets;
  • Python 2.7 com utilitários pip easy_install para fácil integração e instalação de bibliotecas e componentes adicionais;
  • Bootstrap e jQuery instalados para o desenvolvimento das aplicações Web;
  • Demais características podem ser vistas na página específica do projeto.

 

Para dar um entendimento melhor de como a arquitetura de operação e desenvolvimento para a WeIO está projetada, segue adiante uma imagem que mostra as camadas de funcionamento da WeIO, onde podemos perceber que o microcontrolador NXP LPC11xx é a parte de mais baixo nível, e o Tornado Server é a base das aplicações, tendo WebSockets como mecanismo padrão de comunicação entre as aplicações e o editor de código IDE.

 

featuresSW
Figura 4: Pilha de componentes de uma WeIO

E de modo a exemplificar ainda mais como tudo funciona, segue adiante uma imagem destacando a IDE online para desenvolvimento de aplicações, e demais janelas presentes tais como Network Configurator, que serve para configurar a rede (Ethernet ou Wifi), Console, que serve para acessar o console Linux da WeIO, e Statistics, que fornece informações da WeIO em execução, tais como quantidade de memória RAM disponível, uso de CPU, etc.

featuresSWIDE
Figura 5: IDE online para desenvolvimento

Curiosamente, como pode ser visto no canto superior direito da imagem, há um preview da WeIO. E é exatamente isto! Nesta parte da IDE online a placa WeIO é representada graficamente, destacando todas as entradas e saídas ativas e interfaces utilizadas. E mais interessante ainda, os desenvolvedores colocaram uma ferramenta chamada WebScope, que funciona como um osciloscópio online representando graficamente as entradas analógicas e digitais, de modo a agilizar a prototipação das soluções.

Referências

 WeIO – http://www.we-io.net/

Why WeIO – http://www.we-io.net/whyWeio.html

WeIO Features – http://www.we-io.net/features.html

Nodesign – http://www.nodesign.net/

Notificações
Notificar
guest
1 Comentário
recentes
antigos mais votados
Inline Feedbacks
View all comments
Antonio Carlos Lázaro de Oliveira
Antonio Carlos L. Oliveira
09/02/2015 10:53

Excelente placa, excelente tópico, sera que vai ser a nova “Arduíno?”, seria legau se ela for compatível com os shields, tomara que de certo no mercado. Tem muito potencial.

WEBINAR

Visão Computacional para a redução de erros em processos manuais

DATA: 23/09 ÀS 17:00 H