Wio Terminal – um All-In-One para makers e IoT

Wio Terminal

Dispositivos embarcados inseridos em projetos de Internet das Coisas precisam, muitas vezes, de uma gama considerável de recursos, tais como: processamento, memórias, interação com sensores e protocolos de comunicação diversos, displays, etc. Enfim, tudo que envolve processamento, comunicação e interação com usuário e sensores pode ser elegível em um dispositivo embarcado de um projeto IoT.

Recentemente, a empresa chinesa Seeed Studio lançou o Wio terminal, um dispositivo que reúne tudo isso num só equipamento, sendo literalmente um All-In-One para makers e IoT.

Este artigo visa falar das especificações técnicas do Wio Terminal, assim como apresentar um projeto prático com ele.

Sobre a Seeed Studio

A Seeed Studio é uma empresa chinesa (sediada em Shenzhen) com mais de dez anos de mercado, com atuação dedicada a prover hardware e soluções para makers em sistemas embarcados IoT. Possui em seu portfólio diversos modelos de placas, sensores e periféricos diversos, sendo um dos nomes mais fortes no mundo no segmento.

Wio Terminal - visão geral

O Wio Terminal é um dispositivo que contém tudo que um projeto que deva interagir com o usuário precisa: processamento, display, botões e sensores. A figura 1 mostra suas diferentes faces.

