Specifikationer af Seeeduino XIAO ESP32-S3 CAM Sense Udviklingsboard
Seeeduino XIAO ESP32-S3 CAM Sense Udviklingsboard er et kompakt, men ekstremt kraftfuldt udviklingsboard, der kombinerer den populære Seeeduino XIAO formfaktor med den avancerede ESP32-S3 microcontroller. Denne kombination giver dig både høj processorkraft, indbygget trådløs kommunikation og mulighed for at arbejde med kamera- og lydprojekter direkte på boardet. Med understøttelse af Wi-Fi og Bluetooth LE kan du nemt skabe IoT-løsninger, mens den forbedrede processorkraft i ESP32-S3 muliggør AI og maskinlæringsapplikationer.
Takket være det indbyggede ESP32 CAM interface og inkluderede 2MP kamera kan du udvikle projekter inden for billedgenkendelse, streaming, overvågning og computer vision. Boardet har også indbygget mikrofon, hvilket gør det oplagt til stemmegenkendelse, lydoptagelse og lydstyrede applikationer.
Seeeduino XIAO ESP32-S3 Sense bevarer den lille størrelse, som Seeeduino XIAO serien er kendt for, hvilket gør det let at integrere i små enheder eller bærbare projekter. Det er kompatibelt med Arduino IDE, MicroPython og ESP-IDF, så du kan programmere det med den platform, du foretrækker.
Tekniske detaljer for Seeeduino XIAO ESP32-S3 CAM Sense Udviklingsboard
-
Microcontroller: ESP32-S3R8 (Xtensa® dual-core 32-bit LX7 @ 240 MHz)
-
Flash-hukommelse: 8 MB
-
PSRAM: 8 MB
-
Trådløs kommunikation: Wi-Fi 802.11 b/g/n og Bluetooth 5.0 LE
-
USB: USB Type-C (understøtter USB 2.0 OTG)
-
Indbyggede sensorer: Mikrofon (PDM), kamerainterface (OV2640 2MP sensor inkluderet)
-
GPIO pins: 11 (inkl. analog input, I2C, SPI, UART, PWM)
-
Driftsspænding: 3.3V
-
Inputspænding: 5V via USB Type-C
-
Strømforbrug: Lavt for IoT-applikationer (deep sleep understøttet)
-
Programmeringssprog: Arduino IDE, MicroPython, ESP-IDF
-
Kompatibilitet: Kompatibel med Seeeduino XIAO tilbehør og udvidelsesmoduler
-
Andre funktioner: Understøttelse af AI-accelererede applikationer via ESP32-S3’s vektorinstruktioner
OV2640 er en kompakt 2-megapixel CMOS-billedsensor, der ofte bruges i udviklingsboards som ESP32 CAM og Seeeduino XIAO ESP32-S3 Sense. Den understøtter en maksimal opløsning på 1600×1200 (UXGA) og kan outputte billeder i formater som JPEG, RGB565 og YUV. Sensoren er designet til at levere skarpe billeder med lavt strømforbrug, hvilket gør den ideel til indlejrede systemer og IoT-enheder.
Installere Arduino IDE Software
Før du kan starte din programmering skal Arduino’s IDE software hentes. Dette program bruges til at programmere din arduino.
Download fra dette link: Download
Installere Seeeduino package (Arduino IDE)
Åben Arduino IDE (Download her)
Klik “Fil/Egenskaber”
Indtast dette link i feltet “Additionel Board Manager URL’s”
Link “https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json“
Klik OK
Åben “Værktøj/Board/Boards manager” (Lad programmet opdatere)
Find “ESP32” og installere
Klik derefter “Værktøj/Board” og find (Xiao_ESP32S3)
Du er nu klar til at sende en kode
Eksempel
Her ses et hurtigt eksempel med det indbyggede kamera på Seeed XIAO ESP32S3 Sense, hvor man kan se et livestream direkte i sin browser. IP-adressen, som enheden får tildelt, kan ses i Serial Monitor.
Du skal bruge:
Forbind det sådan:
Montere Kameraet oven på udviklingsboardet.
Kode: (Programmering)
#include <Arduino.h> #include <WiFi.h> #include "esp_camera.h" #include "esp_http_server.h" // ====== UDFYLD DIT WIFI ====== const char* ssid = "DIT_WIFI_NAVN"; const char* password = "DIT_WIFI_KODE"; // ====== KAMERA-PIN-MAPPING (Seeed XIAO ESP32S3 Sense, OV2640) ====== #define PWDN_GPIO_NUM -1 #define RESET_GPIO_NUM -1 #define XCLK_GPIO_NUM 10 #define SIOD_GPIO_NUM 40 // SDA #define SIOC_GPIO_NUM 39 // SCL #define Y2_GPIO_NUM 15 // D0 #define Y3_GPIO_NUM 17 // D1 #define Y4_GPIO_NUM 18 // D2 #define Y5_GPIO_NUM 16 // D3 #define Y6_GPIO_NUM 14 // D4 #define Y7_GPIO_NUM 12 // D5 #define Y8_GPIO_NUM 11 // D6 #define Y9_GPIO_NUM 48 // D7 #define VSYNC_GPIO_NUM 38 #define HREF_GPIO_NUM 47 #define PCLK_GPIO_NUM 13 // ====== HTTP SERVER ====== httpd_handle_t stream_httpd = NULL; httpd_handle_t camera_httpd = NULL; // HTML side (UTF-8) static const char INDEX_HTML[] PROGMEM = u8R"rawliteral( <!doctype html><html lang="da"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>XIAO ESP32S3 Sense – Livestream</title> <style> body{font-family:system-ui,Arial;margin:16px} img{max-width:100%;height:auto;border:1px solid #ddd;border-radius:8px} button,select{font-size:16px} </style> </head> <body> <h2>Seeed XIAO ESP32S3 Sense – Livestream</h2> <p>Hvis billedet hakker, prøv lavere opløsning.</p> <p><img src="/stream" alt="Videostream"></p> </body></html> )rawliteral"; static esp_err_t index_handler(httpd_req_t *req) { // Send korrekt content-type med UTF-8 httpd_resp_set_hdr(req, "Content-Type", "text/html; charset=utf-8"); return httpd_resp_send(req, INDEX_HTML, HTTPD_RESP_USE_STRLEN); } static esp_err_t stream_handler(httpd_req_t *req) { static const char* _STREAM_CONTENT_TYPE = "multipart/x-mixed-replace;boundary=frame"; static const char* _BOUNDARY = "\r\n--frame\r\n"; static const char* _STREAM_PART = "Content-Type: image/jpeg\r\nContent-Length: %u\r\n\r\n"; httpd_resp_set_type(req, _STREAM_CONTENT_TYPE); while (true) { camera_fb_t * fb = esp_camera_fb_get(); if (!fb) return ESP_FAIL; esp_err_t res = httpd_resp_send_chunk(req, _BOUNDARY, strlen(_BOUNDARY)); if (res == ESP_OK) { char part_buf[64]; size_t hlen = snprintf(part_buf, sizeof(part_buf), _STREAM_PART, fb->len); res = httpd_resp_send_chunk(req, part_buf, hlen); } if (res == ESP_OK) res = httpd_resp_send_chunk(req, (const char *)fb->buf, fb->len); esp_camera_fb_return(fb); if (res != ESP_OK) break; vTaskDelay(1); } return ESP_OK; } void startCameraServer() { httpd_config_t config = HTTPD_DEFAULT_CONFIG(); config.server_port = 80; if (httpd_start(&camera_httpd, &config) == ESP_OK) { httpd_uri_t index_uri = { .uri="/", .method=HTTP_GET, .handler=index_handler, .user_ctx=NULL }; httpd_uri_t stream_uri = { .uri="/stream", .method=HTTP_GET, .handler=stream_handler, .user_ctx=NULL }; httpd_register_uri_handler(camera_httpd, &index_uri); httpd_register_uri_handler(camera_httpd, &stream_uri); } } void setup() { Serial.begin(115200); delay(200); Serial.println(); Serial.println("Starter kamera..."); // Kamera konfiguration camera_config_t config; config.ledc_channel = LEDC_CHANNEL_0; config.ledc_timer = LEDC_TIMER_0; config.pin_d0 = Y2_GPIO_NUM; config.pin_d1 = Y3_GPIO_NUM; config.pin_d2 = Y4_GPIO_NUM; config.pin_d3 = Y5_GPIO_NUM; config.pin_d4 = Y6_GPIO_NUM; config.pin_d5 = Y7_GPIO_NUM; config.pin_d6 = Y8_GPIO_NUM; config.pin_d7 = Y9_GPIO_NUM; config.pin_xclk = XCLK_GPIO_NUM; config.pin_pclk = PCLK_GPIO_NUM; config.pin_vsync = VSYNC_GPIO_NUM; config.pin_href = HREF_GPIO_NUM; config.pin_sscb_sda = SIOD_GPIO_NUM; config.pin_sscb_scl = SIOC_GPIO_NUM; config.pin_pwdn = PWDN_GPIO_NUM; config.pin_reset = RESET_GPIO_NUM; config.xclk_freq_hz = 20000000; config.pixel_format = PIXFORMAT_JPEG; // Tjek PSRAM if (psramFound()) { Serial.println("PSRAM fundet! Bruger VGA + dobbelt buffer."); config.frame_size = FRAMESIZE_VGA; config.fb_location = CAMERA_FB_IN_PSRAM; config.jpeg_quality = 12; config.fb_count = 2; } else { Serial.println("PSRAM IKKE fundet! Bruger QVGA + enkelt buffer."); config.frame_size = FRAMESIZE_QVGA; config.fb_location = CAMERA_FB_IN_DRAM; config.jpeg_quality = 15; config.fb_count = 1; } // Init kamera if (esp_camera_init(&config) != ESP_OK) { Serial.println("Kamera initialisering FEJLEDE!"); while (true) delay(1000); } // Start WiFi WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); Serial.println("Forbinder til Wi-Fi..."); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(); Serial.println("Wi-Fi forbundet!"); Serial.print("IP-adresse: "); Serial.println(WiFi.localIP()); // Start webserver startCameraServer(); Serial.println("Kamera server startet. Åbn IP i browseren."); } void loop() { delay(10); }
Kontakt os
Du er altid velkommen til at kontakte os på info@ardustore.dk, eller vores kontaktformular HER.
Anmeldelser
Der er endnu ikke nogle anmeldelser.