:: The Journal of the Institute of Internet, Broadcasting and Communication ::, Vol.18 No.6 | (2018) pp.139~143

IoT 디바이스를 위한 아두이노 타이머 콜백 분석

Dong-Hwan Gong

(정회원, 한양사이버대학 기계자동차공학부)

Seung-Jung Shin

(정회원, 한세대학교 ICT디바이스학과)

Abstract

오픈 소스 하드웨어 기반의 아두이노는 많은 IoT 디바이스로 사용되고 있으며 IoT 디바이스들은 다양한 입출력을 위한 멀티태스킹을 필요로 한다. 아두이노 기반의 멀티태스킹을 위해 많이 사용되는 몇 가지 방법 중 세 가지 방법인 millis() 를 사용한 타이밍 호출 방법, SimpleTimer 라이브러리 사용 방법, Timer 라이브러리 사용 방법을 비교 분석한다. 각 방법의 측정과 시간지연으로 발생되는 실행 오류를 측정하기 위해 두 가지 상황을 생성하여 분석한다. 첫 번째 상황은 일정한 크기 의 임의 작업을 10개 생성하여 각 방법의 시간지연을 측정하고 두 번째 상황은 일정하지 않는 크기의 임의 작업을 10개 생성 하여 Timer 라이브러리의 시간지연으로 발생되는 실행 오류를 비교 분석하였다. 첫 번째 상황에서 millis() 타이밍 호출 방법 과 Simple Timer 라이브러리 사용 방법은 비슷한 시간지연이 발생하였고 Timer 라리브러리 사용 방법은 더 많은 시간지연 이 발생하였다. 두 번째 상황에서는 크기가 작은 작업들이 시간지연으로 정확한 타이밍에 콜백되지 않는 실행 오류가 발생되었다.
Arduino, based on open source hardware, is used in many IoT devices, and IoT devices require multitasking for various inputs and outputs. Among the several methods used for multitasking based on Arduino, we compare three methods: Timing Call by using millis(), Simple Timer library method, and Timer library method. In order to measure the execution error caused by measurement and time delay of each method, two situations are created and analyzed. In the first case, 10 random tasks of a certain size are generated to measure the time delay of each method. In the second situation, 10 random tasks of a certain size are generated to compare execution errors caused by the time lag of the Timer library. In the first case, the millis() timing call method and the Simple Timer library method have a similar time delay and the Timer library method has more time delay. In the second situation, an execution error occurred in which small-size tasks were not called back at the correct timing due to the time delay.
  IoT; Arduino; Callback; Timer; Analysis

Download PDF List