0015 / ChatGPT_Client_For_Arduino

Library for communication with ChatGPT. Now it supports Vision Question.
https://youtu.be/IuvEtq73gyE
MIT License
88 stars 12 forks source link

arduino unor4 wifi #6

Closed LYB030 closed 1 year ago

LYB030 commented 1 year ago

hi i find that i even could not run the example

WARNING: library ArduinoECCX08 claims to run on samd, megaavr, mbed, mbed_nano, mbed_portenta, esp32 architecture(s) and may be incompatible with your current board which runs on renesas_uno architecture(s).
In file included from C:\Users\94837\AppData\Local\Arduino15\packages\arduino\hardware\renesas_uno\1.0.2\libraries\WiFiS3\src/WiFiS3.h:26:0,
                 from C:\Users\94837\AppData\Local\Temp\.arduinoIDE-unsaved2023613-25312-gs1els.4h57k\Arduino_BearSSLExample\Arduino_BearSSLExample.ino:10:
C:\Users\94837\AppData\Local\Arduino15\packages\arduino\hardware\renesas_uno\1.0.2\libraries\WiFiS3\src/WiFiUdp.h:33:0: warning: "RX_BUFFER_DIM" redefined
 #define RX_BUFFER_DIM 1461

In file included from C:\Users\94837\AppData\Local\Arduino15\packages\arduino\hardware\renesas_uno\1.0.2\libraries\WiFiS3\src/WiFiS3.h:24:0,
                 from C:\Users\94837\AppData\Local\Temp\.arduinoIDE-unsaved2023613-25312-gs1els.4h57k\Arduino_BearSSLExample\Arduino_BearSSLExample.ino:10:
C:\Users\94837\AppData\Local\Arduino15\packages\arduino\hardware\renesas_uno\1.0.2\libraries\WiFiS3\src/WiFiClient.h:33:0: note: this is the location of the previous definition
 #define RX_BUFFER_DIM 1024

C:\Users\94837\AppData\Local\Temp\.arduinoIDE-unsaved2023613-25312-gs1els.4h57k\Arduino_BearSSLExample\Arduino_BearSSLExample.ino: In function 'void setup()':
C:\Users\94837\AppData\Local\Temp\.arduinoIDE-unsaved2023613-25312-gs1els.4h57k\Arduino_BearSSLExample\Arduino_BearSSLExample.ino:45:53: warning: 'void BearSSLClient::setInsecure(BearSSLClient::SNI)' is deprecated: INSECURE. DO NOT USE IN PRODUCTION [-Wdeprecated-declarations]
   sslClient.setInsecure(BearSSLClient::SNI::Insecure);
                                                     ^
In file included from c:\Users\94837\OneDrive\Documents\Arduino\libraries\ArduinoBearSSL\src/ArduinoBearSSL.h:34:0,
                 from C:\Users\94837\AppData\Local\Temp\.arduinoIDE-unsaved2023613-25312-gs1els.4h57k\Arduino_BearSSLExample\Arduino_BearSSLExample.ino:9:
c:\Users\94837\OneDrive\Documents\Arduino\libraries\ArduinoBearSSL\src/BearSSLClient.h:76:8: note: declared here
   void setInsecure(SNI insecure) __attribute__((deprecated("INSECURE. DO NOT USE IN PRODUCTION")));
        ^~~~~~~~~~~
In file included from C:\Users\94837\AppData\Local\Arduino15\packages\arduino\hardware\renesas_uno\1.0.2\libraries\WiFiS3\src/WiFi.h:7:0,
                 from C:\Users\94837\AppData\Local\Arduino15\packages\arduino\hardware\renesas_uno\1.0.2\libraries\WiFiS3\src/WiFiS3.h:23,
                 from C:\Users\94837\AppData\Local\Temp\.arduinoIDE-unsaved2023613-25312-gs1els.4h57k\Arduino_BearSSLExample\Arduino_BearSSLExample.ino:10:
C:\Users\94837\AppData\Local\Arduino15\packages\arduino\hardware\renesas_uno\1.0.2\libraries\WiFiS3\src/WiFiCommands.h: At global scope:
C:\Users\94837\AppData\Local\Arduino15\packages\arduino\hardware\renesas_uno\1.0.2\libraries\WiFiS3\src/WiFiCommands.h:17:3: warning: 'file_op' defined but not used [-Wunused-variable]
 } file_op;
   ^~~~~~~
C:\Users\94837\AppData\Local\Arduino15\packages\arduino\hardware\renesas_uno\1.0.2\libraries\WiFiS3\src/WiFiCommands.h:10:3: warning: 'ip_type' defined but not used [-Wunused-variable]
 } ip_type;
   ^~~~~~~
c:/users/94837/appdata/local/arduino15/packages/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/../lib/gcc/arm-none-eabi/7.2.1/../../../../arm-none-eabi/bin/ld.exe: section .stack_dummy VMA [20007b00,20007eff] overlaps section .heap VMA [20005e68,20007e67]
collect2.exe: error: ld returned 1 exit status

exit status 1

Compilation error: exit status 1
LYB030 commented 1 year ago

is now works with change below code

/*
 * Project ChatGPT Client For ESP32
 * Description: For HTTPS connection using WiFiClientSecure
 * Author: Eric Nam
 * Date: 04-02-2023
 */

#include <ArduinoJson.h>
#include <ChatGPT.hpp>
#include "WiFiS3.h"
#include "DHT.h"
#include "WiFiSSLClient.h"
static const char *ssid = "B746 Hyperoptic Fibre 2.4";
static const char *password = "fwo541888";

WiFiSSLClient client;
ChatGPT<WiFiSSLClient> chat_gpt(&client, "v1", "<OpenAI_API_KEY>");

void setup() {
  Serial.begin(115200);
  Serial.print("Connecting to WiFi network: ");
  Serial.print(ssid);
  Serial.println("'...");
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    Serial.println("Connecting...");
    delay(500);
  }
  Serial.println("Connected!");

  // Ignore SSL certificate validation

  String result;

  Serial.println("[ChatGPT] Only print a content message");
  if (chat_gpt.simple_message("gpt-3.5-turbo-0301", "user", "Planning a 3-day trip to San Diego", result)) {
    Serial.println("===OK===");
    Serial.println(result);
  } else {
    Serial.println("===ERROR===");
    Serial.println(result);
  }

  Serial.println("\n\n[ChatGPT] Print full message(JSON Type)");
  if (chat_gpt.full_message("gpt-3.5-turbo", "user", "What is the OpenAI mission?", result)) {
    Serial.println("===OK===");
    Serial.println(result);
  } else {
    Serial.println("===ERROR===");
    Serial.println(result);
  }
}

void loop() {}

but only works by using chat_gpt.full_message ,the sample is just connection faild

0015 commented 1 year ago

@LYB030 Thank you for your code. I haven't been able to test it because I don't have the UNO R4 WiFi device yet. Why doesn't simple_message in the code above work? It's the same internally. Any ideas?