Schrift
[thread]700[/thread]

Serielle/Parallele Schnittstelle unter Windows XP

Leser: 2


<< |< 1 2 3 >| >> 27 Einträge, 3 Seiten
Gast Gast
 2006-03-26 23:53
#7201 #7201
Hallo Leute!

Ich betreibe einen Apache-Websever, dazu Perl, unter Windows XP. Ich steuere mit einer html-Seite und einem Perl-Script ein Funkgerät über eine serielle Schnittstelle (com1). An com1 werden über TXD Datenbytes gesendet, welche vom Funkgerät verarbeitet werden. Nun möchte ich einige Funktionen hinzufügen, allerdings fehlen mir dazu einige Denkansätze. Von com1 würde ich gerne über RXD Daten auslesen und auf der html-Seite ausgeben. An com2 möchte ich RTS oder DTR auf high und low setzen. Und auf LPT1 möchte ich D1-D7 auf high und low setzen. Hätte vielleicht jemand Lösungsvorschläge, bitte? Falls erforderlich kann ich den Quelltext der html-Datei und das Listing des .pl-scripts gerne hier veröffentlichen oder mailen.

Vielen Dank!

Wulli
dominicn
 2006-03-27 01:46
#7202 #7202
User since
2003-08-08
327 Artikel
BenutzerIn
[default_avatar]
Den Parallelport kannst du ganz gut mit CPAN:Device::Parallelport ansteuern. Damit kannst du auch einzelne Bits setzen bzw. lesen.

Für den COM-Port solltest du dir mal CPAN:Win32::SerialPort ansehen.

Edit: Tippfehler beseitigt.\n\n

<!--EDIT|dominicn|1143410867-->
Wulli
 2006-03-27 20:50
#7203 #7203
User since
2006-03-27
13 Artikel
BenutzerIn
[default_avatar]
Hallo!

Vielen Dank für den Tip. Jetzt habe ich das nächste Problem: Die Module für com und lpt sind nicht installiert. Mit source-code kopieren und im lib-verzeichnis speichern ist es nicht getan. Also hab' ich es wie in wiki beschrieben mit ppm versucht... Keine Chance... "Could not locate a PPD-File..." kann ich dem Modulmanager nur entlocken!
Etwas anderes, bitte: Bleibt mir diese einmal installierte Modul nach Neustart de PC's erhalten, oder muss ich diese Prozedur jedesmal wiederholen?

Vielen Dank!

Wulli
renee
 2006-03-28 10:15
#7204 #7204
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Einmal installiert - immer vorhanden.

Hast Du die Installation mal mit CPAN.pm oder manuell versucht??
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Wulli
 2006-03-28 21:01
#7205 #7205
User since
2006-03-27
13 Artikel
BenutzerIn
[default_avatar]
hallo renee,

danke für deine antwort. ich hab' mit ppm versucht, diese module zu installieren. also manuell, oder? nach einer kleinen schaffenspause (über nacht) hab' ich mich heute nochmals mit diesem thema beschäftigt - und siehe da: unter
http://www.bribes.org/perl/ppm/Win32-SerialPort.ppd bin ich fündig geworden. Obwohl, wenn man diese Adresse in den Browser eintippt, kommt nur ein Einzeiler daher. Aber es hat funktioniert (nachdem ich Gross/Kleinschreibung beachtete...)!!! mit ppm install http://ww....... usw. konnte ich die Installation starten. Nun muss ich "nur" noch das Ganze ins Script einarbeiten, so dass es auch funktioniert (...). Das wird vermutlich die grössere Herausforderung.

Danke fürs Erste, ich werde euch sicher noch öfters "belästigen"...

Wulli!\n\n

<!--EDIT|Wulli|1143566055-->
Wulli
 2006-03-28 21:13
#7206 #7206
User since
2006-03-27
13 Artikel
BenutzerIn
[default_avatar]
Hallo!

Das gibts nicht - auch das Modul für die parallele Schnittstelle konnte ich finden, dank diesem Beitrag hier im Forum:

http://board.perl-community.de/cgi-bin....1;t=580

Ich find das toll, euch, dieses Forum und ein ganz klein wenig auch mich, weil ich nicht gleich aufgegeben hab'...

Danke nochmal!

Wulli
Wulli
 2006-03-28 22:28
#7207 #7207
User since
2006-03-27
13 Artikel
BenutzerIn
[default_avatar]
Hallo!

Wie vorausgesagt, habe ich schon ein Problemchen:
Wenn ich Run/Debug ausführe, bekomme ich folgende Fehlermeldung: "can't open device", ohne Bezug auf eine bestimmte Zeile. Das kann ja alles heissen, oder?
Das Listing ist 275 Zeilen lang, ich wollte vermeiden es hier reinzukopieren...
In der DOS-Eingabeaufforderung starte ich das Script mit perl name.pl und bekomme folgenden Hinweis:
Das System kann den angegebenen Pfad nicht finden. Das bezieht sich wohl auf Win32::SerialPort. Wie kann ich denn die Pfadangabe ändern, bitte?

mfg

Wulli\n\n

<!--EDIT|Wulli|1143571343-->
renee
 2006-03-28 23:00
#7208 #7208
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Kannst Du vielleicht die wichtigen Zeilen (die mit CPAN:Win32::SerialPort zu tun habe) posten??
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Wulli
 2006-03-28 23:15
#7209 #7209
User since
2006-03-27
13 Artikel
BenutzerIn
[default_avatar]
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# com1 konfigurieren

require 5.003;

use Win32::SerialPort qw( :STAT 0.19 );

$PortObj = new Win32::SerialPort ($com1)
      || die "Can't open $com1: $^E\n";  

$PortObj = start Win32::SerialPort ($ser1)
      || die "Can't start $ser1: $^E\n";
 
  $PortObj->baudrate(57600);
  $PortObj->parity("none");
  $PortObj->databits(8);
  $PortObj->stopbits(2);
\n\n

<!--EDIT|GwenDragon|1143735614-->
Wulli
 2006-03-28 23:59
#7210 #7210
User since
2006-03-27
13 Artikel
BenutzerIn
[default_avatar]
Auch macht mir das hier zu schaffen:
L <Device::ParallelPort::drv::win32>
my $port = Device::ParallelPort->new(lpt1.pl);
       $port->set_bit(3,1);
       || die "Can't open LPT1: $^E\n";  

Fehlermeldung:
Syntax error at line 1

mfg

Wulli\n\n

<!--EDIT|Wulli|1143576329-->
<< |< 1 2 3 >| >> 27 Einträge, 3 Seiten



View all threads created 2006-03-26 23:53.