开发者

How to read from Serial port in a webpage

I want to design a webform that user should fill some fields. The value of one field should be read from Serial port (COM1) of client computer which a special hardware is connected to it and the user presses the Send to PC key of the hardware when filling the form.

How i can listen to COM1 port in my webpage and get the value of COM1 and place it in the web form automatically?

I heard that ActiveX controls can do this but it is compatible only with IE (right?). The other option is Java applets.

I want a simple solution which be compatible with (at least) IE/Firefox/Opera.

I the server-side i can have ASP or PHP but i am appreciate if you give a sol开发者_StackOverflowution for each.

UPDATE:

We can tell clients to change their security settings to accept our ActiveX/applet.

It is also possible for us to tell clients to install a custom program which runs as a service and reads from Serial port.

The problem is the read data should be entered to the webform automatically and immediately.

The java applet is a good idea, but the client have to install JRE which is large in size.

Is there any other option?


I was solving the same problem and I did it. It is done using a Java Web Applet. You will need NetBeans. Read "readme" first. Let me know if anything, pls.

http://racky.wz.cz/applet_rs232.zip

Designed for serial COM1. Plug in it a RS-232 cable and short (connect) pins 2 and 3 on the other end.


With a Java Applet you can read from the serial port but you need to sign the applet for security reasons. To firm unofficially (no sun's firm) you have to create a certificate. Here is an example.


This would appear to break most security models for the web. I cannot think of a way that it would be possible to do within a browser without granting an applet or ActiveX control a whole lot of permissions (and even then I'm not certain it's possible). I think it's likely to require some kind of native "thick" client-side application to do the communication with the serial port.


Java might very well be your best choice for maintaining cross-browser and cross-platform compatibility. A quick search brought up these pages that you may find useful:

  • Java Communications API
  • Java Serial Programming Wikibook

The server-side choice doesn't matter at all. Once the client reads the data, it's the same as sending any other data to a server-side script.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