Menu
Microbots
0
  • Faire
    • Commencer
    • Constructions de créateurs
    • Éducation
  • Boutique
    • Modules Maker
    • Packs de création
    • Outils et engrenages
    • Robots et écrans
  • À propos
    • Notre histoire
    • Tendez la main
    • FAQ
  • français
  • Votre panier est vide
Microbots
  • Faire
    • Commencer
    • Constructions de créateurs
    • Éducation
  • Boutique
    • Modules Maker
    • Packs de création
    • Outils et engrenages
    • Robots et écrans
  • À propos
    • Notre histoire
    • Tendez la main
    • FAQ
  • Langue

  • 0 0

CodeCell : invite d'IA

Dans cette version, nous allons découvrir comment configurer l'ESP32-C3 du CodeCell pour utiliser l'IA Gemini de Google pour les interactions basées sur des invites Arduino. Vous apprendrez comment envoyer une invite via le moniteur série et, dans un deuxième exemple, comment le CodeCell peut déclencher automatiquement une blague en fonction de la détection de proximité. Ce projet est idéal pour tous ceux qui cherchent à ajouter des capacités d'IA à leurs projets IoT.

Ce que vous apprendrez

  • Comment configurer le CodeCell pour les interactions basées sur des invites d'IA via l'ESP32-C3.
  • Comment envoyer des invites à Gemini AI à l'aide de l'IDE Arduino et du moniteur série.
  • Comment utiliser le capteur de proximité de CodeCell pour déclencher une blague automatiquement.

À propos de CodeCell et de Google Gemini

Dans cet exemple, nous utilisons le modèle Gemini de Google pour générer du contenu en fonction des entrées utilisateur ou des données de capteurs. Tout au long de ce tutoriel, nous utiliserons et modifierons l' exemple de code créé par « techiesms » - Regardez le tutoriel complet ici.

Grâce aux capacités Wi-Fi de l'ESP32-C3, vous pouvez effectuer des requêtes HTTP vers l'API Gemini de Google, ce qui permet une interaction en temps réel avec l'IA. Que vous demandiez des réponses textuelles ou que vous génériez des résultats créatifs comme des blagues, cette intégration est simple à mettre en œuvre.

Aperçu du projet

Dans le premier exemple, vous enverrez des invites directement via le moniteur série, et le CodeCell enverra cette entrée à l'IA Google Gemini pour traitement. La réponse de l'IA est imprimée sur le moniteur série, limitée par 100 jetons. Dans le deuxième exemple, le capteur de proximité du CodeCell déclenchera une invite à l'IA, lui demandant de générer une blague lorsqu'il détectera un objet. Cette configuration peut être utilisée pour des projets interactifs amusants où l'appareil répond à son environnement à l'aide de contenu basé sur l'IA.

Comment obtenir la clé API Gemini

Avant d'intégrer l'IA Gemini dans notre configuration ESP32-C3, nous devons d'abord générer une clé API et la tester. Suivez les étapes ci-dessous pour créer votre clé API, puis vous pouvez également la tester à l'aide d'un logiciel comme Postman.

Étape 1 : Génération de la clé API pour Google Gemini

  1. Ouvrez votre navigateur et recherchez l' API Gemini
  2. Cliquez sur le premier résultat qui apparaît. Cela vous amènera à la page de documentation de l'API de Google.
  3. Ensuite, cliquez sur le bouton « Obtenir la clé API dans Google AI Studio », puis cliquez sur « Créer une clé API ».
  4. Une fois la clé API générée, copiez-la dans un endroit sûr. Vous en aurez besoin pour les étapes suivantes.

Étape 2 : tester l'API avec Postman

Maintenant que nous avons la clé API, nous pouvons la tester à l'aide de l' application Postman . Postman est un outil gratuit qui vous permet de faire des requêtes HTTP et de voir les réponses.

  1. Tout d'abord, téléchargez et installez Postman depuis le site officiel. Vous pouvez trouver le lien de téléchargement ici .
  2. Après l'installation, ouvrez Postman et créez un nouveau compte si nécessaire.
  3. Une fois connecté, cliquez sur l' icône + pour créer une nouvelle demande.
  4. Sélectionnez POST comme type de demande, car nous enverrons une invite à l’IA Gemini.
  5. Pour l'URL, modifiez cette URL avec votre clé API, que vous avez générée à l'étape 1 : https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=YOUR_API_KEY

Étape 3 : Configuration des en-têtes et du corps dans Postman

Une fois l'URL entrée, nous devons configurer les en-têtes et le corps de la demande.

    1. Accédez à la section En-têtes dans Postman et ajoutez un nouvel en-tête.
    2. Définissez la clé d'en-tête sur Content-Type et la valeur sur application/json .
    3. Maintenant, cliquez sur l’onglet Corps et sélectionnez brut et définissez le format sur JSON .
    4. Dans le corps, collez le code JSON suivant :
 
{
 "contents": [
 {
 "parts": [
 {
 "text": "Who are you?"
 }
 ]
 }
 ],
 "generationConfig": {
 "maxOutputTokens": 100
 }
 }

Dans cet exemple, nous posons une question simple à l'IA : « Qui êtes-vous ? » et nous définissons le nombre maximal de jetons à 100. Les jetons contrôlent la longueur de la réponse générée par l'IA. Si vous réduisez la limite de jetons (par exemple, 20 jetons), la réponse sera plus courte. Vous pouvez tester différentes valeurs pour maxOutputTokens pour voir comment cela affecte la longueur de la réponse.

