Windows 운영 체제는 센서 디바이스에 대한 기본 지원을 제공합니다. 이 지원에는 GPS 장치와 같은 위치 센서가 포함됩니다. 이 지원의 일환으로 이 플랫폼은 디바이스 제조업체가 소프트웨어 개발자 및 소비자에게 센서 디바이스를 노출하는 표준 방법을 제공합니다. 동시에 이 플랫폼은 개발자에게 센서 및 센서 데이터를 사용할 수 있는 표준화된 API 및 DDI(디바이스 드라이버 인터페이스)를 제공합니다. 이 섹션에서는 Windows 센서 및 위치 플랫폼을 요약하고, 플랫폼의 다양한 부분에 대해 설명하고, 조각이 함께 작동하여 센서 작업을 위한 포괄적인 시스템을 제공하는 방법을 설명합니다.
센서 디바이스 개요
센서는 많은 구성으로 제공되며, 특정 관점에서 물리적 현상에 대한 데이터를 제공하는 거의 모든 것을 센서라고 할 수 있습니다. 일반적으로 센서를 하드웨어 디바이스로 생각하지만 논리 센서는 소프트웨어 또는 펌웨어의 센서 기능 에뮬레이션을 통해 정보를 제공할 수도 있습니다. 또한 단일 하드웨어 디바이스에는 여러 센서가 포함될 수 있습니다.
센서 및 위치 플랫폼은 센서를 다양한 종류의 센서 디바이스 및 특정 종류의 센서를 나타내는 형식을 나타내는 범주로 구성합니다. 예를 들어 비디오 게임 컨트롤러의 센서는 플레이어 손의 위치와 움직임을 감지할 수 있습니다. 이러한 종류의 센서는 방향 센서입니다. 해당 형식은 3차원 가속도계입니다. 코드에서 Windows는 GUID(Globally Unique Identifier)를 사용하여 범주 및 형식을 나타내며, 그 중 상당수는 미리 정의되어 있습니다. 디바이스 제조업체는 필요한 경우 새 GUID를 정의하고 게시하여 새 범주 및 형식을 만들 수 있습니다.
위치 디바이스는 특히 흥미로운 범주로 구성됩니다. 지금까지 대부분의 사람들은 GPS(글로벌 포지셔닝 시스템)에 익숙합니다. Windows에서 GPS는 위치 범주의 일부인 센서의 일종입니다. 위치 범주에는 다른 센서 유형이 포함될 수 있습니다. 일부 센서 유형은 소프트웨어 기반입니다. 예를 들어 IP 확인자는 인터넷 주소를 사용하여 위치 정보를 제공합니다. 휴대 전화 타워 삼각측량기는 인근 타워를 기반으로 위치를 결정합니다. 또 다른 센서는 Wi-Fi 네트워크의 존재에서 위치를 찾습니다.
플랫폼 정보
Windows 센서 및 위치 플랫폼은 다음과 같은 개발자 및 사용자 구성 요소로 구성됩니다.
- DDI입니다. Windows는 센서 디바이스가 컴퓨터에 연결하고 다른 하위 시스템에 데이터를 제공하는 표준 방법을 제공합니다.
- Windows 센서 API는 연결된 센서 및 센서 데이터와 함께 작동하는 방법, 속성 및 이벤트 집합을 제공합니다.
- Windows 센서 API를 기반으로 하는 Windows 위치 API는 프로그래밍 개체 집합을 제공합니다. 이러한 개체에는 위치 정보 작업을 위한 스크립팅 개체가 포함됩니다.
- 제어판은 컴퓨터 사용자에게 위치 설정을 제어할 수 있도록 합니다.
다음 섹션에서는 이러한 각 구성 요소에 대해 설명합니다.
디바이스 드라이버 인터페이스
센서 제조업체는 Windows와 센서를 연결하는 디바이스 드라이버를 만들 수 있습니다. 센서 디바이스 드라이버는 Windows UMDF(사용자 모드 드라이버 프레임워크)를 기반으로 하는 WPD(Windows 이식 가능 디바이스) 드라이버 모델을 사용하여 구현됩니다. 많은 디바이스 드라이버는 이러한 프레임워크를 사용하여 작성됩니다. 이러한 기술이 확립되었기 때문에 숙련된 디바이스 드라이버 프로그래머는 센서 드라이버를 작성하는 것이 익숙한 작업이라고 봅니다. 센서 DDI는 특정 UMDF 및 WPD 데이터 형식 및 인터페이스를 사용합니다. 또한 필요한 경우 센서별 WPD 명령 및 매개 변수를 정의합니다.
Windows(특히 센서 및 위치 플랫폼)에 센서를 노출하는 디바이스 드라이버를 더 쉽게 작성할 수 있도록 운영 체제에는 드라이버 클래스 확장이 포함되어 있습니다. 센서 디바이스 드라이버에 필요한 구성 요소인 이 COM 개체는 프로그래머가 많은 상용구 코드를 작성하지 않고도 센서 드라이버를 구현할 수 있도록 하는 간단한 인터페이스 집합을 제공합니다. 클래스 확장은 WPD 호출을 관리할 필요성을 줄이거나 제거할 수도 있습니다. 이 설명서에는 센서 DDI 및 클래스 확장 개체에 대한 자세한 정보가 포함되어 있습니다.
센서 API
Windows 센서 API를 사용하면 C++ 개발자가 COM 인터페이스 집합을 사용하여 센서 기반 프로그램을 만들 수 있습니다. API는 일반적인 센서 프로그래밍 작업에 대한 인터페이스를 제공합니다. 이러한 작업에는 범주, 유형 또는 ID별 센서 관리가 포함됩니다. 센서 이벤트를 관리하고, 개별 센서 및 센서 컬렉션을 사용하고, 센서 데이터를 처리할 수도 있습니다. Windows SDK에는 소프트웨어 개발자가 Windows 프로그램에서 센서를 사용하는 방법을 안내하는 데 도움이 되는 헤더 파일, 설명서, 샘플 및 도구가 포함되어 있습니다.
위치 API
위치 API는 사용자의 개인 정보를 보호하면서 지리적 위치에 대한 데이터를 쉽게 검색할 수 있는 방법을 제공합니다. 위치 API는 개체를 나타내는 COM 인터페이스 집합을 통해 해당 기능을 제공합니다. COM을 사용하는 방법을 이해하는 프로그래머는 이러한 개체를 사용할 수 있습니다. 스크립팅 지원을 사용하면 가젯과 같은 로컬 컴퓨터 영역에서 실행되는 프로젝트의 위치 데이터에 쉽게 액세스할 수 있습니다. Windows SDK에는 웹 및 소프트웨어 개발자가 프로그램에서 위치 정보를 사용하는 방법을 안내하는 데 도움이 되는 헤더 파일, 설명서(스크립팅 참조 설명서 포함), 샘플 및 도구가 포함되어 있습니다.
사용자 제어판
Windows에는 컴퓨터 사용자가 위치 설정을 사용하거나 사용하지 않도록 설정할 수 있는 제어판이 포함되어 있습니다. 설정은 중요한 데이터를 노출할 수 있으므로 이 사용자 인터페이스를 사용하면 프로그램에서 해당 위치에 액세스할 수 있는지 여부를 제어할 수 있습니다.
백서
제목 | 설명 |
---|---|
HID 센서 사용량 | 이 문서에서는 Windows 8 이상 운영 체제용 HID 센서 클래스 드라이버에 대한 정보를 제공합니다. |
앰비언트 광원 센서를 Windows 10 크리에이터스 업데이트를 실행하는 컴퓨터와 통합 | 이 문서에서는 Windows 10 운영 체제의 ALS(주변 광원 센서) 기능에 대한 정보를 제공합니다. |
동작 및 방향 센서 통합하기 | 이 문서는 OEM, ODM 및 IHV가 Windows 10 및 이전 운영 체제에 대한 동작 및 방향 센서 기능 및 요구 사항을 이해하는 데 도움이 되도록 하기 위한 것입니다. |