3주차 강의 첫시간에는 사물인터넷(Internet-connected objsects)에 대해서 배웠다.
사물인터넷의 정의는 말 그대로 "사물이 인터넷에 연결되어 그 정보를 활용하여 사물 본연의 기능을 더 충실히 행하도록 하는 기술을 말한다."
쉽게 말해서 사물에 인터넷을 연결한다. 그리고 그 인터넷을 통해 필요한 정보를 가져온다. 그리고 그 정보를 가공해서 그 물건이 해야 할 일을 보다 더 똑똑하게 할 수 있도록 제어하고 또 알려 주어 그 사물의 가치를 더욱 더 높여준다. 바로 이러한 기술이 사물인터넷이라고한다.
위 그림은 사물인터넷의 사례다.
도난방지가 가능한 지갑이다. 건망증이 심한 사람들은 지갑을 자주 잃어버리곤한다. 지갑은 없어서는 안될 필수품이다. 잃어 버리면 많은 난감 상황이 발생한다. 그 지갑이 이제는 주인이 나에게서 10m만 떨어져도 나를 놓고 가지 말라고 알려준다. 지갑을 자주 잃어버리는 사람들이 정말 좋아할 지갑이다.
그렇다면 사물인터넷을 가능하게하는 핵심기술은 무엇일까?
사물인터넷(IoT)의 핵심 기술은 '센서'라고 한다. 센서는 온도,속도,압력,수질 등등 다양한 정보를 감지해 인터넷으로 데이터를 전달하는 장치다. 이를 통해 한 공장에서 어느 기계가 전력을 많이 쓰는지, 어느 공정에서 생산량이 많이 몰리는지 자동으로 파악하고 이를 조절할 수 있다. 에너지를 줄이고 공정 효율성을 높여 생산량도 높일 수 있다.
오늘 만든 코딩앱은 만보기 앱이다.
요즘 스마트폰에는 기본적으로 만보기앱이 설치되어있다. 그 만보기앱을 내 손으로 직접 만들어보았다.
디자인에 사용된 컴포넌트는 화면 위에서부터 아래와 같다.
이미지 -> 이미지는 리눅스로고를 사용했다.
레이블(lblWalks) -> 걸음 수 표시
레이블(lblDist) -> 거리(m)
레이블(lblCal) -> 칼로리(cal)
버튼 두개(btnRESET, btnQUIT) -> 초기화 및 종료 버튼(Horizontal Arrangement 안에 배치) ->Horizontal Arrangement는 레이아웃탭을 누르면 나온다.
보이지 않는 컴포넌트로는 Sensors에서 Pedometer를 드래그하여 추가한다.
블록 코딩은 위 그림과 같다.
Pedometer센서는 Call Pedometer1.Start로 시동한다. 걸음수와 거리는 Pedometer센서가 돌려주는 값을 사용한다.
블록 코딩을 보면,
CB = 4.0877 x 60(kg) x 운동시간 으로 계산하고 계산 결과를 소수점 한자리까지 표현(format as decimal numbers OOO places 1)하게 한다. 상수 4.0877은 아래의 식에서 걷는 속도(KPH)를 5km/hour로 계산한 경우의 계산식입니다. 체중은 60kg이라고 가정했다.
CB = [0.0215 x KPH**3 - 0.1765 x KPH**2 + 0.8710 x KPH + 1.4577] x WKG x T
Where,
CB = Calorie burn (in calories)
KPH = Walking speed (in kilometres per hour)
WKG = Weight (in kilograms)
T = Time (in hours)
정확하진 않지만 나만의 만보기 완성!