MacOS로 리눅스 기반 아두이노 개발 환경 세팅

선 4줄 요약 UTM으로 Ubuntu 20.04 Server ARM 64.iso 설치 후 구동 Mac에 VSCode 설치 후 우분투에서 sh연결 Arduino CLI 설치 후 MCU연결 컴파일 및 업로드 진행

선 4줄 요약 UTM으로 Ubuntu 20.04 Server ARM 64.iso 설치 후 구동 Mac에 VSCode 설치 후 우분투에서 sh연결 Arduino CLI 설치 후 MCU연결 컴파일 및 업로드 진행

맥북 에어캔으로 GUI 가상 머신을 돌리기에는 조금 하드합니다.또한 아두이노 IDE는 1.0이나 2.0이나 VSCode에 비해 불편하기 때문에 CLI Linux 환경에서 sh에 원격 접속한 후 VScode로 개발한 후 아두이노를 제어하는 것을 목표로 하고 있습니다. 1. UTM에서 Ubuntu 20.04 Server 설치

Ubuntu Server | Download | 우분투 Server를 얻으려면 데스크톱에서 멀티패스를 사용하는 방법, MAAS를 사용하여 데이터 센터에 머신을 프로비저닝하거나 server.ubuntu.com 에 직접 설치하는 방법 중 하나를 선택합니다.

Ubuntu Server | Download | 우분투 Server를 얻으려면 데스크톱에서 멀티패스를 사용하는 방법, MAAS를 사용하여 데이터 센터에 머신을 프로비저닝하거나 server.ubuntu.com 에 직접 설치하는 방법 중 하나를 선택합니다.

