eclipse-hawkbit / hawkbit

Eclipse hawkBit™
https://projects.eclipse.org/projects/iot.hawkbit
Eclipse Public License 2.0
462 stars 188 forks source link

Better gateway system #669

Open Nopik opened 6 years ago

Nopik commented 6 years ago

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:

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?

Nopik commented 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.

schabdo commented 6 years ago

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