C/C++ Programmierer gesucht

OP #5797290
Lesenswert?

Hallo liebe Programmierer,

ich suche jemanden, der mir ein Programm schreiben kann. Was das 
Programm beinhalten soll, erkläre ich weiter unten.

Einmal zur groben Orientierung:

Vorhanden sind 3 ESP LOLIN32, davon sollen 2 Transmitter sein und einer 
Receiver. Der Transmitter überwacht einen Taster. Wenn der Taster 
betätigt wird, wird ein Zeitwert (Zeitpunkt der Betätigung) an den 
Receiver übertragen. Wichtig ist, die Zeit beider Transmitter müssen 
synchron laufen (Millisekunden genau).

Fall 1: Wird Transmitter A betätigt, sendet der seine Zeit an den 
Receiver. Der Receiver lässt LED A leuchten.

Fall 2: Wird Transmitter B betätigt, sendet der seine Zeit an den 
Receiver. Der Receiver lässt LED B leuchten.

Fall 3: Wird Transmitter A und Transmitter B betätigt, werden die Zeiten 
an den Receiver gesendet und verglichen. Ist die Differenz kleiner als 
350ms, lässt der Receiver LED A und LED B leuchten.

Fall 4: Wird Transmitter A und Transmitter B betätigt, werden die Zeiten 
an den Receiver gesendet und verglichen, ist die Differenz größer als 
350ms, lässt der Receiver den zuerst betätigten leuchten.

Die Leuchtdauer beträgt 4 Sekunden. Während eine der beiden, oder beide 
LEDs leuchten, darf keine weitere Messung signalisiert werden.

(Transmitter A = LED A, Transmitter B = LED B) Die LEDs befinden sich am 
Receiver, nicht am Transmitter.

Soweit schonmal zum Programmablauf.
(Optional)

Ein wenig kniffliger wird es jetzt:
Die beiden Transmitter, sowie der Receiver haben eine Masse. Die Taster 
sind elektrisch leitend (Taster sind aus Metall) und sollen erkennen, ob 
sie auf eine Masse oder nicht getroffen haben. Liegt Masse an (schon bei 
Berührung) darf keine Zeit an den Receiver gesendet werden. Erst wenn 
der Taster wieder auf einem massefreien Material betätigt wird, darf das 
Programm wie oben reagieren.

Für die Zeit, die Transmitter A „Masse“ hat, soll am Receiver die LED C 
aufleuchten.

Für die Zeit, die Transmitter B „Masse“ hat, soll am Receiver die LED D 
aufleuchten.

Beispiele:

Taster von Transmitter A berührt die Masse von Transmitter B oder Masse 
von Receiver, darf nur A nicht auslösen, B kann auslösen. 
(Vorrausgesetzt, B hat keine Masse von A oder vom Receiver)

Taster von Transmitter B berührt die Masse von Transmitter A oder Masse 
von Receiver, darf nur B nicht auslösen, A kann auslösen. 
(Vorrausgesetzt, A hat keine Masse von B oder vom Receiver)

Ich hoffe es ist einigermaßen verständlich erklärt und dargestellt. 
Wichtig ist natürlich ein gesichertes W-LAN, Datenpakete dürfen nicht 
verloren gehen, Programmierung in C/C++ und die einzelnen Programmzeilen 
sollen durch Kommentare nachvollziehbar sein.

Bei Unklarheiten und/oder ernsthaftem Interesse, gebe ich gerne über PN 
meine Telefonnummer bekannt. Bei einem persönlichen Gespräch sind 
Rückfragen sicher leichter zu beantworten.

Falls wer wen kennt, der oder die sich der Aufgabe gewachsen fühlen 
könnte, bitte per PN melden. Wenn die Zusammenarbeit gut klappt, habe 
ich noch Folgeaufträge gleichen Umfangs.

Vielen Dank und viele Grüße

Exinger
Gast #5797310
Lesenswert?

Der zweite Teil mit der Masse erinnert mich an die Elektronik beim 
Fechten.
Da habe ich vor Jahren mal dran gebastelt.

