基于Arduino开发环境,提供丰富的接口和例程,方便快速上手
环境按照文档一步一步去搭建即可
https://fcniufr8ibx1.feishu.cn/wiki/KmAUwohRiie8jakNNNBcuRPLn0f?fromScene=spaceOverview
1. 人脸识别示例
以下是一个简单的代码示例,展示如何使用BW21开发板进行人脸识别:
#include <BW21_AI.h>
#include <BW21_Camera.h>
BW21_AI ai;
BW21_Camera camera;
void setup() {
Serial.begin(115200);
camera.begin();
ai.loadModel("face_detection.model"); // 加载预训练的YOLO模型
}
void loop() {
// 捕获图片
camera.captureImage();
// 运行AI推理
ai.runInference();
// 获取识别结果
BW21_AI_Result result = ai.getResult();
if (result.detected) {
Serial.println("检测到人脸!");
Serial.print("置信度: ");
Serial.println(result.confidence);
} else {
Serial.println("未检测到人脸");
}
delay(1000);
}
2. 摄像头图片保存示例
以下代码展示如何捕获图片并保存到SD卡:
#include <BW21_Camera.h>
#include <SD.h>
BW21_Camera camera;
File file;
void setup() {
Serial.begin(115200);
camera.begin();
// 初始化SD卡
if (!SD.begin()) {
Serial.println("SD卡初始化失败");
return;
}
}
void loop() {
// 捕获图片
camera.captureImage();
// 保存图片到SD卡
file = SD.open("image.jpg", FILE_WRITE);
if (file) {
camera.saveImage(file);
file.close();
Serial.println("图片保存成功");
} else {
Serial.println("无法打开文件");
}
delay(5000);
}
3. 无线数据传输示例
以下代码展示如何通过MQTT协议将数据上传到服务器:
#include <WiFi.h>
#include <PubSubClient.h>
const char* ssid = "your_SSID";
const char* password = "your_PASSWORD";
const char* mqtt_server = "your_MQTT_SERVER";
WiFiClient espClient;
PubSubClient client(espClient);
void setup_wifi() {
delay(10);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi连接成功");
}
void callback(char* topic, byte* payload, unsigned int length) {
Serial.print("消息: ");
Serial.println((char*)payload);
}
void setup() {
Serial.begin(115200);
setup_wifi();
client.setServer(mqtt_server, 1883);
client.setCallback(callback);
}
void reconnect() {
while (!client.connected()) {
if (client.connect("ESP32Client")) {
client.subscribe("test/topic");
} else {
delay(5000);
}
}
}
void loop() {
if (!client.connected()) {
reconnect();
}
client.loop();
// 发送数据到MQTT服务器
if (client.connected()) {
char msg[50];
snprintf(msg, 50, "温度: %d°C", 25);
client.publish("test/topic", msg);
}
delay(5000);
}
还可以使用自带的示例

不知道为什么我使用示例代码,预览到的视频是偏黄
这个文档是真的齐全,基本全部都有