2016 스마트디바이스지능통신 중간 고사(100)
Smart Device M2M
Date: 2016-04-26
1. IoT Network을 사용할 수 있는 현실적인 ICT Service를 제안하고 설명하시
오. 작성방법 – Service명, 동작원리, IoT Network 도입 필요성(30)
[인체 동작 감지 IoT Network]
- 동작원리: 의류의 적당한 위치에 다수 개의 3축 가속 Sensor와 Memory를
가진 소형IoT Node를 장착한다. 이 IoT Node는 인체 각 위치의 가감속 특
성을 계속 저장하고 주기적으로 이 정보를 ZigBee 방식으로 Smartphone
에 전송한다. IoT Node 동작에 필요한 전력은 사용자 동작으로 자동 획득
하며 추가적인 전력 공급은 없다.
- 도입 필요성: 다수 개의 IoT Node 정보를 바탕으로 Smartphone App은 사
용자 동작을 정확히 감지한다. 동작 감지를 더 정확히 하려면 IoT Node
개수를 늘린다. 이런 가공된 정보를 활용해 자세 교정이나 Motion Capture
등에 활용할 수 있다.
2. 사물인터넷(IoT: Internet of Things) SW(Software)의 중요 요소로 Scalable,
Modular, Connected, Reliable을 설정할 수 있습니다. 이 네 가지 요소가 IoT
SW에 필요한 이유를 구체적으로 각각 설명하시오. (20)
- Scalable: IoT SW는 별다른 수정없이 서로 다른 종류의 장치들에 쉽게 사용
될 수 있어야 한다.
- Modular: IoT SW는 RAM 한계에 따라 기능이 Module 형태로 분리 또는
조합될 수 있다.
- Connected: IoT SW를 통해 장치에 수집된 정보를 외부 기기와 무선 혹은
유선 방식으로 교환할 수 있다.
- Reliable: IoT SW는 오동작이나 보안 문제가 발생하지 않도록 이중, 삼중의
방어책을 가져야 한다.
3. Bluetooth Profile이 무엇인지 설명하고, Bluetooth Communication에서
Profile이 사용되는 예를 간략히 한 가지만 제시하시오. (20)
- Bluetooth Profile은 Bluetooth 장치가 다른 Bluetooth 장치와 통신할 때 구
동되는 방식이나 Service가 연결되는 특성을 정한 표준 규격이다. Profile이
표준으로 정해져 있기 때문에, 해당 Service를 사용하려는 App 개발자는 관
련된 Bluetooth Profile을 호출하면 된다.
- 예를 들어 Wireless Headset을 Bluetooth로 연결하려면 Headset Profile을
사용하면 된다.
4. 다음은 Android Location Manager를 이용한 실내 위치 획득 Source Code
의 일부이다. 정상적으로 구동되도록 필요한 Code를 추가하라. 다만
Widget 관련 Code는 이미 있다고 가정하고 작성하지 말 것. (30)
public class MainActivity extends AppCompatActivity {
public LocationManager mLocationMan; (5)
public MyLocationListener myLocationLx;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mLocationMan = (LocationManager) getSystemService(LOCATION_SERVICE);
myLocationLx = new MyLocationListener(); (5)
mLocationMan.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 1000, 0,
myLocationLx); (10)
}
public class MyLocationListener implements LocationListener {
public double latitude, longitude;
@Override
public void onLocationChanged(Location location) {
latitude = location.getLatitude(); (5)
longitude = location.getLongitude(); (5)
}
}

TestSDIC2016-1(answer)

  • 1.
    2016 스마트디바이스지능통신 중간고사(100) Smart Device M2M Date: 2016-04-26 1. IoT Network을 사용할 수 있는 현실적인 ICT Service를 제안하고 설명하시 오. 작성방법 – Service명, 동작원리, IoT Network 도입 필요성(30) [인체 동작 감지 IoT Network] - 동작원리: 의류의 적당한 위치에 다수 개의 3축 가속 Sensor와 Memory를 가진 소형IoT Node를 장착한다. 이 IoT Node는 인체 각 위치의 가감속 특 성을 계속 저장하고 주기적으로 이 정보를 ZigBee 방식으로 Smartphone 에 전송한다. IoT Node 동작에 필요한 전력은 사용자 동작으로 자동 획득 하며 추가적인 전력 공급은 없다. - 도입 필요성: 다수 개의 IoT Node 정보를 바탕으로 Smartphone App은 사 용자 동작을 정확히 감지한다. 동작 감지를 더 정확히 하려면 IoT Node 개수를 늘린다. 이런 가공된 정보를 활용해 자세 교정이나 Motion Capture 등에 활용할 수 있다. 2. 사물인터넷(IoT: Internet of Things) SW(Software)의 중요 요소로 Scalable, Modular, Connected, Reliable을 설정할 수 있습니다. 이 네 가지 요소가 IoT SW에 필요한 이유를 구체적으로 각각 설명하시오. (20) - Scalable: IoT SW는 별다른 수정없이 서로 다른 종류의 장치들에 쉽게 사용 될 수 있어야 한다. - Modular: IoT SW는 RAM 한계에 따라 기능이 Module 형태로 분리 또는 조합될 수 있다. - Connected: IoT SW를 통해 장치에 수집된 정보를 외부 기기와 무선 혹은 유선 방식으로 교환할 수 있다. - Reliable: IoT SW는 오동작이나 보안 문제가 발생하지 않도록 이중, 삼중의 방어책을 가져야 한다.
  • 2.
    3. Bluetooth Profile이무엇인지 설명하고, Bluetooth Communication에서 Profile이 사용되는 예를 간략히 한 가지만 제시하시오. (20) - Bluetooth Profile은 Bluetooth 장치가 다른 Bluetooth 장치와 통신할 때 구 동되는 방식이나 Service가 연결되는 특성을 정한 표준 규격이다. Profile이 표준으로 정해져 있기 때문에, 해당 Service를 사용하려는 App 개발자는 관 련된 Bluetooth Profile을 호출하면 된다. - 예를 들어 Wireless Headset을 Bluetooth로 연결하려면 Headset Profile을 사용하면 된다. 4. 다음은 Android Location Manager를 이용한 실내 위치 획득 Source Code 의 일부이다. 정상적으로 구동되도록 필요한 Code를 추가하라. 다만 Widget 관련 Code는 이미 있다고 가정하고 작성하지 말 것. (30) public class MainActivity extends AppCompatActivity { public LocationManager mLocationMan; (5) public MyLocationListener myLocationLx; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mLocationMan = (LocationManager) getSystemService(LOCATION_SERVICE); myLocationLx = new MyLocationListener(); (5) mLocationMan.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 1000, 0, myLocationLx); (10) } public class MyLocationListener implements LocationListener { public double latitude, longitude; @Override public void onLocationChanged(Location location) { latitude = location.getLatitude(); (5) longitude = location.getLongitude(); (5) }
  • 3.