Some options (not mutually exclusive):
- Wrappers around manufacturer API / protocols
a. One package per wrapper
b. One package per "device type" (e.g. all camera wrappers in one package)
c. One package with all wrappers
- High-level ABCs defining standard device interfaces
a. One package per abstract "device type"
b. One package with all ABCs
- ABC implementations for each device type
a. In the same location as (1)
b. In the same location as (2)
c. In their own packages