View Full Version : Android app available now to control ShopBot
Coogara
03-23-2013, 03:57 PM
Hi Folks,
Please pardon my blatant self-promotion. From reading the forums I know some of you have wanted an Androd-based program to control the ShopBot.
As a professional programmer I decided to take up the challenge so that I can control my ShopBot Desktop with my Nexus 7 and hopefully produce something useful for you.
Like other apps of this sort it requires a separate server process to be installed on the computer to which the ShopBot is connected so that the mobile device can commmunicate with the ShopBot 3 control software. It also requires a wireless connection to allow the device to see your network. Once you register your device with the server process you can control your ShopBot happily from a distance.
I've tested it with both 3.6.x and 3.8.x version of ShopBot 3 without a problem.
If you have any problems please let me know. Although I've developed software for decades, things that run on mobile devices pose additional challenges. With your help I'd like to make this more than just a handy tool. So if there are additional features you would like to see please let me know.
You can find out more about it and download the server process here:
http://www.coogara.com/shopbot.aspx
The Android app is here:
https://play.google.com/store/apps/details?id=com.Coogara_Consulting.ShopBotIC
A free limited Android version is here:
https://play.google.com/store/apps/details?id=com.Coogara_Consulting.ShopBotICFree
A version for Apple devices has been submitted to them. Apple take about two weeks to approve apps for their stores whereas the Android folk release them immeditately.
Drop me a line if you have any problems setting up. On my site go to the Contact page and drop me a line. I'll get things fixed as quickly as I can.
Cheers
Graeme
coryatjohn
03-23-2013, 04:24 PM
What is the server process written in? What exactly does it do?
Interesting idea. You could use GCM to send messages back to the app if a problem arrises during a job to alert the operator.
Coogara
03-23-2013, 04:37 PM
Hi John,
The server process is written in Delphi - effectively Pascal if you're familiar with it. The code on the Android and Apple device is written in HTML5. The Android/Apple sends the chosen intruction to the server process according to the pressed button, such as move the gantry in positive X. The server process then clicks the mouse down on the ShopBot 3 keypad window as if you were doing it yourself, or sends the codes to perform C2, C3 and so on.
There are all kinds of things you can do with this sort of application and it's pretty easy to extend and add new features. I've been involved with software automation, web sites, desktop software and so on for years.
GCM would be an interesting approach to monitoring and alerting. It would be a case of being able to correctly access and interpret the information presented in SB3.
Cheers
Graeme
coryatjohn
03-23-2013, 08:00 PM
Did you use one of the frameworks like PhoneGap or roll your own?
Coogara
03-23-2013, 08:04 PM
I used Embarcadero's HTML5 Builder, which uses PhoneGap. So I've used the same code for both the Android and Apple versions.
As it happens, I'm the author of the only book on HTML5 Builder. I'm not sure whether that's a good thing or not.
You seem to have some knowledge about this stuff as well.
coryatjohn
03-23-2013, 08:21 PM
I'm an Android developer. My main property is called RadarNow! which is a weather radar for the US. Wouldn't be much use to you down in Australia.
Coogara
03-23-2013, 08:28 PM
John, you have a very well rated app there. Very nice.
coryatjohn
03-23-2013, 10:15 PM
Graeme, thanks!
ssflyer
03-25-2013, 04:18 PM
Hi Graeme,
I like the idea, but the permissions required to run it are way too lenient. I have a problem with apps that require permissions to my precise location, modify and read contacts, e-mail and phone calls, receive and modify text messages - even my camera to take pictures or video without notification!
While I may be confidant that you aren't abusing the permissions, the ones you require are kind of a red flag to me for apps that do...
coryatjohn
03-25-2013, 04:29 PM
Ron,
The framework he's using to create the app is a very general purpose one, so it includes every possible permission. Most likely, if a permission isn't used, it can be dropped from the manifest. It may be that Graeme hasn't done that yet.
I'm with you on apps that require scary stuff. I was looking for some games that my daughter would like and some of their permissions, for apps that didn't do doodly squat were excessive. My only conclusion is that they have some sort of massive ad issues or are a scam.
kartracer63
03-25-2013, 04:48 PM
I'm patiently waiting for someone that knows what they're doing to try the app. Sounds like something many of us could use.
Coogara
03-25-2013, 05:10 PM
Hi Graeme,
I like the idea, but the permissions required to run it are way too lenient. I have a problem with apps that require permissions to my precise location, modify and read contacts, e-mail and phone calls, receive and modify text messages - even my camera to take pictures or video without notification!
While I may be confidant that you aren't abusing the permissions, the ones you require are kind of a red flag to me for apps that do...
Hi Ron,
I was so focused on ensuring that there was maximum device compatibility that I neglected to pay attention to the permissions. I will get a new version out this morning (Australian time) and let you know when it is up. Thanks for the comment.
Cheers
Graeme
Coogara
03-25-2013, 10:02 PM
A new version is now available with siginificantly reduced permissions requirements.
According to Google Play, the app supports 2637 devices. If you are running Android 2+ you should be able to run this.
Remember, you need to install the server process to use the app:
http://www.coogara.com/shopbot.aspx
Graeme
twelchPTM
03-26-2013, 01:28 AM
big question for me, is the app directly controling the machine or is it controling the SB3 software that is running on my pc?
Coogara
03-26-2013, 01:42 AM
big question for me, is the app directly controling the machine or is it controling the SB3 software that is running on my pc?
Hi Thomas,
My app is interacting with your ShopBot 3.6.x or 3.8.x software. Your SB3 software needs to be running and have focus. When you click the Keypad button on the Android app, this sends the "K" keystroke to SB3 to open the keypad. When you press the arrow keys on the app, a mouse-down signal is sent to the SB3 interface. When you release an arrow key, a mouse-up signal is sent. Everything is done using SB3. At no time does it attempt to talk directly to the ShopBot.
When doing things that require the keypad, it checks whether the keypad is open. If not then it does nothing. However, if you perform a C2, C3, Z2 or ZZ or "go home" and the keypad is open, it will close the keypad automatically and perform the requested task.
I'm open to suggestions and feedback on how things like this work and will look at the practicality of incoporating a consensus of ideas into a new version.
Cheers
Graeme
Shane
03-26-2013, 04:49 AM
Hi Graeme, Thanks for your fantastic app. I had it downloaded and working in less than 2 minutes. Will give it a test in the shed tomorrow but was able to run it in preview mode and it seemed to work. Any plans to incorporate any more shortcut buttons at the bottom? Like a C5 or maybe allow us to create custom shortcuts?
Coogara
03-26-2013, 02:21 PM
Hi Graeme, Thanks for your fantastic app. I had it downloaded and working in less than 2 minutes. Will give it a test in the shed tomorrow but was able to run it in preview mode and it seemed to work. Any plans to incorporate any more shortcut buttons at the bottom? Like a C5 or maybe allow us to create custom shortcuts?
Thanks, Shane,
I look forward to hearing the results of your test today. If you have any problems, I expect to hear from you.
I don't have immediate plans to add more buttons. I wanted to hear the response of users. I do, however, have plans to allow the user to define buttons themselves for two-character commands for which there are no parameters required.
Cheers
Graeme
ssflyer
03-26-2013, 04:34 PM
Hi Graeme,
Thanks for the fast response re: permisions. I'm going to give 'er a test run this afternoon, and will post the results!
Thanks again!
Coogara
03-26-2013, 04:45 PM
Hi Graeme,
Thanks for the fast response re: permisions. I'm going to give 'er a test run this afternoon, and will post the results!
Thanks again!
Hi Ron,
Thanks - I'm sure the other guys on the forum will appreciate your perspective.
I want to ensure that it is easy to install and set up, and that the instructions make sense. If there is anything that you feel requires clarification please let me know.
Cheers
Graeme
Shane
03-27-2013, 08:34 AM
I got a chance to test it out today and had mixed results. When jogging or moving the machine using the app, there tended to be a lag between pressing the screen on my phone to when the shopbot responded.
Moving in short bursts seemed to be okay but I had issues where a couple of times the machine keep on moving even after not touching the screen. I'll assume this was caused by lag/delay and I had to hit the emergency stop button otherwise the shopbot was going to try and force the bit straight down through my spoilboard.
In saying that, I did find the shortcut buttons did work. But overall it felt frustrating when commanding the shopbot and due to random lag either nothing worked or it would catch up the lag and issue all the commands at once.
After using it for a couple of minutes I went back to using the laptop to control the shopbot as I can't risk the chance of the shopbot jogging/moving and damaging the bit due to lag.
Shane.
Coogara
03-27-2013, 01:50 PM
That's disappointing, Shane,
I would not have released it if I did not have good results myself. I found it to be consistently extremely responsive and in a timely manner.
I was connected directly to my internal wireless network. I don't know whether it was going through your 3G connection. Any chance of that? I'm struggling to account for the delay otherwise.
Shane, if you would care to contact me through my email (csc @ coogara dot com) and provide me with your PayPal address, I will refund your purchase price.
Thanks
Graeme
Coogara
03-27-2013, 02:19 PM
In a few hours I will release a free/light version of the program that only supports moving the gantry. This will allow you to test whether it performs properly on your system before paying for the full version.
I'm at a loss to explain the lag that Shane experienced but will look into that further.
Cheers
Graeme
ssflyer
03-27-2013, 02:29 PM
Hi Graeme,
I gave it a really quick try yesterday. The setup was a no brainer -good job on that. However I was running a beta version of the control software (v 3.8.1 beta 21, I believe). Interestingly, I could open the keypad and close it, but none of the arrow keys worked. I have no idea why, as the key presses should be the same.
Anyway, I downloaded the current release version (v 3.8.4) and it seemed to be working. I didn't have time for a thorough testing, so I'll post more after some time with it.
I found it to be responsive to the controls.
srwtlc
03-27-2013, 02:31 PM
Graeme,
I've found that with the iPhone/iPod one, if the wireless connection is going to a wireless router that is connected to another computer and the ShopBot computer is connected wirelessly to that router, there can be some undesirable lag time between button touches. Works best directly. Just a thought on Shane's issue.
Coogara
03-27-2013, 02:49 PM
Hi Graeme,
I gave it a really quick try yesterday. The setup was a no brainer -good job on that. However I was running a beta version of the control software (v 3.8.1 beta 21, I believe). Interestingly, I could open the keypad and close it, but none of the arrow keys worked. I have no idea why, as the key presses should be the same.
Anyway, I downloaded the current release version (v 3.8.4) and it seemed to be working. I didn't have time for a thorough testing, so I'll post more after some time with it.
I found it to be responsive to the controls.
That's encouraging, Ron. Thanks for the update.
Coogara
03-27-2013, 02:51 PM
Graeme,
I've found that with the iPhone/iPod one, if the wireless connection is going to a wireless router that is connected to another computer and the ShopBot computer is connected wirelessly to that router, there can be some undesirable lag time between button touches. Works best directly. Just a thought on Shane's issue.
That makes sense, Scott. There must be a few variables involving hardware setup.
twelchPTM
03-27-2013, 03:07 PM
okay so i think i am going to give this a try.... but first more questions!
If my android device is conected to my network via wi-fi and my control PC is connected via cable will that work or does my device need to be directly conected to my PC? And if so will connecting via bluetooth work?
Coogara
03-27-2013, 03:25 PM
okay so i think i am going to give this a try.... but first more questions!
If my android device is conected to my network via wi-fi and my control PC is connected via cable will that work or does my device need to be directly conected to my PC? And if so will connecting via bluetooth work?
Provided both computers are on the same internal network then they should be able to see each other and perform well. There does not need to be a direct connection from the wireless device to the computer. I'm assuming that you have a wireless hub somewhere on your network. I'm not at all sure about the use of bluetooth.
If you want, wait for the light/free version. I'm working on it now and it should be available in a few hours. You can then confidently check that all is well.
Graeme
Coogara
03-27-2013, 06:14 PM
The free version, with only minimal functionality, is now available from Google Play (https://play.google.com/store/apps/details?id=com.Coogara_Consulting.ShopBotICFree):
https://play.google.com/store/apps/details?id=com.Coogara_Consulting.ShopBotICFree
This will allow you to try it out and see that you get a good response across your network on your device's wireless connection.
Graeme
twelchPTM
03-27-2013, 08:25 PM
long story short, I really don't want my control PC connected our network because i can't trust the people i work with not mess up the pc. I tried establishing a connection between the two via bluetooth and here's what happened, my device is unable to create or share a "network" of any type with a PC so I can pair but not connect - if my device could share a "network" via bluetooth everything would work.
(I can set my phone up as a hot spot and connect the PC to it in that manor and the app works)
I found a pc remote app that uses bluetooth and if my phone could run two apps at once I could use the shopbot app in conjunction with the remote and everything would work, I think ( i know some newer devices have this feature)
Bottom line i know its easier to say "hey why don't you do this..." then it is to actually do thing but if you could incorperate the bluetooth remote server directly into the SB remote server I would be the first one in line to buy it.
Coogara
03-27-2013, 08:36 PM
Bluetooth is probably not something I'll be incorporating - unless I find there is huge demand and it is not difficult to build in. It is not something I've investigated.
Thanks for your thoughts and feedback.
twelchPTM
03-27-2013, 09:04 PM
okay so my head is spinning right know but i did learn something... the idea of hosting a "network" supported only with a bluetooth connection doesn't work...I think maybe i should stop worring so much and plug the darn control pc into the network....
GlenP
03-27-2013, 10:07 PM
Great stuff. I have asked several times about a android app and now its here. Im so happy happy happy. One question....I will have a wireless network to ONLY my control pc to the android device. I will not be adding my conrol pc to the home network. My samsung galaxy s is always on my home wifi when at home. Can I be on two wifi networks at the same time? If not I would have to disconnect my phone from my home network to run the controller network when wanting to use the app???
Thoughts?
Coogara
03-27-2013, 10:28 PM
Great stuff. I have asked several times about a android app and now its here. Im so happy happy happy. One question....I will have a wireless network to ONLY my control pc to the android device. I will not be adding my conrol pc to the home network. My samsung galaxy s is always on my home wifi when at home. Can I be on two wifi networks at the same time? If not I would have to disconnect my phone from my home network to run the controller network when wanting to use the app???
Thoughts?
You're right. You can only be connected to a single wireless network at a time . I have two wireless networks myself. I can choose to connect my Nexus to one or the other but not both simultaneously.
srwtlc
03-27-2013, 10:36 PM
How about setting up an AdHoc connection?
coryatjohn
03-27-2013, 10:47 PM
Scott,
"Four wheels move the body. Two wheels move the soul."
How about this?
Figure Eights with the SBU (http://www.youtube.com/watch?v=cRtU2wYs-cA)
What does one wheel do? (my second favorite toy)
srwtlc
03-27-2013, 11:10 PM
Ha, looks like one wheel moves you in circles (or 8's in this case). ;) Pretty cool though!
Just a bit underpowered for my tastes though. :)
Shane
03-28-2013, 05:31 AM
Hi Graeme, I'll take another look at it tomorrow and see if it is my network connection that is causing the issues. It may be trying to use the house wifi and with the shopbot and laptop in the shed the wifi connection can be flaky at the best of times.
Shane.
That's disappointing, Shane,
I would not have released it if I did not have good results myself. I found it to be consistently extremely responsive and in a timely manner.
I was connected directly to my internal wireless network. I don't know whether it was going through your 3G connection. Any chance of that? I'm struggling to account for the delay otherwise.
Shane, if you would care to contact me through my email (csc @ coogara dot com) and provide me with your PayPal address, I will refund your purchase price.
Thanks
Graeme
coryatjohn
03-28-2013, 08:59 AM
Graeme,
I'm sure many people, including myself, have sketchy or no WiFi connection in the shop. Have you tried to setup an AdHoc network as Scott suggested? Seems like a pretty good idea.
Shane
03-28-2013, 10:25 AM
I just tried to setup a Ad Hoc network between the laptop and my Samsung Galaxy S3. No go. I couldn't get them to see each other.
Now I'm getting an Alert error on the phone... "Network_ERR: XMLHttpRequest Exception 101". No idea if this error is coming from the app or the phone in general.
I hate trying to diagnose network problems. I end up pulling my hair out.
Shane.
coryatjohn
03-28-2013, 10:36 AM
Shane,
I think if you start with the Android and set it to tether, it should work pretty seamlessly. Since the traffic between your Bot and the Android is local only, it should be fairly instantaneous.
twelchPTM
03-28-2013, 12:11 PM
i tried a bunch of thing but my android is still only using 2.3 and the only thing besides wi-fi that it supports is a VPN but that still requires the control PC to be connected to a network(and the internet I think). going to talk to my IT guy today and see what would be better, connecting the control PC to the buildingsnetwork or setting up a wi-fi network only for the cotrol pc and the android...
Coogara
03-28-2013, 12:53 PM
I just tried to setup a Ad Hoc network between the laptop and my Samsung Galaxy S3. No go. I couldn't get them to see each other.
Now I'm getting an Alert error on the phone... "Network_ERR: XMLHttpRequest Exception 101". No idea if this error is coming from the app or the phone in general.
I hate trying to diagnose network problems. I end up pulling my hair out.
Shane.
The error "Network_ERR: XMLHttpRequest Exception 101" is generated when the app fails to connect to the network address specified in the Settings, or the server process is not running on that address and port. I would imagine it means that it cannot reach the address in your case.
kartracer63
03-28-2013, 04:05 PM
Graeme,
I'm trying out the free version of your app.
I can get the app to bring up my keypad, but none of my arrow movements are functioning. The only two functions I'm getting right now is pulling up the keypad by touching "Keypad", and eliminating the keypad by touching "Escape".
Windows XP
Droid Razr
Any thoughts?
Coogara
03-28-2013, 04:12 PM
Graeme,
I'm trying out the free version of your app.
I can get the app to bring up my keypad, but none of my arrow movements are functioning. The only two functions I'm getting right now is pulling up the keypad by touching "Keypad", and eliminating the keypad by touching "Escape".
Windows XP
Droid Razr
Any thoughts?
Hi Eric,
XP, huh. I don't have an XP machine with ShopBot 3 on to test. I would not have thought that XP would introduce any issues.
When you press the down arrow on your Android, this is meant to move the cursor over the corresponding arrow on the ShopBot 3 interface then press the mouse down on that arrow. Can you see whether the cursor is at least moving to the correct arrow on the keypad when you press different buttons on the Android?
kartracer63
03-28-2013, 04:17 PM
Graeme,
When I press the "arrows" on my android, the mouse cursor on my monitor doesn't move anywhere.
Coogara
03-28-2013, 04:39 PM
Graeme,
When I press the "arrows" on my android, the mouse cursor on my monitor doesn't move anywhere.
Thanks, Eric, that's surprising. Leave it with me and I'll see what I can find.
Graeme
Coogara
03-28-2013, 04:51 PM
Hey Eric,
What version of ShopBot 3 are you using?
Thanks
Graeme
kartracer63
03-28-2013, 05:16 PM
Version 3.6.32
Coogara
03-28-2013, 05:18 PM
Version 3.6.32
I'll get right on it.
srwtlc
03-28-2013, 06:06 PM
Graeme,
Instead of trapping the cursor, moving it, and then down clicking on the keypad arrows, can't you utilize the keyboard equivalent of pressing the arrow keys? That's the way Jens and I made the iPhone/iPod one, all device screen tap/touches are related to the keyboard commands within SB3, no mouse movements.
Coogara
03-28-2013, 06:19 PM
I may have to go that way. When something works you expect it to work all the time. Keystrokes are certainly much easier than mouse activity.
Graeme
Coogara
03-28-2013, 07:40 PM
Eric,
I tested on XP and there is no reason it should not work exactly as it does on other versions. However, with a lot of playing I was able to find situations where the buttons did not respond. I even had the runaway gantry someone else experienced, though that seemed to be due to wireless lag in his case. I suspect other causes in my case. So...
I have tightened up the server code to behave a little better when moving the gantry. This may help you - it might not. You don't need a new version of the Android app - just an update to the server software:
http://www.coogara.com/shopbot.aspx
I hope you find that this improves things for you. Keep me posted.
Graeme
kartracer63
03-28-2013, 08:06 PM
Graeme,
I updated the server software. Still a no-go.
"Keypad" still brings up the keypad. Arrows still do nothing. "Escape" exits the keypad. "Escape" the second time exits SB Control Software.
Coogara
03-28-2013, 08:22 PM
Graeme,
I updated the server software. Still a no-go.
"Keypad" still brings up the keypad. Arrows still do nothing. "Escape" exits the keypad. "Escape" the second time exits SB Control Software.
I had the feeling you'd say that. It's almost as though my program thinks the keypad is not up. If it can't find it it won't respond to pressing the arrow buttons in the app. I've just uploaded a new version of the server. Double click the tray icon when you have it running. There is a new button to test whether it can see the keypad window. Click the button when the keypad is visible and tell me the result. It's a place to start.
Send me a screen shot showing the keypad to (csc at coogara dot com). With your help we can get this resolved.
Graeme
bleeth
03-28-2013, 09:41 PM
Been watching this with interest: Looks like it is way too "Beta" to download with a fee yet. Hope you get the kinks out Graeme and I know there are plenty of experimenters willing to help.
If I was that hung up on using a wireless device to run my bot though, I just don't get the attraction to using my phone which may ring with an important call or get in a critical e-mail while using it as a wireless pendant. As written about often, there are game controllers that do the job wonderfully as well as wireless keyboards. I know-the units costs more, but it is still not a lot when considering you are running many thousands of dollars worth of your investment.
So an honest question to all: What is the attraction (besides novelty) of controlling your CNC with a phone?
Coogara
03-28-2013, 09:52 PM
Hi Dave,
As it happens I have, with Eric's help, identified the cause of the problem. The caption on the keypad window is critical to finding it. There has been a change since the version Eric is running from "ShopBot KeyPad" to just "KeyPad". Simple but causes a problem when you don't know.
For myself, I don't use my phone. I use a Nexus 7 tablet. It gives me larger buttons than I can get on a phone.
Cheers
Graeme
bleeth
03-28-2013, 10:16 PM
Thanks for the reply Graeme. I wouldn't put any of the melamine or Chinese plywood cabinets I build for a living in my house either!!
Coogara
03-29-2013, 03:14 PM
With Eric's help the app now works with older versions of ShopBot 3 where the caption on the keypad is "ShopBot KeyPad" and not just KeyPad.
The server program has been updated to handle this. No update to the app is necessary.
Eric has also suggested that it would be useful to be able to swap the X/Y controlling buttons to correspond to the way some folk view and use their machines. If others feel that is worth doing please let me know.
Thanks
Graeme
kartracer63
03-29-2013, 04:10 PM
I've just purchased the full version of this App.
Everything works great!
I just carved two signs using the Droid App to control my ShopBot with NO problems. I must admit, I can't wait to show off to some of my friends the coolness of running my Bot with my phone.
It works just as good as anything else I've tried.
Thanks Graeme!
ssflyer
03-30-2013, 03:10 PM
Graeme,
Glad you, with Eric's help, found the issue. I reported the same issue running a beta version of the control software, and it never occurred to me to look at the window caption. I'd still go with Scott's suggestion of sending keypresses, instead of mouse interaction.
twelchPTM
04-23-2013, 05:36 PM
new update to SB3 sofware (3.8.4) doesn't seem to work right, I have the free version of the Shopbot ICS it just happened that I recieved the software update and finally got network access to my control pc on the same day. I can pop up the key pad but the only movement I get is -x,+y simultainiously and if you hold it for more then a second you have to hit the e-stop (on the machinenot the software)
Coogara
04-23-2013, 05:59 PM
Hi Thomas,
What type of device you are using?
Thanks for letting me know about the problem. I'm not sure it is an issue with 3.8.4. There may be other factors involved... but what...
I've been using 3.8.4 since just after it was released and have not had a problem. In fact I was just in the shed and using it. Free and paid version appear okay. Having said that, things occur that make porridge out of cordon bleu.
It's hard to diagnose from a distance what might be happening. I assume you have a good strong wireless signal to your device. That's essential of course.
I'll give it some thought but I'm not sure what to guess at as the cause.
Cheers
Graeme
twelchPTM
04-23-2013, 06:47 PM
my wi-fi access point is about 15-20 ft away from my machine. I am using a HTC One SV android phone, Control pc is win7 pro 32-bit. just got the e-mail to day and installed all updates
Coogara
04-23-2013, 07:40 PM
Hi Thomas,
Your setup is the same as mine except the device. The simultaneous movement is a real puzzler. The software moves the mouse pointer to the target button on the keypad and clicks it down to achieve the requested movement. Movement in -x,+y at the same time is just weird.
Can you confirm that you see the mouse pointer moving to the correct keypad button when you press the button on the HTC.
Drop me a line to csc at coogara dot com if you like and we can continue this discussion offline.
Thanks
Graeme
Powered by vBulletin® Version 4.2.2 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.