Skip to content
pklaus edited this page Apr 2, 2011 · 31 revisions

The netio230a is a software to control the Koukaam NETIO-230A, a cheap but advanced multiple socket. It is programmed in the scripting language Python. It is easy to use and you may use it in your own projects according to the terms of the GPL v3 as included in the notes of the code.

Hardware and Software of NETIO-230A

Wiki sites documenting the hardware and software interface of the NETIO-230A:

Wiki-Site description
Koukaam NETIO-230A product informations, links to the producer and the manual
NETIO-230A Hardware documentation of the hardware of the NETIO-230A
Raw TCP Interface Protocol documentation on the standard telnet responses
Network Discovery Protocol documentation of the UDP protocol used to discover the available devices on your net
NETIO-230A firmware changelog changelog of the NETIO-230A firmware versions
RS232 Serial Communication documentation on the serial terminal of the NETIO-230A

This Software's Core

The core of this software is the Python module netio230a:

  • netio230a.py - The module and class netio230a with the functionality to query and command the Koukaam NETIO-230A

command line user interface

There is a command line tool (to switch on/off ports) included in the package:

  • netio230a_ctrl.py

graphical user interface

And a graphical user interface is also included. PyGTK gui for the NETIO-230A (query status / switch on/off ports):

  • netio230a_gui.py

You can find screenshots on the screenshots site of the project website.

examples to show how to use the netio230a module/class in your Python projects

To show you how you can take advantage of that class in your own scripts, there are also several example files included. Take a look:

  • example.querySystemStatus.py Query all information of the NETIO-230A
  • example.switchPower.py switch on/off a port of the device
  • example.setTime.py manually set the time of the box
  • example.interrupt.py interrupt an output for a predefined time
  • example.querySystemStatus.py about 8 hours ago mostly changed examples [pklaus]
  • example.reboot.py reboot the NETIO-230A (without loosing the power status on the ports)

discovery tool

There is also an automatic device discovery implemented in the class to trying to provide the same functionality as the Windows Tool NetioDiscover.exe by Koukaam. It is able to detect all Koukaam NETIO-230A devices on your network (must be on the same subnet as your computer is). What it cannot do is to set the IP of the device yet.

  • discoverNETIOsOnLAN.py

example run:

$ python discoverNETIOsOnLAN.py
Trying to discover any Koukaam NETIO-230A available on your LAN
UPD answer in 3.40 ms from: 192.168.100.2
Found a Koukaam NETIO-230A:
Name is: PCwatcher
IP address: 192.168.100.2
Subnet Mask: 255.255.255.0
Gateway address: 192.168.100.1
MAC address: 00:92:58:00:6F:07

Exiting after having found a number of 1 Koukaam NETIO-230A devices.

Alternative TCP Interaction Possibilities (not making use of this software project)

Wiki sites that do not make use of the software in this repository but show other possibilities to access the NETIO-230A:

Wiki-Site description
C# Project C# Project - If you are using Windows and are not that much into programming, then you might have a look at this. It includes a reusable DLL as well as a GUI and the software is Freeware. The DLL is released in source code too.
Bash Demo command NETIO-230A using Bash
Java Demo command NETIO-230A using Java
PHP Demo command NETIO-230A using PHP
Ruby Demo command NETIO-230A using Ruby
Windows plink.exe Demo command NETIO-230A using plink.exe from putty project