Wie wird (oder soll) denn sichergestellt werden, dass beide Transmitter 
die gleiche Zeit haben? sntp oder wird das in Hardware erledigt?
OP #5797386
Lesenswert?

[quote]Wie wird (oder soll) denn sichergestellt werden, dass beide 
Transmitter
die gleiche Zeit haben? sntp oder wird das in Hardware erledigt?[/quote]

Ich dachte daran, dass die Transmitter zeitgleich einen Impuls an einem 
Pin bekommen und der einen Interrupt, quasi die Uhr anstößt.
OP #5797403
Lesenswert?

Max D. schrieb:
> Wie präzise müssen denn die 350 ms stimmen ?
> WLAN ist nicht gerade berühmt für Echtzeit...
>
> Das Konzept an sich ließe sich auch leicht mit ein paar 433 MHz Module
> umsetzen bei denen man ein engeres timing Zustand bringen könnte.

Die 350ms sind nur die Differenz beider Zeiten der Transmitter. Denn die 
Zeit wird schon im Transmitter gestoppt und weitergeleitet. Die 
Übertragung der Zeiten selbst könnte theoretisch auch bis zu 1-2 
Sekunden dauern, wenn das so ein großes Problem ist.
#5797414
Lesenswert?

Die Uhren in den beiden Sendern werden dir unweigerlich weglaufen. 
Solange nicht Platz für eine Atomuhr ist auch in absehbarer Zeit. Die 
muss regelmäßig (per Funk) synchronisiert werden.
Diese Synchronisierung erzeugt unweigerlich Abweichungen.

Daher nochmal die Frage: Wie präzise müssen die 350 ms stimmen ?
OP #5797475
Lesenswert?

Max D. schrieb:
> Die Uhren in den beiden Sendern werden dir unweigerlich weglaufen.
> Solange nicht Platz für eine Atomuhr ist auch in absehbarer Zeit. Die
> muss regelmäßig (per Funk) synchronisiert werden.
> Diese Synchronisierung erzeugt unweigerlich Abweichungen.
>
> Daher nochmal die Frage: Wie präzise müssen die 350 ms stimmen ?

Sollten schon genau stimmen, wenn es möglich ist. Angenommen, ich habe 
eine Station auf der die Transmitter durch einen Impuls synchronisiert 
werden können, kann ich das auch jede Stunde machen. Würde dann doch 
noch im Rahmen bleiben, oder etwa nicht?

Wenn die Synchronisation ein so großes Problem darstellt, kann das sonst 
auch erstmal ausgeklammert werden.
Gast #5797483
Lesenswert?

> Sollten schon genau stimmen, wenn es möglich ist.

Möglich ist viele, nur kann der Aufwand extrem hoch sein. Was heißt denn 
"genau stimmen" für dich? Um wie viele Promille dürfen die Uhren 
zueinander abweichen? Oder drücke es in Sekunden pro Tag aus, wenn Dir 
das leichter fällt.
Gast #5797562
Lesenswert?

>> Wie wird (oder soll) denn sichergestellt werden, dass beide
>> Transmitter die gleiche Zeit haben?
>
> Ich dachte daran, dass die Transmitter zeitgleich einen Impuls an einem
> Pin bekommen und der einen Interrupt, quasi die Uhr anstößt.

Dann kannst du auch gleich den Taster zum anderen Sender rüberlegen ...
OP #5797626
Lesenswert?

Max D. schrieb:
> Stephan B. schrieb:
>> Würde dann doch
>> noch im Rahmen bleiben, oder etwa nicht?
>
> Was IST der Rahmen ?
> Wenn der Rahmen jetzt +- 1 ns ist, dann spielt die
> Ausbreitungsgeschwindigkeit der Signale (Lichgeschwindigkeit) ja schon
> eine Rolle.
> Wenn der Rahmen jetzt +-1 s ist, dann braucht man nichtmal einen Quarz.

Der Rahmen sollte sein, in 1-2 Stunden Betrieb +- 3ms.