Wio Terminal
Figura 1 - Wio Terminal (fonte: https://www.hackster.io/news/seeed-studio-s-wio-terminal-gets-official-circuitpython-support-1e228a10b50a)

Na sua face frontal, possui um display LCD de 2.4”, um mini-joystick de 5 posições e uma saída de áudio (buzzer). Dessa forma, como a tela ocupa boa parte da face frontal, é possível construir interfaces gráficas bastante interessantes para o usuário, algo muito útil em sistemas de monitoramento e telemetria remotos. Ainda, a Seeed Studio disponibiliza bibliotecas gráficas e vários exemplos de como utilizar o display, o que facilitará a vida na hora de desenhar uma interface gráfica.

Já na sua face traseira, possui uma janela transparente, a qual da visão direta a parte de sua PCB e também a um sensor de luminosidade e um emissor infravermelho. Ainda, a face traseira dispõe de um conector de 40 pinos compatível com o utilizado na Raspberry Pi. Dessa forma, o Wio Terminal pode ser utilizado na forma de um shield / hat para a Raspberry Pi também. Outro fator interessante na face traseira do Wio Terminal é a presença de imãs, o que permite a fixação dele em superfícies metálicas (como geladeiras, por exemplo).

Em sua face inferior, possui dois conectores para sensores / módulos Grove. Isso é muito interessante pois permite o uso de forma praticamente plug-and-play de módulos e sensores Grove, o que permite o desenvolvimento rápido de protótipos com a vantagem de ficar bem “clean” (sem conectores expostos), sendo definitivamente algo positivo em um dispositivo destinado para makers e hobistas em sistemas embarcados e Iot. Ainda, a face inferior conta com um conector USB-C para alimentação e programação.

Na face lateral, conta com entrada para micro-SD card, tornando possível a interação com arquivos maiores (fotos, por exemplo), assim como gravação de arquivos a partir do dispositivos (gravação de dados de sensores, por exemplo), sendo portanto um grande ponto positivo para este dispositivo. A face lateral também conta com um botão de três direções (on, off e reset).

Quanto a programação, o Wio Terminal pode ser programado pela Arduino IDE, a partir das bibliotecas disponíveis pela própria Seeed Studio.

Em termos de conectividade, a placa possui conectividade wi-fi (2.4GHz e 5GHz) e bluetooth (inclusive, suportando BLE 5.0). Isso é um dos pontos mais fortes deste dispositivo, pois com estas opções de conectividade, é possível sua inserção em praticamente qualquer projeto IoT.

Como pontos a melhorar, destaco a falta de suporte a bateria (seja interna ou externa), algo que desaponta um pouco considerando o potencial que o Wio Terminal tem de ser um dispositivo portátil e completo para IoT e interação com usuário. Além disso, sua documentação oficial reforça que é preciso fazer update de firmware do chip que controla wi-fi e Bluetooth (RTL8720DN, do fabricante Realtek), algo que pode ser complicado aos mais iniciantes e que, com certeza, toma um tempo considerável ao se aprender a lidar com o dispositivo.

Especificações técnicas

O Wio Terminal possui as seguintes especificações técnicas:

  • Microcontrolador Microchip ATSAMD51P19, sendo um ARM Cortex-M4F rodando em uma frequência de 120MHz, com 4MB de memória flash (externa) e 192KB de memória RAM.
  • Suporta os seguintes protocolos de comunicação: SPI, I2C, I2S, ADC, DAC, PWM, UART.
  • Conectividade wi-fi (2.4Ghz / 5Ghz, 802.11 a/b/g/n) e Bluetooth (BLE / BLE 5.0) provida pelo RTL8720DN, do fabricante Realtek.
  • USB-C OTG. Cabo já fornecido no produto.
  • Display LCD: resolução de 320x240 px e 2.4” de tamanho
  • Demais periféricos: acelerômetro (LIS3DHTR), microfone (1.0V-10V -42dB), buzzer, sensor de luminosidade (400-1050nm), emissor infravermelho (940nm), slot para cartão micro-SD (capacidade máxima: 16GB), conector de 40 pinos compatível com Raspberry Pi, botões simples (três) e um mini-joystick (5 posições).

A figura 2 mostra um overview do hardware do Wio Terminal.

Wio Terminal
Figura 2 - overview de hardware (fonte: https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/)

Documentação oficial

Você pode conseguir informações adicionais, assim como um getting started do dispositivo (incluindo guia de quais bibliotecas instalar e procedimentos seguir), no seguinte endereço: https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/

Projeto-exemplo: central de controle

Para mostrar o Wio Terminal na prática, fiz um projeto simples porém que serve como base para seus futuros projetos com este dispositivo: uma central de controle, capaz de receber e mostrar informações de temperatura e pressão barométrica, prever o tempo com base na pressão barométrica recebida e, ainda, controlar 3 LEDs ligados em um dispositivo remoto, via Internet. O protocolo de comunicação utilizado entre Wio Terminal e dispositivo remoto é o MQTT, neste exemplo utilizado junto com um broker público.

Para melhor mostrar as funcionalidades do projeto, veja o vídeo a seguir:

O projeto consiste em duas partes:

  1. ESP32 com sensor BMP180: parte responsável por medir, de segundo em segundo, a temperatura e a pressão barométrica e enviar tais dados, via Internet e MQTT, para o Wio Terminal. Ainda, conta com 3 LEDs, que são controlados via Internet e MQTT pelo Wio Terminal.
  2. Wio Terminal: parte responsável por receber os dados enviados pelo ESP32, exibir dados na tela, prever o clima com base na pressão barométrica (sol, nublado ou chuva) e, ainda, controlar 3 LEDs ligados no ESP32, via Internet e MQTT.

Circuito esquemático - placa com ESP32

O circuito esquemático da placa com ESP32 para medição remota de temperatura e pressão barométrica pode ser visto na figura 3.

Wio Terminal
Figura 3 - circuito esquemático (placa de medição de temperatura e pressão barométrica)

Código-fonte: placa com ESP32

O código-fonte do software embarcado que roda na placa com ESP32 para medição remota de temperatura e pressão barométrica pode ser abaixo. Este código-fonte foi desenvolvido na Arduino IDE, e utiliza como bibliotecas a PubSubClient e a BMP085 (Adafruit). Caso não tenha o seu ambiente preparado para programar o ESP32 via Arduino IDE, recomendo fortemente a leitura deste artigo.

IMPORTANTE: para total compreensão do mesmo, leia atentamente seus comentários.

Código-fonte: Wio Terminal

O código-fonte do software embarcado que roda no Wio Terminal pode ser abaixo. Este código-fonte foi desenvolvido na Arduino IDE, e utiliza como bibliotecas a PubSubClient, as bibliotecas wifi mostradas na documentação oficial do dispositivo e a biblioteca para controle do display TFT_eSPI. Caso não tenha o seu ambiente preparado para programar o Wio Terminal via Arduino IDE, recomendo fortemente a leitura da documentação oficial.

Saiba Mais

e-book Coleção ESP32 do Embarcados: Aplicações Low Power com ESP32

Conheça o M5StickC: Um kit de desenvolvimento com ESP32

Configurando o ambiente Eclipse para o ESP32

Sem licença Creative Commons

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

Internet Das Coisas » Wio Terminal - um All-In-One para makers e IoT
Comentários:
Notificações
Notificar
guest
0 Comentários
Inline Feedbacks
View all comments
Talvez você goste:

Nenhum resultado encontrado.

Séries

Menu

WEBINAR
 
Debugging
em Linux embarcado

 

Data: 30/09 às 19:30h - Apoio: Mouser Elecctronics
 
INSCREVA-SE AGORA »



 
close-link