来自Espressif Systems的ESP32是一个强大的双核微控制器,内置无线功能,使其成为许多创造性物联网项目的完美选择。ESP32-CAM开发板通过将这一快速的微控制器与一个摄像头模块结合起来,使其更进一步!
Alvaro Viebrantz的读取二维码的库就是一个利用了这种强大组合的项目。这个库是独立的,完全在ESP32-CAM上运行,使它成为物联网项目和机器人的一个好选择。让我们试一试这个库,看看我们能用它做什么
收集物资
对于这个项目,你将需要以下物品。
- 一块带有编程子板或内置USB接口的ESP32-CAM板
- 一条微型USB线
选择一个合适的ESP32-CAM板
在这个项目中,你将需要一种方法来从你的电脑上对ESP32-CAM板进行编程,并在它被编程后为它供电。你应该购买带有ESP32-CAM-MB子板的ESP32-CAM或者较新的ESP32-CAM-CH340。无论是哪一种,都可以为你提供编程和供电所需的USB端口。避免购买裸露的ESP32-CAM板,因为这将需要你可能没有的额外组件。
下载并准备好QR阅读器库
第一步是下载和准备Alvaro Viebrantz的QR码库。前往GitHub上的源代码库,点击绿色的代码按钮。然后,选择下载ZIP。
今天的makeuseof视频
如果我们试图将ZIP文件按原样加载到Arduino IDE中,我们会遇到一个错误。为了解决这个问题,我们必须把 "include "目录中的文件移到 "src "目录中。这就是你的做法。
- 找到你下载的压缩文件(它将被称为ESP32QRCodeReader-master.zip)。
- 通过右击该文件并选择全部解压。然后选中复选框 " 完成后显示提取的文件"并点击 "提取"。
- 双击文件夹ESP32QRCodeReader-master。
- 双击文件夹include。
- 选择这两个文件,并点击工具栏上的Cut。
- 点击工具栏上的向上箭头,返回到ESP32QRCodeReader-master。
- 双击文件夹src。
- 点击工具栏上的 "Paste "按钮。
设置Arduino IDE
为了给ESP32-CAM编程,你将需要Arduino IDE。在写这篇文章的时候,1.8.19是当前的版本。一旦下载完成,启动该应用程序。第一次运行时,你可能会收到Windows发出的未识别的应用程序警告。点击 "更多信息",然后点击 "无论如何运行"是安全的。
一旦Arduino IDE启动,它将看起来像这样。
你将需要做一些改变,以使Arduino IDE能够识别ESP32-CAM。首先,从文件菜单中打开首选项。在 "附加板管理器URLs"的地方,粘贴以下一行。
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
然后,点击确定。
现在,打开 "工具"菜单,将鼠标悬停在以Board:开头的菜单项上(可能是Board: Arduino Uno这样的)。在出现的子菜单中,选择Board Manager。这将会出现一个新的窗口,在顶部有一个搜索栏。在搜索栏中输入ESP32。这样做应该允许你选择Espressif Systems的esp32。点击安装。当下载完成后,点击OK退出Boards Manager。
现在,回到 "工具"菜单,再次打开以 "板"开头的子菜单。这一次,你应该看到一个之前没有的ESP32 Arduino项目。这是一个有一长串板子名称的子菜单。找到AI Thinker ESP32-CAM并选择它。
最后,我们将加载QR码库。从Sketch菜单中,选择Include Library,然后添加.ZIP库。然后,选择ESP32QRCodeReader-master文件夹。在第一个ESP32QRCodeReader-master文件夹内可能有一个ESP32QRCodeReader - master文件夹;确保你选择最里面的那个
如果你收到错误信息,指定的文件夹/zip文件不包含有效的库,请确保你选择的是最里面的目录,并且你把所有的文件从include文件夹移到src 文件夹。
Arduino IDE将显示消息Library添加到你的库中。一旦这个步骤成功完成,请检查 "Include library "菜单。
编译和加载QR码阅读器
Alvaro Viebrantz的库中有两个例子。我们将尝试第一个例子。从 "文件"菜单中,选择 "实例",找到 "来自自定义库的实例"部分。在这下面,选择ESP32QRCodeReader,然后是basic。
用USB线将ESP32-CAM连接到你的电脑。然后,进入工具菜单,寻找一个以**"端口:"开头的项目,从子菜单中选择一个串行端口。然后点击Arduino工具栏上像箭头一样的按钮(或者从工具菜单上选择上传**)。Arduino IDE会重新编译,说上传一段时间,然后最后说完成上传。
如果你得到一个错误,说你的板子没有连接,去工具菜单,从子菜单中选择一个不同的串行端口。每一个都要试一下,直到你找到一个能用的。
现在,点击Arduino工具栏右侧的一个像放大镜的按钮(或者,从工具菜单中选择串行监控器)。这将在你的电脑上弹出一个新的窗口,用于ESP32-CAM的输出。
完成上述步骤后,按下ESP32-CAM-MB右侧的小复位按钮。这个按钮应该标有RST。一旦你这样做,你应该在串行监控窗口中看到文本。寻找看起来像这样的线条。
Setup QRCode ReaderBegin on Core 1
在这一点上,你已经准备好扫描一些QR码。给这个二维码(用qrcodemonkey创建)一个尝试。
为了获得最佳效果,我们建议在一张白纸上打印二维码,而不是试图从屏幕上扫描它。在图片上点击右键,选择在新标签中打开图片,然后打印。一开始,你很可能会看到这样的信息。
Found QRCodeInvalid: ECC failure
慢慢地向前和向后移动QR码,直到正确地打印出QR码的内容。一旦成功,它将看起来像这样。
Found QRCodePayload: https://www.makeuseof.com/author/marcio-teixeira
你甚至可以使用几个在线网站中的一个来创建自定义的二维码。例如,了解如何使用QRCode Monkey来创建一个自定义的QR码。
成功。使用ESP32-CAM来读取QR码
所以,你已经拥有了它!你现在知道如何使用多功能的ESP32-CAM来读取二维码了吧!你可以生成自己的自定义二维码,用ESP32-CAM读取它们,甚至可能将其纳入一个更大、更复杂的智能家居项目中