> Dann kannst du auch gleich den Taster zum anderen Sender rüberlegen ...

Die sind nicht dauerhaft zusammen, die sitzen auf einer Station, 
bekommen ihr high Signal und werden dann heruntergenommen. So in der Art 
war mein Lösungsansatz.
OP #5797649
Lesenswert?

Np R. schrieb:
> Stephan B. schrieb:
>> Die sind nicht dauerhaft zusammen,
>
> Wie lange sind sie nicht zusammen und wie weit dürfen sie in dieser
> Zeit auseinander laufen?
>
> Max 2 Stunden getrennt und max. 3ms auseinander?
Ja, genau.
> Oder würden sie auch innerhalb der 2 Stunden wieder in die "Station"
> zurück kommen?
Die Transmitter können jederzeit wieder auf die Station, um sich ihren 
Impuls abzuholen.
Gast #5797733
Lesenswert?

Max D. schrieb:
> Eine DS3231 RTC läuft (mit 2 ppm, ziemlich präzise für einen
> Quarz) in 1
> h gut 7 ms weg.
> Nennenswert besser wird es nicht ohne Atomuhr.

Atomuhren sind nicht teuer: Mit GPS* & Co. sollte es gehen.

Stephan B. schrieb:
> Die beiden Transmitter, sowie der Receiver haben eine Masse. Die Taster
> sind elektrisch leitend (Taster sind aus Metall) und sollen erkennen, ob
> sie auf eine Masse oder nicht getroffen haben.

Werden das Anschlagplatten für irgendeinen Sport?

Warum ist das eigentlich im Forum Platinen?

*Global Positioning System

*Anzeige-Link
Gast #5798492
Lesenswert?

Tuxpilot schrieb:
> Max D. schrieb:
>> Eine DS3231 RTC läuft (mit 2 ppm, ziemlich präzise für einen
>> Quarz) in 1
>> h gut 7 ms weg.
>> Nennenswert besser wird es nicht ohne Atomuhr.
>
> Atomuhren sind nicht teuer: Mit GPS* & Co. sollte es gehen.

Wenn es nicht weltweit funktionieren soll, reicht auch schon ein 
DCF77-Empfänger. Das DCF77-Signal wird ebenfalls über eine Atomuhr 
erzeugt.

Ach, falls es nur um die Zeitdifferenz geht: Warum nicht einfach 
irgendein beliebiges Funksignal nehmen?
Moderator Persönliche Seite #5798497
Lesenswert?

Stefanus F. schrieb:
> Der Falk B. macht Dir das bestimmt ganz schnell für kleines Geld.

Interessant, wie Du so einfach über die Ressourcen anderer Leute 
bestimmst. Wenn sich hier jemand von sich aus anbietet, dann ist das ja 
okay. Aber einfach den TO direkt an jemand unbeteiligten weiterzureichen 
und dann direkt die Höhe des Geldes festzulegen, geht einfach zu weit.
#5798665
Lesenswert?

DanielF schrieb:
> Der zweite Teil mit der Masse erinnert mich an die Elektronik beim
> Fechten.
> Da habe ich vor Jahren mal dran gebastelt.

Hallo Stephan B., kannst du dich dazu mal äußern?
Auch ich habe früher mal gefochten und deine Beschreibung hört sich 
stark nach diesem Anwendungsfall an...

Der Grund, warum man im Fechtsport hier ein Kabel benötigt ist ganz 
simpel:
Beide Sportler benötigen ein gemeinsames Massepotential, damit die 
Elektronik funktionieren kann.

Mit 2 Funksendern, die jeweils ihr eigenes Massepotential haben, kannst 
du nicht feststellen, ob Fechter A die Masse von Fechter B berührt hat.

En garde.
Moderator Persönliche Seite #5798695
Lesenswert?

Joe F. schrieb:
> Auch ich habe früher mal gefochten und deine Beschreibung hört sich
> stark nach diesem Anwendungsfall an...

Wenn man nach "Fechten 350ms" googelt, findet man tatsächlich etwas. 
Allerdings scheinen die 350ms seit 2004 überholt zu sein. Zitat aus 
erstem Google-Treffer:

