Web Call Button System

development and manufacturing cooyou.org
MAIL admininfo@cooyou.org


The "Web Call Button System" is a free software product. This is an advanced system that uses commercially available tablets and PCs to enhance the buzzers that call out to clerks at restaurants and other locations. It is used in conjunction with the Crazy Small Series non-contact airborne input AirOneFT ,ATch,AirFT(or button type OneFT). Since no commercial equipment is used, it can be used in a variety of facilities. It can be used in the home as well, as it works on a small scale from one set. You can also build a nurse call-like system in your home. If you have some PC skills, you can install the system by yourself, so you don't have to pay for installation and maintenance. Building the system is easy. (Since it can be browsed through a web browser, it can also be browsed remotely outside the WiFi environment by exposing the external port on a router or using a VPN.) If you have any questions, please contact us by email. There is very little effort to install, because it is only a Windows IP address and security settings. AirOneFT/ATch/OneFT can also be set up by simply pressing the Preset B button. AirFT need to be set space key at four direction. To set up the system, you will need a tablet as a seating device and PC hardware as a server. Please prepare it separately. You can also use any number of tablets (or smartphones) for mobile devices, if you need them. The tablet requires a separate power supply. Use a power-supplyable dog or a power-supplyable USB hub; use one USB with AirOneFT (or ATch,OneFT,AirFT).

Equipment Configuration

