Internet or LAN device for sensing and control

Table of contents:
HW-Group I/O Controller
      Getting started... the digital I/O
      MORE!!! The I/O Controller's serial port...
      A silly (but fun?) example...

                               Click here for larger view of ..........................>


Are you looking for ways to use computers in sensing and control applications? You don't need to be a programmer of electronics engineer... but if you are either, you are not "locked out"...you'll be able to do lots with the device I'm going to discuss. The picture shows four I/O Controllers, so that you can see front and back, and the two connector options.

In late May 05, I obtained an ethernet connected digital input output controller unit from HW group. I'll call it the IOC from now on. It has a serial port, too!

It can do MORE than the following, but let's start with something simple:

You can put the IOC wherever you want... as long as you can get a LAN connection to it from a PC. Now, from the PC, you can read the IOC's inputs, or change the state of it's outputs. If you have several PCs on the LAN, you can either let all of them access the IOC, or set up restrictions. I believe that as long as the PC is on the internet, and you set things up accordingly, you can access the IOC from any internet terminal. I believe there are provisions to password protect access to the device. (A detail: the inputs report "0" disconnected, or connected to the common ground shared by all of the inputs. They report "1" if connected to 8 to 20volts. the inputs are opto isolator protected. In other words, these are voltage sensing inputs, not resistance sensors.)

