471,055 Members | 1,722 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,055 software developers and data experts.

?? Modules for GPIB and Ethernet ??

Hi folks,

Just wondering if anyone knows where I can find modules for NI-488.2
GPIB and for a generic ethercard?

Thanks.
Jul 18 '05 #1
7 2944
Chaser wrote:
Just wondering if anyone knows where I can find modules for NI-488.2
GPIB and for a generic ethercard?


Can't help directly with the GPIB thing, except to note that
using something like ctypes it is generally pretty easy to
wrap the NI libraries for such things.

As for the other question: do you actually mean you want a
way to talk "raw" Ethernet, or are you just trying to do
some networking?

-Peter
Jul 18 '05 #2
Peter Hansen <pe***@engcorp.com> wrote in message news:<0-********************@powergate.ca>...
Chaser wrote:
Just wondering if anyone knows where I can find modules for NI-488.2
GPIB and for a generic ethercard?


Can't help directly with the GPIB thing, except to note that
using something like ctypes it is generally pretty easy to
wrap the NI libraries for such things.

As for the other question: do you actually mean you want a
way to talk "raw" Ethernet, or are you just trying to do
some networking?

-Peter


Hi Peter,

I have an equipment that's controlled through ethernet. (The control
program is currently written in C++.) I guess my really difficulty
is, how do I send commmands to that devise through ethernet using
Python?

Any suggestions are appreciated. Thanks.

v/r,
Justin
Jul 18 '05 #3
In article <21**************************@posting.google.com >,
ju********@yahoo.com (Chaser) wrote:
I have an equipment that's controlled through ethernet. (The control
program is currently written in C++.) I guess my really difficulty
is, how do I send commmands to that devise through ethernet using
Python?


You havn't given enough information to give a good answer, but I'll take
a shot.

First, you need to know what kind of protocol your device talks. It's
virtually certain that the device implements some kind of custom
application-level protocol on top of some standard transport layer such
as TCP/IP. Assuming that's the case, you need to:

1) Find the documentation for the application-level protocol it talks.

2) Find out the IP address (or hostname) of the device.

From within Python, you will need to create a socket, connect the socket
to your device using the connect() method, and then use the send() and
recv() methods to talk to the device. You'll need to implement the
application-layer protocol yourself.

The details of how to use sockets in Python (i.e. connect(), send(),
recv(), etc) are documented in "7.2 socket -- Low-level networking
interface" of the Python Library Reference. To really understand what
section 7.2 is talking about, however, you need to have a general feel
for how network communication works in general. Fortunately, the
introduction to section 7.2 contains some pointers to some good general
reference books.
Jul 18 '05 #4
In article <ro***********************@reader1.panix.com>,
Roy Smith <ro*@panix.com> wrote:
In article <21**************************@posting.google.com >,
ju********@yahoo.com (Chaser) wrote:
I have an equipment that's controlled through ethernet. (The control
program is currently written in C++.) I guess my really difficulty
is, how do I send commmands to that devise through ethernet using
Python?


You havn't given enough information to give a good answer, but I'll take
a shot.

First, you need to know what kind of protocol your device talks. It's
virtually certain that the device implements some kind of custom
application-level protocol on top of some standard transport layer such
as TCP/IP. Assuming that's the case, you need to:

1) Find the documentation for the application-level protocol it talks.

2) Find out the IP address (or hostname) of the device.

From within Python, you will need to create a socket, connect the socket
to your device using the connect() method, and then use the send() and
recv() methods to talk to the device. You'll need to implement the
application-layer protocol yourself.

The details of how to use sockets in Python (i.e. connect(), send(),
recv(), etc) are documented in "7.2 socket -- Low-level networking
interface" of the Python Library Reference. To really understand what
section 7.2 is talking about, however, you need to have a general feel
for how network communication works in general. Fortunately, the
introduction to section 7.2 contains some pointers to some good general
reference books.


I'll add that what you're attempting might be essentially impossible,
or extremely easy, or anything in between. Hardware vendors vary
WIDELY in the "hackability" of what they sell.

