Arduino Nano 33 IOT HTTP request an Shelly Plug

Hi ich hab einen Arduino Nano 33 IOT und möchte einfach nur einen Http Request schicken als wenn ich im browser 192.168.0.150/relay/0?turn=toggle eingebe. Mit dem Wlan bin ich soweit verbunden allerdings wird die HTTP Request nicht richtig ausgeführt ich vermute dass das mit dem Port zusammenhängt oder damit dass ich keine Secure Anfrage oder so schicke.

Das ist der relevante Code hat jemand eine Idee was ich schreiben muss damit es klappt?
Ist noch deutlich mehr im Code initalisiert daher nicht wundern, dass mit client etc funktiioniert eigentlich auch aber diesen http request kriege ich leider nicht hin.

Der untere Teil des Codes ist rausgeschnitten und befindet sich in der Loop schleife wird aber ausgeführt daran liegts nicht. Wie gesagt ich schätze Probleme mit Port oder SSL ??

#include <SPI.h>
#include <WiFiNINA.h>
#include "arduino_secrets.h"
#include <MFRC522.h>
#define RST_PIN 9
#define SS_PIN 10
#define button 5
boolean buttonState;
boolean oldState; 
int inPin = 5;
int val = 0;
MFRC522 mfrc522(SS_PIN, RST_PIN);


///////please enter your sensitive data in the Secret tab/arduino_secrets.h
char ssid[] = SECRET_SSID;        // your network SSID (name)
char pass[] = SECRET_PASS;    // your network password (use for WPA, or use as key for WEP)
char str[56] = "";
char mID[3] ="13";
char Ausgabe[17] ="";

boolean update = false;
boolean LED = false;

WiFiClient client;
WiFiSSLClient sclient;
// server address:
//char server[] = "192.168.0.190";
IPAddress server(192,168,0,190);

unsigned long lastConnectionTime = 0;            // last time you connected to the server, in milliseconds
const unsigned long postingInterval = 10L * 1000L; // delay between updates, in milliseconds
int status = WL_IDLE_STATUS;     // the WiFi radio's status


void setup() {
  // Initialize serial and wait for port to open:
 Serial.begin(9600);
  while (!Serial); 
  pinMode(button,INPUT_PULLUP);
    SPI.begin();
    mfrc522.PCD_Init();
    mfrc522.PCD_DumpVersionToSerial(); //Details des Lesegerätes ausgeben
    Serial.println(F("Scan PICC to see UID, type, and data blocks..."));
     // wait for serial port to connect. Needed for native USB port only
  
  pinMode(6, OUTPUT);
  // check for the WiFi module:
  if (WiFi.status() == WL_NO_MODULE) {
    Serial.println("Communication with WiFi module failed!");
    // don't continue
    while (true);
  }

  String fv = WiFi.firmwareVersion();
  if (fv < WIFI_FIRMWARE_LATEST_VERSION) {
    Serial.println("Please upgrade the firmware");
  }

  // attempt to connect to WiFi network:
  while ( status != WL_CONNECTED) {
    Serial.print("Attempting to connect to WPA SSID: ");
    Serial.println(ssid);
    // Connect to WPA/WPA2 network:
    status = WiFi.begin(ssid, pass);

    // wait 10 seconds for connection:
    delay(10000);
  }

  // you're connected now, so print out the data:
  Serial.println("You're connected to the network");
  printCurrentNet();
  printWiFiData();
  //server.begin();
  
}


 if(client.connect("192.168.0.150",80)){
      Serial.println("connected");
      client.print("GET /relay/0?turn=toggle");
    }
    client.stop();

alex3480:
möchte einfach nur einen Http Request schicken als wenn ich im browser 192.168.0.150/relay/0?turn=toggle eingebe.
...
oder damit dass ich keine Secure Anfrage oder so schicke.

Du solltest vorab erst mal abklären, was Du denn überhaupt schicken willst: http oder https

Gruß Tommy

Einen normalen http request mit https hat es zum beispiel auf meinem raspberry nicht funktioniert.

Wenn Du das schon weißt, warum fabulierst Du dann über "Secure Anfrage" rum?

Gibt es zum Nano 33 IOT keine Beispiele bzw. Tutorials?
Ich habe keinen, kann dazu also nichts weiter sagen.

Gruß Tommy

Um ehrlich zu sein ist es mir egal ob ich eine Secure Anfrage schicke oder was auch immer, ich muss nur dieses blöde Relais schalten.

Mit dem Nano 33 IOT hat das ganze glaube ich nicht einmal soviel mit zu tun (auf dem uno wifi rev 2 läufts genau so),eher mit der verwendeten Library Wifinina.

Ein weiterer teil von dem Programm ist es eine Verbindung mit einem Raspberry (Python Socket Server) herzustellen und einen String zu übergeben das klappt soweit auch alles also die Wifinina Bibliothek an sich funktioniert auch ohne Probleme.

Ich hab übrigens alle Beispiele die es dazu gibt durch und heute schon wieder 7 Stunden damit verbracht das ganze zum laufen zu kriegen (und am ende werden es wahrscheinlich 3 Wörter oder so sein die ich hinzufügen muss :))

Auf dem Python socket server kriege ich es auch hin den gleichen Http request zu senden da sieht das ganze so aus:

r = requests.get("http://192.168.0.150/relay/0?turn=toggle", verify=False)

Damit funktioniert es das Relais zu schalten, aber auch erst nachdem ich verify=False hinzugefügt habe (weshalb ich denke dass es bei Arduino auch irgendwas damit zu tun haben könnte)

Allerdings habe ich keine Ahnung und leider auch kein funktionierendes Beispiel gefunden wie ich das ganze auf dem Arduino umsetzen muss.

Vielleicht hat ja jemand hier eine Idee, kann gerne auch mit einer anderen verwendeten Wifi Library sein das müsste sich ja zumindestens einigermaßen auf meinen Anwendungsfall übertragen lassen..

Viele Grüße Alexander

Keiner eine Idee? :frowning: