Toon posts:

Virtuele seriele poort, hoe?

Pagina: 1
Acties:
  • 857 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Naar aanleiding van dit [topic=424325] heb ik een vraagje.

Het is de bedoeling dat er een programma geschreven word dat zelf een, maar het liefst meerdere virtuele seriele poorten beheert.

Hmm, ff wat duidelijker.
Het is bedoelt voor de aansturing van een LCD, maar tegelijk moeten er over de zelfde kabel/poort ook info uitgelezen worden (voor meer info daarover zie link).
Op OCM schreef NextGeneration het volgende:
Ik heb nog eens over de ExtremeBaybus-server nagedacht.
Het moet dus eigenlijk een 3e seriele poort worden, waar Smartie of een eventueel ander programma of andere programma's tegen aan kletsen.
Op de ExtremeBaybus-server wordt ingesteld wat er weergegeven moet worden en dat wordt dan doorgepompt naar de poort waar de baybus werkelijk op aangesloten zit.

:? t'is eigenlijk simpel :Y)
Heeft iemand een idee waar je zo'n virtuele seriele poort vandaan haalt, of hoe je deze kan bouwen (taal is waarschijnlijk Delphi)?

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Configuratie van windows :)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Topicstarter
Op zondag 10 maart 2002 16:02 schreef dusty het volgende:
Configuratie van windows :)
Dat snap ik niet helemaal, hoe bedoel je dat?

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Op zondag 10 maart 2002 15:49 schreef NextGeneration het volgende:
Heeft iemand een idee waar je zo'n virtuele seriele poort vandaan haalt, of hoe je deze kan bouwen (taal is waarschijnlijk Delphi)?
Ik snap het misschien niet.

Je wilt een virtuele compoort creeren (zeg: COM99) die alleen in software bestaat, waarin alle acties op die compoort afgehandeld worden in software?

Misschien dat Serial/IP of COM/IP iets voor je is, www.tactical-sw.com

Verwijderd

Topicstarter
Op zondag 10 maart 2002 16:45 schreef elevator het volgende:

[..]

Ik snap het misschien niet.

Je wilt een virtuele compoort creeren (zeg: COM99) die alleen in software bestaat, waarin alle acties op die compoort afgehandeld worden in software?
Ik wil inderdaad seriele poorten aan kunnen maken, en daar al bestaande LCD proggie's tegen aan laten praten.
Dan bepaalt dat programma wat er door gelaten mag worden.
Misschien dat Serial/IP of COM/IP iets voor je is, www.tactical-sw.com
Hmm, zoiets, maar het wordt (is de bedoeling) een open-source prog word, en ik wil dus eigenlijk niet met licenties van andere bedrijven te maken hebben.

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Op zondag 10 maart 2002 17:00 schreef NextGeneration het volgende:

Hmm, zoiets, maar het wordt (is de bedoeling) een open-source prog word, en ik wil dus eigenlijk niet met licenties van andere bedrijven te maken hebben.
ack. Wordt moeilijk denk ik, zeker als je in Delphi wilt blijven.

Misschien kan je bij http://www.microsoft.com/ddk/ beginnen.

Verwijderd

Topicstarter
Hmm, dat is wel wat, maar is dat pakket echt verschillend per windows versie (98/2000/XP)?

En het binnen Delphi blijven is geen must, maar als er een andere taal bijgehaald wordt heb ik nog meer hulp nodig >:).

  • Ronald_stage
  • Registratie: Januari 2002
  • Laatst online: 11-09 21:45

Ronald_stage

wat kan je hier nog zeggen

zoiets bestaat toch gewoon,
ik kreeg zo'n soort programma bij mijn ISDN kaart
..COM hette het, wat ik bedoel is het principe bestaat.

Verwijderd

dat het princiepe bestaat is al bekend, maar nu nog een gratis programma of programmeer voorbeeld (welke taal maat niet zo heel veel uit.)

