속성을 사용하여 iOS 센서 데이터 수집 제어하기

MATLAB® Support Package for Apple iOS Sensors는 현재 센서 값을 표시하고, MATLAB에서 센서를 활성화 또는 비활성화하고, 기록 기능을 켜거나 끄고, 샘플 레이트를 설정하고, 연결 및 기록 상태를 표시하는 속성을 포함합니다.

mobiledev 객체에서 다음 속성을 사용할 수 있습니다.

속성설명 및 값
Connected

MATLAB Mobile™과 MATLAB의 mobiledev 객체 사이의 연결 상태를 표시합니다. 읽기 전용입니다. 가능한 값은 0(연결되지 않음)과 1(연결됨)입니다. mobiledev 객체 m의 연결 상태를 표시하려면 다음을 입력하십시오.

m.Connected

Logging

기기에서 MATLAB으로의 데이터 전송 상태를 표시하고 제어합니다. 가능한 값은 0(기록 중이 아님)과 1(기록 중)입니다. mobiledev 객체 m의 기록 상태를 표시하려면 다음을 입력하십시오.

m.Logging

기록을 켜거나 끄려면 다음을 입력하십시오.

m.Logging = 1 또는 m.Logging = 0

InitialTimestamp

기기에서 mobiledev 객체로 첫 번째 데이터 점이 전송된 시간으로, dd-mm-yyyy HH:MM:SS.FFF 형식이며 단위는 밀리초입니다. mobiledev 객체 m의 초기 타임스탬프를 표시하려면 다음을 입력하십시오.

m.InitialTimestamp

SampleRate

기기에서 이루어지는 데이터 수집의 샘플 레이트로, 단위는 Hz입니다. 값은 double형이며 0~100Hz 범위 내에 있어야 합니다. 디폴트 샘플 레이트는 10Hz입니다. 구체적인 숫자형 값을 설정하는 것 외에도 다음과 같은 값을 갖는 문자형 벡터 'high', 'medium', 'low'를 사용할 수 있습니다.

high 100Hz

medium 10Hz

low 1Hz

Acceleration

X, Y, Z 좌표로 나타낸 현재 가속도 측정값으로, 단위는 m/s^2(제곱 초당 미터)입니다.

가속도는 X, Y, Z축을 기준으로 정의됩니다. 테이블 위에 기기가 위를 향하도록 둔 경우, 양의 X축은 기기 우측으로 향하고 양의 Y축은 기기 상단으로 향하고 양의 Z축은 기기 전면으로 향합니다. 이는 기기가 향하는 방향과 독립적입니다.

AngularVelocity

X, Y, Z 회전에서의 현재 각속도 측정값으로, 단위는 초당 라디안입니다.

각속도는 X, Y, Z축을 기준으로 정의되며, 표준인 오른쪽 회전 벡터 표기법이 사용됩니다. 테이블 위에 기기가 위를 향하도록 둔 경우, 양의 X축은 기기 우측으로 향하고 양의 Y축은 기기 상단으로 향하고 양의 Z축은 기기 전면으로 향합니다. 이는 기기가 향하는 방향과 독립적입니다.

Orientation

방위각, 피치, 롤에 대한 X, Y, Z 좌표로 나타낸 현재 방향 측정값으로, 단위는 도입니다.

방향은 X, Y, Z축을 기준으로 정의됩니다. 테이블 위에 기기가 위를 향하도록 둔 경우, 양의 X축은 기기 우측으로 향하고 양의 Y축은 기기 상단으로 향하고 양의 Z축은 기기 전면으로 향합니다. 이는 기기가 향하는 방향과 독립적입니다.

방위각은 양의 Y축과 자북 사이의 각도이고, 범위는 -180도와 180도 사이입니다.

양의 롤은 표면 위에 기기를 평평하게 둔 상태에서 양의 Z축이 양의 X축을 향해 기울어진 정도로 정의되고, 범위는 -180도와 180도 사이입니다.

양의 피치는 표면 위에 기기를 평평하게 둔 상태에서 양의 Z축이 양의 Y축을 향해 기울어진 정도로 정의되고, 범위는 -90도와 90도 사이입니다.

MagneticField

X, Y, Z 좌표로 나타낸 현재 자기장 측정값으로, 단위는 마이크로테슬라입니다.

자기장은 X, Y, Z축을 기준으로 정의됩니다. 테이블 위에 기기가 위를 향하도록 둔 경우, 양의 X축은 기기 우측으로 향하고 양의 Y축은 기기 상단으로 향하고 양의 Z축은 기기 전면으로 향합니다. 이는 기기가 향하는 방향과 독립적입니다.

Latitude

적도를 기준으로 도 단위로 표현되는 현재 위도 측정값으로, 양의 값은 북위를 나타냅니다.

Longitude

본초 자오선을 기준으로 도 단위로 표현되는 현재 경도 측정값으로, 양의 값은 동경을 나타냅니다.

HorizontalAccuracy

위도와 경도를 둘러싸는 원으로 정의되는 미터 단위의 현재 수평 정확도입니다.

Altitude

해수면 위쪽으로의 거리로 표현되는 미터 단위의 현재 고도 측정값입니다.

Course

진북을 기준으로 도 단위로 표현되는 현재 침로 측정값입니다.

Speed

초당 미터로 표현되는 현재 속력 측정값입니다.

AccelerationSensorEnabled

