Hallo Zusammen, ich fang demnächst mit meiner Masterarbeit und paar Tips würden mich sehr helfen. Die Idee ist dass auf der eine Seite ein Arduino mit einem Sensor über SPI kommuniziert und danach die Sensordaten sammeln und über Wlan an dem Router schicken und letztendlich die Sensordaten mit dem Ethernet Kabel am PC ausloggen und auswerten. Ich habe schon mit Hilfe der WIFInina Bibliothek eine Verbindung zwischen dem Arduino und dem Router hergestellt. und ich habe die SPI-Kommunikation auch hergestellt. 2 Fragen habe ich: 1) wie kann ich am einfachsten die Sensordaten (SPI) an dem Router per Wlan schicken? 2) wie logt man am besten die Sensordaten per Ethernet Kabel raus? Später muss das ganze System erweitert werden dass 4 Arduinos zum Einsatz kommen und dass die Gleichzeitig mit dem Router reden. Ein Bild vom Konzept ist im Anhang zu finden.
1.) MQTT 2.) Lerne Netzwerkgrundlagen. Es ist schauderlich. Gerade ein Master sollte in seiner Arbeit eine saubere Vorstellung davon haben, was er tut und das mit korrekter Terminologie deutlich machen. Dein Geschwurbel klingt nach Realschule.
:
Bearbeitet durch User
Cyblord -. schrieb: > 1.)MQTT Dazu nen Raspberry Pi mit Node-Red. Sieht dann mitm Dashboard schick aus und man muss kaum programmieren können.
> Arduino MKR 1010 Ganz schön teuer, ich hätte ein Board mit ESP8266 verwendet. Was du da im Bild mit "Switch" bezeichnet hast, nennt man wohl eher "Multiplexer". Zu deinen Fragen: SPI ist ja ein Bus bei dem entweder alle Teilnehmer parallel geschaltet sind und mittels einer Slave-Select Leitung ausgewählt werden oder sie sind in Reihe geschaltet weil sie die Daten des Vorgängers "durch reichen". Jetzt kommt es darauf an, welche der beiden Varianten deine Sensoren untertsützten. Bei so vielen Sensoren auf einem Knubbel ahne ich, dass du mehr als 30cm Leitungslängen haben wirst. Dafür ist SPI nicht gemacht. Bei solchen Leitungslängen braucht man zum Protokoll passende Leitungstreiber (RS422 anstelle von SPI wäre ein Klassiker). > wie kann ich am einfachsten die Sensordaten (SPI) an dem > Router per Wlan schicken? Gar nicht, der Router ist kein geeigneter Empfänger für Nutzdaten. Du musst die Daten gezielt an den PC senden, oder dieser holt sie ab. Wirst du das Programm auf dem PC selber schreiben? Da hast du die Qual der Wahl zwischen IP-Socket, UDP Pakete und einem Message Broker (z.B. MQTT). > wie logt man am besten die Sensordaten per Ethernet Kabel raus Eine textuelle Variante mittels printf() ist naheliegend, zum Beispiel im CSV Format:
1 | Sensor1, 1.001 |
2 | Sensor2, 45.01 |
Allerdings wird die Übertragung gepuffert und nicht kontinuierlich stattfinden. Selbst wenn der Computer am anderen Ende nicht anderes zu tun hat, sind unregelmäßige Verzögerungen im zweistelligen Millisekunden Bereich normal und TCP erlaubt sogar bis zu einer Minute. Also wäre es dann schon gut, die Messwerte mit einem Zeitstempel zu versehen. Was wiederum die Frage aufwirft, wo die Zeit-Information herkommen soll. In welchen Intervallen willst du die Sensoren abfragen? Oder sind es keine regelmäßigen Intervalle sondern on demand, also ereignisgesteuert. Welche Ereignisse wären das?
Hier hat sich mal jemand damit beschäftigt, wie man Informationen an einem Redis Server senden kann: https://medium.com/@stockholmux/ice-wine-redis-and-microcontrollers-96f90be09ea
Hammad S. schrieb: > 1) wie kann ich am einfachsten die Sensordaten (SPI) an dem Router per > Wlan schicken? Dein MKR 1010 Modul wird sich natürlich mit dem Router (Access Point) verbinden, jedoch wirst du zum Router keine Daten senden, sondern zum PC. Wie bereits erwähnt, mittels TCP. Höhstwahrscheinlich wirst du dir PC-seitig einen TCP Server schreiben und die einzelnen Clients (Arduino) werden ihre Daten dann an die IP des PC senden. Hammad S. schrieb: > wie logt man am besten die Sensordaten per Ethernet Kabel raus? Ich würde mir da noch ein "Protokoll" (Frame) ausdenken, von welchem Arduino kommen die Daten, Sensorzugehörigkeit, Sensordaten, Timestamp (wie bereits erwähnt)...weitere Angaben sind möglich und eine CRC.
:
Bearbeitet durch User
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.