Verwijderd

Dit idee is al meerdere malen in kernel development groups geopperd, het is allemaal niet zo bijster ingewikkeld, je schrijft met de windows ddk een device driver implementeerd alle irp's die een serial port nodig heeft en presto klaar, echter het schrijven van 'n device driver is voor de gemiddelde programmeur al 'n hels karwij (Microsoft support overigens alleen visual c voor het schrijven van drivers) en daar komt dan ook nog een redelijke partij irp's bij die je moet implementeren, kortom wil je de stoute schoenen aan trekken en het zelf doen download de ddk bij microsoft schrik je zelf de pleuris en bedenk dan dat die eerder genoemde producten helemaal zo gek nog niet zijn :Y)

Verwijderd

Topicstarter
Op maandag 11 maart 2002 14:28 schreef Yarvieh het volgende:
Dit idee is al meerdere malen in kernel development groups geopperd, het is allemaal niet zo bijster ingewikkeld, je schrijft met de windows ddk een device driver implementeerd alle irp's die een serial port nodig heeft en presto klaar.
Heb je geen voorbeelden, bijvoorbeeld van die development groups waarin dat langsgekomen is, of nog beter zo'n driver (gratis, of in ieder geval betaalbaar).

Verwijderd

Onder Delphi heb je de COM-library. Hier een quote uit de readme:

+------------------------------------------+
| ComPort Library version 2.62 |
| for Delphi 3, 4, 5 |
| and C++ Builder 3, 4, 5 |
| |
| by Dejan Crnila |
| 1998-2001 |
| C++ Builder support by Paul Doland |
+------------------------------------------+

Geen id of hij betaald is... :+
Zoek 'm maar op.

Verwijderd

Op maandag 11 maart 2002 19:30 schreef NextGeneration het volgende:
Heb je geen voorbeelden, bijvoorbeeld van die development groups waarin dat langsgekomen is, of nog beter zo'n driver (gratis, of in ieder geval betaalbaar).
Het kwam langs, en werd met de zelfde argumenten afgeschoten door de pro's die daar rond hingen die ik al gaf, het is 'n lastig stuk software waar weinig vraag naar is kortom het is *DUUR*, t is niet anders...

Verwijderd

Hmm, volgens mij moet je het doen op de modem-manier.
Als jij bijv. een WINmodem koopt in de winkel, dan gaat 'ie die aansturen via een COM3 die windows aangemaakt heeft.
Die com3 linkt 'ie volgens mij aan een IRQ in combinatie met een IO-adres. Volgens mij zou je dezelfde truc moeten uitvoeren.

Zie meer info in de MSDN-knowledgebase / codelibrary denk ik zo :Y)

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 16:40
Nog even de reply van Mr Walter Oney op eenzelfde vraag in microsoft.public.development.device.drivers:
I keep telling anyone who asks this question that it is extremely hard
to write a virtual serial port driver for any Windows operating system.
Only driver experts can really make this work, so your company should
either not bother or out-source the task. If you really want to try,
read and thoroughly understand the SERIAL sample in the DDK.

--
Walter Oney

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Verwijderd

Topicstarter
Op dinsdag 12 maart 2002 22:04 schreef farlane het volgende:
Nog even de reply van Mr Walter Oney op eenzelfde vraag in microsoft.public.development.device.drivers:
[..]
Dat gaat toch boven mijn pet, en boven m'n tijd.
Ik denk dat een eigen driver schrijven niet zal gaan!

Maar ik heb wel dit: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmeother/comm_2778.asp gevonden.

Ik denk ook dat er wel wat te regelen valt met het idee van MrIpFiReWALL!

Verwijderd

Topicstarter
***schop***

  • m-m
  • Registratie: Augustus 2001
  • Niet online

m-m

