Já que escrevi um artigo sobre validador de cartão de crédito, acho que vai bem escrever sobre um validador de CPF com Onion Omega2.
Atualizar o sistema da Omega2
O primeiro passo é sempre esse, caso ainda não tenha feito a atualização do sistema. faça login por ssh em seu Omega2 e digite o comando, conforme descrito abaixo:
ssh root@192.168.1.3 oupgrade -force
Lembre-se de trocar o IP pelo IP do seu Omega2.
Instalar o suporte ao display e o Python
Para esse artigo estou utilizando o módulo OLED do próprio Omega2 e ele tem programas e bibliotecas prontinhas para uso. No artigo do validador de cartão de crédito eu utilizei a biblioteca que a Onion desenvolveu para utilizar com Python e vamos repetir seu uso aqui. Para tal, instale as dependências, caso ainda não tenha feito.
opkg update opkg install python-light python-codecs pyOledExp ca-bundle
Código do validador de CPF
Agora já podemos escrever nosso programa. Eu fiz isso utilizando a IDE PyCharm, minha preferida para programar em Python.
from OmegaExpansion import oledExp as oe from time import sleep oe.setVerbosity(0) stat = oe.driverInit() if stat: print "Driver nao inicializado. Ouch..." exit() oe.write("Validador de CPF") oe.setCursor(2,0) oe.write("Numeros e [Enter] ") oe.setCursor(3,0) cpflimpo = raw_input() if (len(cpflimpo) != 11 or not cpflimpo.isdigit()): oe.clear() oe.setCursor(0,0) oe.write("Formato errado. Fui.") exit() digito = {} digito[0] = 0 digito[1] = 0 a=10 total=0 for c in range(0,2): for i in range(0,(8+c+1)): total=total+int(cpflimpo[i])*a a=a-1 digito[c]=int(11-(total%11)) a=11 total=0 sep = "" if (int(cpflimpo[9]) == int(digito[0]) and int(cpflimpo[10]) == int(digito[1])): oe.clear() oe.setCursor(0,0) oe.write("CPF valido: ") for i in (range(len(cpflimpo))): if (i == 2 or i == 5): sep+=cpflimpo[i]+"." elif (i == 8): sep+=cpflimpo[i]+"-" else: sep+=cpflimpo[i] oe.setCursor(1,0) oe.write(sep) else: oe.write("CPF invalido")
Fácil demais, hum? Apenas 52 linhas para validar o CPF e exibir as informações no display.
Onde comprar
Se você não tem uma Omega2, está perdendo muita diversão. Clique no menu MIPS e veja o tanto de coisas que eu já fiz, tudo assim, rapidinho. Você pode adquirir a sua nesse link da UsinaInfo, aproveite o final de ano pra se presentear!
Agora fique com o video da brincadeira. Desculpe o jeito feio de tentar esconder os números do CPF, mas é o que deu pra fazer. Se descobrir os números, não precisa colocar nos comentários, ok?