Push-Nachrichten an Android-Geräte

Begonnen von Tom, 30. April 2013, 20:41:06

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

Tom

Hallo,

bin nicht sicher, ob das Thema hierhin gehört. Ich hab auf Basis der Network-Lib 1.21 ein paar Bausteine gebastelt, mit denen man Nachrichten an Android-Geräte schicken kann. Voraussetzung ist die Installation von Tasker sowie des Autoremote-Plugin's. Auf den Geräten lassen sich dann verschiedene Aktionen starten (Sprachausgabe, Popups etc.).

https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm
https://play.google.com/store/apps/details?id=com.joaomgcd.autoremote



[gelöscht durch Administrator]

peewit

hallo tom

danke für deinen interessanten beitrag
werde mir das mal bei gelegenheit genauer ansehen

freut mich , wenn jemand selber kreative lösungen programmiert, und mit anderen teilt !

weiter so....


Windkarban


vicky

Hallo Tom,
hast Du uns eine kurze Beschreibung, wie man die Bausteine beschalten sollte?
Das wäre echt cool.

gruss vicky

Tom

Hallo Vicky,

das ist ja ein gaaanz alter Thread.  :o

Ich fang mal von vorn an: Auf dem CX muss der TCPIP-Server (kostenpflichtig) installiert sein. Im TwinCAT müssen die TCPIP-Lib von Beckhoff (gibts zum Server dazu, wenn ich nicht irre) und die OSCAT Network-Lib eingebunden sein. Auf dem Android-Gerät brauchst du Tasker (kostet was) und das Autoremote-Plugin dazu. Mit Installation des Plugins bekommst du eine URL zugewiesen. Wenn du die URL im Browser deines PC's aufrufst, kommst du auf eine Webseite, von der aus du Nachrichten auf dein Android-Gerät schicken kannst (man kann mit Tasker/Autoremote auch Nachrichten zw. Android-Geräten automatisiert austauschen). Damit erst mal rumspielen und die Doku dazu lesen. Die Eingabefelder sind mit Kommentaren versehen. Zudem sind die Parameter in den Bausteinen kommentiert, wobei ich meist den Text von der Webseite übernommen habe.

Wenn du weißt, was passiert, ist die Parametrierung der Bausteine kein großes Problem mehr, da ich lediglich die Funktion der Seite nachgebaut habe. Die Namen der Eingabefelder und der der Bausteinparameter sind größtenteils identisch. Im Prinzip wird nichts anderes gemacht, als die Parameter an die URL anzuhängen und an den Dienst zu schicken, der sie dann an das Android-Gerät weiterleitet. Du kannst also die Funktion mit der Seite bequem testen und die Parameter dann an dem Baustein übernehmen.

Du wirst auch oben auf der Seite 2 Buttons sehen: "Send Message" und "Send Notification" entsprechend habe ich 2 Bausteintypen gebastelt: FB_AutoRemoteMessage/FB_AutoRemoteMessageM und FB_AutoRemoteNotification/FB_AutoRemoteNotificationM. Die Versionen mit dem "M" hintendran können Nachrichten an mehrere Geräte schicken, die normalen nur an eins. Dafür ist die Paramtrierung etwas einfacher.

Als Nächstes musst du in der  SPS die Kommunikation einrichten. Dazu den IP-Control aus der Network-Lib einbinden und parametrieren. Ich habe für solche Bausteine einen eigenen Task mit 4 ms laufen, das normale Programm läuft mit 25 ms. Anschließend die Bausteine für das Senden von Nachrichten aufrufen und parametrieren und fertig. Die Bausteine mit dem "M" hintendran erwarten ein Array mit Namen/URL's, wobei nur die URL wichtig ist, der Name dient nur der leichteren Zuordung.

Ein Problem ist noch die Menge an Parametern, die man mit einem Baustein senden will. Irgendwo war eine Grenze und die URL wird einfach abgeschnitten. Was mir auch aufgefallen ist, ist die unterschiedliche Zeit, in der Benachrichtigungen ausgeliefert werden. Während auf meinem Handy die Nachrichten innerhalb weniger Sekunden ankommen, dauerts auf meinem Tablet manchmal bis zu 2 Minuten. Warum, konnte mir kein Entwickler sagen.



[gelöscht durch Administrator]

vicky

#5
Hallo Tom,
Vielen Dank für Deine Ausführungen. Sehr gut wie immer
2 Fragen bleiben:
1. Reicht die Autoremote"Lite" Version (Einkürzung auf 2 Zeichen)?
2. Die IP-Adresse am IP_Control => zu wem gehört die?

Gruss vicky

Interplanar

#6
Leider habe ich keinen Antworte für ihn angeboten.
Warum stellen Sie diese Frage?

Gruß



samsung galaxy s4 mini hülle