본문으로 건너뛰기

Linux 보드 Hello World

이 실습은 Linux 보드용 실습 1입니다. IDE에서 한 번의 흐름으로 Raspberry Pi와 같은 Linux 보드에 Hello World를 배포합니다.

사전 요구 사항

  • OS가 설치되고 인터넷과 SSH가 활성화된 Raspberry Pi 4B / 5 또는 다른 Linux 보드
  • 컴퓨터와 보드가 같은 LAN에 있고 보드 IP로 ping할 수 있어야 함
  • 확장 설치 및 SDK 초기화 완료(TuyaOpen IDE 설치)
노트

Linux 보드에서는 IDE가 크로스 배포를 사용합니다. 컴퓨터에서 실행 파일을 컴파일한 후 SSH로 보드에 전송하고 실행합니다. USB 연결은 필요하지 않습니다.

Linux 보드와 MCU 보드의 차이

T5AI_Board는 시리얼로 플래시하지만 Linux 보드에는 시리얼 플래시 단계가 없습니다.

상단 버튼MCU 보드(T5AI_Board)Linux 보드(Raspberry Pi)
Build펌웨어 빌드Linux 실행 파일 빌드
Flash시리얼로 펌웨어 플래시Deploy: SCP로 실행 파일 전송
Monitor시리얼 로그 읽기Run: SSH로 로그인하여 앱 실행
Clean빌드 캐시 삭제빌드 캐시 삭제

Linux 보드의 Project Details에는 SSH 정보를 입력하는 Board connection 섹션도 표시됩니다.

1단계: Linux 보드 프로젝트 생성

  1. 왼쪽 활동 표시줄에서 보드 카탈로그 아이콘을 클릭합니다.
  2. 목록에서 Raspberry Pi 또는 실제 Linux 보드를 찾고 Create project from this board를 클릭합니다.
  3. Project Details에서 FlashDeploy, MonitorRun으로 바뀌고 Board connection 양식이 표시되는지 확인합니다.

2단계: SSH 연결 구성

보드가 켜져 있고 같은 LAN에 있으며 SSH가 실행 중인지 확인합니다. 사용자 이름과 비밀번호는 OS를 플래시할 때 설정한 값이고 IP는 보드에서 hostname -I로 확인합니다.

필드입력 값
UsernameOS 설정 시 지정한 사용자 이름(예: pi)
IP address보드의 LAN IP(예: 192.168.1.50)
SSH port기본값 22; 변경하지 않았다면 비워 둠
Login methodPassword(권장) 또는 고급 사용자의 Private key
Password해당 비밀번호
Remote directory보드에서 앱이 실행될 위치(기본 ~/tuyaopen-apps/<project name>)

입력 후 Save connection, Test SSH를 클릭합니다.

SSH OK
Linux raspberrypi 6.x.x ... aarch64 GNU/Linux
pi
노트

비밀번호는 편집기의 보안 자격 증명 저장소에 보관되고, 나머지 연결 정보는 프로젝트의 .tuyaopen/ide/deploy.json에 저장됩니다. 명령 팔레트의 TuyaOpen: Configure Board SSH / Deploy로도 구성할 수 있습니다.

3단계: 빌드

상단의 Build를 클릭합니다. 성공하면 Linux 실행 파일(.elf)이 생성됩니다.

[NOTE]:
====================[ BUILD SUCCESS ]===================
Target : <project name>_QIO_1.0.0.bin
Output : /home/<your-username>/TuyaOpenIDE/projects/<project name>/source/embedded/dist/<project name>_1.0.0
Platform : LINUX
Chip : Raspberry_Pi
Board : Raspberry_Pi
Framework : base
========================================================

4단계: 배포

상단의 Deploy를 클릭합니다. IDE가 SSH 채널을 통해 원격 보드로 ELF를 전송합니다.

>>> Uploading ELF…
>>> Deploy complete.
>>> Remote path: /home/pi/tuyaopen-apps/<project name>/<project name>_1.0.0.elf
>>> Local path: /home/<your-username>/TuyaOpenIDE/projects/<project name>/source/embedded/dist/<project name>_1.0.0/<project name>_1.0.0.elf (<size> bytes)

.elf file not found — build the project first가 표시되면 3단계로 돌아가 다시 빌드하세요.

5단계: 실행

상단의 Run을 클릭합니다. IDE가 전용 터미널에서 ssh -t로 보드에 로그인하고 실행 파일을 포그라운드로 실행합니다.

[01-01 00:00:00 ty N][sample_project.c:38] Application information:
...
[01-01 00:00:00 ty D][sample_project.c:48] hello world

끝에 **hello world**가 표시되면 완료입니다. 중지하려면 Ctrl + C를 누르거나 터미널을 닫습니다.

리소스 파일을 보드로 전송

  1. 프로젝트의 source/embedded/resources/에 이미지, 동영상 및 3D 모델을 넣습니다.
  2. 명령 팔레트(Ctrl+Shift+P)에서 **TuyaOpen: Upload Resources to Board**를 실행하거나 Upload Resources 버튼을 클릭합니다.

리소스는 보드의 <remote directory>/resources/에 저장됩니다. 이 기능은 Linux 보드의 크로스 배포에서만 사용할 수 있습니다.

Ubuntu(X86)로 디버깅

Raspberry Pi 외에도 IDE는 X86_64 Linux 대상인 Ubuntu를 지원합니다. ELF 빌드 → SSH 배포 → 실행 흐름은 동일합니다. 프로젝트 생성 시 Ubuntu 보드 유형을 선택하세요.

FAQ

  • 비밀번호 없이 로그인하거나 sshpass가 없음 — Password 방식의 비대화형 사용에는 컴퓨터에 sshpass를 설치합니다.
  • Deploy에서 .elf file not found 표시 — 먼저 3단계에서 빌드하고 산출물이 생성되었는지 확인합니다.
  • 코드를 변경한 후 재배포 — Build → Deploy → Run 순서로 수행합니다.

다음 단계

원하는 작업이동 위치
Raspberry Pi GPIO / I2C / SPI / UART 사용Raspberry Pi 주변 장치 예제
다른 Linux 보드로 전환프로젝트 생성 시 해당 보드 유형 선택
Raspberry Pi 40핀 핀아웃Raspberry Pi 5 GPIO 레퍼런스
클라우드 연결 AI 음성 앱 배포실습 2: your_chat_bot