Seat side: Tablet (OS or not, power supply required) + OTG adapter + USB cable + Crazy Small AirOneFT (or ATch,OneFT,AirFT)
Server PC (1): Windows 10 PC, which can also run on laptops. It will be in motion at all times.
Mobile terminals (0 or more units. (Any number of units or no units are acceptable): Regardless of OS. A smart phone or tablet would be good.
WiFi environment is required.
The update status will not be reflected if the device sleeps and the browser is stopped.

Functions of each device

(seat side)
You can use any number of devices by simply entering a seat number in the URL you enter in the address field of your browser.
You can check the status of the request waiting or being requested on the browser screen of the tablet.
You can use either the Crazy Small AirOneFT or ATch,OneFT,AirFT.
When using the Crazy Small AirOneFT,ATch,AirFT, non-contact airborne input is possible instead of a button.
It is possible to prevent the infection of new coronaviruses, etc.
If you use the Crazy Small OneFT, you can operate it the same way as a conventional button.
You can delete the request by touching the screen when the request is in progress.
A sound will be made when requested.
It is possible to display two GIF animations for the advertisement. It can be used for product presentations, etc.
*If you do not want to use Crazy Small,you can do another way. see FAQ.

(PC for server)
There is no need to install a separate web server or database system.
Installation is easy. You can freely customize it.
You can see the request list screen on the browser screen. The request is displayed in chronological order.
You can delete a request. A sound will be played when a new request is made.

(Mobile terminal)
You can see the request list screen on the browser screen. The request is displayed in chronological order.
You can delete a request. A sound will be played when a new request is made.
It is possible to delete requests by operating a seat-side tablet or server PC without installing a mobile terminal.

The tablet screen in the seat.

Connect the tablet to the seat and the Crazy Small AirOneFT (or ATch,OneFT,AirFT) with a USB cable and OTG adapter.
Please use a power-supplyable dog or a power-supplyable USB hub.
The OS can be Android, iOS or iPadOS, but you need a device with OTG function. On some models, the OTG function needs to be enabled in the settings when connecting. It would be better for the model to be enabled without any settings.
Please refer to here top page for details on cable types and connection methods.
It will not work with the USB cable for charging, so you need a USB cable that can communicate with data.
The tablet uses a browser.
The browser application of the tablet recommends the one that can display full screen.
(For your reference, I have tested it with an Android app called Fully Kiosk Browser)
Just replace the left.gif and right.gif in the PC installation folder and it will work.
The number of terminals can be increased at will. Determine the seat number and include it in the URL.
The connected Crazy Small AirOneFT (or ATch,OneFT,AirFT) should be switched between presets.
Power is supplied via the OTG adapter and USB cable after the tablet starts, so please push the center B button on the side.
The preset becomes a space key output. This setting will be remembered, so you only need to do it once during installation.
The URL is http, not https, so please be careful not to make a mistake. .
http://PC IP address/webbtn.exe?no=seat number
If you have changed the port number, you will see it at http://PC IP address:port/webbtn.exe?no=seat number
The above is the AirOneFT screen; the OneFT screen is here. You can switch models by copying the files in the installation folder/AirOneFT (or ATch,OneFT,AirFT) folder to the installation folder.
The ATch screen is here.
The AirFT screen is here.
When the user senses a 3-second hand gesture (or button press), a sound will be heard and the screen will switch to this screen.
Touch the screen to return to the top screen. (The same operation is also possible from the Request List screen.)
You need to customize to disable touch.

Request List Screen

This can be displayed on a PC for the server, or it can be displayed on a tablet (smartphone) owned by the clerk. You can share the same screen with multiple devices.
The URL is http, not https, so please be careful not to make a mistake.
http://PC IP Address/webstatus.exe
If you have changed the port number, go to http://PC IP Address:port/webstatus.exe
When the screen appears, please touch the screen. Originally, this operation is not necessary, but it is necessary to play the sound in the browser. If the sound is not needed, it can be removed by customization.
The request list will be displayed. If the list is long, you can scroll it. It will show you how many minutes and seconds ago the request was made and the seat number. If there is a new request, it will be automatically updated and sounded. Requests will be listed in order of oldest.
If you touch any line from the list, a pop-up will be displayed. (Don't disable pop-ups in your browser.) Selecting the "OK" button will delete the request. This also works with the tablet in the seat. It is the same as the motion of touching the tablet in the seat.

Network settings for Windows 10 PC

In the network settings, disable DHCP for IP addresses and set a fixed IP address.
Click on the window symbol at the bottom left of the desktop screen, then click on the gear symbol.
Select "Network and Internet" from the settings screen.
Select "Change adapter options".
Right click on the adapter you are using and select "Properties".
Click "Internet Protocol Version 4 (TCP/IPv4)".
Select "Use the next IP address", enter the IP address and subnet mask, and click the "OK" button.
In this example, we set the address to and the subnet mask to
In general, the last digit (42 in this example) of the IP address automatically obtained by DHCP is small, so if you are unsure, it is better to use a large number after 130. The default gateway or preferred DNS server usually contains the address of your WiFi router, but if you don't have internet access, you don't have to.

Security settings for Windows 10 PC

In order for the web server (tanjunwsv.exe) to work, the listening port needs to be opened.
Click on the window symbol at the bottom left of the desktop screen, then click on the gear symbol.
Select "Update and Security" from the settings screen.
Select "Windows Security" from the "Update and Security" menu on the left.
Select "Firewall and Network Protection" on the Windows Security screen.
Click on the "Advanced" link in the Firewall and Network Protection screen. (Select "Yes" when the User Account Control dialog box is displayed. (same hereafter)
Click the "Rules of Reception" link on the left. Then click on "New Rules" in the top right.
Select "port" and click the "Next" button.
Select "TCP". Select "Specific Local Port" and enter the web server port number 80 and click the "Next" button. (You can change the port number by creating "SERVER_PORT" in the environment variable and writing the number in it. (In this case, the set number will be written.
Select "Allow connections" and click the "Next" button.
Click the "Private" checkbox and click the "Next" button. (If you are managing a domain, check the domain as well. (usually not required)
Include your name." Write "webbtn" and click the "Done" button.

Installing software on a Windows 10 PC

Download the webbtneng120.zip here and unzip the zip file to a folder of your choice. Please put it in a folder with an alphanumeric path that does not contain spaces. We have not checked the operation of paths containing Japanese or spaces.
For example, where C:/webbtn
Next, the equipment used is
. For Crazy Small AirOneFT, copy the files in the installation folder/AirOneFT folder to the installation folder.
For Crazy Small ATch, copy the files in the installation folder/ATch folder to the installation folder.
For Crazy Small OneFT, please copy the files in the installation folder/OneFT folder to the installation folder.
For Crazy Small AirFT, please copy the files in the installation folder/AirFT folder to the installation folder.
(If you have already copied one of them, it will be an overwrite copy. The subfolders are not referenced at runtime. (Refer only to the files directly under the installation folder.
This completes the installation.

(How to change the port of the web server)
Create a Windows environment variable named SERVER_PORT and enter a numeric port number.
The screen for setting environment variables can be found by selecting "System and Security" from the Control Panel (press the Windows key + R key and type "control" and press the OK button), and then clicking on
. Select "System", click "Advanced System Settings" on the left side, then click the "Environment Variables" button on the "Advanced" tab.
Either user environment variables or system environment variables can be used, but please create a new one and register it. If there is no registration, it will be the default number 80.

How to run it on a Windows 10 PC

Right-click on the installation folder serverrun.bat, select "Run as administrator" and run it. tanjunwsv.exe on the web server will be run.
Because this batch file is started anew after the old process is erased, it is reflected by executing it after the configuration is changed.
Please note that the window and the icon are not displayed while it is running.
To terminate a running process, right click on serverkill.bat, select "Run as administrator" and run it.
Please select "Yes" when the confirmation dialog for user account control appears after starting.
Now that the web server has been started, you can enter the specified URL in the address field of the browser on each device to display it.
During operation, a tbl.txt file is created in the installation folder for data retention. If you want to clear all requests, please delete this file.

Web Call Button System Software License

It's completely free, whether commercial or non-commercial.
Basically, everything is free to use.

Vendors and trading companies can add support services or customize their products for a fee.
You can also sell it under a different name.

All source code except the source code of the web server itself is included in the product.
You are free to modify and redistribute it as you wish.

File Details

. HTML and images can be freely changed, so it is fully customizable by itself.
The source code of C#, the original CGI, can also be compiled from the command line with the C# compiler included as standard in Windows 10.
It contains batch files for compiling, so you just need to run each batch file.
webtbl.* Called from the webbtn and webstatus iframes for data management.
webbtn.* for seat terminal screens You can customize webbtn.html mainly.
webstatus.* For the request list screen It is recommended to customize webstatus.html mainly.
This source file is a .cs file, with the extension .exe being the executable file. The .bat file can be compiled into a .exe file.
If you run .exe, it will load .html and replace the keywords in .html with the standard output.
In other words, .html is almost the same as regular HTML, but it is used as a template.
The web server tanjunwsv.exe transfers its standard output to each browser.
*.jpg Each image file. Please use them in place of each other.
*.gif An animated GIF for displaying advertisements. Please replace it with an infinite looping GIF file.
*.mp3 sound file. Please use them in place of each other.
After customization, you need to reload your browser screen.

No compensation will be given for any damage caused by the use of this system.


It is possible to display the list, but not the screen for seats.

Please make sure that the files in the subfolder are copied directly under the installation folder during the installation.

The request doesn't send

Please check the URL of webbtn.exe to make sure that no=seat number is written in the URL. I think it's a good idea to put it in your favorites.
Also, make sure that Crazy Small AirOneFT (or ATch,OneFT,AirFT) is recognized.
If it is recognized, it becomes a space key output setting when preset B with the center B button on the side. This setting is only done once during installation.
For example, try using an app like the Notepad app and see if there's space in the input field when you press a button.
If there is no input, the OTG connection may be invalid. Usually, some kind of message is displayed when you connect.
The USB cable should also be able to communicate with data, not just charge.
Also, the web server must be running at all times on the server PC.

The automatic update of the list screen is slow, so I want to make it faster.

SetTimeout(Update, 10000); in webstatus.html to a smaller value. 10000 means 10.000 seconds.
If the update interval is short, the number of communications with the server PC will increase.

I want to make AirOneFT work faster

Reduce the number of 2000(msec) in tmr=setTimeout(Request, 2000); in webbtn.html. Also, please change the messages and images to be displayed as well.
The AirOneFT can detect a distance of about 50 cm in the sky even with the default low sensitivity setting, so a short time will result in many malfunctions.
AirFT can detect a distance of about 20 cm in the sky.

Can I use a self-powered USB hub for a seating tablet?

Yes, that's right. I think it's common in recent USB type-C tablets to supply power to the hub to power the tablet as well.
And Crazy Small AirOneFT (or ATch,OneFT,AirFT) should be fine as long as it is also recognized.

Is it possible to operate with just a button on the seat without a tablet?

The AirOneFT or ATch,OneFT,AirFT has no communication capabilities and no power supply. If you don't need a screen, you can use an embedded device such as the Raspberry Pi to auto-launch your browser,
. I think it is possible to operate without a monitor. It's how to cancel and what to do with the button sound, but I guess it's good for the cost.
If you use Linux, you can use wget command.
wget "http://PC IP Address/webtbl.exe?no=seat number&mode=R" This means to push button.
mode=C means to cancel.
mode=Q means to get status.
No parameter means to get list.

The power supply is on, but the charge is decreasing.

It does so when the power consumption is greater than the power supply. This is especially true for screen displays, which consume a lot of power
. I think it's a good idea to set the screen to automatically go a little darker.
When you sleep, the screen disappears completely, so I think it's better to set it not to sleep.

I want to display images for product display on a tablet for seating.

Please replace the left.gif and right.gif images. It is recommended to create an animated GIF to loop.
There are sites that allow you to make animated GIFs for loops for free, so it's a good idea to use such a service.
Other than these image files, you can easily add them to any position by editing the HTML.

I want to customize the HTML file.

The one for seats is webbtn.html. The webstatus.html file is used for the list.
The javascript and CSS are written in the HTML. Also, some tags have style tags.

The sound does not sound even if there is a request on a mobile tablet.

When you are in sleep, the browser stops working, so you cannot detect any updates during that time. Therefore, there is no sound.
If you use it regularly at work, you need to prevent it from going to sleep depending on your OS settings. Or maybe there's an app that prevents you from going to sleep, so try it.
If the frequency of requests is low, I think it would be good to customize the C# source and add features such as sending an email when there is a request.
The code to send an email in C# is relatively simple. In a .Net4.0 environment, you will use the SmtpClient class. Net4.5 environment, it is MailKit class.
In general, receiving mail has a high operating priority, so it often works even in sleep mode. If it doesn't work, it may be improved by reviewing the power saving mode.
I think it's a good idea to keep the update time short in the mailer app you receive.
One way to do the same is to add the ability to send a direct message via LINE. In this case, you will need to register as a developer on LINE.
In both cases, you will need to be connected to the Internet. Also, it may not be possible to use it during server maintenance.

The sound may sound when there is a request during sleep. There are times when it doesn't ring.

There are two types of sleep, a shallow sleep and a deep sleep, so it depends on the settings of the device and the behavior will change depending on the time elapsed.

The sound is still sounding even if you set it to silent mode.

It may be different depending on the model, but it doesn't become a vibe because it doesn't use the OS standard notification. The sound uses the pon1.mp3 file in the installation folder.
Therefore, to turn off the sound, use the volume button to set the sound volume to zero.
Or if you want to make it always silent, replace the mp3 file with a silent one, or delete the document.getElementById('snd1').play(); in the Pon1() function of the file in webstatus.html.

Is it possible to use vibration?

There is no function to let you know by vibration. The mp3 file in the install folder is the sound file, so I'm playing it.
For Android devices, you can customize the HTML file to vibrate in Chrome or FireFox browser. However, like the sound, this is also disabled in sleep mode.
Just add if(window.navigator.vibrate)window.navigator.vibrate([200,100,200]); in the Pon1() function of the webstatus.html file.
The specification is to vibrate 200msec, wait 100msec and then vibrate 200msec. You can increase the number of descriptions and define a variety of vibrations.

Why is it set to cancel when you touch the tablet for the seat?

If you don't have a mobile device, the only way to delete a request is through your computer's browser screen or a seating device. The store clerk can delete the request with one touch when it arrives at the seat.
It is technically possible to do this with the included buttons, but this is because having two functions, request and cancel, can be confusing to use.
To disable touch cancellation on seating devices, remove document.addEventListener("mousedown", ClearMode); from webbtn.html.
Also, please change the display message in webbtn.html according to your usage.

How do I clear all requests that have been left on the list?

Delete the tbl.txt file in the installation folder of the server PC.

What is the format of the tbl.txt file?

yyyy/mm/dd(TAB)hh:mm:ss(TAB)Seat number(TAB)R
(TAB) is a tab.
One line is added to the last line for each request.
When a request is deleted, the row with the corresponding seat number will be deleted.
No more than one line corresponds to a single seat number.
The "R" is fixed.
. 2020/04/16(TAB)09:27:48(TAB)1(TAB)R
This date and time is compared with the current date and time, and the elapsed time is calculated and displayed in a list.

Is it not necessary to use page lock when reading and writing the tbl.txt file?

The source code is serialized in the web server, so you don't have to think about synchronization in CGI.

Why do you use your own original CGI on your own original web server?

We wanted to make the installation as easy as possible. Also, it's easier to customize than perl, php, python, etc. because you only need to change the html file.

What is the process name of the Web server?

tanjunwsv.exe. You can check it in the Task Manager.

Is it possible to change the port of the Web server?

You can change the port number by creating "SERVER_PORT" in the environment variable and entering the number. As described in the procedure, you need to expose the port in the security settings.
Except for the default number 80, you need to specify the port in the URL when displaying it in the browser.
There is a process to access the src of the iframe tag from within the html, but the URL does not include the port. The port that you set will be used automatically.

Is there any way not to use the Crazy Small?

There are two places in webbtn.html that say e.key==" ", so this is the part that is detecting the space key.
It works just as well when you view it in a PC browser and press space on a regular keyboard.
In PC browsers, the space key may be the scrolling function, so if it is not convenient, I think it is good to assign a different key.
If you just want to run the software, you can simulate multiple devices with multi-tab pages on a single PC browser.
I'm sure you can change it so that you don't have to use the keyboard with customization, but I'd prefer that you use the Crazy Small.
It is simply a request, so there is no violation of the terms and no penalties.
To operate with a touch tablet without a crazy small on a seat tablet, first in the ClearMode function in webbtn.html
if((mode!= "R" && mode!= "QR") && keydownflag==0){keydownflag=1;Request();setTimeout (FlagClear, 2000);}
If you add, you will be able to call by touch. Then replace the displayed message or image with an appropriate one.

You can use a numeric keypad instead of Crazy Small. Please change the description of e.key == "" to match the key in webbtn.html.

Can I disable the three small buttons on the side of the Crazy Small?

The keys assigned to the presets can be changed, so if you set all three buttons to the same key, there is no problem if you press the wrong button.
Please refer to the instruction manual of each device for detailed setting instructions. You can download it from the product website.
The default preset for the B button is space, so I just adjusted the software to that.

What kind of licenses are available?

This is a proprietary license, with a high degree of freedom close to that of BSD. Anyway, feel free to use it.

Do you offer a paid support service?

There are no plans to provide this service from cooyou.org.

Do you offer a telephone support service?

There are no plans to provide this service from cooyou.org. MAIL admininfo@cooyou.org

Free Software
Web Call Button System