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
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 :-)
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
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...
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?
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
intrumpelstilzchen=PHP_RESULT;
2
3
intmain(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...
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.
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.
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.
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
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?
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.
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!
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.
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.
}
}
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?
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.
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.
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
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...
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.
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
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?
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.
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.
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).
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€.
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
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
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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 ;-)
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.
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.
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
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.
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.
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?
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
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.
>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!
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.
>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