----
"Beim Säbelfechten wird das Zeitintervall, innerhalb dessen ein Treffer 
von Fechter B nach einem bereits erfolgen Treffer von A noch angezeigt 
wird (Doppeltrefferzeit) von 350ms auf 120ms reduziert.

Beim Florettfechten wird die Doppeltrefferzeit von 750ms auf 300ms 
reduziert und die Kontaktzeit für die Anzeige eines Treffers (d.h. die 
Zeit die die gedrückte Spitze auf der Trefffläche verweilen muss) von 4 
auf 15ms erhöht."
----

Von der Mindest-Verweildauer von 4 bzw. 15ms des "Tasters" beim 
Florettfechten hat der TO allerdings noch gar nichts erzählt. 
Wahrscheinlich wird da noch etwas an Infos salamischeibchenweise 
hinterhergeschoben...
Gast #5798804
Lesenswert?

Ich hätte durchaus Interesse, allerdings ist mir noch einiges unklar. 
Hier mal ein paar Fragen, die mir so auf Anhieb einfallen:

Ist die Hardware schon vorhanden?
Was ist der konkrete Anwendungsfall?
Gibt es dafür evtl. schon Lösungen zu kaufen?
Muss es wirklich Funk sein?
Was ist der preisliche Rahmen?
Was ist der zeitliche Rahmen?
Reicht die Differenz der Zeiten oder muss es eine absolute Zeitangabe 
sein (aktuell klingt es danach, als ob eine relative Zeit ausreichend 
wäre)?
Wie weit sind Transmitter und Reciever maximal auseinander?
Wie lange muss der Akku halten?

Gruß
Gast #5798805
Lesenswert?

Stefanus F. schrieb:
> Der Falk B. macht Dir das bestimmt ganz schnell für kleines Geld.
> Wenn du Geduldig bist, macht er auch gerne mal was kostenlos, sobald
> alle Infos zusammen getragen sind.

Bist du wirklich immer noch angefressen, weil Falk die 
Programmänderungen gratis gemacht hat, die du eigentlich machen 
wolltest?
OP #5800613
Lesenswert?

Vielen Dank für die Kritiken. Ich bin ehrlich gesagt nicht davon 
ausgegangen, dass es tatsächlich so dermaßen umständlich ist. Daher 
specke ich das ganze einfach ab und beschreibe die Vorraussetzungen neu:


Vorhanden sind 3 ESP LOLIN32, davon sollen 2 Transmitter sein und einer
Receiver. Der Transmitter überwacht einen Taster. Wenn der Taster
betätigt wird, wird ein Signal an den Receiver übertragen.

Fall 1: Wird Transmitter A betätigt, sendet ein Signal an den
Receiver. Der Receiver lässt LED A leuchten.

Fall 2: Wird Transmitter B betätigt, sendet der ein Signal an den
Receiver. Der Receiver lässt LED B leuchten.

Fall 3: Wird Transmitter A und Transmitter B betätigt, werden die 
Signale
an den Receiver gesendet. Der Receiver lässt LED A und LED B leuchten.

Die Leuchtdauer beträgt 4 Sekunden. Während eine der beiden, oder beide
LEDs leuchten, darf kein weiteres Signal signalisiert werden.

(Transmitter A = LED A, Transmitter B = LED B) Die LEDs befinden sich am
Receiver, nicht am Transmitter.


Viele Grüße,
Stephan
Gast #5800636
Lesenswert?

Ist das Timing jetzt völlig egal?

Warum hast du dich auf diese WLAN Module eingeschossen? Was haben die 
wichtiges zu bieten, was andere nicht können?

Ich frage weil diese Module meine letzte Wahl wären. Ich sehe zahlreiche 
Nachteile gegenüber anderen Alternativen.

Ich befürchte, dass ich dir auf Basis dieser Hardware keine 
zufriedenstellende Lösung bieten kann. Da musst du mir schon etwas 
bieten um mich zu ködern.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren