Arduino Yún

Arduino Yún
Este post faz parte da série Arduino Yún. Leia também os outros posts da série:

 

Até pouco tempo atrás, para se ter o Arduino conectado à internet era preciso ter em conjunto um Shield Ethernet como o W5100, ou uma placa com o ENC28J60, capazes de processar a pilha TCP/IP e facilitar o serviço de rede para o nosso camaradinha. Isso quando não se pensava em usar W-iFi, recorrendo a soluções como o WizFi210 e modos bem ortodoxos de configuração.

 

Atendendo a uma nova e real tendência, a fundação Arduino projetou e liberou o novo Arduino Yún em uma placa que agrega o já conhecido ATmega32u4, presente no Arduino Leonardo, juntamente com o SoC Atheros AR9331, comum a muitos roteadores. E tudo isso reunido nas mesmas dimensões do tradicional Arduino Uno (Confira artigo de Fabio Souza sobre Arduino Uno).

 

Arduino Yún

Arduino Yún

Figura 1: Imagens com perspectiva superior e inferior do Arduino Yún

 

A título de curiosidade, Yún significa “nuvem” em chinês. Ou seja, essa é a plataforma voltada para a Internet das Coisas com foco em operação na nuvem da fundação Arduino.

 

E fazendo jus à nuvem, o Arduino Yún possui conectividades com rede Ethernet e rede Wi-Fi, entrada para cartão de memória de modo a expandir o armazenamento de arquivos do dispositivo, possuindo também suporte a USB Host, tornando possível utilizar em conjunto dispositivos como câmeras USB, modems 3G, pendrives e outros.

 

A interação entre os dois mundos ATmega 32u4 e Atheros AR9331 é possível através de uma ponte de comunicação serial, usando os sinais Tx/Rx de ambos, por meio da qual ocorre o fluxo de comandos entre ambas as partes, dependendo do programa sketch gravado no Arduino.

 

E essa ponte não trata apenas do canal de comunicação, mas de toda uma nova biblioteca que permite a interação entre os dois mundos em programas sketchs do Arduino, de modo a acessar conjuntamente GPIOs do ATmega e dados do cartão de memória pelo Atheros, por exemplo.  Em um outro post, serão abordados detalhes das novas bibliotecas do Arduino Yún.

 

Arduino Yún

Figura 2: Descrição da união entre os mundos Arduino e Linux por meio da Ponte (Bridge)

 

Na divisão de responsabilidades, temos o seguinte perfil:

 

ATmega32u4

  • Controle dos GPIOs e entradas Analógicas;
  • Interface USB para programação e USB Host também, dado que é o ATmega 32u4;
  • Faz a interface para programação de sketchs Arduino;
  • Em suma, trabalho de baixo nível.

 

Athernos AR 9331

  • Interface Wi-Fi;
  • Interface Ethernet;
  • Interface com cartão de memória microSD;
  • Intertace com USB Host;
  • Em suma, trabalho de alto nível

 

A placa Arduino Yún possui diversos conectores e botões auxiliares, além dos periféricos já mencionados. Pode-se destacar a presença de um botão que faz reset as configurações WiFi, localizado próximo do conector USB Host, como também um botão de reset para o AR9331, que reinicia o sistema Linux Linino embutido, localizado próximo ao conector de cartão de memória, e há também o botão de reset para o ATmega32u4, localizado ao lado do conector RJ45. Além disso, ele possui um conector para antena WiFi, caso o usuário queira usar uma antena externa, e conectores para "PoE" - Power over Ethernet, que permitem o Arduino Yún ser energizado pela rede cabeada, caso essa rede tenha suporte a PoE. Todas as conexões podem ser vistas em detalhes na imagem a seguir, que exibe o Arduino Yún, seus periféricos, componentes e sinais associados.

 

 

Arduino Yún

Figura 3: Imagem com destaque para todos os componentes do Arduino Yún

 

Como dito anteriormente, o  microcontrolador ATmega32u4 é o mesmo presente na placa Arduino Leonardo, já apresentada no Embarcados pelo Fábio Souza. O grande destaque desse microcontrolador é a presença de USB nativo, que é um “plus” ao Arduino Yún, permitindo-lhe funcionar como teclado e mouse, por exemplo, agora capazes de um eventual controle remoto, dada as funcionalidades de rede também incorporadas.

 

Já o SoC Atheros AR9331 é o mesmo presente em alguns roteadores WiFi, e em diversas placas Linux voltadas para a Internet das Coisas, como já comentado nos meus artigos. É um SoC de arquitetura MIPS, de baixo consumo e baixo custo. 

 

Abaixo, seguem características técnicas da dupla, ATmega32u4 e Atheros AR9331:

 

Microcontrolador Arduino AVR

 

Microcontrolador

ATmega32u4

Tensão de Operação

5V

Tensão de Entrada

5V

Pinos digitais de E/S

20

Canais PWM

7

Canais de Entrada Analógica

12

Corrente CC por Pino

40 mA

Corrente CC 3.3V por Pino

50 mA

Memória Flash

32 KB (dos quais KB são usados pelo bootloader)

Memória SRAM

2.5 KB

Memória EEPROM

1 KB

Frequência de Operação

16 MHz

