Forum: Mikrocontroller und Digitale Elektronik Auslesen eines Zeichens aus einer Textdatei, die im pc gespeichert ist


von Norbert (Gast)


Lesenswert?

Hallo,
Wie schon im Betreff beschrieben, will ich keine sdkarte verwenden. Es 
soll ein Zeichen zur weiteren Steuerung des Arduino ausgewertet werden. 
Ich bräuchte den lesebefehl. In der Datei steht entweder eine 1 oder 
eine 0 in der ersten Zeile. Diese 1 oder 0 wird mit php in diese 
Textdatei geschrieben. Bis jetzt zeigt mir der serielle Monitor nur 
immer -1 an.

Besten Dank

von Hugo E. (Gast)


Lesenswert?

Norbert schrieb:
> Hallo,
> Wie schon im Betreff beschrieben, will ich keine sdkarte verwenden. Es
> soll ein Zeichen zur weiteren Steuerung des Arduino ausgewertet werden.
> Ich bräuchte den lesebefehl. In der Datei steht entweder eine 1 oder
> eine 0 in der ersten Zeile. Diese 1 oder 0 wird mit php in diese
> Textdatei geschrieben. Bis jetzt zeigt mir der serielle Monitor nur
> immer -1 an.
>
> Besten Dank

reboot brain and think again :-)

von Georg G. (df2au)


Lesenswert?

Du verwirrst uns mit viel zu vielen Informationen. Du solltest das 
Problem noch allgemeiner formulieren.

von loxxy (Gast)


Lesenswert?

-kopfschüttel-




... nein, nicht meinen - DEINEN!

von wendelsberg (Gast)


Lesenswert?

Norbert schrieb:
> Ich bräuchte den lesebefehl.

type <dateiname.txt>

von Norbert (Gast)


Lesenswert?

Hallo,

Nochmaliger Versuch:
Aus einem php-Programm wird in eine Textdatei eine 1 bzw. eine 0 
geschrieben. Nun soll diese Textdatei mit einer ino-Datei geöffnet und 
gelesen werden. Diese Textdatei befindet sich auf der Festplatte des 
PCs. Ich möchte nicht mit einer sd-Karte arbeiten.
Es geht mir um den lesebefehl für diese Datei innerhalb der Ino-Datei. 
Das Problem ist vielleicht das übertragen der 1 bzw. der 0 durch die 
usb-Schnittstelle.

Besten Dank

von Jim M. (turboj)


Lesenswert?

Norbert schrieb:
> Es geht mir um den lesebefehl für diese Datei innerhalb der Ino-Datei.
> Das Problem ist vielleicht das übertragen der 1 bzw. der 0 durch die
> usb-Schnittstelle.

Bei Dir fällt der Groschen nur pfennigweise.

Es gibt keine Infrastruktur, die Dir das Lesen von Daten auf dem PC in 
einer .ino (also auf dem via USB angeschlossenen µC) erlaubt - die 
Ausnahme wäre wenn man diese selbst schreibt (oder was vorhandenes 
anpasst).


Das wird also ziemlich aufwändig.

Aber das Ganze klingt schwerstens nach A/B Problem - Du gibts uns hier 
Deine halbgare Lösung vor anstelle des ursprünglichen Problems, das 
vermutlich eine deutlich einfachere Lösung hätte...

von Stefan F. (Gast)


Lesenswert?

Norbert schrieb:
> Aus einem php-Programm wird in eine Textdatei eine 1 bzw. eine 0
> geschrieben. Nun soll diese Textdatei mit einer ino-Datei geöffnet und
> gelesen werden.

Ich korrigiere das mal:

Du möchtest mit einem Arduino Board eine Datei lesen und auswerten, die 
auf deinem PC gespeichert ist.

Der erste Schritt dazu ist die Klärung, wie der Mikrocontroller die 
Datei abrufen soll. USB kannst du schon einmal vergessen, da falsche 
Richtung.

Irgend etwas mit Webserver und einem WLAN Modul wäre eine Möglichkeit. 
Weißt du, wie man Webserver einrichtet und wie das HTTP Protokoll 
funktioniert?

von Wolfgang (Gast)


Lesenswert?

Eine INO-Datei enthält den Quellcode für einen Mikrocontroller. Wie soll 
der auf die Festplatte deines PCs zugreifen?

von fop (Gast)


Lesenswert?

Die .ino Datei wird im Prinzip nur einmal auf Deinem PC verarbeitet. 
Danach trennen sich normalerweise die Wege von Deinem PC und dem 
Arduino.

Willst Du einmalig den Inhalt dieser Datei lesen, und das was der 
Arduino in alle Zukunft tun wird, von dieser Ziffer abhängig machen ?
Dann solltest Du Dein Php Script erweitern, so dass es eine komplette 
Zeile mit dem Text
1
#define PHP_RESULT (0)
oder
1
#define PHP_RESULT (1)
in die Datei schreibt. Dann kannst Du diese Datei mit
1
#include "phpausgabe.txt"
einbinden. Danach kannst Du damit lustige Dinge tun, wie
1
int rumpelstilzchen=PHP_RESULT;
2
3
int main(void)
4
{
5
#if 1==PHP_RESULT
6
     crashe_sofort();
7
#else
8
     crashe_spaeter();
9
#endif

Willst Du immer den aktuellen Stand auf dem PC wissen, brauchst Du noch 
eine Software auf dem PC - Du könntest natürlich auch Dein PHP-Script 
erweitern - und eine Verbindung von PC zum Arduino.
Da dies komplizierter wird, erklären wir Dir das in der nächsten Folge, 
wenn wir wissen, dass Du das wirklich brauchst...

von Sülzkotelett (Gast)


Lesenswert?

Wolfgang schrieb:
> Eine INO-Datei enthält den Quellcode für einen Mikrocontroller. Wie soll
> der auf die Festplatte deines PCs zugreifen?

Wenn er diese Frage beantworten könnte, würde er Typen wie Dich nicht 
auf den Plan rufen.

von Alex G. (dragongamer)


Lesenswert?

Wenn du schon PHP verwendest, hast du wohl auch schon einen Webservice 
bzw. eine Webseite die den PHP code ausführen lässt.
Das ist eigentlich schon die halbe Miete, denn wie man per Arduino auf 
eine Webseite (und sei es im Lan) zugreift, gibt es vielfach im Netz.
Z.B. https://www.arduino.cc/en/Tutorial/WebClient

Deine PHP Seite sollte dann nach möglichkeit, einen eifnach zu parsenden 
Text ausgeben.
Wenn deine PC-Applikation (also in dem Fall als Serveraplikation zu 
bezeichnen) zugleich ein User-Interface bietet, musst du das auftrennen.
Eine Seite für Nutzer. Die enthält dann reguläres html, css usw.
Und eine Seite für den Arduino die nur das nötigste an Information 
enthält.

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Sülzkotelett schrieb:
> Wenn er diese Frage beantworten könnte, würde er Typen wie Dich nicht
> auf den Plan rufen.

Wenn man wenigstens in Erfahrung bringen könnte, wie der Serielle 
Monitor auf die Idee kommt, eine "-1" anzuzeigen, dann könnte man 
vielleicht auch ergründen, warum es nicht die wohl gewünschte "0" oder 
"1" ist.

Mangels Informationen über das eigentliche Problem, ufert das hier schon 
wieder in Mutmaßerei und Vorschläge nach dem Gießkannenprinzip aus.

von Norbert (Gast)


Lesenswert?

Ok, vielen Dank an fast alle,

Das Problem liegt dann eben daran, dass die Textdatei mit der 1 bzw. der 
0 innerhalb des Localhosts liegt. Der Arduino kann darauf auch unter 
Verwendung des Pfads nicht zugreifen.

Ich werde mir den Tipp von Alex ansehen.

Bis dann

von Alex G. (dragongamer)


Lesenswert?

Norbert schrieb:
> 0 innerhalb des Localhosts liegt. Der Arduino kann darauf auch unter
> Verwendung des Pfads nicht zugreifen.
Kannst du mit einem anderen PC darauf zugreifen?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Norbert schrieb:
> Das Problem liegt dann eben daran, dass die Textdatei mit der 1 bzw. der
> 0 innerhalb des Localhosts liegt.

Nein, das ist nicht das Problem.

Dein Arduino hat keine Netzwerkfunktionen und weiß auch gar nicht, was 
Dateien sind.

von Norbert (Gast)


Lesenswert?

Wieso kann er dann sd-Karten lesen, wenn man den Dateinamen verwendet?!

von Stefan F. (Gast)


Lesenswert?

SD Karten haben mit Vernetzten Computern nichts zu tun. Mit Hilfe von 
einer entsprechenden Library kannst du SD Karten lesen, die direkt an 
den Mikrocontroller angeschlossen sind.

Mir ist immer noch nicht klar, was du machen willst. War meine Annahme 
richtig, dass dein Arduino Board Dateien vom PC abrufen soll? Wenn ja, 
über welche Schnittstelle? Wenn nein, erkläre, was du letztendlich 
machen willst. Man liest und verarbeitet Dateien nur, um ein bestimmtes 
Ziel zu erreichen.

> Bis jetzt zeigt mir der serielle Monitor nur immer -1 an.

Das heißt, dass du bereits irgend etwas aufgebaut und programmiert hast. 
Zeige das doch mal vor (Quelltext, Schaltplan, Fotos).

> Das Problem liegt dann eben daran, dass die Textdatei
> mit der 1 bzw. der 0 innerhalb des Localhosts liegt.

Was meinst du damit? Jeder Computer mit Netzwerk-Anschluss ist für sich 
selbst Localhost. Hat dein Arduino Board einen Netzwerkanschluss?

> Der Arduino kann darauf auch unter
> Verwendung des Pfads nicht zugreifen.

Welcher Pfad. Wo benutzt du einen Pfad? Zeige es vor!

von Timo N. (tnn85)


Lesenswert?

Läuft der (PHP-)Webserver auf dem gleichen PC, auf dem auch die Datei 
ist, die du auf dem Arduino auslesen willst?

Wenn dein Arduino keine Netzwerkschnittstelle (WLAN, LAN) hat, dann geht 
es nur, wenn du entsprechende Module für deinen Arduino dazukaufst, oder 
über die serielle Schnittstelle.

Du bräuchtest bei einer seriellen Schnittstelle aber auf deinem PC ein 
Programm (das du selbst schreiben musst), dass z.b. als 
Hintergrundprozess auf Anfragen über die serielle Schnittstelle 
reagieren kann.

Wenn du dann mit deinem Arduino z.b. über die Schnittstelle: "Datei 
x.txt. lesen" schickst, dann wertet das Programm das aus und liest die 
Datei auf dem PC und schickt dann über die serielle Schnittstelle den 
Wert an den Arduino zurück.

Kann mir aber bei deinem Wissen nicht vorstellen, dass du dir das 
Schreiben von so einem Programm zutraust. Sorry. No offense.

: Bearbeitet durch User
von Norbert (Gast)


Lesenswert?

ok, vielen Dank nochmals, besonders für die letzten Tipps.

Das PHP-Programm gibt über 2 Radio-Buttons entweder den Wert 1 oder 0 an 
die Textdatei, die im Localhost gespeichert ist. Das ist aber nicht das 
Problem, da die Werte 1 und 0 je nach Button tatsächlich geändert 
werden. Die Datei ist im Localhost. Pfad ist unten im Quellcode zu 
sehen.

Steht eine 1 in der Datei, dann soll die LED brennen, bei 0 nicht. Die 
LED ist richtig verbaut, da eben schon ohne Dateizugriff getestet.

Hier nun der Quellcode. Es ist kein LAN oder WLAN-Zugriff vorhanden.

Der Quellcode:


#include <Console.h>
#include <FileIO.h>



int data;
#include <FileIO.h> // library to communicate with SD Card
void setup() {


Serial.begin(9600); // Starten der seriellen Verbindung
pinMode(13, OUTPUT);
FileSystem.begin();

}

void loop() {
      File dataFile = 
FileSystem.open("c:\xampp\htdocs\arduino\arduino_webled\file.txt", 
FILE_READ);
      data = dataFile.read(); // read incomming bytes
     if(dataFile){
      Serial.println(data);
      dataFile.close();
      }

 if (data == 1) {

 digitalWrite(13, HIGH);// Schaltet die Lampe bei Pin 13 ein.


 }
 if (data == 0) {

digitalWrite(13, LOW) ; // Schaltet die Lampe bei Pin 13 aus.


 }
}

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Norbert schrieb:
> File dataFile =
> FileSystem.open("c:\xampp\htdocs\arduino\arduino_webled\file.txt",
> FILE_READ);

Abgesehen davon, daß diese Stringkonstante kaputt ist (warnt Dich Dein 
Compiler nicht davor?), soll das ein Pfad auf der SD-Karte sein, die Du 
anscheinend in Deinem Arduino stecken hast?

von Stefan F. (Gast)


Lesenswert?

Beachte bitte demnächst die Anleitung for Formatierung von Quelltexten. 
Sie steht direkt über dem Eingabefeld, wo man neue Beiträge eingibt. Du 
hast sie bereits mehrmals gesehen.

Deinem Quelltext entnehme ich, dass du eine Datei von SD Karte lesen 
willst. Du musst sie mit dem PC also auf eine SD Karte speichern, und 
diese dann über einen entsprechenden Steck-Adapter mit dem Arduino Board 
verbunden.

Falls Dir das so nicht gefällt kann ich nur meine Frage erneut 
wiederholen: Über welche Schnittstelle soll die Übertragung zwischen PC 
und Arduino stattfinden? Wie gesagt fällt USB fach, das geht nicht.

von Stefan F. (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Norbert schrieb:
>> File dataFile =
>> FileSystem.open("c:\xampp\htdocs\arduino\arduino_webled\file.txt",
>> FILE_READ);
>
> Abgesehen davon, daß diese Stringkonstante kaputt ist (warnt Dich Dein
> Compiler nicht davor?)

Bei Arduino sind standardmäßig alle Warnungen ausgeblendet. Ich kann nur 
dringend dazu raten, alle Warnungen einzuschalten.

von Norbert (Gast)


Lesenswert?

Nein! Nicht Sd!  Wenn es über usb nicht geht, dann ist die Idee eben 
gestorben. So hat keinen Sinn, da man dann die Sd-Karte vom pc in den 
Arduino stecken müsste und so keine automatische Verarbeitung 
stattfindet.

Besten Dank

Norbert

von Alex G. (dragongamer)


Lesenswert?

Norbert schrieb:
> Nein! Nicht Sd!  Wenn es über usb nicht geht, dann ist die Idee eben
> gestorben. So hat keinen Sinn, da man dann die Sd-Karte vom pc in den
> Arduino stecken müsste und so keine automatische Verarbeitung
> stattfindet.
>
> Besten Dank
>
> Norbert
Bleibt immer noch die Kommunikation über ein Netzwerk...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Norbert schrieb:
> Wenn es über usb nicht geht,

Genauso ist es: Das geht nicht.

> dann ist die Idee eben gestorben.

Ruhe sanft.

von Harald A. (embedded)


Lesenswert?

Nach meiner Einschätzung liegt nach Ansicht des Quelltextes hier noch 
ein generelles Verständnisproblem vor. Das, was du im INO-File 
programmierst, wird nicht auf dem PC ausgeführt. Das wird compiliert und 
landet dann auf dem Arduino. Also auf einer anderen CPU, die nicht mehr 
innerhalb deines PCs ist. Daher kann man dort keinen File-Zugriff im PC 
programmieren.

von Norbert (Gast)


Lesenswert?

Ok,
funktioniert der File-Zugriff dann nur auf temporäre Dateien, die man 
auf den Arduino bringt? Aber wie bringt man dann diese über usb ins 
temporäre Verzeichnis? Oder gibt es irgendeinen anderen weg Daten dem 
Arduino (ausser dem Quellcode) zu übergeben?

Besten Dank

von Stefan F. (Gast)


Lesenswert?

Norbert schrieb:
> Ok,
> funktioniert der File-Zugriff dann nur auf temporäre Dateien, die man
> auf den Arduino bringt? Aber wie bringt man dann diese über usb ins
> temporäre Verzeichnis? Oder gibt es irgendeinen anderen weg Daten dem
> Arduino (ausser dem Quellcode) zu übergeben?

Willst du uns eigentlich verschaukeln?

USB geht nicht! Punkt. Schlag Dir das aus dem Kopf.

(Es gibt Leute, die sich eigene USB Treiber programmieren können, aber 
du kannst das nicht.)

Zum 5. mal: Über welche Schnittstelle soll dein Arduino Board Dateien 
vom PC abrufen? Kommt für dich Netzwerk/WLAN/HTTP in Frage?

von Harald A. (embedded)


Lesenswert?

Der Arduino kann mit dem PC über COM-Port kommunizieren. Du brauchst auf 
dem PC also ein Programm, das aus deiner Datei den COM-Port bedient. 
Dann würde es funktionieren.

von Harald A. (embedded)


Lesenswert?

@Stefanus: mit Verlaub, ich glaube du hast sein grundsätzliches 
Verständnisproblem noch nicht erfasst.

: Bearbeitet durch User
von Harald A. (embedded)


Lesenswert?

Oder du verwendest für den Arduino ein Netzwerk-Modul, mit dem du dann 
aufs Netzwerk zugreifen kannst, z.B. per FTP. HAbe ich zwar noch nicht 
gemacht, sollte aber mit dem Teufel zugehen, wenn es das nicht schon 
gibt.

von Harald A. (embedded)


Lesenswert?

Oder du verwendest ein anderes Modul wie den ESP8266, der ist allen 
möglichen Netzwerk-Funktionalitäten durch sein eingebautes WLAN schon 
ein deutliches Stück näher. Programmierbar per Arduino oder per 
LUA-Script (kann man schnell lernen).

von Stefan F. (Gast)


Lesenswert?

Harald A. schrieb:
> @Stefanus: mit Verlaub, ich glaube du hast sein grundsätzliches
> Verständnisproblem noch nicht erfasst.

Doch das habe ich. Er möchte eine Datei auf seinem PC abspeichern und 
der Arduino soll diese Datei laden und auswerten. Und er glaubt, dass 
das irgendwie über USB gehen kann, mit einer SD-Karten Library. So 
einfach ist es aber nicht.

Anstelle von Netzwerk kann man das theoretisch seriell lösen. Dazu 
müsste der TO allerdings zwei Programme schreiben, die miteinander 
kommunizieren. Eins für den PC und eins für den Mikrocontroller. Bei dem 
bisher gezeigten technischen Verständnis zweifle ich allerdings sehr 
daran, dass er das jemals hinbekommen wird.

Mit xampp hat er allerdings bereits einen Webserver auf seinem PC, über 
den der Mikrocontroller mittels HTTP Protokoll Dateien abrufen könnte. 
Dazu müsste man sich nur bereit erklären, eine Netzwerkverbindung zu 
nutzen. Kostet nur 2€.

von Norbert (Gast)


Lesenswert?

Ok, wüsste nicht wieso ich hier jemanden verschaukeln sollte.
Ich probier es jetzt über die com-Ecke.
Damit ist für mich die Sache abgeschlossen.

Besten Dank

von derjaeger (Gast)


Lesenswert?

Hat nicht jeder Arduino einen FTDI-Chip der einen virtuellen COM-Port 
zur Verfügung stellt?

Wieso nicht einfach ein Programm in C-/Java/-/[..] schreiben diesen 
COM-Port öffnet, den File Pfad öffnet und dann den Inhalt zyklisch 
auswertet und diesen über den geöffneten COM-Port sendet ...

Erfordert natürlich das der Ersteller überhaupt weiß wie man unter 
Windows ein Programm schreibt

von Harald A. (embedded)


Lesenswert?

Wieso überhaupt einen Arduino programmieren - der PC läuft doch eh. Es 
gibt USB-Ausgabemodule, wie dieses hier (und tausend andere)

https://www.antratek.de/usb-rly82

Dann könntest du einfach ein PC-Programm schreiben, das den Ausgang 
bedient.

von derjaeger (Gast)


Lesenswert?


von Norbert (Gast)


Lesenswert?

Es ist nicht der Punkt, dass eine Netzwerkverbindung nicht in Frage 
käme.
Ich wollte es eben mit der Text-Datei über usb versuchen. Das bekomme 
ich dann schon hin und die 2€ sind auch vorhanden.

von Harry L. (mysth)


Lesenswert?

Norbert schrieb:
> Ich wollte es eben mit der Text-Datei über usb versuchen. Das bekomme
> ich dann schon hin und die 2€ sind auch vorhanden.

...und er will uns doch verschaukeln :-D

...ach ja, ist ja schon wieder Freitag :-D

von Rolf M. (rmagnus)


Lesenswert?

Stefanus F. schrieb:
> Harald A. schrieb:
>> @Stefanus: mit Verlaub, ich glaube du hast sein grundsätzliches
>> Verständnisproblem noch nicht erfasst.
>
> Doch das habe ich. Er möchte eine Datei auf seinem PC abspeichern und
> der Arduino soll diese Datei laden und auswerten. Und er glaubt, dass
> das irgendwie über USB gehen kann, mit einer SD-Karten Library. So
> einfach ist es aber nicht.

Und er hat keine Idee, was er sonst für eine Schnittstelle nehmen 
könnte. Du fragst ihn aber ständig, welche Schnittstelle er verwenden 
will.

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Norbert schrieb:
> funktioniert der File-Zugriff dann nur auf temporäre Dateien, die man
> auf den Arduino bringt?

Für eine Kommunikation mit deinem Arduino vergiss einfach mal deine 
komische Datei, auch wenn du auf dem PC natürlich auch einen Dämon 
laufen lassen könntest, der bei Änderungen in der Datei einen 
Steuerbefehl per USB über den seriellen Port an den Arduino schickt.

Such einfach mal nach "php serial port". Dann kann dein php direkt mit 
dem Arduino kommunizieren, ohne irgendwelche Dateien auf völlig 
getrennten Datenträgern.

Per Datenträger würde man die Daten allenfalls übertragen, wenn es sich 
um Datenmengen in einer Größenordnung von Terabyte handelt. Da 
realisiert ein Logistunternehmen, das die Daten auf Datenträgern 
transportiert, immer noch die höchsten Datenraten.

von michael_ (Gast)


Lesenswert?

Stefanus F. schrieb:
> Doch das habe ich. Er möchte eine Datei auf seinem PC abspeichern und
> der Arduino soll diese Datei laden und auswerten. Und er glaubt, dass
> das irgendwie über USB gehen kann, mit einer SD-Karten Library. So
> einfach ist es aber nicht.

Mir fällt da etwas ein.
Es gibt doch SD-Karten mit WiFi, für Digiknipsen usw.
Billig sind die aber nicht.

von Stefan F. (Gast)


Lesenswert?

michael_ schrieb:
> Es gibt doch SD-Karten mit WiFi, für Digiknipsen usw.
> Billig sind die aber nicht.

Ja gibt es, aber darauf kann man nur mit spezieller Software des 
Kartenherstellers zugreifen. Und über WLAN hat man nur read-only 
Zugriff.

von Rolf M. (rmagnus)


Lesenswert?

michael_ schrieb:
> Mir fällt da etwas ein.
> Es gibt doch SD-Karten mit WiFi, für Digiknipsen usw.
> Billig sind die aber nicht.

Und sie sind nicht dafür gedacht, Dateien über Wlan auf sie drauf zu 
kopieren, sondern nur für die andere Richtung.

von Kachelofen (Gast)


Lesenswert?

Der TO ist wohl ein Mastertroll vermute ich mal...

von Chr. M. (snowfly)


Lesenswert?

Was für ein Eiertanz hier obwohl doch halbwegs klar ist was der TO
will....

@Norbert:
Bring deinen PC doch einfach dazu den Wert über die
serielle Schnittstelle(die erscheint wenn man den Arduino einsteckt)
zu schicken.
Auf dem Arduino kannst du den dann mit serial.read(oder so)
empfangen und auswerten.

Testen kannst du die Funktion mit dem seriellen Terminal der 
Ardunino-IDE.

von michael_ (Gast)


Lesenswert?


von Rolf M. (rmagnus)


Lesenswert?

michael_ schrieb:
> Die WiFi Karten sind aber hier mit upload benannt.

Allerdings wird dann nicht einfach so auf die SD-Karte geschrieben, 
sondern man braucht eine spezielle App auf dem Gerät:
1
App V.3.1.1 for Android devices:    Android OS V.2.3.3 to V.5.0, Smartphone and Tablet are supported
2
App V.3.1.1 for iOS devices:           iOS V.6.0 ~, iPhone and iPad are supported

Es muss also von dem Gerät direkt unterstützt werden. Wie sollte das 
auch anders funktionieren? Beim normalen Zugriff geht das Gerät ja nicht 
davon aus, dass hinter seinem Rücken das Dateisystem verändert wird.

von Wolfgang (Gast)


Lesenswert?

Chr. M. schrieb:
> Bring deinen PC doch einfach dazu den Wert über die
> serielle Schnittstelle(die erscheint wenn man den Arduino einsteckt)
> zu schicken.

Bei einem zu übertragenden Bit könnte man auch den PC dazu animieren, 
auf einem USB-Seriell-Adapter mit einer Handshake-Leitung zu wackeln, so 
dass der Arduino das per digitalread() einlesen kann.

Chr. M. schrieb:
> Was für ein Eiertanz hier obwohl doch halbwegs klar ist was der TO
> will....

Er will ein Zeichen aus einer Textdatei lesen, die auf dem PC 
gespeichert ist - steht doch schon im Titel ;-)

von Stefan F. (Gast)


Lesenswert?

Wolfgang schrieb:
> Bei einem zu übertragenden Bit könnte man auch den PC dazu animieren,
> auf einem USB-Seriell-Adapter mit einer Handshake-Leitung zu wackeln,
> so dass der Arduino das per digitalread() einlesen kann.

Ich kreuze mal für Dich an:

[x] Ich habe keine Ahnung von Arduino

Bitte hier unterscheiben:


_______________________


Kurze Erklärung dazu: Fast alle Arduino Boardssind mit USB-Anschluss und 
USB-UART ausgestattet, bei dem nur RxD und TxD mit dem Mikrocontroller 
verbunden sind. Eine der Handshake Leitungen wird für Ferngesteuerten 
Hardware-Reset "missbraucht".

Ausnahmen gibt es immer, aber solange das konkrete Arduino Modul 
ungenannt bleibt, solltest du von einem Arduino Uno ausgehen. 90% der 
anderen Modelle sind an der relevanten Stelle ebenso aufgebaut.

von Ralf D. (doeblitz)


Lesenswert?

Wolfgang schrieb:
> Norbert schrieb:
>> funktioniert der File-Zugriff dann nur auf temporäre Dateien, die man
>> auf den Arduino bringt?
>
> Für eine Kommunikation mit deinem Arduino vergiss einfach mal deine
> komische Datei, auch wenn du auf dem PC natürlich auch einen Dämon
> laufen lassen könntest, der bei Änderungen in der Datei einen
> Steuerbefehl per USB über den seriellen Port an den Arduino schickt.

Naja, eine temporäre Datei ginge prinzipiell schon, nur müßte man sie 
auf den Arduino legen. Wenn das einer mit USB im eigentlichen Controller 
(wie z.B. beim Arduino Leonardo mit 32u4) wäre, dann könnte man da ein 
USB Mass Storage Device emulieren lassen (AN7631/AVR273) und die Daten 
auf dem Arduino speichern lassen, wo man sie dann natürlich auch weiter 
verarbeiten könnte.

Aber ich halte es für unwahrscheinlich, dass ein Einsteiger das in 
verträglicher Zeit hinbekommt, das ist ja nun doch ein wenig 
non-trivial.

von Wolfgang (Gast)


Lesenswert?

Stefanus F. schrieb:
> Kurze Erklärung dazu: Fast alle Arduino Boardssind mit USB-Anschluss und
> USB-UART ausgestattet, bei dem nur RxD und TxD mit dem Mikrocontroller
> verbunden sind.

Es ging um einen, von der Version des Arduino unabhängigen, USB-Seriell 
Adapter mit Handshake-Leitungen und Abfrage der Leitung auf 
Arduino-Seite über einen GPIO, falls ich mich da nicht deutlich genug 
ausgedrückt haben sollte, z.B. https://www.ebay.de/itm/401241175865

von Stefan F. (Gast)


Lesenswert?

Womit wir schon wieder bei der Frage sind, welche Schnittstelle der 
Norbert verwenden möchte. Dazu hat er sich immer noch nicht geäußert.

von Mar.co (Gast)


Lesenswert?

Kachelofen schrieb:
> Der TO ist wohl ein Mastertroll vermute ich mal...
Könnte sein. Die zur Verfügung gestellten Beispiele auf der Arduinoseite 
liefern solche Programme. Da gibt es hunderte Projekte.

von Joachim B. (jar)


Lesenswert?

Wolfgang schrieb:
> Für eine Kommunikation mit deinem Arduino vergiss einfach mal deine
> komische Datei, auch wenn du auf dem PC natürlich auch einen Dämon
> laufen lassen könntest, der bei Änderungen in der Datei einen
> Steuerbefehl per USB über den seriellen Port an den Arduino schickt.

wo ist das Problem?

auf dem PC wird eine Änderung der Datei beobachtet und über seriell dem 
Ardu mitgeteilt, der Ardu empfängt diese Änderung und reagiert, ist kein 
Hexenwerk.

von derjaeger (Gast)


Lesenswert?

>ist kein Hexenwerk.

Bitte beachten, der Ersteller des Themas arbeitet mit Arduino! (Das 
KÖNNTE etwas ausssagen)

von Wolfgang (Gast)


Lesenswert?

Joachim B. schrieb:
> wo ist das Problem?

Der Zirkus mit der Datei erscheint mir schlicht und einfach überflüssig. 
Warum soll das PHP-Ding nicht direkt ein serielles Kommando an den 
Arduino schicken?

von Timo N. (tnn85)


Lesenswert?

Ach kommt Leute, der TO ist doch schon längst ausgestiegen und ihr wisst 
das ganz genau. Ihr möchtet halt noch ein bisschen über das Thema 
labern. Das verstehe ich ;)
Trotzdem schön verschiedene Lösungsansätze hier zu sehen. Die einzige 
Lösung die ohne zusätzliche Hardware funktioniert, ist die, die ich als 
erstes genannt hatte und die 10x wiederholt wurde:
1. Arduino hat virtuellen COM-Port über USB-Verbindung (FTDI FT232)
2. Man schreibt einen Deamon für den PC
3. Deamon registriert Änderung an Datei auf dem PC und schickt es über 
den virtuellen COM-Port raus.

@Wolfgang: Dann braucht man ja zusätzliche Hardware, den 
USB-Seriell-Adapter (der bis auf den Hardware-Handshake im Arduino schon 
verbaut ist). Dann kann man gleich einen ESP8266 nehmen und kann sich 
die Datei direkt vom Server holen.

@Stefanus F: Hab mir mal die Schematics vom Arduino Nano angeschaut: DTR 
ist vom FTDI FT232 tatsächlich (über einen 100n Kondensator) mit RESET 
vom ATmega verbunden. Mich wundert warum da ein 100n seriell 
reingeschaltet ist. Kann der das RESET Signal dann tatsächlich auf GND 
ziehen.
https://www.arduino.cc/en/uploads/Main/Arduino_Nano-Rev3.2-SCH.pdf

von Jim Beam (Gast)


Lesenswert?

Einfach 2 Fotodioden auf dem Bildschirm kleben.
DATA + CLOCK.
Der PC klimpert mit der Helligkeit unter den Dioden
und der Arduino wertet die beiden Fotodioden aus.

Oder was mit dem Soundausgang des PC?
2 unterschiedliche Töne sollte auch ein Arduino erkennen können,
mit etwas Hühnerfutter.

von derjaeger (Gast)


Lesenswert?

>Oder was mit dem Soundausgang des PC?

So ein Schwachsinn. Jeder weiß dass man das elekromagnetische Feld des 
Rechners per Arduino-Sensor-Shield auswerten kann und damit sofort 
bestimmen kann ob eine 1 oder 0 in der Datei steht. Und das galvanisch 
getrennt!

von Jim Beam (Gast)


Lesenswert?

derjaeger schrieb:
> So ein Schwachsinn. Jeder weiß dass man das elekromagnetische Feld des
> Rechners per Arduino-Sensor-Shield auswerten kann

Quatsch!
Dafür gibt es doch garkeine "LIB", die man ohne-jede-Ahnung einbinden 
kann.
Ohne LIB sind Arduino-Legostein-Zusammenstecker völlig aufgeschmissen.

von derjaeger (Gast)


Lesenswert?

>Dafür gibt es doch garkeine "LIB", die man ohne-jede-Ahnung einbinden kann.

Hab mal irgendwo gelesen dass diese "LIBs" gar nicht von Menschen von 
dieser Welt geschrieben werden sondern von Außerirdischen

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.