4 블루투스 통신을 통해 들어오는 데이터가 있는지 주기적으로 확인하는 블록을 구성합니다.
➊ 스위치 앱에서 언제 데이터를 보낼지 알 수 없기 때문에 타이머를 이용하여 주기적으로 받은 데이터가 있는지 확인합니다. 시계 컴포넌트의 타이머간격 속성은 기본값이 1000이므로 타이머는 1초에 한 번씩 작동하게 됩니다.
➋ 두 기기가 블루투스로 연결된 상태라면 연결상태 레이블에 연결됨을 표시합니다.
➌ 블록은 다른 기기에서 보낸 데이터가 있을 때 데이터의 크기를 바이트 단위로 반환합니다. 스위치 앱에서는 1 또는 0을 보내므로 블록의 값은 1이 되고 이 값이 변수 바이트수에 저장됩니다. 다른 기기에서 보낸 데이터가 없을 때는 블록의 값은 0이 됩니다.
➍ 변수 바이트수가 0보다 크면 받은 데이터가 있다는 의미이므로 함수를 호출하여 바이트수 크기만큼 텍스트를 받아서 받은신호 레이블에 표시합니다.
TIP
바이트(byte)는 컴퓨터가 문자를 표현하는 단위입니다. 문자를 나타내는 바이트의 크기는 프로그램의 설정에 따라 달라질 수 있는데, 앱 인벤터가 제공하는 블루투스 컴포넌트의 문자 인코딩 속성은 기본적으로 UTF-8로 설정되어 있으므로 알파벳과 숫자는 한 글자당 1바이트, 한글은 한 글자당 3바이트로 표현됩니다.