Manual
do
Maker
.
com
Acredito que a grande maioria (se não todos) conhece o QR Code, mas vou escrever um breve parágrafo a respeito só para deixar o artigo mais coeso.
O QR Code é um código de barras bi-dimensional; isto é, invés de um laser lendo uma sequência de colunas e espaços, a leitura é feita na vertica e horizontal, de forma digital. O código QR pode ser lido por qualquer smartphone da atualidade, através da câmera. O QR Code pode guardar URLs, endereços e outras coisas que contemplem valores numéricos, dígitos, binários e kanji. Se quiser ler mais a respeito, recomendo esse link da wikipedia, é muito interessante.
Pra quase todas as coisas que existem, também existem bibliotecas. Antigamente eu já pegava o datasheet e começava a escrever uma biblioteca, mas é muito mais produtivo achar uma boa implementação. Graças a isso, poderemos ir direto ao objetivo, convertendo texto em QR Code e exibindo-o no dock de expansão OLED do Onion Omega. Vamos começar a brincadeira.
Pretendo escrever mais a respeito, dando uma boa aplicação ao recurso. Você precisará basicamente do Omega2 e a dock Arduino2, disponíveis na UsinaInfo. Como eu tenho o dock OLED, vou utilizá-lo para exibir o resultado.
Se tiver qualquer dúvida em relação aos procedimentos, recomendo esse artigo onde indico diversos outros introdutórios a cada um dos recursos da Omega.
Conecte-se ao terminal do Linux na Omega, seja por SSH ou pelo browser, através da interface do usuário. Cito em quase todos os artigos, mas se você ainda não decorou, o usuário é root e a senha é onioneer (isso, se você já não trocou a senha).
Gostaria que a Omega tivesse tanto espaço quanto tem pacotes para a instalação, mas até mesmo em um desktop é pouco provável instalar tudo o que tem pra Linux, então me conformo em utilizar apenas os recursos condizentes ao projeto. Estando no console, execute os comandos:
opkg update
opkg install python-light python-codecs pyOledExp ca-bundle
Antes que você questione a próxima etapa, sim, o Omega tem o programa gitno repositório, mas precisa de uma quantidade absurda de espaço. Por isso, invés de instalá-lo, vamos fazer o download no computador pessoal e transferir esse download por ssh para a Omega.
Em seu desktop/notebook:
git clone https://github.com/OnionIoT/oledQrCodeGenerator.git
Agora, envie para o Omega por ssh (coloque o IP certo, claro):
scp -r oledQrCodeGenerator root@192.168.1.3:~/
Devemos sempre ter em mente as limitações de plataformas embarcadas, principalmente SoC. Seria o procedimento padrão a instalação do git, mas esse programa ocupa 4M de espaço e seria instalado para baixar 234K. Não faz muito sentido, hum?
Bem, agora já dá pra começar a brincar. E sem esforço nenhum. Entre no diretório oledQrCodeGenerator e execute o teste inicial:
E o resultado será o QR Code da imagem de destaque desse artigo. Daí você pode usar qualquer leitor de QR Code em seu smartphone para ler o display OLED.
Para importar essa lib para dentro de um projeto seu, é simples demais. Basta fazer algo como:
import sys
sys.path.append("/root")
import oledQrCodeGenerator
print 'Agora o seu programa!'
oledQrCodeGenerator.dispQrCode('UsinaInfo')
print 'Feito!'
O QR Code pode concentrar uma quantidade de informações razoavelmente grande. Alé disso, ele pode fornecer informações que outrora você digitaria no smartphone como, por exemplo, dados de entrada para um sistema. Outra possibilidade é gerar uma senha randômica para acesso a um sistema, por exemplo. Essa conexão só seria possível se o QR Code fosse convertido para a senha, o que poderia ser entendido como o usuário presente no mesmo ambiente que o dispositivo. Mas claro que existem muitas outras possibilidades, vai da sua criatividade!
Inscreva-se no nosso canal Manual do Maker no YouTube.
Também estamos no Instagram.
Autor do blog "Do bit Ao Byte / Manual do Maker".
Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.