가속도 센서를 켜거나 끕니다.

센서를 켜거나 끄려면 다음을 입력하십시오.

m.AccelerationSensorEnabled = 1

m.AccelerationSensorEnabled = 0

AngularVelocitySensorEnabled

각속도 센서를 켜거나 끕니다.

센서를 켜거나 끄려면 다음을 입력하십시오.

m.AngularVelocitySensorEnabled = 1

m.AngularVelocitySensorEnabled = 0

MagneticSensorEnabled

자기장 센서를 켜거나 끕니다.

센서를 켜거나 끄려면 다음을 입력하십시오.

m.MagneticSensorEnabled = 1

m.MagneticSensorEnabled = 0

OrientationSensorEnabled

방향 센서를 켜거나 끕니다.

센서를 켜거나 끄려면 다음을 입력하십시오.

m.OrientationSensorEnabled = 1

m.OrientationSensorEnabled = 0

PositionSensorEnabled

위치 센서를 켜거나 끕니다.

센서를 켜거나 끄려면 다음을 입력하십시오.

m.PositionSensorEnabled = 1

m.PositionSensorEnabled = 0

객체 속성

Connected 속성은 읽기 전용이며, MATLAB Mobile과 MATLAB의 mobiledev 객체 사이의 연결 상태를 표시합니다. 가능한 값은 0(연결되지 않음)과 1(연결됨)입니다.

mobiledev 객체 m의 연결 상태를 표시하려면 다음을 입력하십시오.

m.Connected

Logging 속성은 기기에서 MATLAB으로의 데이터 전송 상태를 표시합니다. 가능한 값은 0(기록 중이 아님)과 1(기록 중)입니다.

mobiledev 객체 m의 기록 상태를 표시하려면 다음을 입력하십시오.

m.Logging

Logging 속성은 기록을 활성화 및 비활성화하는 데도 사용됩니다. 선택한 센서에서 데이터 기록을 시작하려면 속성을 활성화합니다.

m.Logging = 1

이 동작은 선택한 모든 센서에서 데이터 전송을 시작합니다. MATLAB Mobile에서 시작 버튼을 눌러 전송을 시작할 수도 있습니다.

Logging 속성을 비활성화하여 선택한 센서의 데이터 기록을 중지합니다.

m.Logging = 0

이 동작은 선택한 모든 센서에서 데이터 전송을 중지합니다. MATLAB Mobile에서 중지 버튼을 눌러 전송을 중지할 수도 있습니다.

센서 측정값 속성

센서 측정값 속성을 사용하여 센서의 현재 측정값을 표시합니다. 기록 중인 모든 센서의 현재 측정값을 언제든지 표시할 수 있습니다. Acceleration, AngularVelocity, Orientation, MagneticField 속성은 각 센서의 현재 측정값을 표시합니다. 위치 센서가 기록 중인 경우, Latitude, Longitude, Speed, Course, Altitude, HorizontalAccuracy 속성을 사용하여 개별 위치 측정값을 가져올 수 있습니다.

센서의 현재 값을 가져오려면 <objectname>.<propertyname>을 사용하십시오. 예를 들어, 객체 m의 가속도 측정값을 가져오려면 다음을 입력하십시오.

m.Acceleration

위치 센서에서 경도 측정값을 가져오려면 다음을 입력하십시오.

m.Longitude

기기를 기준으로 한 X, Y, Z축을 보여주는 도식은 기기 방향 (MATLAB Mobile for iOS) 항목을 참조하십시오.

센서 제어 속성

지원 패키지에는 MATLAB에서 센서를 제어하는 5가지 속성이 있습니다. MATLAB Mobile에서 센서 버튼을 선택하거나 선택 취소하여 동일한 작업을 수행할 수도 있습니다. 각 제어 속성에는 1(켜짐 또는 활성화됨)과 0(꺼짐 또는 비활성화됨), 두 개의 가능한 값이 있습니다.

예를 들어, 가속도 센서를 켜려면 다음을 입력하십시오.

m.AccelerationSensorEnabled = 1

가속도 센서를 끄려면 다음을 입력하십시오.

m.AccelerationSensorEnabled = 0

샘플 레이트 속성

이 속성은 기기에서 이루어지는 데이터 수집 샘플 레이트로, 단위는 Hz입니다. 값은 double형이며 0~100Hz 범위 내에 있는 양수여야 합니다. 디폴트 샘플 레이트는 10Hz입니다.

구체적인 숫자형 값을 설정하는 것 외에도 문자형 벡터 'high', 'medium', 'low'를 사용할 수 있습니다. 이러한 설정은 다음 값을 사용합니다.

  • high – 100Hz

  • medium – 10Hz

  • low – 1Hz

데이터 기록을 시작한 후에도 샘플 레이트를 변경할 수 있습니다. 예를 들어, mobiledev 객체 m의 샘플 레이트를 Hz 단위의 특정 값으로 변경하려면 다음을 입력하십시오.

m.SampleRate = 100

샘플 레이트를 문자형 벡터 값 중 하나로 변경하려면 다음을 입력하십시오.

m.SampleRate = 'low'

R2016a 이전의 지원 패키지 버전에서는 문자형 벡터 값을 사용하여 샘플 레이트를 설정하는 것을 지원했습니다. R2016a부터는 문자형 벡터 값을 사용하거나 숫자형 값을 지정할 수 있습니다.