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!
Coleta de 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á para 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 IDE do Arduino. 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. A primeira vez que você executá-lo, você pode obter um aviso de aplicativo não reconhecido do Windows. É seguro clicar Mais informações, Seguido 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 quadros, cole na seguinte linha:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
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álida, certifique-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 ESP32QRCodeReader, entã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 (alternativamente, 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:
Configurar leitor de QRCode
Começarsobre Essencial 1
Neste ponto, você está pronto para digitalizar alguns códigos QR. Dê este código QR (criado usando qrcodemonkey) uma tentativa:
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:
QRCode encontrado
Inválido: falha de ECC
Mova o código QR para frente e para trás lentamente até que o conteúdo do código QR seja impresso corretamente. Quando funcionar, ficará assim:
QRCode encontrado
Carga: https://www.makeuseof.com/author/marcio-teixeira
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!