Étape 4 : Envoi de la demande

  1. Une fois que tout est configuré, cliquez sur le bouton Envoyer .
  2. Le facteur enverra la demande à l'IA Gemini, et après quelques secondes, vous devriez voir une réponse.
  3. Si tout s'est bien passé, vous verrez un statut de 200 OK , indiquant que la demande a été traitée sans erreur.
  4. Le corps de la réponse contiendra la réponse générée par l'IA. Dans ce cas, vous devriez voir quelque chose comme : "I am a large language model trained by Google."


Comment demander avec CodeCell ?

Une fois que vous avez généré et vérifié que l'API fonctionne, vous pouvez passer à l'étape suivante : intégrer cette API dans votre projet CodeCell.

Exemple 1 : invite AI via le moniteur série

Vous trouverez ci-dessous un exemple de code pour vous aider à démarrer. Dans cet exemple, l'IA répondra aux messages texte que vous envoyez via le moniteur série. N'oubliez pas de remplacer les espaces réservés par vos identifiants Wi-Fi et votre jeton API Gemini.

 
#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); 
tandis que (WiFi.status() != WL_CONNECTED) {
 délai(1000);
 Série.print(".");
 }
 Serial.println("connecté");
 Serial.print("Adresse IP : ");
 Série.println(WiFi.localIP());
 }

 boucle vide() {
 tandis que (!Serial.available());

 tandis que (Serial.available()) {
 char add = Serial.lire();
 res += ajouter;
 retard(1);
 }

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

 Client HTTP https;

 si (https.begin("https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=" + String(Gemini_Token))) {
 https.addHeader("Type de contenu", "application/json");
 Chaîne de charge utile = "{\"contenu\": [{\"parties\":[{\"texte\": " + res + "}]}],\"generationConfig\": {\"maxOutputTokens\": " + String(Gemini_Max_Tokens) + "}} ";

 int httpCode = https.POST(charge utile);

 si (httpCode == HTTP_CODE_OK) {
 Réponse de chaîne = https.getString();
 Document dynamiqueJsonDocument doc(1024);
 deserializeJson(doc, réponse); 
Chaîne de réponse = doc["candidats"][0]["contenu"]["parties"][0]["texte"];
 réponse.trim();

 Serial.println(réponse);
 } autre {
 Serial.printf("[HTTPS] Échec du POST, erreur : %s\n", https.errorToString(httpCode).c_str());
 }
 https.end();
 } autre {
 Serial.printf("[HTTPS] Impossible de se connecter\n");
 }

 res = "";
 }

Exemple 2 : déclencher une invite AI via un capteur de proximité

Cet exemple utilise le capteur de proximité de CodeCell pour déclencher une invite lorsqu'un objet est détecté à proximité. L'IA répondra avec une blague.

 
#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
 
mode.WiFi(WIFI_STA);
 WiFi.déconnecter();

 tandis que (!Série);

 WiFi.begin(ssid, mot de passe);
 Serial.print("Connexion à ");
 Série.println(ssid);
 tandis que (WiFi.status() != WL_CONNECTED) {
 délai(1000);
 Série.print(".");
 }
 Serial.println("connecté");
 Serial.print("Adresse IP : ");
 Série.println(WiFi.localIP());
 }

 boucle vide() {
 si (myCodeCell.Run(10)) {
 uint16_t proximité = myCodeCell.Light_ProximityRead();

 si (proximité > 100) {
 Serial.println("Voici une nouvelle blague...");
 myCodeCell.LED(0, 0xFF, 0); // Réglez la LED sur Vert lorsque la proximité est détectée

 res = "\"Raconte-moi une blague unique\"";

 Client HTTP https;

 si (https.begin("https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=" + String(Gemini_Token))) {
 https.addHeader("Type de contenu", "application/json");
 Chaîne de charge utile = "{\"contenu\": [{\"parties\":[{\"texte\": " + res + "}]}],\"generationConfig\": {\"maxOutputTokens\": " + String(Gemini_Max_Tokens) + "}} ";
 
int httpCode = https.POST(charge utile);

 si (httpCode == HTTP_CODE_OK) {
 Réponse de chaîne = https.getString();
 Document dynamiqueJsonDocument doc(1024);
 deserializeJson(doc, réponse);
 Chaîne de réponse = doc["candidats"][0]["contenu"]["parties"][0]["texte"];
 réponse.trim();

 Serial.println(réponse);
 } autre {
 Serial.printf("[HTTPS] Échec du POST, erreur : %s\n", https.errorToString(httpCode).c_str());
 }
 https.end();
 } autre {
 Serial.printf("[HTTPS] Impossible de se connecter\n");
 }

 res = "";
 }
 }
 }

Conseils de personnalisation

  • Différentes invites : essayez de personnaliser les invites pour poser différentes questions à l'IA ou donner des commandes pour des résultats créatifs.
  • Expérimentez avec d'autres capteurs : vous pouvez déclencher différentes réponses d'IA en fonction des entrées provenant d'autres capteurs CodeCell, comme la détection de mouvement ou de lumière.

Conclusion

Ce projet montre comment intégrer les réponses de l'IA dans vos projets CodeCell à l'aide de l'API Gemini de Google. En exploitant les capacités Wi-Fi de l'ESP32-C3, vous pouvez créer des appareils interactifs qui réagissent aux entrées de l'utilisateur ou aux facteurs environnementaux, rendant ainsi vos créations IoT plus intelligentes et plus attrayantes.

Expérimentez avec le code et personnalisez les invites en fonction de vos projets !

  • Partager:

Partage

Github

  • À propos
  • Logiciel
  • Éducation
  • Contact
  • FAQ
  • Termes
  • Politique de remboursement
  • politique de confidentialité

Soyez le premier informé des nouveaux projets et bénéficiez d'offres intéressantes !

© 2025 Microbots.