Contents

Um fato surpreendente!

/images/leggere-codice-qr-senza-PC-smartphone.jpg -Como fazer

Os códigos QR são um tipo de código de barras bidimensional que pode armazenar informações tanto na vertical quanto na horizontal. Eles são compostos por uma matriz de pontos (quadrados pretos sobre fundo branco) que representam dados: textos, URL (link), números de telefone e outras informações. Há já algum tempo que são cada vez mais utilizados por vários motivos: podem ser facilmente geridos através de dispositivos como smartphones ou tablets equipados com câmara; ler um código QR leva apenas alguns segundos, tornando-os uma ferramenta rápida e eficaz para transferência de informações; eles armazenam uma grande quantidade de dados em comparação com códigos de barras lineares tradicionais e são muito versáteis.

A utilização de códigos QR, de facto, é generalizada em múltiplos contextos: tornam-se ferramentas para verificação de bilhetes e cartões de embarque, para efectuar pagamentos digitais, são utilizados como etiquetas de produtos, para publicidade, para acesso a menus digitais e breve. Você pode usar um código QR para compartilhar a senha do WiFi e eles também podem criar essas mídias no Windows, com um procedimento geral bastante simples.

A aplicação web “Leitura de códigos QR sem computador” faz um balanço do “funcionamento” dos códigos QR, revelando todos eles segredos. Por simplicidade, evita-se a discussão da parte relativa à correção de erros, o que exigiria a introdução de conceitos mais complexos.

A estrutura básica de um código QR

Cada código QR pode ter uma dimensão pré-estabelecida ou ser composto por um determinado número de módulos (retêm 1 bit cada). A versão menor é composta por módulos 21×21, mas é possível aumentar em 4 “células” tanto na horizontal quanto na vertical para obter códigos QR maiores.

Em três dos quatro cantos, estão os chamados Pattern finder, formatos quadrados que permitem que os scanners reconheçam mais facilmente o código QR (em vermelho na imagem abaixo). A linha branca (na figura está destacada em verde) que circunda o perímetro do localizador de padrões os separa da informação real contida no código bidimensional.

Outros recursos gráficos que ajudam leitor de código QR Eu sou padrão de alinhamento e padrões de tempo: os primeiros estão completamente ausentes na versão 21×21, enquanto os últimos (em laranja) são linhas horizontais e colunas verticais que sempre alternam vazias e cheias células (brancas/pretas).

/images/struttura-codice-qr.png

Padrão de máscara e correção de erros

O padrão de máscara e a correção de erros são dois conceitos-chave nos códigos QR: contribuem para sua robustez e permitem corrigir erros. O padrão de máscara é um modelo predefinido aplicado ao formato de dados de um código QR para melhorar a legibilidade e a detecção de erros. Serve para uniformizar a distribuição das informações, reduzindo a possibilidade de erros de leitura causados ​​por padrões repetitivos ou por áreas muito homogêneas. Existem 8 padrões de máscara diferentes disponíveis.

A técnica de correção de erros permite que você continue lendo as informações, mesmo que parte do código QR esteja danificada ou ilegível. A níveis de correção Existem quatro erros disponíveis (L, M, Q, H), cada um dos quais oferece um grau diferente de tolerância a erros. Níveis mais elevados requerem mais módulos de correção de erros (às custas do volume de dados que podem ser retidos), mas oferecem maior robustez.

As informações de formatação , armazenadas tanto vertical quanto horizontalmente, resumem o uso do padrão de máscara e correção de erros (estão indicadas em azul na imagem publicada acima).

Leia um código QR sem computador e smartphone

Embora seja teoricamente possível ler um código QR sem computadores e smartphones é uma espécie de “provocação” porque requer a realização de uma série de etapas não triviais. A ideia, porém, é explicar a abordagem iterativa de que dispositivos equipados com scanner seguem QR code , que pode ser formado, por exemplo, pelo acoplamento entre uma câmera digital (como a que equipa smartphones e tablets) e um aplicação"ad hoc".

Para começar, é preciso buscar dados relativos à disposição única do objeto apresentado na representação visual (visivelmente designado por um tom vibrante de amarelo).

/images/mask-pattern-qr-code.png

A configuração de cada pixel em um sensor de imagem normalmente envolve um elemento sensível à luz, ou fotodiodo, juntamente com um conjunto de filtros de cores que determina a quantidade de luz que atinge o diodo para um determinado pixel. Os filtros de cores são organizados de forma que correspondam aos canais vermelho, verde e azul, com cada canal tendo sua própria linha dedicada de pixels dentro da grade do sensor. Por exemplo, se considerarmos um padrão de filtro de cores 2x2 conforme mostrado abaixo, onde pixels vermelhos são representados por quadrados (R), pixels verdes por círculos (G) e pixels azuis por triângulos (B):markdownRG B ———— – — – –> |||| |o||| ||

