1. Arduino IDE 1.x 설치

더보기

Arduino IDE 1.x 특징

  • 자바 기반, 가볍고 단순함
  • 코드 작성, 컴파일, 업로드 기능 제공
  • 라이브러리 및 보드 매니저 통해 다양한 보드 지원
  • 디버깅 기능은 제한적
sudo snap install arduino

 

2. Arduino IDE 2.x

더보기

  Arduino IDE 2.x 특징

  • Electron 기반:
    • Arduino IDE 2.x는 Chromium과 Node.js를 기반으로 하는 Electron 프레임워크를 사용해 개발
    • 보안상 웹 콘텐츠와 시스템 자원을 격리하기 위한 샌드박스(sandbox) 환경을 기본 활성화하여
      Linux 환경에서 권한 문제와 실행 오류가 발생
    • 무거운 리소스 사용: Electron 기반으로 인해 기존 1.x 버전에 비해 메모리와 CPU 자원을 더 많이 사용합니다.
  • 현대적 UI/UX: VSCode와 유사한 현대적이고 직관적인 인터페이스를 제공합니다.
  • 자동완성 및 실시간 오류 검사: 코드 작성 시 문법 오류와 제안 기능이 향상되었습니다.
  • 내장 디버거 지원: 하드웨어 디버깅 기능이 추가되어 개발 편의성이 높아졌습니다.
  • 플러그인 확장 가능: 확장성과 유지보수성이 개선되었습니다.

 

1. Appimage 다운로드

 

 

 

 

2. 다운받은 경로로 이동

cd ~/Downloads

 

 

 

 

3.  Arduino IDE 2.3.6 AppImage 권한 부여

chmod +x arduino-ide_2.3.6_Linux_64bit.AppImage

 

 

 

 

4. Arduino IDE 2.3.6 AppImage 샌드박스 비활성화하고 실행하기

./arduino-ide_2.3.6_Linux_64bit.AppImage --no-sandbox

 

 

 

5. AppImage 를 더블클릭해서 실행한다.

 


 

3. USB 접근 권한 설정

더보기

1. USB 접근 권한 설정

sudo usermod -aG dialout $USER
  • sudo 관리자 권한으로 명령어 실행
  • usermod 사용자 계정 정보를 변경하는 명령어
  • -aG 기존 그룹은 유지(-a), 추가 그룹 지정(-G)
  • dialout 추가할 그룹 이름 (시리얼 통신 장치 접근 권한 그룹)
  • $USER 현재 로그인한 사용자 이름을 환경변수로 참조

 

2. 재부팅

  • 리눅스는 로그인 시점에 사용자의 그룹 권한을 메모리에 불러옵니다.
  • 그룹 변경 후에도 현재 로그인된 세션에선 변경된 그룹 권한이 반영되지 않기 때문에 
    새 세션을 시작(로그아웃 후 재로그인 또는 재부팅)해야 그룹 권한이 적용됩니다.


3. 확인 방법

: 그룹에 잘 추가되었는지 확인하려면 터미널에 아래 명령어 입력:

groups $USER
  • 현재 사용자를 dialout 그룹에 추가하는 명령어입니다.
  • 출력 결과에 dialout이 포함되어 있으면 성공입니다.

 


 

 

1. USB 권한 설정이 필요한 이유

  • 우분투(리눅스)에서 기본 USB는 /dev/ttyUSB0, /dev/ttyACM0 같은 특수 파일로 표현되고,
    이 특수 파일은 특정 그룹에 속한 사용자만 접근하도록 권한이 설정되어 있습니다.
  • 아두이노를 PC에서 프로그래밍(코드 업로드) 하려면 USB 포트에 대한 읽기/쓰기 권한이 필요합니다.

 

2. dialout 그룹이란?

  1. 우분투에서 /dev/ttyUSB*, /dev/ttyACM* 장치 파일의 소유 그룹은 대개 dialout 그룹입니다.
  2. 따라서 dialout 그룹에 속한 사용자만 시리얼 포트를 읽고 쓸 수 있습니다.

 

 

4. 아두이노 보드 연결 테스트

 

5. AppImage를 시스템 메뉴에 등록