Der Arduino-Verarbeitungsclient kann die Datei nicht auf den PHP-Server hochladen

9

Hintergrund Ich möchte, dass die Drucksensoren (sie funktionieren) die eingebaute Kamera auslösen und ein Foto machen, wenn die Katze ins Bett geht, lade das Bild hoch und maile mir, damit ich das Echtzeitbild auf der Webseite sehen kann.

PHP Server Ich habe eine php server running 127.0.0.1:8080 auf der Wurzel dieser Struktur:

%Vor%

Tests im Browser, save2web.php und cat-script.php funktionieren, dh Skripte werden hochgeladen und per E-Mail versendet.

Arduino

Die Arduino App sollte Folgendes tun:

  1. empfängt eine Eingabe von einem Drucksensor
  2. überprüfen, ob der Schwellenwert überschritten ist
  3. mach ein Bild von der eingebauten Kamera
  4. Bild auf Webseite hochladen
  5. Senden Sie eine E-Mail mit Informationen zum Upload

Der Drucksensor () liest und druckt ebenfalls und der Schwellenwert wurde kalibriert.

Aber NetworkedCat.pde wird NICHT von den seriellen Ereignissen ausgelöst.

Bitte beachten Sie:

Arduino-Verarbeitung öffnet localhost bei einem anderen port 80 , weil php server bei 8080 .

Wenn ich den Verarbeitungscode verkürze und die Bilderfassung und den Upload nur teste, funktioniert es. Der Fehler muss also mit den seriellen Ereignissen zusammenhängen.

Warum funktioniert der folgende Verarbeitungscode nicht?

%Vor%

BEARBEITEN:

Durch Ausschluss ist der Fehler in dieser letzten Funktion, aber ich habe es immer noch nicht gefunden:

%Vor%

Dies ist was ausgelöst wird:

%Vor%

PLUS a Not a Number Ausnahme:

sensorValue = map(NaN, 1023, 0, height);

Mein System ist Unix.

    
data_garden 06.10.2015, 01:57
quelle

2 Antworten

3
___ qstnhdr ___ Der Arduino-Verarbeitungsclient kann die Datei nicht auf den PHP-Server hochladen ___ answer33403777 ___

8080 sollte die gesamte Zeichenfolge enthalten: "name-or-ip" und nicht nur die Skriptposition "localhost" relativ zum %code% -Verzeichnis.

Es gab auch einen Fehler im Skript %code% , der in dieser Frage nicht vorhanden war und das das Hochladen des Bildes verhinderte. %code% hatte %code% ) nicht eingeschlossen.

alles funktioniert jetzt gut.

    
___ tag123networkprogramming ___ Programmierung zum Erstellen und Verwalten von Netzwerken sowie Hinzufügen von Netzwerkkonnektivität zu einem (Satz von) Programmen. ___ tag123processing ___ Processing ist eine Open-Source-Programmiersprache und -umgebung für Personen, die Bilder, Animationen und Interaktionen erstellen möchten. ___ tag123arduino ___ Arduino ist eine Open-Source-Prototyping-Plattform für Elektronik, die auf einfach zu bedienender Hardware und Software basiert. Fragen sollten sich nur auf Arduinos beziehen (wie in Code enthalten). Allgemeine Arduino-Fragen können unter https://arduino.stackexchange.com gestellt werden ___ answer313140572 ___

Wahrscheinlich ist es besser, diese Frage auf Arduino einer bestimmten Version des Stapelaustauschs zu stellen.

Mein Vorschlag Lassen Sie Arduino Processing das Bild (von der Katze) aufnehmen. Und lass es das Bild in die PHP Web-App hochladen.

Dann sollte die PHP-Web-App die Datei hochladen (das Bild) und eine E-Mail an diejenigen senden, die sie per E-Mail erhalten möchten.

Scheint, dass Sie den PHP-Server auf dem Port %code% ausführen, dann müssen Sie die Arduino Processing-App ebenfalls mit diesem Port verbinden! Aktualisieren Sie also Ihren Code, damit der Client eine Verbindung zum Server herstellt:

Die Arduino-Verarbeitung (der Client) muss wissen, wo sich der PHP-Server im Netzwerk befindet. Daher muss der DNS-Name oder die IP-Adresse des Servers bekannt sein. Korrigiere also die Zeichenkette %code% im folgenden Code!

%Vor%

Tipp: Wenn Arduino Processing auf demselben Computer wie PHP Server ausgeführt wird, funktioniert %code% als Serververbindung.

    
___ qstntxt ___

Hintergrund Ich möchte, dass die Drucksensoren (sie funktionieren) die eingebaute Kamera auslösen und ein Foto machen, wenn die Katze ins Bett geht, lade das Bild hoch und maile mir, damit ich das Echtzeitbild auf der Webseite sehen kann.

PHP Server Ich habe eine %code% %code% auf der Wurzel dieser Struktur:

%Vor%

Tests im Browser, %code% und %code% funktionieren, dh Skripte werden hochgeladen und per E-Mail versendet.

Arduino

Die Arduino App sollte Folgendes tun:

  1. empfängt eine Eingabe von einem Drucksensor
  2. überprüfen, ob der Schwellenwert überschritten ist
  3. mach ein Bild von der eingebauten Kamera
  4. Bild auf Webseite hochladen
  5. Senden Sie eine E-Mail mit Informationen zum Upload

Der Drucksensor () liest und druckt ebenfalls und der Schwellenwert wurde kalibriert.

Aber %code% wird NICHT von den seriellen Ereignissen ausgelöst.

Bitte beachten Sie:

Arduino-Verarbeitung öffnet %code% bei einem anderen %code% , weil %code% bei %code% .

Wenn ich den Verarbeitungscode verkürze und die Bilderfassung und den Upload nur teste, funktioniert es. Der Fehler muss also mit den seriellen Ereignissen zusammenhängen.

Warum funktioniert der folgende Verarbeitungscode nicht?

%Vor%

BEARBEITEN:

Durch Ausschluss ist der Fehler in dieser letzten Funktion, aber ich habe es immer noch nicht gefunden:

%Vor%

Dies ist was ausgelöst wird:

%Vor%

PLUS a %code% Ausnahme:

%code%

Mein System ist Unix.

    
___ tag123java ___ Java (nicht zu verwechseln mit JavaScript oder JScript oder JS) ist eine universelle objektorientierte Programmiersprache, die für die Verwendung in Verbindung mit der Java Virtual Machine (JVM) entwickelt wurde. "Java-Plattform" ist der Name für ein Computersystem, auf dem Tools zum Entwickeln und Ausführen von Java-Programmen installiert sind. Verwenden Sie dieses Tag für Fragen, die sich auf die Java-Programmiersprache oder Java-Plattform-Tools beziehen. ___
Verhagen 15.10.2015, 05:30
quelle
0

String mailUrl sollte die gesamte Zeichenfolge enthalten: "http://127.0.0.1:8080/cat-script.php" und nicht nur die Skriptposition cat-script.php relativ zum root -Verzeichnis.

Es gab auch einen Fehler im Skript save2web.php , der in dieser Frage nicht vorhanden war und das das Hochladen des Bildes verhinderte. move_uploaded_file($fileTempName, $path.fileName); hatte ".fileName" ) nicht eingeschlossen.

alles funktioniert jetzt gut.

    
data_garden 29.10.2015 00:08
quelle