Simple remote stimming with Estim Broker

One of the things that I've tried to make my software useful for, in conjunction with the E-Stim systems Series 2B, is remote play, and the current version has lots of useful functions for that, which work quite successfully. However, because of the nature of most domestic internet connections, even if you understand the software, it can be quite fiddly to set things up so that someone elsewhere in the world can connect to your 2B. Firewalls and so forth can really complicate things. Estim Broker is a way around that.

Back to eStim index

What is Estim Broker?

Estim Broker is a service running on this web server, which accepts connections from my Estim apps for Windows, Mac and Android. Apps register with an ID (which is your email address), and when an app in Master mode connects, it can see a list of who's online. The user then selects the person they want to connect to, who accepts or rejects the connection via a pop-up message, and if accepted, then the two bits of software are linked via the Broker service, allowing full remote control of the 2B. Because a connection is being made outwards at each end, there's no need to worry about configuring firewalls, and port forwarding, or any of the complicated stuff. All you need is an email address, and you can connect remotely to a 2B.

An important note

I'm testing this at the moment - and all the time I'm testing, it will be free. But at some stage, I will introduce a small subcription fee to use the Broker, because I have to pay the bills. But, rest assured, the existing remote control functionality in my app will always work, and always be free. If you've played with my apps so far, I promise you'll never lose any functionality that's there already, or have to pay for it. But cool new things can't always be done for nothing!

How easy is it to use?

Very easy! Here's an example of what it looks like in action, with a Windows computer that's connected to the 2B being controlled from a Mac. First, you have to set the preferences on each system - the Mac is in Master mode, and the Windows system in Slave mode. Then, the Estim Broker is enabled in the settings and a different email address entered on each system:

Windows config

On the slave system, all you have to do now is click the Connect button, which connects to your 2B, and signs in to the Estim Broker. On the Master side, when you click Connect, you're signed in to the Estim Broker, and then a window like this pops up:

Connect to a user

As you'd expect, all you have to do is click the list, select the user, and then click Request Connection. The other user sees a message appear on their screen, asking for confirmation:

Accept the connection

If they click Yes, then the two units are connected, and you can start to have your electro fun. If they click No, then the other user sees a message that their connection request has been rejected.

Adventures with Android

I've also worked to include this functionality in my Android app. To connect to a remote system via the broker, you go into the settings screen, and select Estim Broker as the type of connection:

Android settings

Click Save, and then when you want to log in, just tap the Online/Offline button on the main screen of the app. Your device will connect to the Broker, and show a list of who's online:
Connect via Android

Tap the user you want to link to, and if they accept the connection, you'll be linked. The Android app can also work in slave mode too, so you can plug it into a 2B via the USB cable (see the Android page for details of what you need), and have it listen for connections from another Android or from the Mac and Windows software. This is what the settings look like in server mode:

Andrid server

I've tested this use the Three mobile network in the UK, and it works fine. As with the desktop app, when someone attempts to connect, a pop-up message allows you to accept or reject their request:

Android incoming request

Both apps have had a small tweak to allow some basic user management. In particular, you can specify a user to auto-connect to, and you can also specify users that you want to automatically accept or reject connections from. When a user is set to auto-connect, the confirmation dialog isn't show, nor is the pop-up when a remote user disconnects; instead the system waits for another connection.

Managing users on Android

On the Android app, the small user icon on the settings panel displays this screen:

Android user settings

Users that have been encountered during the session will be added automatically, set to 'Ask', which saves you typing. If you do want to add someone manually, tap the Add user icon and enter their email address. To remove an entry, long tap on the email address.

Each entry can be set to Autoconnect, Accept, Reject or Ask. If there is an Autoconnect entry, when in master mode, the app will try to connect to that user automatically when the Online button is pressed. If the user is not found, you can go offline, or see other online users.

The other options select what happens when in slave mode; for 'Ask' the dialogue shown above pops up. For Accept or Reject, the connection is either made or rejected automatically for you.

Managing users on Mac/Windows

Similar functionality is available on the ECS software for Mac and Windows. First, the settings panel now has an 'Advanced' button, like this:

Broker settings on Mac

Click the Advanced button to access the user management, which looks like this:

User management on Mac

To set up an auto connection, enter an email address in the Auto connect box at the top. To auto-accept a connection, type the address in the box at the bottom, and click Add. it will be added to the Accept list automatically. If you'd prefer to reject automatically, just drag the address to the Reject list, and vice-versa. To remove an entry from a list, just drag it out.

Odds and ends

There are a few points to note about this at the moment:

Want to try it out?

I'm still testing the software, and there may be some tweaks, but if you want to try out the Estim Broker, go to the 'Test versions' section of the download page. As mentioned above, because of the need to keep a server running, this will eventually become a feature for which people will have to pay a small fee, but anyone who helps test will get at least six months of free access after I make the changes to introduce subscriptions.

Back to eStim index