Unrelated to the above... the device also has a serial port. That can be used for configuring it (though you don't need to use it). More excitingly, you can have an extra "serial port" "on" your PC... but actually connected across the LAN. Do you know how many devices there are out there that will talk to a serial port? With the IOC, you can connect them to your PC without them having to be next to your PC.

Pretty cool device! I've also produced a page with my independent comments about the HW group product line.

Getting started... the digital I/O:

My I/O Controller working

They say a picture is worth a 1000 words. This picture is worth 10,000, to me, anyway. The device pretty much worked "out of the box", if you just wanted to interact with it via the HW group supplied mini-client... which LOOKS like what you can see on the screen in the photo.

However, the software in the photo is of my own devising, derived from the HW group demo.... and, because........
        * I'm working with Delphi 2, (because I like to Keep It Simple),
        * I hadn't ever "rolled my own" client/ server application before,
                (well... I had, but only by using a DLL which isn't freely available),
        * I went down several blind alleys,
.... I had many hours of "fun" "learning" before everything was sorted out! But what a buzz when it worked! !

I stress: There was nothing wrong with the HW group I//O controller, or the web-server inside it. It was "just" that I had to master client server work. I now have good answers to what gave me grief. As usual, it isn't hard to do. I will be writing it up here and in my Delphi tutorials at some point. (If you have the full developer version of a recent Delphi, you may need nothing more. For the rest of us, a great, free, solution is "ICS" (Internet Connection Suite), from Belgian François Piette. It supplies what you need for Delphi (ver 1- at least 7) and C, and probably others. Use http://www.overbyte.be/arch/ics.zip if the "download" button doesn't work. Be sure to use Winzip or similar's facility to maintain paths during the unzip. (WinZip: Use extract, tick box... don't just drag and drop from contents view.) ANYWAY... after HOURS of "fun"... not helped by some of my computers being in one of those moods, including the death of a CD drive... at 10am, 24 May, 2005, I ran MY program, clicked "Connect", ticked a few "turn this one on" boxes, clicked "Write LED"... and the LEDs responded accordingly!! :-) :-) :-)

A couple of points about what you see in the picture:
         The box ends underneath my hand. It is about as long as it is wide.
         The green thing is a pcb plugged into the box. It has LEDs and DIPs for the 8 bits of digital output and 8 bits of digital input. It comes with the device, and it just plugs in, regardless of whether you have the "Terminal" or 25 way D connector ("Canon37F") version of the device.
         Sharp eyed readers will notice that the virtual LEDs do not agree with the real LEDs.... That's because the virtual LEDs are there to report what is present on the units inputs. There are checkboxes on the screen. They determine which real LEDs are on or off.... so there would be no reason for the virtual and real LEDs to match.

There is excellent information at the manufacturer's website, http://www.hw-group.com.

You can download a scruffy version of the sourcecode if you like. REMEMBER: I said "scruffy"... this is not the way my code usually looks! If enough people email me, I will put some effort into cleaning up the code. If you email with comments which show you've given some of my shareware a try, I'll get to the code cleanup sooner!

Besides the with-sourcecode version of the HW group program, which you can download with the link in the previous paragraph, I am also offering an improved version of the same. The link will give you a zip file with the Delphi sourcecode, and a copy of the .exe "ready to run". In the original, you had to click a button to send the outputs you had designated, or read the current state of the inputs. My adaptation of HW group's program toggles the outputs as soon as you tick boxes, and can enter a loop checking and rechecking the inputs several times a second.

You can interact with the device at several levels. The device comes with a mini-app which allows you to read the inputs, change the outputs, interact with the serial port. The app comes with sourcecode in Delphi, Borland C++, Visual Basic. You can also control the device via PHP. One of the strengths, I think, of the product line is that the manufacturer is willing to share details of the programming and of the electronics, and backs that willingness up with online (and supplied on CD) documentation. Also... if you master one device in the product line, you will have made a start on interacting with most of the other products offered by HW group.

MORE: The serial port:

Remember: I am new to this device... but "out of the box" this was possible...

I connected:

PC "A"    <----by Ethernet ---->    HW group's I/O Controller    <---- by serial cable---->    PC "B"

(The cable mentioned above came with the IOC. It is a simple "Laplink" type cable, to connect the serial ports of the IOC and PC B)

I used the Windows device manager to set PC B's serial port for 9600-8-N-1. (More below.) I then fired up the Charon Client software (supplied with IOC, along with its sourcecode) in PC A, and Hyperterminal (comes free with Windows) in PC B. What I typed on PC A now appeared on PC B, and vice versa!!

If it doesn't work first time for you, it is almost certainly because PC B and Hyperterminal are not set up right. I have spent many frustrated hours getting serial comms to work. The systems seem to lie. If in doubt: Shut down Hyperterminal. Check port config via Device Manager (Win 98: Right click My Computer | Properties | Device Manager.) Restart Hyperterminal. Having Hyperterminal auto configure may, or may not help.

"NVT", which appears on the Charon Client window, stands for "Network Virtual Terminal". I don't know what ticking the box about NVT echo does... yet!

I found that when I sent info from PC B to PC A, it appeared on PC A one character at a time, starting a new line for each character, as fast as I typed it on PC B. Transmission didn't wait for me to press the enter key. This probably makes sense, and wasn't a problem with my WeatherDuck (more in a moment), but it seemed odd at first. Don't be surprised when you see it happen.

So! The virtual serial port, i.e. a serial port "on" your PC, for all intents and purposes... just ACTUALLY on the end of a potentially very long wire connected to your PC WORKS... but what's it good for? (Remember: Where I have "Ethernet" in the diagram above, you might have a simple LAN... or you might be talking across the internet.)

Just to see if I could, I tried using a device called a WeatherDuck via the IOC. Worked first time!

The WeatherDuck is 2cm x 3.5cm x 9cm. It plugs into a serial port. Into it, you can plug a 1-Wire MicroLan... but that's a WHOLE 'nother story!! Even without the MicroLan, the WeatherDuck can tell you, on request...
        * Temperature at the Duck
        * Humidity
        * Light level
        * Airflow

Could you use the "airflow" sensor for wind speed? Not really.. it is intended primarily for checking that a cooling fan is working. It would also be good for monitoring airflow in forced-air HVAC systems.

The Weatherduck has two LEDs you can turn on or off.

Although I've never dared do too much with them, the WeatherDuck also has three connections for... believe it or not... digital input OR digital output OR analog input. Not one of each. Each connection can be used for any of the three jobs. Just don't mess up the external electronics!

The only bad news is that this neat little device doesn't come cheap. Why should it? I bought mine when it was new, at an introductory price of $99. For several years now, a WeatherDuck has cost $199

Anyway... as I said, I plugged my WeatherDuck into the IOC (in place of "PC B"), used PC A to send "T" to the WeatherDuck, and back came the temperature! Remember: The IOC means that the WeatherDuck and the PC can be an internet apart. The WeatherDuck draws all the power it needs from the serial port.

A silly (but fun?) example:

The following is meant more as light relief than as a serious idea... but maybe it will jog your grey cells into seeing which jobs you need done can be done by the IOC. Also remember the Poseidon from HW group, if you need to sense temperatures. Although I'm using a WeatherDuck in what follows, you could do most of it with the IOC alone, and a few bits of simple electronics...

At a remote site, in a room not blessed with much sunlight, set up an IOC connected to the internet and to a table lamp and a WeatherDuck. Put the WetherDuck above the lamp.

With such a set up, using just the Charon Client software from a PC somewhere else, you could....

Turn the lamp on and off.

CHECK that it actually HAD gone on or off by "looking" at the light and temperature sensed by the WeatherDuck!

Oh well.... maybe I do sometimes have too much time on my hands... but I haven't this week, what with getting all this put together for you. At least I didn't actually set up my table lamp example!!

Be sure to read the documentation provided by HW group. It is good. It also goes into the sort of detail that some manufacturers decline to share.

   Search this site or the web        powered by FreeFind
  Site search Web search
Site Map    What's New    Search The search engine merely looks for the words you type, so....
*    Spell them properly.
*    Don't bother with "How do I get rich?" That will merely return pages with "how", "do", "I"....

Please also note that I have two other sites, and that this search will not include them. They have their own search buttons.
My site at Arunet.
My oldest site. (It's at Compuserve).
Ad from page's editor: Yes.. I do enjoy compiling these things for you... hope they are helpful. However.. this doesn't pay my bills!!! If you find this stuff useful, (and you run an MS-DOS or Windows PC) please visit my freeware and shareware page, download something, and circulate it for me? At least (please) send an 'I liked the parallel port use page, and I'm from (country/ state)' email? (No... I don't do spam) Links on your page to this page would also be appreciated!
Click here to visit editor's freeware, shareware page.

Other projects

This is just one of the guides I have published on the net. Please visit any of the following that relate to interests you have....

Delphi Tutorials
Pascal programming tutorials
Electronics for hobbyists and schools
Main Home Page

Here is how you can contact this page's author, Tom Boyd.

Index of sensing and control pages (From there you can also go to other help from the editor of this page.)

-- Page ends --