Jump to content

Suggestions for Integrating with a Mobile App


Recommended Posts

Hi guys,

I need to pick your brains for a good idea/solution. I have created a service program with AutoIt that turns off and on some industrial equipment. It works fine and can be accessed within the corporate/plant LAN. However, I would like to send instructions to my service program from the outside world via a mobile app. My preferred solution is glideapps.com, which creates PWA apps.
It has a limited set of tools to communicate with the surrounding world, but one of them is Zapier, so I have begun looking in that direction.

Before I dive too deep into this, I wanted to hear your thoughts. Perhaps some of you have been in a similar situation and have a suggestion.
For my prototype, it receives instructions via email, which is not very elegant. Also, my aim for response time is about 10-15 seconds, so email is not the way to go.

BTW, I'm not hell-bent on using Glideapps. If there is another tool where you can throw a mobile front-end together, that's fine with me.

Thank you in advance for your help!

Link to comment
Share on other sites

@OttoMan28, welcome to AutoIt and to the forum.

i would approach your issue as following:

1) add HTTP communication feature to your AutoIt service program. you may use this UDF ("UDF" is the AutoIt term for a library of functions you can integrate into your script). there are other options of course, google "AutoIt HTTP server" for some more.

2) write a simple AutoIt application with the ability to communicate with the AutoIt service program over HTTP. this will be use as a test inside your LAN and as a prototype for the mobile app development. although this is mostly a testing phase, i would definitely not skip it.

3) punch a pinhole in your firewall to allow external HTTP communication with the computer running your AutoIt service program.

4) develop the mobile app.

with phases 1 & 2 you will find this forum most helpful. start coding and come back if you have any issues or questions.

for phases 3 & 4, you will need to consult your IT team and/or other resources. mobile app development is hardly relevant to AutoIt.

good luck!

Signature - my forum contributions:

Spoiler

UDF:

LFN - support for long file names (over 260 characters)

InputImpose - impose valid characters in an input control

TimeConvert - convert UTC to/from local time and/or reformat the string representation

AMF - accept multiple files from Windows Explorer context menu

DateDuration -  literal description of the difference between given dates

Apps:

Touch - set the "modified" timestamp of a file to current time

Show For Files - tray menu to show/hide files extensions, hidden & system files, and selection checkboxes

SPDiff - Single-Pane Text Diff

 

Link to comment
Share on other sites

About 3), it's not a good idea to use http directly, especially something that controls industrial equipment.

You need to setup an Apache or Nginx server as the https handler, then do the reverse-proxy to point to your "AutoIt HTTP Server" machine. So from outside, the AutoIt program appears to be using https.

Link to comment
Share on other sites

The port of course is 445, it's https.

The important part is the url path. For example,

https://mysite.com/zapier/

Just set a handler for "/zapier/" in your backend app (AutoIt in this case).

For this case, I think the way to do it is to create a "WebHook", and let the GlideApp send a webhook notification (https request) to the Apache/Ngnix  Reverse Proxy server (which handles all Internet https requests) with certain path (in this example "/zapier/"), it will forward the request to the AutoIt server in the internal network. AutoIt http server then process the request and turn things on or off. This way it's instantaneous and secure.

Edited by philpw99
Link to comment
Share on other sites

32 minutes ago, philpw99 said:

The port of course is 445, it's https.

HTTPS is TCP port 443, not 445.

Edited by TheXman
Link to comment
Share on other sites

On 4/29/2023 at 7:30 PM, TheXman said:

HTTPS is TCP port 443, not 445.

Although the user @philpw99 made a mistake, you can use any non-default port from 1-65535 for use with HTTPS.

Edited by Skeletor

Kind Regards
Skeletor

"Coffee: my defense against going postal."

Microsoft Office Splash Screen | Basic Notepad Program (Beginner) | Transparent Splash Screen | Full Screen UI

Link to comment
Share on other sites

Hi Guys
Thanks for your suggestions.
I think the solution to my problem will be, to move away from Autoit and do a 365 connector on the dot-net platform. Then swap messages directly with the Glide-platform,

My connector will (of cause) call a AutoIT script 😉

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...