kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: Externen Anfragen den Zugriff auf Verzeichnisse erlauben

    geschrieben von sensorik

    @muellerlukas vielen Dank für deine Antwort.
    Ich hab an dem Sketch schon ziemlich viel rumprobiert und gespielt, leider macht es keinen Unterschied was ich genau in die Variable server oder in resource schreibe. Eine wirkliche Fehlermeldung erscheint auch nicht, da ich beim senden der Daten an das PHP Script ja keinen return value bekomme. Deswegen bin ich auch lange pauschal davon ausgegangen, dass der Fehler irgendwo am Arduino liegen muss, bis ich dann versucht habe, besagte Textdatei auszulesen.

    void setup() {
    
    	char* connector = "rest";
    	char* server = "download.arduino.org";
    	char* method = "GET";
    	String resource = "/latest.txt";
    
    	Serial.begin(9600);
    	Ciao.begin();
    
    	doRequest(connector, server, resource, method);
    }


    Dieser Sketch liefert mir den Wert aus der latest.txt Datei zurück (10709), modifiziere ich einfach nur den server Pfad, bekomme ich als Ergebnis 0 zurück (dabei ist es egal ob die latest.txt Datei im src oder im root Verzeichnis liegt). Wirklich erklären kann ich mir das nur dadurch, dass meine Anfragen irgendwie nicht durchgehen.

    Leider betreibe ich das ganze rein hobbymäßig und bin nicht wirklich in der Materie drin. Was genau meinst du denn mit User-Agent im Header? Wie sieht das denn konkret aus, ich kann mir da leider momentan nicht wirklich was drunter vorstellen.
  • in: Externen Anfragen den Zugriff auf Verzeichnisse erlauben

    geschrieben von sensorik

    Hallo zusammen,

    ich spiele zur Zeit ein bisschen mit einem Arduino Uno Wifi rum und will Sensordaten die ich damit lese in eine MySQL Datenbank auf Lima City speichern. Dafür verwende ich ein PHP Script dass mir die Parameter die ich in der URL mitgebe ausliest und anschließend in die Datenbank speichert. Wenn ich das ganze direkt im Browser mache, also bspw. schreibe "meineWebseite.lima-city.de/src/add_data.php?humidity=22&temperature=60" dann funktioniert das auch tadellos. Allerdings, sobald ich das ganze von meinem Arduino ausführen möchte, führt es zu einem Fehler.
    Ich habe um das Problem einzugrenzen ein einfaches Arduino Script modifiziert, welches mir den Wert aus einer .txt Datei ausliest und zurückgibt (in der .txt Datei steht nur eine Zahl). Ich habe nun ebenfalls eine .txt Datei in meinen src-Ordner auf meinen Webspace geladen und versucht sie mit dem selben Script auszuführen (und lediglich die Adresse des Servers vertauscht) und bekomme aber keinen Wert zurück.

    Das heißt, meine Vermutung ist nun, dass der Zugriff auf das src Verzeichnis (oder allgemein auf meinen Webspace) von außen verboten wird und deswegen keine GET requests zurück kommen. Kann das sein? Und wenn ja, wie kann ich das umgehen?

    Vielen Danks schon einmal im Voraus!

    ----
    Mein PHP Script get_data.php
    <?php
        // Connect to MySQL
        include("dbconnect.php");
    
        // Prepare the SQL statement
        //$SQL = "INSERT INTO test.temperature (sensor ,celsius) VALUES ('".$_GET["serial"]."', '".$_GET["temperature"]."')";    
        $SQL = "INSERT INTO arduino_test (Humidity, Temperature) VALUES ('".$_GET["humidity"]."', '".$_GET["temperature"]."')"; 
    
        // Execute SQL statement
        mysql_query($SQL);
    ?>


    (ja, die Anfälligkeit für SQL Injections ist mir bewusst, es geht momentan nur um das probieren!)

    Und wen es interessiert, hier der Arduino Sketch
    #include <UnoWiFiDevEd.h>

    void setup() {
    char* connector = "rest";
    char* server = "meineWebseite.lima-city.de/src/add_data.php?";
    char* method = "GET";
    String resource = "humidity=11&temperature=22";

    Serial.begin(9600);
    Ciao.begin();

    doRequest(connector, server, resource, method);
    }

    void loop() {}

    void doRequest(char* conn, char* server, String command, char* method) {
    CiaoData data = Ciao.write(conn, server, command, method);
    if (!data.isEmpty()) {
    Serial.println(data.get(1));
    } else {
    Serial.println("FAILED");
    }
    }

Login zum Webhosting ohne Werbung!