For quite some time now I am working on a concept for an IoT project in which I connect multiple different clients to a single server and perform task like: Grouping clients (e.g.: “Customer” / “Building”, etc), Peer-To-Peer Communications (client to server / server to single client) and some other features.
I have studied MQTT as well as the WAMP by Autobahn Application Protocols but since few features which my concept implementation defines are missing in those protocols I have to build my own application protocol. And since working with Python I came up with the idea to use the Autobahn WebSocket Framework as a “transportation / communication protocol” on which I build my application.
This application will be deployed on a higher performance server, will have a database to track clients and their states (online / offline, properties, etc.) and offer a web-interface for managing devices (web-interface separate of the WebSocket server).
These devices are clients that connect via WebSocket. The client application will be deployed on embedded linux where those devices have similar performance figure as a Raspberry Pi, for example.
When thinking about this solution and as a programmer, having WebSockets / Autobahn-Framework running on embedded devices is a pretty cool thing - at least in my mind.
I am not pretty sure if this isn’t way off autobahns topic / intention?
Also, I just stumbled over Autobahn when googling after a different WebSocket-Framework for Python. There they called their framework “passing the Autobahn test-suite”. So is Autobahn a production-ready framework that can be used in commercial product, for example?
I am looking forward for any help / advice I can get!
Thanks in advance,