This content originally appeared on DEV Community and was authored by Ronald Colyar
The problem
After building the platform "House-Of-Iot"(HOI) that required users to have direct authentication credentials for the HOI general server, I realized there is no easy way to collaborate with others with less of a risk.
HOI isn't the only platform that lacks built in minimal risk collaboration. The platform "Home Assistant"(HA) suffers from the same issue as HOI and requires direct access for collaboration.
The solution
The solution was to build a system that allows owners of an IoT server to temporarily and safely give others access, with the ability to easily revoke access. Users will join "Rooms", communicate in a clubhouse like environment and yield temporary control over their IoT server.
What makes this safer than giving direct access?
Direct access means users could directly communicate with a server with no restrictions, possibly even modify settings of the server and mess up the underlying functionality.
Revoking/Giving access
Users have permission levels when they join a room, each room has an "IoT Board" which is the panel for concurrently controlling multiple IoT servers at once. Once a user with mod permissions spawns a connection to their IoT server, they can give permission to anyone in the room to control it.
When this user disconnects from collaborative or anything goes wrong with its communication, the user's spawned connection to the IoT server is destroyed along with everyone who had access.
When this user decides they don't want a specific user to have control anymore, they can revoke access. Revoking access just removes the ability to control a specific spawned IoT server connection.
This content originally appeared on DEV Community and was authored by Ronald Colyar
Ronald Colyar | Sciencx (2021-12-19T19:20:12+00:00) What is Collaborative IoT?. Retrieved from https://www.scien.cx/2021/12/19/what-is-collaborative-iot/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.