An Architecture for a hardware-software system
You are to design a single camera software, various client applications, and a communication model for a family of cameras. Each camera runs the Android OS, and will be crafted to make several variants; each of which takes up different forms. Each camera has various channels and interfaces to communicate with. Variables in the camera variants: headless or on-device display ie, the camera may be wireless only; it may have an LED as an indicator, or it may have an OLED or LCD perform on-device analytics not each camera is allowed to perform on-board analytics; some could do stabilization, some face detection, some motion detection, some may perform all. This is limited by what algorithms the customer buys. camera sensor resolution, fps, camera lens every variant has a different sensor and lens specification multiple camera sensors some cameras might have multiple sensors; thermal, near IR, or visible light motor-driven PTZ the camera might have a pan-tilt-zoom driven by motors