Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   PDA/Handheld Geräte über USB (Software) (https://www.delphipraxis.net/98153-pda-handheld-geraete-ueber-usb-software.html)

DelphiManiac 22. Aug 2007 11:37


PDA/Handheld Geräte über USB (Software)
 
Hallo,

ich habe folgende Frage und hoffe ihr könnt mir hierzu ein paar Anregungen Tipps geben:


Wir entwickeln Elektronik die mit einem USB-Controller ausgerüstet ist, diese Schnittstelle dient
als Service Schnittstelle für den Kunden und für uns.

Für die Ansteuerung der Schnittstelle / Elektronik haben wir unsere Software immer als PC Software in Delphi entwickelt,
nun wollen wir auch spezielle Kommunikationsoftware z.B.: für einen PDA entwickeln, dass der Aussendienst, oder Service mitarbeiter nicht immer einen Laptop nehmen muss um Geräteparameter auszuwerten / auszulesen.

Meine Frage an euch:

- Welche PDA / oder mobilen Geräten haben denn eine USB-Schnittstelle zur Kommunikation (als Master)
- Welche Programmiersprachen / Umbebung (.NET?) sollte ich verwenden?

Vielleicht hat von euch ja schon jemand Erfahrung auf dem Gebiet gesammelt.

Würde mich über Tipps Tricks und Links freuen...

Danke
Gruß
DelphiManiac

Grolle 22. Aug 2007 11:44

Re: PDA/Handheld Geräte über USB (Software)
 
Hallo,

mein Siemens Loox N520 hat eine USB-Host Funktion (mit speziellem Adapter). Als IDE würde ich dir das MS Visual Studio empfehlen. Die Express-Editionen haben aber kein PDA-Support. Du benötigst also mindestens die Standard-Version.

Viele Grüße ...

christian_u 22. Aug 2007 11:49

Re: PDA/Handheld Geräte über USB (Software)
 
Wiso willst du überhaupt .net nehmen ?

www.lazarus.freepascal.org

DelphiManiac 22. Aug 2007 12:45

Re: PDA/Handheld Geräte über USB (Software)
 
Nunja,

ich beschäftige mich so nebenbei mit C# und demnach springt mir da natürlich das .Net Framework ins Gesicht :-D .
Ich will das ganze schon so lösen, das ich nicht durch plattformabhängen / compilerabhängige Probleme stecken bleibe,
da es natürlich einen kommerziellen Hintergrund hat.
Lazarus kenn ich nicht, kannst du mir ein bisschen darüber erzählen?

Gruß

Bernhard Geyer 22. Aug 2007 13:04

Re: PDA/Handheld Geräte über USB (Software)
 
Zitat:

Zitat von DelphiManiac
Ich will das ganze schon so lösen, das ich nicht durch plattformabhängen / compilerabhängige Probleme stecken bleibe

D.h. deine Definition von PDA/Handheld ist ein Gerät mit (aktuellen) Windows Mobile. Um wirklich plattformunabhängig zu sein ist eher Java angesagt.

DelphiManiac 22. Aug 2007 13:17

Re: PDA/Handheld Geräte über USB (Software)
 
Ja,

das Programm soll natürlich auf einem Windows Mobile 5 oder 6 laufen.
Man ist natürlich nie wirklich Plattform unabhängig, auch nicht bei Java, da Java ja auch die Virtual Machine,(als Plattform)
benötigt. Ich wollte/will auf Basis das "Compact Framework" von MS programmieren.

Wisst ihr, ob MS Visual Studio alleine das kann, oder ob man auch SharpDevelop nehmen kann?

Phoenix 22. Aug 2007 13:25

Re: PDA/Handheld Geräte über USB (Software)
 
Wenn Du einigermassen gescheit debuggen willst, würde ich das Visual Studio nehmen.

Im letzten .NET Magazin war im übrigen ein recht guter Artikel zu Windows Mobile 6 und dem aktuellen SDK.

Bernhard Geyer 22. Aug 2007 13:25

Re: PDA/Handheld Geräte über USB (Software)
 
Zitat:

Zitat von DelphiManiac
... Ich wollte/will auf Basis das "Compact Framework" von MS programmieren.
Wisst ihr, ob MS Visual Studio alleine das kann, oder ob man auch SharpDevelop nehmen kann?

Ich würde (wenns Geldtechnisch möglich ist) das MS Visual Studio nehmen. Viele Erleichterungen die beim "normalen" .NET im SDK sind, ist bei CF bestandteil der IDE (z.b. der Form-Designer). Ob man wohl es anderen IDE's nicht zu einfach machen wollte ...

DelphiManiac 22. Aug 2007 13:58

Re: PDA/Handheld Geräte über USB (Software)
 
Stimmt es, dass man grundsätzlich auch mit SharpDevelop auf dem Microsoft CF programmieren kann?

Phoenix 22. Aug 2007 14:01

Re: PDA/Handheld Geräte über USB (Software)
 
Grundsätzlich geht es, ja. Natürlich. Genauso grundsätzlich kannst Du jede beliebige Anwendung auch ganz ohne IDE schreiben. Ob das Sinnvoll ist steht auf einem anderen Blatt, und ich erachte Entwicklung für mobile Devices ohne die SDK-Unterstützung im VS für nicht Sinnvoll. Wie willst Du denn die Anwendungen z.B. debuggen?

mkinzler 22. Aug 2007 14:09

Re: PDA/Handheld Geräte über USB (Software)
 
Zitat:

Zitat von DelphiManiac
Stimmt es, dass man grundsäGtzlich auch mit SharpDevelop auf dem Microsoft CF programmieren kann?

Grundsätzlich ja: http://www.michaelziegler.de/tutoria...amework_De.pdf

christian_u 22. Aug 2007 14:58

Re: PDA/Handheld Geräte über USB (Software)
 
Zitat:

Lazarus kenn ich nicht, kannst du mir ein bisschen darüber erzählen?
Wikipedia - Lazarus

Lazarus ist n Open Source quasi Delphi Klon. Mittlerweise ists etwas mehr denk ich.
Es besteht aus ner IDE und Komponentenbibliothek (LCL) die Komponentenbibliothek ist nicht nur Plattformunabhängig
sondern auch Widgetset unabhängig du kannst also ein einmal geschriebenes Programm teoretisch für Windows/Linux/Macos, WinCE/Qtopta
übersetzen und zusätzlich noch das Widgetset aussuchen also im Linux z.b. GTK,GTK2,QT.
Die LCL ist grösstenteils VCL kompatibel und die Häufigst genutzten WinAPI Routinen sind auch plattformunabhängig für jedes Widgetset implementiert so das man Delphi programme und Komponenten recht simpel portieren kann. Soviel zur Theorie.

Die Praxis ist schönerweise nicht ganz so weit davon entfernt wie man zuerst vermuten mag. Derzeit gibt es nur 2 ziemlich Stabile Interfaces das sind das Win32 Interface und GTK. GTK2 ist ziemlich weit aber bei größeren Anwendungen stolpert man doch mal schnell über Bugs. QT macht derzeit riesen Vorschritte ist aber auch noch nicht soweit das es für Alltagsarbeit nutzbar wäre. Carbon (Mac OS X) ist ungefähr soweit wie QT man kann aber im Mac OS auch X11+GTK benutzen und Power PC Programme können auch erstellt werden.

Das WinCE interface ist für die Handhelds schon gut benutzbar die Standartkomponenten funktionieren soweit. Bei aufwendigeren Komponenten wie TTreeview o.ä. dürfte man allerdings noch über Fehler Stolpern. Canvas funktioniert auf Geräten < Windows Mobile 5.0 nicht allerdings sind solche kaum noch unterwegs.

Als Compiler ist der Freepascal Compiler darunter welcher für nahezu jede Plattform code erzeugen kann. Also wenn man z.b. mal n Kommandozeilenprogramm für BeOS oder OS/2 basteln muss ist das auch kein problem oder man benutzt die jewailige Betreibsystem API es existieren dafür halt nur keine LCL Interfaces mit denen man dann RAD Entwickeln könnte.

Ach noch kurz zu Komponenten. Standartkomponenten sind ungefähr auf Delphi 6 Stand. Weiss nicht was da im BDS jetzt noch dazugekommen ist aber man kann damit durchaus leben. Es gibt auch etliche Ports von Komponentenpackages z.b. VirtualTreeview und GLScene. Datenbankkomponenten sind auch reichlich da, ZeOSDBO ist z.b. vollständig kompatibel Es gibt auch ne eigene SQLDB Sammlung mit Treibern für MySQL,Interbase,Oracle,Postgree dann ist TDbf standartmäßig installiert und noch n paar andere.

Weitere infos findet man ganz gut im Lazarus Wiki

Robert Marquardt 22. Aug 2007 19:03

Re: PDA/Handheld Geräte über USB (Software)
 
Bei Windows CE programmiert man schnell auf dem nackten Eisen, sprich es geht ans Treiber schreiben. Ich weiss jetzt nicht wie weit Windows Mobile im USB-Bereich ist, aber einen USB OnTheGo-Controller (das ist es was man wahrscheinlich vorfindet) anzusteuern ist sicherlich nicht einfach. Die zugehoerige Entwicklergemeinschaft ist extrem klein. Ob man da mit .net weit kommt wage ich zu bezweifeln.

DelphiManiac 22. Aug 2007 19:05

Re: PDA/Handheld Geräte über USB (Software)
 
Naja der USB-Controller des PDA soll ja nur als Host dienen,
so dass ich den (FTDI232)-Controller auf der Hardware bedienen kann (mittels DLL),
würde dann nur auf USB-Host fähigen PDA's laufen, aber das ist ja nicht schlimm...

christian_u 22. Aug 2007 19:21

Re: PDA/Handheld Geräte über USB (Software)
 
Von den FTDI Chips würd ich die Finger lassen, da sind längst nicht für alle Plattformen treiber vorhanden. Eine HID Klasse zu implementieren ist kein großes ding und selbst mit Software USB zu bewerkstelligen. Gerade wenns in den handheld bereich geht würd ich lieber darauf setzen da man keine Treiber braucht. Ist auf der Microcontroller Seite leicht zu implementieren und von der PC seite auch.

DelphiManiac 23. Aug 2007 11:33

Re: PDA/Handheld Geräte über USB (Software)
 
Hi christian,

was meinst du genau mit HID-Klasse,

habe bisher die USB-(FTDI)-Chips nur direkt mit Treiber angesprochen, oder sie als Virtuellen Comport laufen lassen
und sie als Comport genutzt...

Gruß
DelphiManiac

christian_u 23. Aug 2007 11:55

Re: PDA/Handheld Geräte über USB (Software)
 
USB geräte werden klassifiziert, z.b. Mass Storage, Audio, HID (Human Interface Device), CDC usw.

Für viele dieser Klassen bringen alle Betriebsysteme Treiber mit wie z.b. MassStorage deshalb musst du keinen Treiber installieren wenn du deinen USB Stick in den rechner steckst. FTDI Haben sich ihren eigenen Treiber geschrieben und emulieren über diesen Einen COM Port. Eigentlich würde das orgentlicher weise über eine CDC Klasse implementiert werden können dafür bringen alle Betriebsysteme Treiber mit (CDC ist Comport Emulation).

Bei HID Geräten ist es nun so das das BS auch einen Treiber mitbringt dieser jedoch nur sehr generelle Funktionen Bereitstellt (Setup, read, write) die daten werden auch direkt dem gerät durchgereicht man kann also mit HID Geräten direkt aus dem Userspace kommunizieren. Es gibt auch ne Delphi Komponente die einem die Systemnahen Geschichten dabei abnimmt. In der JVCL.

Auf Geräteseite ist das bei USB Controllern recht einfach implementierbar gibts eigentlich auch immer Appnotes der Hersteller dazu. Für AVR und PIC gibts auch Software USB Implementierungen die das können. Ich hab ja keine Ahnung wie deine Anwendung ausschaut und was für einen Controller du verwendest.

Robert Marquardt 23. Aug 2007 18:47

Re: PDA/Handheld Geräte über USB (Software)
 
Ich glaube du traeumst auch davon das Windows CD/Mobile USB mit 3rd-Party-Trebern und Anwendungen/DLLs so gut unterstuetzt wird wie Desktop Windowss.

christian_u 23. Aug 2007 19:05

Re: PDA/Handheld Geräte über USB (Software)
 
Ich ?
Wenn das so wäre würde ich keine Lösung vorschlagen die weg von Hersteller Treiberunterstützung geht.
Ich träume davon das Hersteller ordentliche Treiber bereitstellen und zwar nicht nur für eine Plattform und System. Treiberentwicklung ist schliesslich kein Hexenwerk mehr.

Robert Marquardt 23. Aug 2007 19:32

Re: PDA/Handheld Geräte über USB (Software)
 
Nein, Threadersteller. Sorry, ich bin mit Chemie versehen.

DelphiManiac 24. Aug 2007 08:15

Re: PDA/Handheld Geräte über USB (Software)
 
@Robert Marquardt:

Träumen tu ich schon mal gar nicht (zumindest nicht tagsüber), deswegen informiere ich mich ja hier im
Forum.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:37 Uhr.

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