Menü
Microbots
0
  • Machen
    • Erste Schritte
    • Maker-Builds
    • Ausbildung
  • Geschäft
    • Maker-Module
    • Maker-Pakete
    • Werkzeuge und Ausrüstung
    • Roboter & Displays
  • Um
    • Unsere Geschichte
    • Kontakt
    • FAQs
  • Deutsch
  • Ihr Warenkorb ist leer
Microbots
  • Machen
    • Erste Schritte
    • Maker-Builds
    • Ausbildung
  • Geschäft
    • Maker-Module
    • Maker-Pakete
    • Werkzeuge und Ausrüstung
    • Roboter & Displays
  • Um
    • Unsere Geschichte
    • Kontakt
    • FAQs
  • Sprache

  • 0 0

CodeCell: KI-Eingabeaufforderung

In diesem Build untersuchen wir, wie man den ESP32-C3 von CodeCell so konfiguriert, dass er Googles Gemini AI für Arduino-basierte Interaktionen nutzt. Sie erfahren, wie Sie eine Eingabeaufforderung über den seriellen Monitor senden und in einem zweiten Beispiel, wie die CodeCell automatisch einen Witz basierend auf der Näherungserkennung auslösen kann. Dieses Projekt ist ideal für alle, die ihren IoT-Projekten KI-Funktionen hinzufügen möchten.

Was Sie lernen werden

  • So richten Sie die CodeCell für KI-Eingabeaufforderungsinteraktionen über den ESP32-C3 ein.
  • So senden Sie mithilfe der Arduino IDE und des seriellen Monitors Eingabeaufforderungen an Gemini AI.
  • So verwenden Sie den Näherungssensor von CodeCell, um automatisch einen Witz auszulösen.

Über CodeCell und Google Gemini

In diesem Beispiel verwenden wir Googles Gemini-Modell zur Generierung von Inhalten auf der Grundlage von Benutzereingaben oder Sensordaten. In diesem Tutorial verwenden und modifizieren wir das von „techiesms“ erstellte Codebeispiel . Das vollständige Tutorial finden Sie hier.

Mit den WiFi-Funktionen des ESP32-C3 können Sie HTTP-Anfragen an die Gemini-API von Google stellen und so eine Echtzeitinteraktion mit der KI ermöglichen. Egal, ob Sie nach Textantworten fragen oder kreative Ergebnisse wie Witze generieren, diese Integration ist unkompliziert zu implementieren.

Projektübersicht

Im ersten Beispiel senden Sie Eingabeaufforderungen direkt über den seriellen Monitor, und die CodeCell sendet diese Eingabe zur Verarbeitung an die Google Gemini AI. Die Antwort der KI wird an den seriellen Monitor zurückgesendet, begrenzt auf 100 Token. Im zweiten Beispiel löst der Näherungssensor der CodeCell eine Eingabeaufforderung an die KI aus und fordert sie auf, einen Witz zu generieren, wenn sie ein Objekt erkennt. Dieses Setup kann für unterhaltsame interaktive Projekte verwendet werden, bei denen das Gerät mithilfe von KI-basierten Inhalten auf seine Umgebung reagiert.

So erhalten Sie den Gemini-API-Schlüssel

Bevor wir die Gemini AI in unser ESP32-C3-Setup integrieren, müssen wir zunächst einen API-Schlüssel generieren und diesen testen. Befolgen Sie die folgenden Schritte, um Ihren API-Schlüssel zu erstellen. Anschließend können Sie ihn auch mit einer Software wie Postman testen.

Schritt 1: Generieren des API-Schlüssels für Google Gemini

  1. Öffnen Sie Ihren Browser und suchen Sie nach Gemini API
  2. Klicken Sie auf das erste angezeigte Ergebnis. Dadurch gelangen Sie zur API-Dokumentationsseite von Google.
  3. Klicken Sie anschließend auf die Schaltfläche „ API-Schlüssel in Google AI Studio abrufen “ und dann auf „API-Schlüssel erstellen“.
  4. Sobald der API-Schlüssel generiert ist, kopieren Sie ihn an einen sicheren Ort. Sie benötigen ihn für die nächsten Schritte.

Schritt 2: Testen der API mit Postman

Da wir nun den API-Schlüssel haben, können wir ihn mit der Postman-Anwendung testen. Postman ist ein kostenloses Tool, mit dem Sie HTTP-Anfragen stellen und die Antworten anzeigen können.

  1. Laden Sie zunächst Postman von der offiziellen Website herunter und installieren Sie es. Den Download-Link finden Sie hier .
  2. Öffnen Sie nach der Installation Postman und erstellen Sie bei Bedarf ein neues Konto.
  3. Sobald Sie angemeldet sind, klicken Sie auf das +-Symbol, um eine neue Anfrage zu erstellen.
  4. Wählen Sie POST als Anforderungstyp, da wir eine Eingabeaufforderung an die Gemini-KI senden.
  5. Ändern Sie für die URL diese URL mit Ihrem API-Schlüssel, den Sie in Schritt 1 generiert haben: https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=YOUR_API_KEY

Schritt 3: Konfigurieren von Headern und Body in Postman

Nachdem Sie die URL eingegeben haben, müssen wir die Anforderungsheader und den Anforderungstext einrichten.

    1. Gehen Sie in Postman zum Abschnitt „Header“ und fügen Sie einen neuen Header hinzu.
    2. Setzen Sie den Header-Schlüssel auf Content-Type und den Wert auf application/json .
    3. Klicken Sie nun auf die Registerkarte „Body“ , wählen Sie „raw“ aus und stellen Sie das Format auf „JSON“ ein.
    4. Fügen Sie im Textkörper den folgenden JSON-Code ein:
 
{
 "contents": [
 {
 "parts": [
 {
 "text": "Who are you?"
 }
 ]
 }
 ],
 "generationConfig": {
 "maxOutputTokens": 100
 }
 }

In diesem Beispiel stellen wir der KI eine einfache Frage: „Wer bist du?“ und setzen die maximale Anzahl an Token auf 100. Token steuern die Länge der von der KI generierten Antwort. Wenn Sie das Token-Limit verringern (z. B. 20 Token), wird die Antwort kürzer. Sie können mit verschiedenen Werten für maxOutputTokens experimentieren, um zu sehen, wie sich dies auf die Antwortlänge auswirkt.

Schritt 4: Senden der Anfrage

  1. Wenn alles eingerichtet ist, klicken Sie auf die Schaltfläche „Senden“ .
  2. Postman sendet die Anfrage an die Gemini-KI und nach einigen Sekunden sollten Sie eine Antwort sehen.
  3. Wenn alles erfolgreich war, wird der Status 200 OK angezeigt. Dies bedeutet, dass die Anforderung ohne Fehler verarbeitet wurde.
  4. Der Antworttext enthält die von der KI generierte Antwort. In diesem Fall sollten Sie etwa Folgendes sehen: "I am a large language model trained by Google."


Wie erfolgt die Eingabeaufforderung mit CodeCell?

Nachdem Sie die API generiert und ihre Funktionsfähigkeit überprüft haben, können Sie mit dem nächsten Schritt fortfahren: der Integration dieser API in Ihr CodeCell-Projekt.

Beispiel 1: AI-Eingabeaufforderung über den seriellen Monitor

Unten finden Sie den Beispielcode, der Ihnen den Einstieg erleichtert. In diesem Beispiel reagiert die KI auf Textaufforderungen, die Sie über den seriellen Monitor senden. Denken Sie daran, die Platzhalter durch Ihre WLAN-Anmeldeinformationen und das Gemini-API-Token zu ersetzen.

 
#include <Arduino.h>
 #include <WiFi.h>
 #include <HTTPClient.h>
 #include <ArduinoJson.h>
 #include <CodeCell.h>

 CodeCell myCodeCell;

 const char* ssid = "SSID"; //Enter your SSID
 const char* password = "PASSWORD"; //Enter your password
 const char* Gemini_Token = ""; //Enter your Gemini token
 const char* Gemini_Max_Tokens = "100";
 String res = "";

 void setup() {
 Serial.begin(115200);

 WiFi.mode(WIFI_STA);
 WiFi.disconnect();

 while (!Serial);

 // Wait for WiFi connection
 WiFi.begin(ssid, password);
 Serial.print("Connecting to ");
 Serial.println(ssid); 
während (WiFi.status() != WL_CONNECTED) {
 Verzögerung (1000);
 Serial.print(".");
 }
 Serial.println("verbunden");
 Serial.print("IP-Adresse: ");
 Serial.println(WiFi.localIP());
 }

 void schleife() {
 während (!Serial.available());

 während (Serial.available()) {
 char add = Serial.read();
 res += hinzufügen;
 Verzögerung(1);
 }

 int len ​​= res.length();
 res = res.substring(0, länge - 1);
 res = "\"" + res + "\"";

 HTTPClient https;

 wenn (https.begin("https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=" + String(Gemini_Token))) {
 https.addHeader("Inhaltstyp", "application/json");
 String-Nutzlast = "{\"Inhalt\": [{\"Teile\":[{\"Text\":" + res + "}]}],\"GenerationConfig\": {\"maxOutputTokens\": " + String(Gemini_Max_Tokens) + "}} ";

 int httpCode = https.POST(Nutzlast);

 wenn (httpCode == HTTP_CODE_OK) {
 String-Antwort = https.getString();
 doc(1024);
 deserializeJson(Dokument, Antwort); 
String-Antwort = doc["Kandidaten"][0]["Inhalt"]["Teile"][0]["Text"];
 antwort.trim();

 Serial.println(Antwort);
 } anders {
 Serial.printf("[HTTPS] POST fehlgeschlagen, Fehler: %s\n", https.errorToString(httpCode).c_str());
 }
 https.ende();
 } anders {
 Serial.printf("[HTTPS] Verbindung konnte nicht hergestellt werden\n");
 }

 res = "";
 }