UTM은 Mac.getutm.app에서 운영 체제를 안전하게 실행합니다.위의 두 경로에서 Ubuntu 20.04 server와 UTM을 다운로드합니다.UTM을 인스톨 합니다.UTM을 처음 실행하면 가상 머신을 설치할 수 있는 setup팝업 창이 표시됩니다.Virtualize->Linux->탐색->위에서 다운로드한 Ubuntu Server 20.04.iso를 선택합니다.사양은 CPU core는 자동, RAM은 권장 2GB, 최소 GB에 설정합니다.(저는 2GB 했습니다)그 뒤 검은 바탕에 CLI베이스의 설치 화면이 등장합니다. 키보드의 화살표와 엔터로 조작할 수 있는 직감적으로 설치하기 어렵지 않습니다.이때 OpenSSH-Server를 설치하는가라고 묻지만 꼭 깔아 드릴까요. (이때 해야 따로 설치해야 합니다.)자동적으로 설치되어 완료되면 하단의 프레이즈가 ‘reboot’으로 바뀝니다. 누르면 검은 화면으로 바뀝니다.VMware와 달리 자동 재시작을 지원하지 않아 종료 후에 수동으로 재시작합니다.아까는 처음의 “installubuntuserver”를 눌렀지만 앞으로는 방향 키를 1매스 떨어진 “bootnext volume”를 누릅니다.잠시 기다리셔야 하면 실행이 완료됩니다. 설정한 계정 이름과 패스워드를 입력하면 끝입니다.2. SSH 연결Visual Studio Code 다운로드 – Mac, Linux, Windows Visual Studio Code는 무료이며 마음에 드는 플랫폼(Linux, macOS 및 Windows)에서 이용할 수 있습니다. Visual Studio Code를 다운로드하면 최신 웹 애플리케이션과 클라우드 애플리케이션 구축 및 디버깅에 최적화된 코드 에디터가 재정의됩니다.콤Mac에서 VS Code를 설치합니다.설치 후 왼쪽 탭에서 확장 프로그램을 선택하고 remotesh라고 검색하여 MS에서 작성한 extension을 설치합니다.F1 또는 Cmd + shift + P 를 눌러 명령 팔레트를 연 후 ssh 를 검색하면 Remote-SSH: Connect to Host … 항상 클릭합니다.새 SSH Host 추가를 클릭합니다.1절에서 설치한 우분투 CLI에 ipa를 입력하여 로컬 IP 주소(192.168.~~)를 확인합니다.”sh 계정 이름@로컬 IP 주소”를 위 사진과 같이 입력하고 Ubuntu 비밀번호를 입력하면 연결이 완료됩니다. 3. 3. 3. Arduino CLI 및 extension 설치VSCode에서 상단의 터미널을 클릭한 후 New Terminal을 클릭하여 터미널 창을 엽니다.curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh위 명령어를 입력하면 ‘arduino-cli’가 자동으로 설치되고 환경 변수도 설정해 줍니다.현재 사용자가 시리얼 포트에 대한 액세스 권한을 얻기 위해 두 가지 작업을 수행해야 합니다.sudousermod -a -G 다이얼아웃 $USERID $USERsudousermod -a -G 다이얼아웃 $USERID $USER먼저 첫 번째 접근 권한 취득 작업은 위와 같이 사용자를 dialout이라고 하는 보조 그룹에 넣는 것입니다.id 명령을 통해 제대로 보조 그룹에 소속되어 있는지 확인할 수 있습니다.arduino-cli config initarduino-cli core update-index arduino-cli ボード リストarduino-cli config initarduino-cli core update-index arduino-cli ボード リスト아두이노와 Mac을 USB에 연결한 후 위의 3가지 명령어를 입력하여 핵심 정보 및 환경 설정을 업데이트합니다.마지막 명령어는 현재 연결된 아두이노 개발 보드를 자동으로 찾습니다.정품 아두이노보드(녹색)는 자동으로 찾을 수 있습니다.(상/dev/ttyACM0)중국산 아두이노 호환보드(파란색)는 자동으로 찾을 수 없습니다. (위 /dev/ttyAMA0)처::출출입통선:/누카일지매.국가 인터넷은 지킬 수 없다.그대여/편안하게 남유럽에- 성립/Arduino CLI는 컴파일하든 업로드하든 항상 FQBN(Fully-Qualified Board Name)을 명시해야 합니다.상기 출처의 ukazym님 덕분에 주로 사용하는 아두이노에 대한 FQBN은 복잡한 과정 없이 알 수 있다.Arduino-cli core install Arduino:avr위 사진에서 FQBN 오른쪽에 Core 정보를 알 수 있으므로 해당 코어를 지원하도록 상기 명령어로 설치합니다.다시 VScode의 extension 탭으로 돌아가서 ‘Arduino’를 검색하여 설치합니다. 이때 반드시 install locally가 아닌 sh쪽에 설치하겠습니다.4. 컴파일 및 업로드 진행void setup() { pinMode(LED_BUILTIN, OUTPUT); シリアル。begin(115200); Serial.println(“start…”)···”;} void loop() { digitalWrite(LED_BUILTIN, HIGH); Serial.println(“High!”); delay(500); digitalWrite(LED_BUILTIN, LOW); Serial.println(“Low!”); delay(500); }위와 같이 내장 LED를 0.5초마다 불 깜빡거리는 예시 코드를 작성합니다.작성 중에 아마 문법 오류 또는 intellisense관련 오류가 표시됩니다.https://github.com/Microsoft/vscode-arduino/issues/438https://blog.naver.com/techshare/221381091163″. vscode/settings.json”에 “C_Cpp.intelliSenseEngine”:”Tag Parser”를 추가하면, 아 도우이노 함수가 suggestion에 자주 등장합니다. 그리고 하단에 계속 arduino extension을 load수 없다고 거듭 경고 창이가 등장합니다. https://github.com/microsoft/vscode-serial-monitor/issues/77「リモート。extensionKind”: { “ms-vscode.vscode-serial-monitor”: [ “workspace” ]}”./.vscode/settings.json” 에 위의 코드를 넣으면 SSH 쪽에 serial-monitor 가 정상적으로 로드됩니다.Arduino 확장 프로그램의 0.8.0 버전에서 ssh가 아닌 local 쪽을 우선적으로 설치해서 생기는 오류라고 합니다.아르디노 클립 컴파일–fQbn FQBN~duino: aarμ/arduino-clip-load-p/dev/tyAcm0-clip 컴파일.컴파일과 업로드를 추진하기 위해서’arduino-clicomile’명령으로 컴파일합니다.”arduino-cliupload”명령으로 지정한 포트에 업로드합니다.혹은”arduino-cli compile-u-p”옵션에서 컴파일과 업로드를 동시에 실시할 수 있습니다.이때 gcc나 g++과 달리 소스 코드를 지정하는 것이 아니라 소스 코드가 포함된 디렉토리를 지정합니다.즉 터미널의 작업 경로는 소스 코드를 갖고 디렉토리의 부모 디렉토리이어야 합니다.업로드할 때/dev/ttyACM0에 권한이 없다는 오류가 발생하면? https://forum.arduino.cc/t/permission-denied-on-dev-ttyacm0/475568/2`sudo chmod a+rw/dev/ttyACM0`로 권한을 열어줍니다.컴파일 및 업로드 되어 아두이노 내장 LED가 깜박이고 있으며 시리얼 모니터에서도 확인할 수 있습니다.컴파일 및 업로드 되어 아두이노 내장 LED가 깜박이고 있으며 시리얼 모니터에서도 확인할 수 있습니다.컴파일 및 업로드 되어 아두이노 내장 LED가 깜박이고 있으며 시리얼 모니터에서도 확인할 수 있습니다.

error: Content is protected !!