Open Nopik opened 6 years ago
Just for clarification, I'm thinking about very simple approach to gateway model. In database it should be enough to store following information per gateway:
All rollouts would still pointing the targets themselves, maybe with some gateway.id = 42
or gateway.tag.tenant = 42
filtering. In order to update software gateway, a target would need to be defined, either within its own group, or free-standing.
Sounds good! We highly appreciate your idea of multiple "mesh based gateways". As you pointed out the concept of a single gateway is already there
In some IoT deployments, especially mesh-based, all devices are divided into groups (meshes). They can communicate with each other (e.g. by proprietary radio), but not with the Internet. Each mesh typically have 1 or more border router devices acting as a gateway between mesh and rest of the world. Protocols such as Zigbee, Thread etc. do this, just as all 802.15.4 / 6lowpan devices.
It would be great if HawkBit could support such scenarios, especially that 90% of the stuff is already there.
My proposal would be to:
GET /{tenant}/controller/v1/{controllerId}
withAuthorization: GatewayToken foo
should be enough, at least for first version.deploymentBase
endpoint returns list of artifacts and their http download links, who have/softwaremodules/<id>/artifacts/
in their urls, but it would be great just to add something like{ softwareModule: { id: 8 } }
or something to the artifact list, so gateway can easily detect that this file is already downloaded locally.That's it, actually. With those changes it should be possible to handle mesh networks in pretty good way. What do you think about such approach?