O ESP32 da Espressif Systems é um poderoso microcontrolador dual-core com wireless integrado que o torna perfeito para muitos projetos criativos de Internet das Coisas. A placa de desenvolvimento ESP32-CAM leva um passo adiante, combinando esse microcontrolador veloz com um módulo de câmera!
Um projeto que aproveita essa poderosa combinação é a biblioteca de Alvaro Viebrantz para leitura de códigos QR. A biblioteca é independente e é executada inteiramente no ESP32-CAM, tornando-a uma boa opção para projetos e robôs de IoT. Vamos fazer um test drive com esta biblioteca e ver o que podemos fazer com ela!
Coletando suprimentos
Para este projeto, você precisará dos seguintes itens:
- Uma placa ESP32-CAM com uma placa filha de programação ou uma porta USB integrada
- Um cabo micro USB
Escolhendo uma placa ESP32-CAM adequada
Para este projeto, você precisará de uma maneira de programar a placa ESP32-CAM do seu computador e ligá-la depois de programada. Você deve comprar um ESP32-CAM com uma placa-filha ESP32-CAM-MB ou um ESP32-CAM-CH340 mais recente. Qualquer um deles fornecerá a porta USB necessária para programação e alimentação. Evite comprar uma placa ESP32-CAM vazia, pois isso exigirá componentes adicionais que você pode não ter.
Baixando e preparando a biblioteca do leitor de QR
O primeiro passo é baixar e preparar a biblioteca de códigos QR de Alvaro Viebrantz. Vá até o repositório de código-fonte no GitHub e clique no verde Código botão. Em seguida, selecione Baixar ZIP.
Se tentarmos carregar o arquivo zip como está no IDE do Arduino, encontraremos um erro. Para corrigir isso, devemos mover os arquivos do diretório “include” para o diretório “src”. É assim que se faz:
- Encontre o arquivo zip que você baixou (será chamado ESP32QRCodeReader-master.zip).
- Descompacte-o clicando com o botão direito do mouse no arquivo e selecionando Extrair tudo. Em seguida, marque a caixa de seleção Mostrar arquivos extraídos quando concluído e clique Extrair.
- Clique duas vezes na pasta ESP32QRCodeReader-master.
- Clique duas vezes na pasta incluir.
- Selecione os dois arquivos e clique em Corte da barra de ferramentas.
- Clique no Seta para cima na barra de ferramentas para retornar ao ESP32QRCodeReader-master.
- Clique duas vezes na pasta src.
- Clique no Colar botão da barra de ferramentas.
Configurando a IDE do Arduino
Para programar o ESP32-CAM, você precisará do Arduino IDE. Na época em que este artigo foi escrito, 1.8.19 era a versão atual. Quando o download estiver concluído, inicie o aplicativo. Na primeira vez que você o executar, poderá receber um aviso de aplicativo não reconhecido do Windows. É seguro clicar Mais informaçõesSeguido por Executar mesmo assim.
Quando o IDE do Arduino for inicializado, ele ficará assim:
Você precisará fazer algumas alterações para permitir que o Arduino IDE reconheça o ESP32-CAM. Primeiro, abra Preferências de Arquivo cardápio. Onde diz URLs adicionais do gerenciador de quadroscole na seguinte linha:
https:
Então clique OK.
Agora, abra o Ferramentas menu e passe o mouse sobre o item de menu que começa com Quadro: (pode ser algo como Placa: Arduino Uno). No submenu que aparece, selecione Gerente de Conselhos. Isso abrirá uma nova janela com uma barra de pesquisa na parte superior. Modelo ESP32 na barra de pesquisa. Isso deve permitir que você selecione esp32 pela Espressif Systems. Clique Instalar. Quando o download terminar, clique em OK para sair do Gerente de Conselhos.
Agora, volte para o Ferramentas menu e abra novamente o submenu que começa com a palavra Quadro. Desta vez, você deve ver um ESP32 Arduino item que não existia antes. Este é um submenu com uma longa lista de nomes de placas. Achar AI Thinker ESP32-CAM e selecione isso.
Por fim, carregaremos a biblioteca de códigos QR. No menu Esboço, selecione Incluir biblioteca e depois Adicionar biblioteca .ZIP. Em seguida, selecione o ESP32QRCodeReader-master pasta. Provavelmente existe um ESP32QRCodeReader-master pasta dentro do primeiro ESP32QRCodeReader-master; certifique-se de selecionar o mais interno!
Se você receber a mensagem de erro A pasta/arquivo zip especificado não contém uma biblioteca válidacertifique-se de selecionar o diretório mais interno e de mover todos os arquivos do incluir pasta para o src pasta.
O Arduino IDE mostrará a mensagem Biblioteca adicionada à sua biblioteca. Verifique o menu “Incluir biblioteca” uma vez que esta etapa foi concluída com sucesso.
Compilando e carregando o leitor de código QR
A biblioteca de Alvaro Viebrantz vem com dois exemplos. Vamos experimentar o primeiro. De Arquivo cardápio, selecione Exemplos e encontre a seção chamada Exemplos de bibliotecas personalizadas. Abaixo disso, selecione ESP32QRCodeReaderentão básico.
Conecte o ESP32-CAM ao seu computador usando um cabo USB. Então, vá para o Ferramentas menu e procure um item que comece com “Porta:” e escolha uma porta serial no submenu. Em seguida, clique no botão que se parece com uma seta em um círculo na barra de ferramentas do Arduino (como alternativa, selecione Envio de Ferramentas cardápio). O Arduino IDE irá recompilar, digamos Enviando por um tempo, e então finalmente dizer Upload concluído.
Se você receber um erro informando que sua placa não está conectada, vá para o Ferramentas menu e selecione uma porta serial diferente no submenu. Experimente cada um até encontrar um que funcione!
Agora, clique no botão que se parece com uma lupa em uma caixa no lado direito da barra de ferramentas do Arduino (como alternativa, selecione Monitor de série de Ferramentas cardápio). Isso abrirá uma nova janela no seu computador para saída do ESP32-CAM.
Depois de concluir as etapas acima, pressione o pequeno botão de reinicialização no lado direito do ESP32-CAM-MB. Este botão deve ser rotulado RST. Assim que você fizer isso, você deverá ver o texto no Monitor de série janela. Procure as linhas que se parecem com isso:
Setup QRCode Reader
Begin on Core 1
Neste ponto, você está pronto para digitalizar alguns códigos QR. Experimente este código QR (criado usando qrcodemonkey):
Para obter melhores resultados, recomendamos imprimir o código QR em uma folha de papel em branco em vez de tentar digitalizá-lo na tela. Clique com o botão direito do mouse na imagem e selecione Abra a imagem em uma nova aba e depois imprima. Você provavelmente verá mensagens como esta no início:
Found QRCode
Invalid: ECC failure
Mova o código QR para frente e para trás lentamente até imprimir o conteúdo do código QR corretamente. Quando funcionar, ficará assim:
Found QRCode
Payload: https:
Você pode até usar um dos vários sites online para criar códigos QR personalizados. Por exemplo, descubra como usar o QRCode Monkey para criar um código QR personalizado.
Sucesso: use o ESP32-CAM para ler códigos QR
Então aí está! Agora você sabe como usar o versátil ESP32-CAM para ler códigos QR! Você pode gerar seus próprios códigos QR personalizados, lê-los com o ESP32-CAM e talvez até incorporar isso em um projeto de casa inteligente maior e mais sofisticado!