Processador Linux

 

Processador

Atheros AR9331

Arquitetura

MIPS @400MHz

Tensão de Operação

3.3V

Barramento Ethernet

IEEE 802.3 10/100Mbit/s

WiFi

IEEE 802.11b/g/n

Conexão USB Tipo-A

2.0 Host

Leitor de Cartão

Micro-SD apenas

Memória RAM

64 MB DDR2

Memória Flash

16 MB

 

 O sistema utilizado no SoC AR9331 é o Linino, versão modificada do OpenWRT para os propósitos do projeto Yún. De cara, já é possível acessar o terminal de comando do Linino por meio de SSH, bastando conhecer o IP da placa na rede. Ao conectar no sistema, o usuário é recebido pela tela de saudação, como mostrado adiante.

 

Arduino Yún

Figura 4: Tela de inicialização do OpenWRT Linino do Yún.

 

 

Dentre algumas das suas características, está a presença de Python de fábrica, e a capacidade de lidar com uma API REST, em que, resumidamente, torna o Arduino Yún capaz de interagir com aplicações web por meio de URLs customizadas, capazes de controlar suas GPIOs e fazer até mesmo leitura dos conversores analógico-digitais. Um exemplo bem simples é mostrado abaixo, onde por meio de REST o pino digital 13 é definido como saída.

 

Arduino Yún

Figura 5: Exemplo de uso do recurso REST para definir um pino digital como saída.

 

 

Analogamente aos roteadores, o Arduino Yún também possui um painel virtual de configuração pela rede. Este painel pode ser acessado ao se conectar ao Yún por meio de conexão Wi-Fi direta, quando este opera como Access Point, ou quando o Yún é conectado a rede cabeada e seu IP é conhecido. Uma curiosidade, quando a conexão é realizada via Wi-Fi ao Yún como Access Point, o mesmo pode ser referenciado como "arduino.local", como no exemplo abaixo de painel de controle.

 

Arduino Yún

Figura 6: Exemplo de tela de configuração do Arduino Yún.

 

 

Apesar de sua pouca memória interna, Flash de 16 MB, é possível expandir o armazenamento do sistema Linux Linino pelo cartão de memória microSD, de modo a instalar mais programas e bibliotecas, e também armazenar mais arquivos, como logs de aplicações, etc. A própria fundação Arduino fornece em seu site um guia para fazer o processo em.

 

Todo o código fonte do Linino está disponível no GitHub, podendo ser acessado no seguinte link.

 

Em breve teremos mais posts tratando as bibliotecas do Arduino Yún e exemplos de sua utilização.

 

Referências

 

http://arduino.cc/en/uploads/Main/ArduinoYunFront_2_450px.jpg

http://arduino.cc/en/uploads/Main/ArduinoYunBack_2_450px.jpg

http://arduino.cc/en/uploads/Main/BridgeInShort.png

http://arduino.cc/en/Tutorial/ExpandingYunDiskSpace

http://codybonney.com/connecting-to-the-arduino-yun-via-ssh/

http://fc07.deviantart.net/fs71/f/2013/290/a/e/yun_by_pighixxx-d6qvbq4.png

http://www.open-electronics.org/wp-content/uploads/2014/03/Fig_002.png

http://www.open-electronics.org/wp-content/uploads/2013/11/Fig_002.jpg

https://github.com/arduino/linino

 

Outros artigos da série

Shield Arduino YÚN >>
Este post faz da série Arduino Yún. Leia também os outros posts da série:
NEWSLETTER

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

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

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

André Curvello
Graduado em Engenharia de Computação com ênfase em Sistemas Embarcados pela USP, campus São Carlos, possui MBA em gestão de TI pela UNIFRAN e Mestrado em Ciências pela EESC-USP. Atua como Team Leader na PST Electronics - Pósitron, sendo também professor de pós-graduação e instrutor de cursos na área de sistemas embarcados. Como hobby, gosta de programar tudo que pode ser programado, escovando bits sempre ao lado de um bom café. Gosta de compartilhar seu conhecimento por meio de palestras, e publicando artigos como colaborador dos sites Embarcados e FilipeFlop. Em 2018 foi premiado como Microsoft Most Valuable Professional em Azure IoT pela Microsoft.

13
Deixe um comentário

avatar
 
13 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
0 Comment authors
Acionamento de uma lâmpada com Arduino - EmbarcadosArduino Yún Mini - EmbarcadosArduino - Entradas Analógicas - EmbarcadosArduino: Como utilizar o TIMER do ATmega328 - EmbarcadosArduino UNO Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
trackback

[…] Arduino Yún […]

trackback

[…] Curvello escreveu aqui no Embarcados sobre o Arduino Yún, lançada há exatos dois anos, a placa original que deu origem a essa placa menor. Do ponto de […]

trackback

[…] Arduino Yún […]

trackback

[…] Arduino Yún […]

trackback

[…] Arduino Yún […]

trackback

[…] Arduino Yún […]

trackback

[…] meu post anterior [1], comentei sobre a nova plataforma para Internet das Coisas (IoT) da fundação Arduino, chamada […]

trackback

[…] Arduino Yún […]

trackback

[…] Arduino Yún […]

trackback

[…] Arduino Yún […]