K8055 WebLink

Short info

This program is made to control machines such as model cars or simple robots remotely from a webpage. The web “triggers” can be configured to trigger multiple outputs with different timing and grouping options.

How to use “Operate” Tab

This is how the program looks like when started up.

Digital Outputs

For the digital outputs there is a timer, a group and an inverter for each output.

When the outputs are in one Group each (as shown above), they all can be activated at the same time, but if there are several together in the same Group (as shown below), then the other outputs in the Group will be disabled when one of the outputs in the Group is active (the outputs are mutually exclusive). This function can be used to provide protection against situations such as 2 web visitors trying to get a motor to run in both directions at the same time. Remember: a web site is always a multi-user environment, and JavaScript in the browser in not sufficient to keep User A from doing something that conflicts with User B’s actions. Grouping outputs takes care of this sort of problem.

Here the outputs are in groups, so output 1 and 2 can’t be activated at the same time; likewise for 3 and 4, 5 and 6, 7 and 8.

Analog Outputs


Values can be entered (0 – 255) to send to Analog Outputs 1 & 2. This is just a manual function with no web interface for now. That may change in a future release.



The digital inputs can be used to monitor switches or other On/Off sensors. Analog inputs could be used to monitor devices such as temperature sensors. The input update (read) time can be set in “Update (mSec)”. The “Input Logging Path” is the path where the program stores a text file containg the readings from the digital and analog inputs.

The textfile will look like this: (textfile is named CARDn-INS.txt, where n is the hardware address of the K8055 card)


The first 5 lines (zeros here) represent the Digital Inputs 1 – 5 and will be set to 1 if the input is activated. The next 2 lines (also zeros) are the values of Input 1 Counter and Input 2 Counter. The last 2 lines (138 and 81 here) are the values (0 – 255) of Analog Inputs 1 and 2.

This could be used like this: (asp)

input = 1 'The input you want to read from
counter = 1
set fs=Server.CreateObject("Scripting.FileSystemObject")
set t=fs.OpenTextFile(Server.MapPath(".") & "\CARD0-INS.txt",1,false)

do while counter < input
	counter = counter + 1

mode = t.ReadLine

response.write "The input " & input & " is: " & mode

How to use “Configure” Tab


“Trigger” is the term we use for the “signals” that are sent to the program when buttons or links are clicked in visitors’ web browsers.

By the default each Trigger is set to activate the same-numbered output. So Trigger 1 activates Output 1 (etc.), but that can easily be changed.

Set the checkboxes below each Trigger to speciofy which outputs it should activate, and save it. Couldn’t be easier. 🙂

Next thing is the “Use timer” modes.

  • Trigger – The timer in the Trigger column will control all the outputs activated by that trigger. The Trigger activates all its outputs at once and they all deactivate when the trigger’s timer completes.
  • Output – The output timers are set on the “Operate” panel; each output has its own timer. The Trigger activates all its outputs at once but they deactivate according to their individual timers.
  • None – The Trigger activates all its outputs at once and they remain on until a command is received to deactivate them. (More about this later)

How to operate with AbelCam


To operate the outputs from a website we are using AbelCam. Here is how it should be configured.

You need to change “Command” for the path to the file on your system. Also, do not forget to select “Return HTML” – it is not the default selection in AbelCam.

When this is done, and the K8055 program and AbelCam are running, it is time to test it.


Change “yourip” to your ip, and 8080 to the port that you have AbelCam running on. When that is done, and the url is ented, Trigger 1 is triggered, and the outputs that you configured on Trigger 1 are activated.




This command will activate the outputs configured for Trigger 1, and they will stay activated until the timer(s) run out. But if Trigger 1 is configured for “None” timer then they won’t ever deactivate by themselves.


This command will deactivate the outputs configured for Trigger 1 off.

Refer to the readme files included with the downloade for a complete list of commands and a sample HTML page that can send all commands.

How to operate with other webservers

This software will work with the Apache webserver on Win32. It will probably work with other webservers that can be configured for execution of CGI scripts, but it has only been tested on Apache.

Please refer to the readme-apache file, which is included in the download, for installation and configuration details. The K8055 WebLink server program is the same for any webserver, but a slightly different client program (kpclient.cgi instead of kpclient.exe) is used. The HTML for sending commands is also slightly different – see k8055cgi.html in the download for example code.

Download: K8055WebLink

10 thoughts on “K8055 WebLink”

  1. I have tested this with a Abyss web server X1, it worked well. Just enable CGI file execution in the Abyss control panel to make it work.


Leave a Comment