Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   XE6 + Android (https://www.delphipraxis.net/180723-xe6-android.html)

hjm 12. Jun 2014 06:51

XE6 + Android
 
Hallo,
nach langer Abstinenz kümmere ich mich jetzt wieder um die Programmierung.

Ich möchte bstehende Projekte (Delphi 5..) auf z.B. Android und oder IOs-Plattform umstellen.

Dazu habe ich einige Fragen:
- was ist die beste Umgebung dafür? XE6 Profesional + Mobile Addon hätte ich genommen. Geht dies so und nutzt das schon wer?
- wie einfach und vor allem wie zuverlässig lassen sich USB und WiFi der Android/IOs-Geräte ansprechen. Auch speziell als USB-Master.
- gibt es fertige Komponenten die einem einen Teil der Arbeit abnehmen/erleichtern?

Für jede Hilfe und Ratschläge/Hinweise wäre ich dankbar.

Grüße
hajo

mkinzler 12. Jun 2014 07:01

AW: XE6 + Android
 
Zitat:

Zitat von hjm (Beitrag 1262018)
- was ist die beste Umgebung dafür? XE6 Profesional + Mobile Addon hätte ich genommen. Geht dies so und nutzt das schon wer?

Wenn Du mit Delphi arbeiten willst, ist das die Option (Verbesserungen zu XE5)
Zitat:

- wie einfach und vor allem wie zuverlässig lassen sich USB und WiFi der Android/IOs-Geräte ansprechen. Auch speziell als USB-Master.
Wie meinst Dzu das? Verwenden oder verwalten? Verwenden von WiFi ist kein Problem, Indy ist dabei. Einen direkten Zugriff auf USB ist schwierig, da das "nativ" im Sinne von EMBT nicht nativ im Sinne des OS ist. Da müsstest Du im Detail prüfen, ob das was Du vorhast möglich ist.
Zitat:

- gibt es fertige Komponenten die einem einen Teil der Arbeit abnehmen/erleichtern?
hajo
Da kommt es wieder darauf an, für was. INDY ist wie gesagt dabei.

hjm 12. Jun 2014 12:21

AW: XE6 + Android
 
Hallo Markus,

Danke für Deine Antwort.

Was mich interessiert, wie aufwendig ist es eine bestehende Delphi-Anwendung Mobil (iOs, Android) zu machen.
Dabei soll auch eine Kommunikation über USB, also Tablet mit USB zu einem Zielsystem mit einer USB/Serial Brigde,
oder Tablet mit Wifi zu einem Zielsystem mit Wifi, möglich sein.

Bisher habe ich nichts oder nur wenig gefunden wie sich so etwas realisieren läßt, oder geht dies nur direkt in C++?

Grüße
hajo

mkinzler 12. Jun 2014 12:32

AW: XE6 + Android
 
Zitat:

Was mich interessiert, wie aufwendig ist es eine bestehende Delphi-Anwendung Mobil (iOs, Android) zu machen.
Kommt auf die Anwendung an, die GUI wirst Du wohl neu erstellen müssen.
Zitat:

Dabei soll auch eine Kommunikation über USB, also Tablet mit USB zu einem Zielsystem mit einer USB/Serial Brigde,
Das wird schwer werden.
Zitat:

oder Tablet mit Wifi zu einem Zielsystem mit Wifi, möglich sein.
Das ist kein Problem.

Zitat:

Bisher habe ich nichts oder nur wenig gefunden wie sich so etwas realisieren läßt, oder geht dies nur direkt in C++?
Du müsstest ggf. eine Schnittstelle im Java-Hauptprogramm schaffen.

Willst Du die komplette Funktionalität auf dem Smartphone/Tablet abbilden oder als Ergänzung zum bestehen Programm? U.U. reicht es ja das mobile Gerät per Tethering mit einer Anwendung auf einem Rechner zu verbinden.

hjm 27. Jun 2014 09:42

AW: XE6 + Android
 
So weiter gehts, jetzt mit Win8.1

Also, erst einmal Danke für die Antworten.

Was ich konkret machen möchte ist, ein bestehendes Programm (Windows) zum auslesen von Datenloggern auf Android zu poritieren.
Das Programm an sich wird vermutlih nicht das Problem werden.
Jedoch die direkte pyhsikalische Anbindung an die Logger. Die Logger bieten RS485 oder USB.

Was wäre der einfachere Weg (z.B. WLAN zu USB oder so).

Hat da schon jemand gemacht?

Grüße
hajo

greenmile 27. Jun 2014 11:11

AW: XE6 + Android
 
Vielleicht hilft Dir diese Seite weiter: http://www.bverhue.nl/g2dev/?p=65

mensch72 27. Jun 2014 21:50

AW: XE6 + Android
 
Zitat:

Zitat von hjm (Beitrag 1263624)
So weiter gehts, jetzt mit Win8.1
Jedoch die direkte pyhsikalische Anbindung an die Logger. Die Logger bieten RS485 oder USB.

Was wäre der einfachere Weg (z.B. WLAN zu USB oder so).

Hat da schon jemand gemacht?

Grüße
hajo

Der programmiertechnisch einfachste Weg ist ein WiFi<->Uart Modul wo man "TTL" UART danach auf RS485 umsetzt. Das WiFi sollte als "AccessPoint" und nicht im Peer2Peer Mode arbeiten und eine Socketschnittstelle zur Verfügung stellen, über welche dann per INDY die Daten zur DelphiAPP gehen.

Programmiertechnisch nur etwas aufwendiger ist die Realisiertung über ein BT<->Uart Modul, wo dann auch wieder der "TTL" UART noch technisch auf RS485 umgesetzt wird. Anwender seitig ist es einfacher nutzbar, weil keine (zusätzliche) WiFi Netzwerkverbindung aufgebaut werden muss und das Android weiter in den bestehenden Netzen(WiFi und/oder GSM/UMTS/LTE) bleiben kann. Nachteil sind die BT Lizenzkosten wenn es verkauft werden soll. Für Eigenbedarf einfach nach "bluetooth hc-05" oder "bluetooth hm-10" suchen.
Unter XE5 (und wohl auch weiter in XE6) geht das rein in DelphiFMX und läuft mit HC05&HC06 ausreichend stabil, wenn die BT-SIG-Lizenzprobleme nicht wären.

Deshalb doch per USB als Plug&Play... ABER per "einfachem" USB->Serial ist es seeeeeeehr aufwendig und inkompatibel, weil die meisten Android Smartphones und Tablets selbst nur USB-Slave sein können.
(USB "MasterMode" bzw. auch "OnToGo" genannt ist nicht sehr verbreitet und es braucht dann noch die Installation der native Treiber des SerialBridge (z.B. FTDI oder SiliconLabs)

Echte "Plug&PLay" Lösung mit spezieller Hard&Software:
http://www.microchip.com/Development...artNO=DM240415
In der Firma für die ich arbeite, wird ein MicroChip PIC24 Microcontroler als USB Master programmiert, mit dem sich ein beliebiges Androidgerät als Slave verbinden kann. MicroChip liefert dafür die ein käufliches DemoKit samt Schaltung C-Source für PIC24 sowie Android(Java)DemoSoftware. Da eh auf RS485 umgesetzt werden muss, kann dies simpel gleich der PIC24 MicroControler erledigen.
Da in XE5-FMX der direkte Weg zu den USB Accessory Javaklassen nicht klappen wollte, wurde um die 1:1 Java Sourcen von MicroChip ein einfacher JNI Wrapper (Init,Test,Read,Write,Close) geschrieben, welcher von DelphiFMX dynamisch geladen und genutzt wird, ohne die Classes.dex zu verändern.

Das nun per Java genutzte und im Endeffekt sehr einfache "USB Accessory Interface" ist im INET und allen Foren völlig unbekannt. Auch hier im Forum konnte die anfängliche Nachfrage des Kollegen nicht "aus realer Erfahrung" beantwortet werden. Bei Embarcadero im Support Forum gab und gibt es auch nichts in dieser Richtung.

Das funktioniert jetzt in XE5 und wohl dann auch weiter in XE6 sehr gut, sodass so als nächstes auch ein DelphiFMX<->NFC Interface sehr einfach entstehen kann.



=> Es geht, es gibt aber im INET noch nichts "fertiges" für DelphiFMX


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf