Ayva WebSocket Hub

A desktop application that allows streaming TCode from the web to multiple outputs, including Virt-A-Mate.

Overview

awh suggestive.PNG

Ayva WebSocket Hub is an open source desktop application that can stream TCode from web applications to any number of outputs (such as serial and network outputs) via a WebSocket. This is to bypass the limitations of web browser technologies that prevent making unsecure connections to devices over WiFi and/or streaming data into desktop applications. 

The most common use cases are:

It works with Ayva Software applications such as Ayva Stroker Lite and Ayva Remote. However, it can stream data from any application that can connect to a WebSocket.


Demos:
https://drive.google.com/file/d/1MM_YowIbsuETLv051WsqQs38sVMGvJZS/view
https://drive.google.com/file/d/1FOQllbYSnlJoBqvN3TjJSsV6DI5dRlyg/view

Latest Release (Windows and macOS):
https://github.com/ayvasoftware/ayva-websocket-hub/releases

How to Install
https://osr.wiki/books/ayva-websocket-hub/chapter/installation

Github Repository:
https://github.com/ayvasoftware/ayva-websocket-hub

Installation

Installation steps for Windows and macOS.

Installation

Installing on Windows

  1. Download and unzip Ayva WebSocket Hub (Windows).zip into a directory of your choosing.

  2. (Optional) Certificate Installation. Install the certificate for Certera by double-clicking on the Certera_CABundle.crt in the unzipped folder. Note: This step is not required, but may prevent "Unknown Publisher" messages when running the application. Certera is the Certificate Authority (CA) that was used to digitally sign the application.

    certera certificate.PNG

    Click Install Certificate and keep the default settings in the installation wizard.

    install certificate.PNG

  3. Double-click Ayva WebSocket Hub.exe to run the application.

    click awh2.png
     
    You may see the following warning message:

    awh_smartscreen_1.PNG

    This is because the kind of certificate Ayva WebSocket Hub was signed with builds reputation over time.
    Eventually this will stop appearing after enough users have installed the application (or enough time has passed). 

    If you click "More info" you can verify that the Publisher is Ayva Software LLC.

    awh_smartscreen_2.PNG

    Click "Run anyway" and the application should open:

    awh_win.PNG

  4. Consult the Guide for information about how to use it.
Installation

Installing on macOS

  1. Download and unzip Ayva WebSocket Hub (macOS).zip into a directory of your choosing (your Applications folder is recommended).

  2. Double-click Ayva WebSocket Hub.app and the application should open.

    Screenshot 2023-11-09 at 1.51.58 PM.png

  3. Consult the Guide for information about how to use it.

Guide

Guide

Interface Overview

awh-guide-overview.png

  1. Listening Port - Specify the port for Ayva WebSocket Hub to monitor incoming connections. Any TCode received on this port will be routed to the connected outputs. Click the Start button to begin monitoring for incoming connections. Data forwarding will commence immediately upon establishing a connection.

  2. Add Output - Use this dropdown menu to select and add output streams.

  3. Outputs - This table lists all configured outputs—which are saved across sessions—along with their connection status. You can enable or disable streaming to any listed output by using the checkbox in the Enabled column.

  4. Incoming Connection State - This indicates the status of the incoming connection, which can be Disconnected, Listening or Connected.

  5. Patreon Link - Ayva Software is supported by the community. This is a link to the Patreon.
Guide

Output Types

awh-guide-outputs.png

There are two main types of outputs: Network and Serial.

Network

add-buss-driver-serial.PNG

Network outputs enable connections to devices or software via TCP or UDP protocols. In TCP mode, Ayva WebSocket Hub attempts to establish a connection to a WebSocket at the /ws endpoint on the specified host and port. In UDP mode, packets are sent directly to the designated host and port. Note that because UDP is connectionless, a UDP output will always be displayed as Connected, even if no application or device is actively listening at the specified host and port.

TCP is typically used to connect to WiFi-enabled devices, while UDP is typically used to stream to a Virt-a-mate plugin such as BusDriver (though it can also be used for WiFi-enabled devices that support UDP).

Serial

awh-guide-3.PNG

awh-guide-4.PNG

Serial outputs facilitate device connections via the Serial protocol, typically through USB. However, they can also operate over virtual serial ports that emulate physical connections for other protocols, including Bluetooth Classic.

Guide

Appendix

To be incorporated into the Guide

awh-guide-5.PNG

awh-guide-6.PNG

add-buss-driver-serial.PNG

virt-a-mate bus driver.png

serial-bus-driver-streaming.PNG

Example: Streaming from Ayva Stroker Lite

ayva-stroker-awh-1.png

ayva-stroker-awh.png

Troubleshooting

I see this error in BusDriver. What's wrong?

Exception caught: System.FormatException: Input string was not in the correct format ...

This is from a bug that was fixed in BusDriver. Download and install the latest version and it will go away.