Greetings Joe!
First off, thanks for making this plugin!
I have a new request
I want to use Amazon's AWS IoT Core as my MQTT server, instead of running my own Mosquitto instance in an EC2 container. Why not, since I am already in AWS-land. Theirs is much more robust and much more secure. Plus, you get a lot of good metrics/stats/analytics in their portal right out of the box. Some other neat features, like Device Shadows, will come into play later...
Create an AWS Developer account if you don't have one.
https://us-east-1.console.aws.amazon.com/iot/home
Onboard a new Thing/Device that will represent Indigo. Pick your OS and Language - Linux/MacOS and Python in this case.
The important part of this step is to generate the X.509 certificates that will be associated with your "device" aka Indigo. These certificates will be required in order to get the AWS IoT MQTT client to talk to your personalized AWS IoT MQTT endpoint.
How to use the AWS IoT python SDK:
https://docs.aws.amazon.com/greengrass/ ... 17b7b1b3b3
The AWS IoT python SDK:
https://github.com/aws/aws-iot-device-sdk-python
A sample client that publishes "hello world" using the AWS IoT python SDK:
https://github.com/aws/aws-iot-device-s ... cPubSub.py
The good news is that their MQTT client class uses Paho under the covers. What we would need then, is the ability to tell your plugin that we want to use AWS IoT, so that you can invoke the right client class behind the scenes. We get our host value from the AWS IoT portal, linked above, use the left nav and click on Settings. That page will give you your personalized MQTT endpoint - something like "xxxxxxxxxxxxxx-ats.iot.us-east-2.amazonaws.com". Second, we need the plugin to be able to point to and make use of the generated X.509 certificates. These are created when you Onboard a new Thing in the AWS IoT portal. We would download them to the Indigo machine and point your plugin at them.
Does all that make sense?
Thank you for your consideration!
Regards,
Matt