Manual
do
Maker
.
com
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.
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.
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
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.
Se você não tem uma Omega2, está perdendo muita diversão. Clique no menu MIPSe 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?
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.