본 강좌는 서울하드웨어해커톤 탑메이커에 참가하는 메이커들과 타이젠 운용체제에서 실행되는 IoT 응용프로그램을 개발하려는 개발자들에게 도움이 되고자 마련되었습니다.
다섯 강의로 구성되어 있으며, 각 30분 분량의 강의가 진행됩니다.
앞 두 개 강의는 응용프로그램을 개발하는데 필요한 용어 및 기본개념 그리고 기본 예를 들어 설명하고 있으며( 동영상 에서 사용된 예제
함수는 적용한 일반적인 리눅스 OS 에서 사용되는 ) 함수 입니다.
뒤 세 개 강의는 타이젠에서 작동되는 프로그램들을 대상으로 구조분석 및 의미분석을 통해 어떻게 작동되는지를 이해하여 그결과를 트레이싱하는 내용으로 구성되어 있습니다.
1 첫번째 강의는 프로그램 개발에 도움이 되는 기본적인 용어 및 지식에 대해서 설명하고 있습니다.
타스크(Task)들의 작동원리를 이해하는데 필요한 내용으로서, 하드웨어를 움직이고 사용자를 편리하게 지원하는 운영체제 개념, 프로세스들이 어떻게 생성되어 실행되고 소멸되는지를 알기 위한 프로세스의 생명주기(life-cycle), 프로세스와 쓰레드들 어떻게 구분해야 하는지, 이벤트와 인터럽트는 어떤 차이가 있는지, 핸들과 콜백함수는 어떤 관계가 있는지, 프로세스 실행시 사용되는 데이터 구조인 스택과 큐의 작동원리에 대해서 설명합니다.
% 동영상 에서 나온 함수의 예제는 일반적인 리눅스 OS 에서 사용되는 함수 입니다.
2. 두번째 강의는 쓰레드 사용과 콜백함수와의 관계를 설명하고 있습니다.
쓰레드함수, 동기화함수, 그리고, 콜백함수의 사용형식에 대해서 알아보고, 이러한 함수들을 활용한 예를 설명합니다. 사용된 예는 타이젠 개발자 사이트에 있는 "Ecore Thread 3 sample app" 프로그램 일부를 사용하여 설명합니다. 예제 내용이 이해하는데 어려울 수 있으나, 쓰레드의 동작을 파악하는데 도움이 될 것 입니다.
3. 세번째 강의는 널리 사용되는 타이머에 대한 내용 입니다.
타이머의 개요 대해서 알아보고, 타이젠 환경에서 타이머를 이용하려면 어떤 함수를 사용해야 할지를 이해한뒤, 실제 타이젠에서 실행되는 타이머 앱프로그램의 구조와 의미하는 바를 분석합니다. 예제가 일부 UI 부분을 포함하고 있지만, 타이머 기능 중심으로 코딩된 부문만을 별도로 구분하여 설명하고, 프로그램 구조에 대해 해부하여 그 의미를 분석하고 실행하여 결과를 트레이싱하고 있습니다.
% 예제 소스는 타이젠-스튜디오에서 ClockUI 프로그램을 다운로드 받아 타이머 응용기능을 새로 추가 했습니다. 소스는 TimerSample.zip 입니다. 타이젠-스튜디오에서 실행하여 로그창으로 확인할 수 있습니다.
4. 네번째 강의도 익히 친숙한 스톱워치 프로그램에 대한 내용 입니다.
스톱워치 프로그램에 대한 기능 스펙에 대해서 알아보고, 사용되는 쓰레드 함수의 종류 및 파라미터에 대해서 설명합니다.
또한 프로그램들의 구성과 각 구성요소들이 의미하는 바를 분석하고 있습니다. 스톱워치 프로그램은 타이젠 개발자 사이트에 있는 샘플프로그램 입니다. UI 가 포함된 예제 이지만 이벤트 발생을 기반으로 실행되는 쓰레드를 이해하여 응용하는데
도움이 되는 예제입니다.
% 예제소스는 타이젠-스튜디오에서 Stopwatch 프로그램을 다운로드 받으면 됩니다. 소스는 Stopwatch.zip 입니다. 타이젠-스튜디오에서 실행하여 에뮬레이터와 로그창으로 확인할 수 있습니다.
5. 다섯번째 강의는 센서인지 프로그램의 구조와 의미분석에 대한 내용입니다.
두개의 예제 프로그램을 다루고 있는데, LED 제어 프로그램과 조도센서와 서버모터를 이용한 블라인드 제어 프로그램 예제 입니다.
이 예제들은 headless 형식으로 되어 있습니다. 각 프로그램의 작동개요를 살펴보고, 프로그램에서 사용하는 주요 구조체를 이해하고, 사용되는 서비스앱 함수들의 구조와 의미를 분석하고 있습니다. 분석의 범위는 센서장치를 프리미티브 레벨에서 제어하는 내용을 포함하고 있지 않습니다. 좀더 상위레벨에서 타이젠 네이티브 개발환경에서 개발된 센서제어 프로그램 샘플을 해부하므로서, 타이젠 네이티브 앱을 사용하여 어떻게 센서장치와 연동할 것인가를 알아보고자 합니다.
사용된 예제 소스는 G-Camp 에서 제공된 led-sw 프로젝트와 smart-blind 프로젝트를 사용하였습니다.
웹 사이트 주소
https://www.g.camp/tag/TIZEN, https://www.g.camp/tag/TIZEN_THINGS, https://www.g.camp/tag/TIZENxLinux, https://www.g.camp/tag/Linux
https://www.topmaker.kr/tag/TIZEN, https://www.topmaker.kr/tag/TIZEN_THINGS, https://www.topmaker.kr/tag/TIZENxLinux, https://www.topmaker.kr/tag/Linux
에서 전체 동영상을 보실 수 있습니다.
태 그
Linux, TIZEN, TIZEN_THINGS, TIZENxLinux, Smartthingscloud, Tizen, TizenxSmartthingsCloud
#메이커 를 위한 #글로벌 #베이스캠프 #전문랩 #GCamp #메이커스페이스
#창업진흥원, #서울시, #서울산업진흥원, #금천구, #한국산업단지공단, #테크노니아 (www.technonia.com) ,
#전문랩, #GCAMP, #지캠프,
#TIZEN, #서울하드웨어해커톤탑메이커, #시그마델타테크놀로지, #다인시스, #심플랫폼, #더케이시스템주식회사
메이커스페이스 G·캠프 : www.g.camp
'Toolkit_(with_Video_Tutorials) > TIZEN' 카테고리의 다른 글
(동영상 강의) 고급 타이젠 개발자를 위한 리눅스 기본강의 004강 (0) | 2019.08.01 |
---|---|
(동영상 강의) 고급 타이젠 개발자를 위한 리눅스 기본강의 003강 (0) | 2019.08.01 |
(동영상 강의) 고급 타이젠 개발자를 위한 리눅스 기본강의 002강 (0) | 2019.08.01 |
(동영상 강의) 고급 타이젠 개발자를 위한 리눅스 기본강의 001강 (0) | 2019.08.01 |
(동영상) 타이젠(Tizen) 프로젝트 예제(Sample Project) 04편 쓰레기통 [Step_05] Bin SmartThings 연결 (0) | 2019.07.13 |
(동영상) 타이젠(Tizen) 프로젝트 예제(Sample Project) 04편 쓰레기통 [Step_04] 쓰레기통 조립 (0) | 2019.07.13 |
(동영상) 타이젠(Tizen) 프로젝트 예제(Sample Project) 04편 쓰레기통 [Step_03] 쓰레기통 와이어링 및 테스트 (0) | 2019.07.13 |
(동영상) 타이젠(Tizen) 프로젝트 예제(Sample Project) 04편 쓰레기통 [Step_02] Bin 프로젝트 생성 및 어플리케이션 업로드 (0) | 2019.07.13 |