Beispiel 2: KI-Eingabeaufforderung über Näherungssensor auslösen

In diesem Beispiel wird der Näherungssensor der CodeCell verwendet, um eine Eingabeaufforderung auszulösen, wenn ein Objekt in der Nähe erkannt wird. Die KI antwortet mit einem Witz.

 
#include <Arduino.h>
 #include <WiFi.h>
 #include <HTTPClient.h>
 #include <ArduinoJson.h>
 #include <CodeCell.h>

 CodeCell myCodeCell;

 const char* ssid = "SSID"; //Enter your SSID
 const char* password = "PASSWORD"; //Enter your password
 const char* Gemini_Token = ""; //Enter your Gemini token
 const char* Gemini_Max_Tokens = "100";
 String res = "";

 void setup() {
 Serial.begin(115200);

 myCodeCell.Init(LIGHT); // Initializes proximity sensing
 
WiFi.Modus(WIFI_STA);
 WiFi.trennen();

 während (!Seriell);

 WiFi.begin(ssid, Passwort);
 Serial.print("Verbindung wird hergestellt mit ");
 Serial.println(ssid);
 während (WiFi.status() != WL_CONNECTED) {
 Verzögerung (1000);
 Serial.print(".");
 }
 Serial.println("verbunden");
 Serial.print("IP-Adresse: ");
 Serial.println(WiFi.localIP());
 }

 void schleife() {
 wenn (myCodeCell.Run(10)) {
 uint16_t Nähe = myCodeCell.Light_ProximityRead();

 wenn (Nähe > 100) {
 Serial.println("Hier ist ein neuer Witz...");
 myCodeCell.LED(0, 0xFF, 0); // LED auf Grün setzen, wenn Nähe erkannt wird

 res = "\"Erzähl mir einen einzigartigen Witz\"";

 HTTPClient https;

 wenn (https.begin("https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=" + String(Gemini_Token))) {
 https.addHeader("Inhaltstyp", "application/json");
 String-Nutzlast = "{\"Inhalt\": [{\"Teile\":[{\"Text\":" + res + "}]}],\"GenerationConfig\": {\"maxOutputTokens\": " + String(Gemini_Max_Tokens) + "}} ";
 
int httpCode = https.POST(Nutzlast);

 wenn (httpCode == HTTP_CODE_OK) {
 String-Antwort = https.getString();
 doc(1024);
 deserializeJson(Dokument, Antwort);
 String-Antwort = doc["Kandidaten"][0]["Inhalt"]["Teile"][0]["Text"];
 antwort.trim();

 Serial.println(Antwort);
 } anders {
 Serial.printf("[HTTPS] POST fehlgeschlagen, Fehler: %s\n", https.errorToString(httpCode).c_str());
 }
 https.ende();
 } anders {
 Serial.printf("[HTTPS] Verbindung konnte nicht hergestellt werden\n");
 }

 res = "";
 }
 }
 }

Tipps zur Anpassung

  • Verschiedene Eingabeaufforderungen: Versuchen Sie, die Eingabeaufforderungen anzupassen, um der KI verschiedene Fragen zu stellen oder Befehle für kreative Ausgaben zu geben.
  • Experimentieren Sie mit anderen Sensoren: Sie können verschiedene KI-Reaktionen basierend auf Eingaben von anderen CodeCell-Sensoren wie Bewegungs- oder Lichtsensoren auslösen.

Abschluss

Dieses Projekt zeigt, wie Sie mithilfe der Gemini-API von Google KI-Reaktionen in Ihre CodeCell-Projekte integrieren. Indem Sie die WiFi-Funktionen des ESP32-C3 nutzen, können Sie interaktive Geräte erstellen, die auf Benutzereingaben oder Umgebungsfaktoren reagieren und so Ihre IoT-Builds intelligenter und ansprechender machen.

Experimentieren Sie mit dem Code und passen Sie die Eingabeaufforderungen an Ihre Projekte an!

  • Teilen:

Sozial

Github

  • Um
  • Software
  • Ausbildung
  • Kontakt
  • FAQs
  • Bedingungen
  • Rückerstattung-Politik
  • Datenschutzrichtlinie

Erfahren Sie als Erster von neuen Projekten und sichern Sie sich spannende Angebote!

© 2025 Microbots.