기록된 센서 데이터 처리하기
이 예제에서는 모바일 기기에서 수집된 방향 데이터를 플로팅하는 방법을 보여줍니다. 기록된 센서 데이터는 수집 중에 또는 수집 후에 플로팅 및 기타 분석을 위해 사용할 수 있습니다.
이 예제에서는 모바일 기기에 MATLAB® Mobile™을 설치하여 설정한 후 이를 MathWorks Cloud에 연결했다고 가정합니다. 이 단계에 대한 자세한 내용은 기기에 MATLAB Mobile 설치하기 및 클라우드에 로그인하기 항목을 참조하십시오.
모바일 기기에서 MATLAB Mobile을 시작합니다.
메시지가 표시되면 클라우드에 로그인합니다.
센서 화면에서 방향 센서를 누릅니다.
센서 설정에서 스트리밍 위치:를 누른 후 MATLAB을 선택합니다.
센서 데이터를 얻으려는 곳에 기기를 둡니다.
MATLAB에서
mobiledev
객체m
을 만듭니다.m = mobiledev
m = mobiledev with properties: Connected: 1 Available Cameras: {'back' 'front'} Logging: 0 InitialTimestamp: '' AccelerationSensorEnabled: 0 AngularVelocitySensorEnabled: 0 MagneticSensorEnabled: 0 OrientationSensorEnabled: 1 PositionSensorEnabled: 0 Supported functions
객체를 만들 때 표시되는 결과에서 값
1
은 활성화됨 또는 켜짐을 의미하고0
은 비활성화됨 또는 꺼짐을 의미합니다. 이 예에서는 기기와 클라우드는 연결되어 있으며 데이터는 아직 기록되지 않고 있는 것을 볼 수 있습니다. 기기에서 방향 센서를 선택했으므로 방향 센서가 활성화된 것으로 표시됩니다.Logging
속성을 설정하여 선택한 센서의 데이터 기록을 시작합니다.m.Logging = 1
이 동작은 선택한 모든 센서에서 데이터 전송을 시작합니다. 기기의 MATLAB Mobile에서 시작 버튼을 눌러 전송을 시작할 수도 있습니다.
disp
함수를 사용하여 객체 속성을 언제든지 표시할 수 있습니다. 데이터 기록을 시작했으므로 이제 더 많은 정보가 표시됩니다.disp(m)
mobiledev with properties: Connected: 1 Available Cameras: {'back' 'front'} Logging: 1 InitialTimestamp: '06-08-2014 13:45:56.529' AccelerationSensorEnabled: 0 AngularVelocitySensorEnabled: 0 MagneticSensorEnabled: 0 OrientationSensorEnabled: 1 PositionSensorEnabled: 0 Current Sensor Values: Acceleration: [0x3 double] (m/s^2) AngularVelocity: [0x3 double] (rad/s) MagneticField: [0x3 double] (microtesla) Orientation: [1.8102 0.0101 -0.0418] (degrees) Position Data: Latitude: [0x1 double] (degrees) Longitude: [0x1 double] (degrees) Speed: [0x1 double] (m/s) Course: [0x1 double] (degrees) Altitude: [0x1 double] (m) HorizontalAccuracy: [0x1 double] (m) Supported functions
표시된 정보를 보면 기기와 클라우드가 연결되어 있고 데이터가 기록되고 있는 것을 알 수 있습니다.
InitialTimestamp
값은 데이터의 첫 번째 패킷이 기록된 타임스탬프를 표시합니다. 현재 측정값을 나타내는 센서 값이 표시되어 있습니다.필요한 만큼의 데이터를 수집한 후에 센서 데이터 기록을 중지합니다.
m.Logging = 0
기록 함수를 사용하면 모든 측정값에 대한 전체 로그를 볼 수 있습니다. 이런 기록 함수는 데이터를 기록하는 중에, 또는 기록을 중지한 후에 사용할 수 있습니다. 센서 유형별로 기록 함수가 있습니다.
accellog
— 기록된 가속도 데이터angvellog
— 기록된 각속도 데이터magfieldlog
— 기록된 자기장 데이터orientlog
— 기록된 방향 데이터poslog
— 기록된 위치 데이터이며, 위도, 경도, 속력, 침로, 고도, 수평 정확도에 대한 데이터 점을 포함합니다.기기를 기준으로 한
X
,Y
,Z
축을 보여주는 도식은 기기 방향 항목을 참조하십시오.객체
m
에서 기록된 방향 데이터를 가져오려면 기록된 방향 데이터에 변수o
를 할당하고 타임스탬프에t
를 할당합니다.[o, t] = orientlog(m);
그런 다음 데이터를 플로팅할 수 있습니다.
plot(t, o)
이 예제에서는 몇 분 동안 짧은 거리를 이동한 기기에서 방향 데이터를 가져왔습니다. 플롯은 방향(
o
) 대비 시간(t
)을 보여줍니다.데이터에 다시 액세스하기 위해 로그를 보관할 수도 있고, MATLAB 세션에서 삭제할 수도 있습니다.
discardlogs(m)
세션을 마쳤으면 객체를 삭제합니다.
clear m