INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Serielle Kommunikation neben Programmablauf "parallel" ausführen
16.03.2015, 22:24
Beitrag #1
Serielle Kommunikation neben Programmablauf "parallel" ausführen
Hi
Erstmal kurz zu meinem Projekt. Ich habe einen Arduino Mega, welcher die Technik in meinem Aquarium verwaltet. Er steuert zeitabhängig Stromkreise und liest Werte von verschiedenen Temperatursensoren aus.
Das funktioniert auch soweit alles wunderbar.

Ich bin jetzt gerade dabei einen Raspberry Pi vor den Ardunio zu schalten um über eine serielle Kommunikation informationen zwischen den beiden Geräten auszutauschen.

Hierfür soll auf dem Raspberry Pi ein Programm laufen, welches über REST calls einer Homepage informationen am Arduino anfrägt bzw Informationen an den Arduino sendet.

Jetzt zu meiner Frage. Ich will neben dem eigentlichen Programmablauf auf dem Arduino auf Nachrichten, welche über die serielle Schnittstelle kommen, reagieren. Da ich hauptsächlich in Java programmiere würde ich das natürliche gerne mit Threads machen. Ein Thread für den Programmablauf und ein anderer Thread für die Kommunikation zwischen Arduino und Pi. Richtiges hardware threading funktioniert beim Arduino ja nicht. Man könnte ja auch über Interrupts zwischen zwei Programmabläufen hin und her springen.

Ich denke das mein Vorhaben nicht allzu unüblich ist. Gibt es hierfür vielleicht bekannte Entwurfsmuster oder allgemein bewährte Lösungsansätze?

Danke schonmal im Vorraus

Gruß
Timo
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.03.2015, 22:32
Beitrag #2
RE: Serielle Kommunikation neben Programmablauf "parallel" ausführen
Hi,
nur mal so laut gedacht, also wenn du deinen sketch so aufbaust das die Kommunikation die Hauptschleife ist und wenn dann kein Zeichen Empfangen wurde dann eben einfach deine sonstigen aufgaben erledigst sollte das eigentlich klappen...weil bis ein Zeichen empfangen wurde kann der arduino viele Zeilen Code abarbeiten.
Alternativ kannst du auch mal versuchen beim RX Kanal den Interrupt scharf zu schalten und da dann deine Zeichen einlesen und verarbeiten.
Wie gesagt nur mal laut gedacht...Multitasking ist was anderes. Aber da drüber hatten die Kollegen hier erst dieser Tage schon debatiert. Suche doch mal im Forum nach Multtasking.
lg
bk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Probleme Serieller Kommunikation Arduino Nextero 13 316 12.12.2017 16:47
Letzter Beitrag: hotsystems
  2 Befehle über Serielle Schnittstelle interpretieren phischmi 14 427 04.12.2017 08:52
Letzter Beitrag: phischmi
  Kommunikation über das WiFi-Shield Flap 13 1.602 12.09.2017 22:12
Letzter Beitrag: Flap
  Fragen :serielle eingabe und Externe Interrupts Treeshort 7 547 02.06.2017 16:52
Letzter Beitrag: MicroBahner
  2 Arduinos Serielle Übertragung mit SPI RFID Kit OE5AMP 18 1.213 05.05.2017 20:46
Letzter Beitrag: OE5AMP
  Arduino Serielle Schnittstelle auslesen mit Visual Basic Obermuda 1 687 29.01.2017 17:02
Letzter Beitrag: hotsystems
  Fehler im Programmablauf binderj1 14 1.039 10.10.2016 10:29
Letzter Beitrag: StephanBuerger
  Kommunikation Serial Monitor --> Arduino BennIY 7 1.030 24.05.2016 07:48
Letzter Beitrag: hotsystems
  Serielle Schnittstelle - Daten empfangen Datatom 8 2.009 22.05.2016 18:10
Letzter Beitrag: avoid
  USB-Kommunikation ADK hr3 0 560 12.04.2016 16:43
Letzter Beitrag: hr3

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste