6

I want to build a web application using aws Iot. I build SCADA systems for different companies.

I have a modbus rtu master(raspi) connected to many slaves on a factory floor. Modbus master is controlling a robotic arm and monitoring it's temperature, position, motor current and motor torque. I have gone through many videos and websites to implement AWS IoT.

How do I make a user authentication based web application in which my clients can login to the web app and access their robot and control and monitor them. I have connected my thing with AWS IoT over MQTT. I have never built web apps.

Helmar
  • 8,450
  • 6
  • 36
  • 84

2 Answers2

5

I have created a similar application. Your question covers a lot of ground. You already have AWS and your "thing" working together. The next job (might be) to decide what you want to expose via a web site.

There are many web frameworks available to you, I like python django. I would create an interface between your AWS IoT flow to Django, probably through AWS lambda functions. Alternatively, you might get some traction using AWS API gateway and lambda.

Good luck. There is plenty of web development help on the main Stack Overflow site.

guycole
  • 151
  • 3
0

If you plan to send real time telemetry to your web application (say a dashboard) then look for a web socket implementation in the framework you choose for. for e.g if you plan to make the app in .net they have the signalr library for web socket support. Rest of the web development would be more or less in line with any other database driven web application.

The typical flow would be like this,

device -> aws iot rest api -> dashboard/Database

1) The device send data to your aws iot platform over a rest api.

2) Then the data should be sent to your dashboard using web sockets and should be stored in a db if you wish.

Also there are a lot of other points to be considered like should you use a message queue like rabbitmq or an in-memory data store like redis etc based on the scale of your app.

Again if you want to control your equipment in real time then using http may not be an option as messages cannot be sent from an http server to a client, instead consider amqp/mqtt.

Feel free to ask if you need more clarification as the topic is very broad.

Subbu
  • 441
  • 2
  • 3