Ich arbeite derzeit an einem Projekt, bei dem wir zwischen einem Haushaltsgerät (z. B. einem Ofen) mit einem eingebetteten Computer und einem mobilen Gerät (Telefon) kommunizieren werden. Hier ist eine kurze Zusammenfassung der Einrichtung:
Gibt es Frameworks, die Echtzeitkommunikation über das Internet und LAN, Publish-Subscribe und RPC unterstützen und sowohl auf Java als auch auf C# laufen? Ich habe ein paar gute Kandidaten, aber ich sehe insbesondere keine Möglichkeit, Protokolle zwischen der Kommunikation über das Internet und der Kommunikation über das LAN zu teilen (ist das überhaupt möglich?). Meine aktuelle Shortlist besteht aus (in der Reihenfolge):
XMPP sieht auch so aus, als könnte es vielversprechend sein, aber von dem, was ich gesehen habe, scheinen die Community und die Dokumentation/Beispiele nicht robust zu sein, ich habe auch gelesen, dass die Leistung mit XMPP nicht ganz in Echtzeit ist.
Das ist also nicht wirklich eine Antwort (mehr Informationen), aber es ist zu lang für das Kommentarfeld.
Klingt nach einem lustigen Projekt! Ich kann nur für XSockets sprechen, aber ich bin sicher, dass jemand anderes die Lücken für die anderen Techniker füllen wird.
Da XSockets über eine "protokollübergreifende" Kommunikation verfügt und benutzerdefinierte Protokolle als Plugins zulässt, kann die Kommunikation zwischen allen Geräten mit TCP/IP erfolgen.
V 4.0 steht kurz vor der Veröffentlichung und wird sowohl Pub/Sub als auch RPC unterstützen. Es gibt Clients für .NETMF, .NET 2.0, 3.5, 4.0 und iOS + Android (Xamarin), aber aufgrund der Cross-Protocol-Funktion können Sie Raw-Sockets verbinden, um mit diesen Clients zu kommunizieren, wenn Sie möchten.
Ich betreibe den XSockets-Server zu Hause auf einem Himbeer-Pi und habe sowohl Arduino und Netduinos als auch einen iOS-Client (plus eine Website und eine Konsolen-App) damit verbunden. Es funktioniert gut, obwohl es nur zum Spaß und kein echtes Produkt ist. Ich überprüfe nur Temperatur und Bewegung in meinem Haus als Proof of Concept.
Um zu Ihrer Frage / Ihrem Problem zu kommen ... Ich würde mich für ein Echtzeit-Framework entscheiden, nicht für die MQ-Optionen. Die meisten oben genannten Dinge wären mit einem guten Framework ziemlich einfach. Die einzige Frage ist die LAN-Sache. Ich habe keine Erfahrung damit, aber es sollte machbar sein, besonders wenn Sie einen Echtzeitserver im LAN haben können, der übernimmt, wenn das Gerät nach Hause kommt.
Wie auch immer, klingt nach einem lustigen Projekt. Viel Glück!
w3dadurch
Uffe
Uffe