ARM para hobbyistas: economizando com Linux em Mini PCs

Mini PCs
Este post faz parte da série ARM para hobbyistas. Leia também os outros posts da série:

 

Muitas vezes, na procura de um embarcado adequado para seu projeto, você pode se frustrar pelos preços. Apesar de termos dispositivos como o Raspberry Pi por US$ 35 e o Beaglebone Black por US$ 45, ambos são single-core e têm apenas 512 MB de RAM, o que pode ser pouco para o que você precisa. E dispositivos mais poderosos não raro saem mais de 100 dólares e ainda são menos compactos.

 

Por isso, alguns hobbyistas têm adotado uma postura mais pragmática: buscam dispositivos mais voltados ao consumidor final - portanto, produzidos em massa e mais baratos - e procuram adaptá-los para o uso como placa de desenvolvimento.

 

Das placas de desenvolvimento ARM que mostramos na parte 1, é de se notar que têm razoável espaço para periféricos e até, na maioria dos casos, pinos GPIO. Isso acontece porque geralmente essas placas de desenvolvimento são usadas para experimentos em microeletrônica. Mas digamos que para você, hobbyista, GPIOs e muitos periféricos não interessem, pois você precisa do processamento e uma conectividade mínima (digamos, 2 USB e um HDMI, e para rede usa-se wireless) para usar como, por exemplo, um media center.

 

Os "stick PCs", ou "PCs de bastão" nesse caso são uma ótima alternativa. Uma tendência que começou com o venerável MK802, um dispositivo com SoC Allwinner A10 com 512 MB de RAM criado originalmente com Android, esses pequenos poderosos não tardaram a se proliferar. Para os modelos mais populares chegou-se a ter ports de Linux completo (geralmente Ubuntu, por causa da Linaro com seus BSPs baseados nele) de modo a aproveitar o poder total da máquina, ports esses que chegaram até a ser reutilizados pelas próprias fabricantes para os vender melhor. O MK802 já está na sua quarta edição e usa um SoC RK3188 Quad-Core com 2 GB de RAM, com a versão "LE" - Linux Edition, oficialmente suportado - também disponível, com o preço já por volta dos 80 dólares com frete!

A situação está ficando tão mainstream que até a Dell resolveu entrar na onda com o que chamou de "project Ophelia" que resultou em seu dispositivo Wyse Cloud Connect.

Mini PCs
MK802 IV Linux Edition

 

Apresentamos alguns dos bastões mais populares, com a importante ressalva que já existem dezenas de modelos no mercado e não é possível analisar todos, o que mereceria vários artigos à parte. Os principais SoCs usados nestes são os Allwinner (A10, A20 e A31), os de grande desempenho da Rockchip (RK3066, RK3188, RK3168 e em breve RK3288) e o i.MX6 da Freescale. Com a disseminação deste tipo de dispositivo, outras companhias começam a se manifestar nesse segmento como a Telechips, mirando baixo preço e tendo como primeiro dispositivo o HTV003 com SoC TCC8935 de 50 dólares (repare que ele, diferente de outros, tem entrada ethernet, possivelmente gigabit ethernet!), e a AMLogic, com foco no desempenho, tendo por exemplo o MK803.

 

Mini PCs
Hotach HTV003 com SoC da Telechips

 

Os Mini PCs ou PCs em bastões não são as únicas formas em que esses dispositivos se encontram. É muito comum encontrar os mesmos SoCs, com bem mais entradas para periféricos, na forma dos também já populares tocadores de mídia portáteis ou "TV Boxes", como o Minix Neo X5 ou o Kaiboer K610i. Como esse tipo de dispositivo é menos utilizado para hobby, modificações e "desmonte", e quando é utilizado segue a mesma lógica dos Mini PCs, não entraremos em detalhes sobre eles nesse artigo.

 

Antes de começarmos com o UG802, uma dica importante para quem for se aventurar a usar esses MiniPCs: devido à escassez de saídas USB nesses dispositivos, uma opção altamente recomendada para usá-los é comprar um teclado sem fio com touchpad chinês (também na modalidade de "air mouse") - custa por volta de 18 dólares, é prático e pequeno e você sempre pode plugá-lo em vários dispositivos. Geralmente não precisa de configuração: vem com um dongle USB que você conecta no MiniPC e o reconhecimento e uso é instantâneo.

 

Mini PCs
Teclado wireless com touchpad e laser pointer

 

UG802

 

Apesar de o MK802 ter sido o primeiro "stick PC" popular, foi o UG802, com seu SoC de bom desempenho da Rockchip (dual-core 1.2GHz), junto com 1GB de RAM (ao invés dos 512 MB do MK802) e aceleração gráfica (3D e decodificação de filmes) através da GPU embutida Mali-400MP4, que conquistou o mercado. Com recursos mais do que suficientes para ser um excelente "media player", o bastãozinho também aceitava joystick e rodava muito bem alguns dos jogos mais populares de Android.

 

Mini PCs
UG802

 

Não tardou para desenvolvedores Linux acharem o código modificado do kernel para o RK3066 que a Rockchip disponibilizou e o adaptarem para conseguir rodar sua distribuição predileta. A versão do Ubuntu para o UG802 ganhou até nome criativo: PicUntu e tem novas adaptações para funcionar também com os novos SoCs RK3188.

 

O PicUntu não serve somente para o UG802. Existem outros sticks que usam o SoC RK3066 e em que ele funciona; no entanto, as configurações podem variar levemente e isso já é suficiente, em kernels Linux antes da já mencionada mudança para a Device Tree, para impedir o funcionamento, então é indispensável consultar o modelo antes de tentar. Como exemplo, o Minix Neo X5 já mencionado usa o mesmo SoC mas nem termina de bootar o PicUntu se instalado nele. Sim, fizemos esta experiência!

 

Em geral, esse é um problema recorrente em relação aos produtos chineses baratos com ARM: as companhias ainda não sabem lidar bem com software livre e a liberação do código se dá por fontes não-oficiais e desencontradas e geralmente sem algumas partes que são código proprietário de outros fabricantes, como firmware de modem e drivers de GPU. A integração e polimento desses códigos se dá por voluntários em fóruns, por isso a adaptação para Linux de dispositivos criados para Android toma tempo. O SoC RK3066 é um dos mais bem suportados pela comunidade. Depois dele, vêm os da Allwinner, em especial o A10, mas o A20 e A31 já têm melhorado em suporte. A Freescale (i.MX6 por exemplo) tem em geral ótimo suporte por causa das imagens da Linaro; AMLogic e Telechips ainda estão cruas, embora a Telechips tenha disponibilizado os fontes de forma mais regular.

 

O custo do UG802 ainda hoje o torna imbatível como opção de servidor pequeno barato: Você consegue comprar dois por 50 dólares com adaptador USB para ethernet e frete incluído! É isso mesmo, você paga pouco mais de 100 reais e tem dois servidores em que pode instalar um Linux completo e com aceleração gráfica!

 

É possível escolher entre instalar o PicUntu na própria NAND flash do aparelho ou em um cartão MicroSD. A opção recomendada é no cartão MicroSD; a instalação, embora facilitada ao máximo pelo instalador, pode ser estranhada por quem não tem costume de fazer flash de dispositivos Android. Além disso, é possível que você queira instalar outra distribuição ao invés de uma remasterização do Ubuntu - mas saiba de antemão que a tarefa não é trivial e é bem diferente da que faz o mesmo em arquitetura Intel. Você gostaria de um tutorial ensinando a instalação do PicUntu e de distribuições alternativas? Responda nos comentários!

 

GK802

 

Depois que os PCs em bastão - somente com Android até então - já haviam ganhado alguma notoriedade no mercado, alguns fabricantes começaram a perceber que havia a demanda para instalações de GNU/Linux para eles. O primeiro fabricante a reagir com um bastão que suportava tanto Android quanto GNU/Linux foi a Zealz com seu GK802 -- que por ter como SoC um i.MX6 Quad 1.2 GHz de 1GB de RAM, já tinha uma implementação de referência da Linaro para si, inclusive com aceleração de hardware da GPU Vivante GC2000, e foi só uma questão de adaptar para pequenas diferenças de hardware.

 

Mini PCs
GK802

 

Além do suporte oficial do GNU/Linux, o GK802, sendo vendido a 80 dólares com frete, tem outra particularidade interessante: tem 6 furinhos na PCB que são, na verdade, terminais da porta serial, isto é, você pode acessar a console dele usando um adaptador USB-TTL e alguns fios de contato! Isso torna este PC em bastão um dos mais parecidos com um "servidor" de verdade, tanto pela capacidade de processamento do quad-core quanto pelo serial. Um revés dele é aquecer com facilidade, o que pode tornar aconselhável a instalação de um dispositivo de dissipação de calor.

Mini PCs
GK802 sendo acessado pela serial

 

Cabe ainda ressaltar que apesar do GNU/Linux oficialmente ressaltado, a "instalação" não é trivial. Ao invés de ter NAND flash, o GK802 tem um segundo leitor de MicroSD interno, de onde boota por default. Para usar GNU/Linux nele você precisa abrir o dispositivo e substituir o cartão - e devido aos encaixes minúsculos o risco de quebrar é real.

 

RK3188 sticks e o "Complete Linux Installer"

 

A companhia chinesa Fuzhou Rockchip Electronics - ou, como é conhecida, somente "RockChip" - é uma licenciada da ARM e faz SoCs que se caracterizam pelo baixo preço e alto desempenho. Ela é a responsável pelo SoC RK3066 do UG802 e seu modelo posterior de SoC, RK3188, é considerado um sucesso natural para os stick PCs. Esse SoC é extremamente popular, usado em muitos modelos de stick PC, com nomes como Tronsmart T428Tronsmart T908Ugoos UG007BUgoos MK809 IV e muitos outros com preços geralmente variando de 60 a 100 dólares.

 

Apesar da popularidade desse SoC da Rockchip, ela nunca liberou "de verdade" o código-fonte do kernel Linux/Android que funciona nele. Ele foi obtido de diferentes fontes liberadas por integradores e com drivers diferentes por serem usados em dispositivos diferentes, e a integração feita pela comunidade ainda não está totalmente funcional - por exemplo, os drivers de GPU ainda não foram integrados.

 

A comunidade em torno da distribuição PicUntu conseguiu, já em 2013, adicionar suporte de instalação ao RK3188. Mas este será bem mais propenso a problemas do que o altamente suportado RK3066.

 

Nesse caso, uma opção salutar, que dá muito menos trabalho e que apresenta um bom equilíbrio entre funcionalidade e praticidade é o Complete Linux Installer. Este é um programa Android que você pode instalar pelo Google Play (presente na quase totalidade dos stick PCs com RK3188) que por sua vez instala uma "imagem de disco" de distribuição Linux de sua escolha e permite que você a execute numa jaula chroot de dentro do Android. Dentro desta jaula, a distribuição não terá acesso à GPU (para visualizar o ambiente gráfico você precisará do VNC), mas terá acesso geral aos dispositivos e principalmente à rede, podendo servir para rodar praticamente qualquer programa de servidor que rodaria no GNU/Linux "standalone". E você ainda pode executar os programas convencionais de Android ao mesmo tempo.

 

E uma boa notícia atual é que o projeto-pai do Complete Linux Installer, o Linux On Android, está procurando por opções de crowdfunding para permitir que ele rode com aceleração gráfica em alguns dispositivos mais populares. Provavelmente teremos notícias mais detalhadas sobre isso em breve.

 

Mini PCs
Tronsmart T428 (Stick PC com SoC RK3188) rodando Complete Linux Installer para executar Ubuntu 12.04 dentro do Android 4.2.2.

 

Esta solução é conveniente somente porque o SoC RK3188 além de ser quad-core e ter clock alto tem 2GB de RAM, tendo espaço para "gastar" com os programas residentes dos dois sistemas operacionais sem comprometer processamento ou memória. Alguns benchmarks mostram que há uma perda de desempenho de 5 a 20% na maioria dos casos em relação a rodar uma distribuição nativamente, o que não é muito, mas deve certamente ser considerado para seu projeto.

 

Duas últimas considerações sobre sticks RK3188: Existe uma variedade mais barata e de menor desempenho dele no mercado, o RK3188T e muitas vezes isso não é claramente identificado, então é bom pesquisar para ver se seu dispositivo não o tem. Depois de já ter comprado, existe uma aplicação experimental para testar isso. Mesmo assim, em geral processamento não é problema, e um critério de desempate mais pragmático para os dispositivos RK3188/RK3188T é a velocidade prática da wireless, o que geralmente é o maior gargalo. Alguns modelos vêm com antenas externas, o que é algo pra se considerar - se você estiver fazendo streaming de um filme pela rede, este diferencial é o que fará sua experiência ser boa ou terrível. O sítio CNX Software oferece uma tabela de comparação de velocidades wireless para vários Mini PCs.

 

Allwinner sticks

A companhia chinesa AllWinner em muito se assemelha à RockChip: licenciada ARM, fabrica SoCs usados não só em Mini PCs como também várias placas de desenvolvimento ARM, como os cubieboard e PCDuino. Com nomes como "Allwinner A10" que causam confusão com a nomenclatura ARM ("Cortex A9" e semelhantes), ela tem uma série de SoCs bem conhecidos e dois deles em especial equivalem em velocidade e memória aos Rockchip: o Allwinner A20 compete com o Rockchip RK3066 e o Allwinner A31 com o RK3188.

 

Mini PCs
CS868 stick (A31 SoC)

 

São poucos os modelos de sticks com Allwinner. Dentre os mais populares, temos com o Allwinner A20 o MK808C (US$ 49) e com o Allwinner A31 o CS868 (US$ 92). Apesar de o fonte do kernel Linux/Android pra eles ter sido disponibilizado oficialmente, os drivers proprietários de GPU (PowerVR) estão entre os mais difíceis de obter e de fazer funcionar, apesar dos heróicos esforços do já mencionado portal linux-sunxi. Deste modo, não há distribuição de Linux nativa facilmente obtível para esses sticks e a única opção parece ser o Complete Linux Installer a partir do Android.

 

Dito isto, haveria muito mais o que ser dito sobre Mini PCs, já que são tantos. Muito disto, no entanto, sai do escopo de embarcados; o que dissemos aqui é suficiente para você se aventurar por essas praias como hobbyista. Duas lojas chinesas com ótimos preços que vendem bastante desses dispositivos são a GeekBuying e a Miniand (que é, de origem, australiana, mas tem o escritório na China).

 

Na terceira e última parte deste artigo, faremos uma comparação das capacidades de cada dispositivo que analisamos numa tabela e daremos recomendações de o que comprar para cada caso, além de mostrar alguns casos curiosos de dispositivos que decepcionaram em 2013. Não deixe de acompanhar!

Outros artigos da série

<< ARM para hobbyistas - Parte 1: Placas de desenvolvimentoARM para hobbyistas: Decepções de 2013, Tabela comparativa e Recomendações >>
Este post faz da série ARM para hobbyistas. 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.

Cláudio Sampaio
Formado em engenharia de computação, perfil misto de administrador de sistemas Unix e desenvolvedor de software com anos de experiência, "Patola", como é conhecido, tem paixão por sistemas Linux e software livre. Envolveu-se com o Movimento Maker e explora as vantagens do uso de software livre e, quando possível, hardware livre em seus tópicos.

7
Deixe um comentário

avatar
 
6 Comment threads
1 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
5 Comment authors
Cláudio SampaioLousaAlexandre BensiAndré CurvelloEustaquio Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
trackback

[…] ARM para hobbyistas Parte 2 – Еconomizando ao máximo: “Mini PCs” com Linux […]

trackback

[…] Parte 2 – economizando ao máximo: “Mini PCs” com Linux […]

Lousa
Visitante
Lousa

Boa noite... Vocês podiam mostrar como é feito a instalação do Picuntu... Pois eu sei formatar PC e Telefones... Já o minix que tenho eu sei atualizar o Firmware (Android), mas não consigo nem a pau formatar com o Picuntu... Já li 500 tutoriais, mas não consegui entender nenhum para Minix neo X5.... Pena também que o Minix Neo X5 já mencionado usa o mesmo SoC mas nem termina de bootar o PicUntu se instalado nele. Mas é possível instalar no Micro SD??? Até mais... ATT MT

Cláudio Sampaio
Visitante

Oi, Lousa. Infelizmente também não logrei sucesso ao tentar instalar o PicUntu em um Minix Neo X5 (pelo SD mesmo). Consegui chegar a bootar, mas não entrava em modo gráfico, nem tinha som, nem acessava rede - de fato, nenhum hardware funcionou, o que era de certa forma esperado porque apesar de ter o mesmo SoC, o hardware do Minix Neo X5 é bem diferente do dispositivo de referência, o UG802. Mas é uma operação bem difícil fazer. Até o flash do Minix Neo X5 você precisa gravar com utilitários específicos para chips rockchip, senão nem isso funciona. Minha sugestão… Leia mais »

Alexandre Bensi
Visitante
Alexandre Donisete Bensi

Não vejo a hora de ler a parte 3 😀
Parabéns pelas informações levantadas, ótimas dicas!
Ahh.. o link da parte 2 não esta na parte 1.. achei pela busca.. pode ser necessário atualizar os links da parte 1.

André Curvello
Visitante

Muito bacana, Cláudio!
Eu estou montando um laboratório aqui em casa também, com algumas plaquinhas Linux.
Dentre as que eu tenho aqui, tem a Mini6410 e a Cubieboard2.
Acho interessante esses "stick pc", mas gosto mesmo da linha Mini PC.

Concordo com o Eustaqui, que é uma pena a dificuldade de se importar esses equipamentos pra cá.

Eustaquio
Visitante

Tenho o UG802, funciona muito bem.
Uma pena são as dificuldades de se importar algo no Brasil.