本教程将详细介绍如何使用ESP32连接到互联网,并通过Google的Gemini API发送问题并获取回答。我们将使用以下库:WiFi库、HTTPClient库和ArduinoJson库。
注意:你的网络需要支持科学上网,才能正常访问接口,如果不支持,那就不行哈。不管支不支持,回复一下支持一下作者呗,谢谢!!
目录
一、准备工作
- 硬件:
- 一块支持WiFi的Arduino开发板(如ESP32或ESP8266)
- USB数据线
- 电脑(用于编写和上传代码)
- 软件:
- Arduino IDE
- Arduino库:WiFi、HTTPClient、ArduinoJson
二、设置Arduino IDE
- 打开Arduino IDE,确保已安装所需的库。如果没有安装,可以通过“库管理器”进行安装:
- WiFi库:对于ESP32和ESP8266,这些库已经内置。
- HTTPClient库:可以在“库管理器”中搜索并安装。
- ArduinoJson库:可以在“库管理器”中搜索并安装。
- 打开Arduino IDE,选择您的开发板和端口。对于ESP32,选择“工具” -> “开发板” -> “ESP32 Dev Module”,然后选择正确的端口。
三、编写代码
在Arduino IDE中,创建一个新的草稿,并复制以下代码:
四、修改代码
- 将
const char* ssid = "SSID";
替换为您的WiFi名称。 - 将
const char* password = "PASS";
替换为您的WiFi密码。 - 将
const char* Gemini_Token = "GEMINI_API_KEY";
替换为您的Gemini API密钥。(获取秘钥地址:https://ai.google.dev/gemini-api?hl=zh-cn)
五、上传代码
- 将Arduino板通过USB线连接到电脑。
- 在Arduino IDE中,点击“上传”按钮,将代码上传到开发板。
六、测试程序
- 打开Arduino IDE的“串口监视器”。
- 设置波特率为115200。
- 在串口监视器中,您将看到连接WiFi的过程,成功连接后会显示设备的IP地址。
- 在串口监视器中输入您的问题并按下回车键。
- 程序将会向Gemini API发送问题并返回答案,答案将显示在串口监视器中。
七、详细步骤与示例
1. 连接到WiFi
上传代码后,打开串口监视器。您将看到类似如下的信息:
Connecting to Your_SSID
....
connected
IP address: 192.168.1.2
这表示设备已成功连接到指定的WiFi网络,并显示了设备的IP地址。
2. 输入问题
在串口监视器中输入您的问题并按下回车键:
Ask your Question :
What is the capital of China?
此时,程序会读取您的输入,并将问题发送到Google Gemini API。
3. API响应
程序会处理API的响应,并在串口监视器中显示答案:
Here is your Answer:
The capital of China is Beijing.
这表示API成功返回了问题的答案。
八、常见问题与解决方法
- 无法连接WiFi:
- 确保SSID和密码正确无误。
- 确认WiFi网络正常工作。
- 检查Arduino板是否支持WiFi功能。
- API请求失败:
- 确认API密钥正确无误。
- 检查网络连接是否正常。
- 确认API服务可用。
- 串口监视器无输出:
- 确认波特率设置为115200。
- 确认已选择正确的端口和开发板。
通过以上步骤,您已经成功编写并运行了一个可以通过Google Gemini API获取回答的Arduino程序。如果在过程中遇到任何问题,请检查您的网络连接和API密钥是否正确配置,并参考常见问题与解决方法进行排查。
牛的哇
感谢