Je kan een compoort binden met Windows (9x iig) aan een netwerkpad, bijvoorbeeld COM4 aan \\server\com1, zodat je de com1 van de server als com4 van je workstation kunt gebruiken. Als je nou een fake smb-server op een alternatieve poort maakt en dan met 'net use' zorgt dat je COM4 naar je daemontje gaat, heb je wat je zocht. Is alleen een beetje omslachtig, maar it never hurts to help.

Verwijderd

Topicstarter
Op zaterdag 16 maart 2002 23:49 schreef m-m het volgende:
Je kan een compoort binden met Windows (9x iig) aan een netwerkpad, bijvoorbeeld COM4 aan \\server\com1, zodat je de com1 van de server als com4 van je workstation kunt gebruiken. Als je nou een fake smb-server op een alternatieve poort maakt en dan met 'net use' zorgt dat je COM4 naar je daemontje gaat, heb je wat je zocht. Is alleen een beetje omslachtig, maar it never hurts to help.
Hmm, dat snap ik niet helemaal, kan je wat nadere uitleg geven?

  • m-m
  • Registratie: Augustus 2001
  • Niet online

m-m

sure, ik zal het even uitleggen hoe het bedoelt is.
Je hebt 2 PC's. BLAAT en SCHAAP. Op SCHAAP stel je in dat je compoort 1 gedeeld wordt over het netwerk.
Vanachter BLAAT ga je naar de dosprompt en tik je in 'net use COM4 \\SCHAAP\COM1'. Vanaf nu is COM4 op BLAAT er, die niet echt bestaat, maar doorlust naar COM1 van SCHAAP via het netwerk. Wat ik wou zeggen, is dat je dit misschien kan gebruiken om een fake compoort te realiseren.

(Note: ik weet dat dit iig werkt met printerpoorten, maar met serieel moet het net zo goed kunnen)

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Op zondag 17 maart 2002 00:05 schreef m-m het volgende:
(Note: ik weet dat dit iig werkt met printerpoorten, maar met serieel moet het net zo goed kunnen)
niet helemaal. Wat je met NET USE doet is simpelweg een printer port monitor "toevoegen" waar de data naar toe gestuurd wordt.

Een seriele poort is meer, en kent dan ook specifieke API calls om dat te benutten (kijk eens naar SetCommState() e.d.).

Een virtuele comport maken voor Windows is gewoon erg moeilijk, zeker als het 'niets' mag kosten. Ik denk dat je het beste af bent met het maken van een schone, mooie API en vervolgens de tools makers te proberen te overtuigen die te implementeren.

Verwijderd

Topicstarter
Op zondag 17 maart 2002 12:44 schreef elevator het volgende:

[..]

niet helemaal. Wat je met NET USE doet is simpelweg een printer port monitor "toevoegen" waar de data naar toe gestuurd wordt.

Een seriele poort is meer, en kent dan ook specifieke API calls om dat te benutten (kijk eens naar SetCommState() e.d.).

Een virtuele comport maken voor Windows is gewoon erg moeilijk, zeker als het 'niets' mag kosten. Ik denk dat je het beste af bent met het maken van een schone, mooie API en vervolgens de tools makers te proberen te overtuigen die te implementeren.
Er zelf een schrijven!
Lijkt me nix, zie dit.

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Op zondag 17 maart 2002 14:42 schreef NextGeneration het volgende:

[..]

Er zelf een schrijven!
Lijkt me nix, zie dit.
Wat ik begrijp is dat jouw programma/hardware moet kunnen communiceren met iemand anders zijn programma.

Ik zou dus voorstellen dat jij een reeks API calls maakt om met jouw programma (en eventueel andere programma's, dus maak het zo open mogelijk) te communiceren, en dan de makers van die andere tools te overtuigen om jouw API te gebruiken.

Het moet je vast lukken iets te maken waarmee gemakkelijker te praten valt dan een serieele port onder Windows :-)

Verwijderd

Topicstarter
Op zondag 17 maart 2002 17:33 schreef elevator het volgende:

[..]

Wat ik begrijp is dat jouw programma/hardware moet kunnen communiceren met iemand anders zijn programma.

Ik zou dus voorstellen dat jij een reeks API calls maakt om met jouw programma (en eventueel andere programma's, dus maak het zo open mogelijk) te communiceren, en dan de makers van die andere tools te overtuigen om jouw API te gebruiken.

Het moet je vast lukken iets te maken waarmee gemakkelijker te praten valt dan een serieele port onder Windows :-)
Het proggie (software) beheert een of meerdere com poorten.
Dat programma is dus een of meerdere com poorten.

Dan kan je instellen welk LCD proggie (smartie ofzo) er tegen het LCD aan praat, en dan wordt om de minuut de info van de hardware uitgelezen.
Dat uitlezen is dus het probleem, want dat moet gebeuren, daar is het proggie voor!

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Op zondag 17 maart 2002 23:28 schreef NextGeneration het volgende:

[..]

Het proggie (software) beheert een of meerdere com poorten.
Dat programma is dus een of meerdere com poorten.

Dan kan je instellen welk LCD proggie (smartie ofzo) er tegen het LCD aan praat, en dan wordt om de minuut de info van de hardware uitgelezen.
Dat uitlezen is dus het probleem, want dat moet gebeuren, daar is het proggie voor!
ik snap er dus echt niks meer van.

Wat ik dacht:
- Jij wilt een virtuele comport maken (eg: COM99) waar alle I/O op in software afgehandeld wordt omdat (legacy) software deze methode gewend is.

Mijn voorstel:
- vervang deze noodzaak, en biedt een schone manier aan deze legacy (LCD uitlees appl.) om mee te communiceren. Hiermee vraag je dus aan de auteurs van het "lcd uitlees proggie" om hun programma aan te passen aan jouw (open) API.

maar dan zeg je dus:
Dat uitlezen is dus het probleem, want dat moet gebeuren, daar is het proggie voor!
Bedoel je hier nou mee dat je gewoon een "echte" serieele poort uit wil lezen?

Verwijderd

Topicstarter
Op maandag 18 maart 2002 21:31 schreef elevator het volgende:

[..]

ik snap er dus echt niks meer van.

Wat ik dacht:
- Jij wilt een virtuele comport maken (eg: COM99) waar alle I/O op in software afgehandeld wordt omdat (legacy) software deze methode gewend is.

Mijn voorstel:
- vervang deze noodzaak, en biedt een schone manier aan deze legacy (LCD uitlees appl.) om mee te communiceren. Hiermee vraag je dus aan de auteurs van het "lcd uitlees proggie" om hun programma aan te passen aan jouw (open) API.

maar dan zeg je dus:
[..]

Bedoel je hier nou mee dat je gewoon een "echte" serieele poort uit wil lezen?
Jah, ook. Maar als dat klaar is moet de LCD zijn info weer krijgen (via die COM poort waar de kabel aanzit!).

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Op maandag 18 maart 2002 21:36 schreef NextGeneration het volgende:

[..]

Jah, ook. Maar als dat klaar is moet de LCD zijn info weer krijgen (via die COM poort waar de kabel aanzit!).
ok, om met een echte COM poort te spreken zou ik zeggen gebruik EleCOM, of AsyncPro of iets dergelijks.

Om een virtuele comport te creeren. Tja. Verzin daar iets anders voor.

Verwijderd

Topicstarter
Op maandag 18 maart 2002 22:11 schreef elevator het volgende:

[..]

ok, om met een echte COM poort te spreken zou ik zeggen gebruik EleCOM, of AsyncPro of iets dergelijks.
De communicatie met de seriele poort moet het probleem niet zijn, daar genoeg dingen voor te vinden!
Om een virtuele comport te creeren. Tja. Verzin daar iets anders voor.
:'(
Pagina: 1