It might be worth calling in one of us with experience in networking
and physical devices for at least a small amount of initial consulta-
tion. It has the potential to save you months (! yes, I've seen it
take that long to understand a vendor sufficiently well to realize
that a problem has an easy answer).
Jul 18 '05 #5
On 5 Nov 2004 05:33:49 -0800, Chaser <ju********@yahoo.com> wrote:
Peter Hansen <pe***@engcorp.com> wrote in message news:<0-********************@powergate.ca>...
Chaser wrote:
> Just wondering if anyone knows where I can find modules for NI-488.2
> GPIB and for a generic ethercard?
.... As for the other question: do you actually mean you want a
way to talk "raw" Ethernet, or are you just trying to do
some networking?
.... I have an equipment that's controlled through ethernet. (The control
program is currently written in C++.) I guess my really difficulty
is, how do I send commmands to that devise through ethernet using
Python?


If this really is raw ethernet, I think your best multi-platform shot would
be a bleeding edge version of libpcap (http://www.tcpdump.org), and a Python
wrapper on top of it. Then make your OS accept the presence of the
interface, but not send or listen to it, and use libpcap to listen and to
inject (new feature in libpcap) ethernet frames.

It /might/ work. High data rates may be a problem; libpcap with a
relatively slow client might drop packets.

/Jorgen

--
// Jorgen Grahn <jgrahn@ Ph'nglui mglw'nafh Cthulhu
\X/ algonet.se> R'lyeh wgah'nagl fhtagn!
Jul 18 '05 #6
Jorgen Grahn <jg*********@algonet.se> wrote in message news:<sl************************@frailea.sa.invali d>...
On 5 Nov 2004 05:33:49 -0800, Chaser <ju********@yahoo.com> wrote:
Peter Hansen <pe***@engcorp.com> wrote in message news:<0-********************@powergate.ca>...
Chaser wrote:
> Just wondering if anyone knows where I can find modules for NI-488.2
> GPIB and for a generic ethercard? ... As for the other question: do you actually mean you want a
way to talk "raw" Ethernet, or are you just trying to do
some networking?

...
I have an equipment that's controlled through ethernet. (The control
program is currently written in C++.) I guess my really difficulty
is, how do I send commmands to that devise through ethernet using
Python?


If this really is raw ethernet, I think your best multi-platform shot would
be a bleeding edge version of libpcap (http://www.tcpdump.org), and a Python
wrapper on top of it. Then make your OS accept the presence of the
interface, but not send or listen to it, and use libpcap to listen and to
inject (new feature in libpcap) ethernet frames.

It /might/ work. High data rates may be a problem; libpcap with a
relatively slow client might drop packets.

/Jorgen


Wow! Thanks for the overwhelming support. I am a computer
illiterate. Please be patient with me.

I found the following posting that deals with GPIB interface using
Python.

http://groups.google.com/groups?q=py...eja.com&rnum=4

But I got stuck on the first step of installing the dynwin package.
The dynwin package relies on two auxiliary dlls, calldll.pyd and
npstruct.pyd.

I literally downloaded the .zip, unzip them and "drag and drop" the
two .pyd into my Python24/DLLs folders. Then I created a dynwin
folder in the Python24\Lib directory.

1. Is this the right way?
2. At the Python prompt, I typed "import windll" and got the error
message that the module doesn't exist!
3. I then tried "import dynwin.windll" and Python says module calldll
doesn't exist!

HELP HELP HELP
Jul 18 '05 #7
ju********@yahoo.com (Chaser) wrote in message news:<21**************************@posting.google. com>...
Hi folks,

Just wondering if anyone knows where I can find modules for NI-488.2
GPIB and for a generic ethercard?

Thanks.


Have you checked out: http://sourceforge.net/projects/gpib82357a/

This looks like a good reference...

Mike
Jul 18 '05 #8

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

1 post views Thread by Dannic | last post: by
1 post views Thread by whoopsi | last post: by
2 posts views Thread by Madhusudan Singh | last post: by
reply views Thread by DotNetJunkies User | last post: by
2 posts views Thread by Gurinder | last post: by
reply views Thread by dubZ | last post: by
reply views Thread by sathiyamurthy | last post: by
1 post views Thread by kavok | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.