다음을 통해 공유


Windows의 센서 및 위치 플랫폼 소개

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

센서 플랫폼을 기반으로 하는 Location API는 사용자의 개인 정보를 보호하면서 지리적 위치에 대한 데이터를 쉽게 검색할 수 있는 방법을 제공합니다. 위치 API는 개체를 나타내는 COM 인터페이스 집합을 통해 해당 기능을 제공합니다. 이러한 개체는 C++ 프로그래밍 언어를 통해 또는 JScript와 같은 스크립팅 언어에서 COM을 사용하는 방법을 이해하는 프로그래머가 사용할 수 있습니다. 스크립팅 지원을 사용하면 가젯과 같이 로컬 컴퓨터 영역에서 실행되는 프로젝트의 위치 데이터에 쉽게 액세스할 수 있습니다. Windows SDK에는 웹 및 소프트웨어 개발자가 프로그램에서 위치 정보를 사용하는 방법을 안내하는 데 도움이 되는 헤더 파일, 설명서(스크립팅 참조 설명서 포함), 샘플 및 도구가 포함되어 있습니다.

사용자 제어판

Windows에는 컴퓨터 사용자가 위치 설정을 사용하거나 사용하지 않도록 설정할 수 있는 제어판이 포함되어 있습니다. 설정은 중요한 데이터를 노출할 수 있으므로 이 사용자 인터페이스를 사용하면 프로그램에서 해당 위치에 액세스할 수 있는지 여부를 제어할 수 있습니다.

백서

타이틀 설명
HID 센서 사용량 이 문서에서는 Windows 8 이상 운영 체제용 HID 센서 클래스 드라이버에 대한 정보를 제공합니다.
앰비언트 광원 센서를 Windows 10 크리에이터스 업데이트 실행 중인 컴퓨터와 통합 이 문서에서는 Windows 10 운영 체제의 ALS(주변 광원 센서) 기능에 대한 정보를 제공합니다.
동작 및 방향 센서 통합하기 이 문서는 OEM, ODM 및 IHV가 Windows 10 이전 운영 체제에 대한 동작 및 방향 센서 기능 및 요구 사항을 이해하는 데 도움을 주기 위한 것입니다.