/images/codice-binario-decimale-mask-pattern.png

A operação XOR no conteúdo gráfico do código QR

Anteriormente, mencionamos que existem oito variedades distintas de padrões de máscara. A informação transmitida pelos módulos sublinhados especifica o padrão de máscara específico a utilizar, representado através de um índice que varia de 0 a 7. Este padrão de máscara deve ser sobreposto ao código QR inicial, manipulando o conteúdo dos módulos de dados de acordo com a tonalidade de cada um. módulo individual.

Quando as células pretas do padrão da máscara se sobrepõem às células pretas do código QR original, elas se tornam brancas. Pelo contrário, quando as células pretas do padrão de máscara se sobrepõem às células brancas do código QR original, elas ficam pretas. Finalmente, quando as células brancas do padrão da máscara se sobrepõem às células brancas do código QR original, elas permanecem brancas.

A operação realizada é uma disjunção exclusiva de XOR. O processo, conforme mencionado acima, ajuda a garantir uma distribuição uniforme dos dados no código QR, melhorando a legibilidade e a resistência a erros de leitura.

O quadrado 2×2 no canto inferior direito do código QR retorna informações sobre coding , ou seja, o tipo de informação que o código QR contém. Existem vários modos de codificação: o mais versátil é o byte porque permite o armazenamento de informações binárias. É adequado para codificar texto no formato UTF-8 , codificação que dá lugar à representação de caracteres especiais presentes em vários idiomas.

Vá para a leitura dos dados

A operação XORing foi concluída com sucesso, você pode passar para a fase de leitura dos dados contidos no código QR. A aquisição de dados ocorre a partir do canto inferior direito e depois prossegue “em zigue-zague”. Obviamente, você precisa pular as áreas que contêm os padrões Finder, Alignment And Timing , informações de formato e assim por diante, pois essas são áreas que não contêm useful data. Pelo mesmo motivo, deve-se excluir o conteúdo da primeira célula 2×2 que retorna, como visto anteriormente, a informação de codificação.

/images/lettura-dati-codice-qr.png

Se se trata de uma “*codificação de bytes**“, o conteúdo dos módulos que compõem o código QR deve ser adquirido em grupos de 8 (1 byte=8 bits), movendo-se do canto inferior direito e seguindo para cima O primeiro byte retorna o comprimento da string , enquanto a partir do segundo byte todo o conteúdo do código QR pode ser extraído, procedendo um caractere por vez.

/images/esempio-codice-QR-XOR.png

No cenário representado, o código QR cujo padrão de máscara é aplicado através de uma operação OR exclusiva começa com um valor de byte residente na área designada (localizada no canto inferior direito). Este conjunto inicial de oito bits, sempre lido do bit de ordem mais baixa para o bit de ordem mais alta, representa a sequência binária “00001100”, que se traduz no valor decimal de 12. Consequentemente, este código QR específico abrange uma sequência de dados que abrange doze bytes e neste caso, ele codifica a frase “Olá, mundo!

O primeiro grupo de 8 bits em azul ( 01001000 ) corresponde ao valor H hexadecimal, ou seja, o primeiro caractere da string Hello World!. Continuando verticalmente e para a esquerda, o barbante vai se formando gradativamente.

/images/codice-ASCII-QR-code.png

O hexadecimal 48 corresponde precisamente ao código ASCII do caractere “H” maiúsculo (verifique o valor HEX, por exemplo, nesta página).

Gere qualquer código QR

Para experimentar por conta própria, o aplicativo Web disponível aqui permite criar um código QR inserindo a string especificada pelo usuário. Todas as imagens propostas abaixo mudam de acordo para ajudar cada usuário a estudar cada caso específico.

O mesmo pode ser feito digitalizando qualquer código existente e é ainda possível solicitar a geração de códigos QR a partir de termos em inglês gerados de forma totalmente aleatória.

/images/leggere-codice-QR.png

As representações visuais dos códigos QR apresentados nesta publicação foram obtidas de um recurso online intitulado “Lendo códigos QR sem um computador”.

barra lateral inferior relacionada 300

*️⃣ Link da fonte:

Lendo códigos QR sem computador , com um código variando de 0 a 7 , nesta página , aplicativo da Web disponível aqui , Lendo QR códigos sem um computador ,