- PlatformIO 란 무엇입니까?
- Arduino Uno 용 PlatformIO 설정
- PlatformIO IDE를 사용하여 Arduino UNO 프로그래밍
- PlatformIO IDE를 사용하여 STM32 보드 프로그래밍
Arduino 및 Arduino IDE의 개발은 단순한 사용자 인터페이스로 항상 쉽고 재미있었습니다. Arduino IDE는 오픈 소스이며 Arduino Boards에 코드 작성, 컴파일 및 업로드와 같은 모든 기능과 함께 개발 환경을 무료로 사용할 수 있습니다. Java를 기반으로하며 Windows, OS X 및 Linux와 같은 주요 OS에서 실행됩니다. 그러나 모든 단순성과 대규모 커뮤니티로 인해 숙련 된 개발자가 개발 기간을 단축 할 수있는 빠른 개발에 필요한 일부 기능이 없습니다. Arduino에 사용할 수있는 개발 환경은 많지만 모두 장점과 단점이 있습니다. 오늘 은 아두 이노 환경에 비해 사용하기 쉽고 기능이 추가 된 PlatformIO 개발 환경 부터 시작하겠습니다.
PlatformIO 란 무엇입니까?
PlatformIO는 IoT 개발을위한 Python 기반 오픈 소스 에코 시스템이며 Windows, Mac 및 Linux에서 실행되는 통합 디버거가있는 크로스 플랫폼 IDE입니다. PlatformIO는 단위 테스트 및 펌웨어 업데이트와 함께 Arduino 또는 MBED 지원과 같은 플랫폼 용 라이브러리 관리자와 함께 제공됩니다. PlatformIO는 Arduino, ESP32, ESP8266과 같은 다양한 플랫폼, 프레임 워크, 보드를 지원하며 다양한 예제 및 라이브러리와 함께 제공됩니다. 실행중인 플랫폼과는 독립적이며 컴퓨터에 Python 만 설치하면됩니다.
PlatformIO의 장점
PlatformIO 는 Arduino IDE에는없는 빠른 전문 개발을위한 C / C ++ Code Completion 및 Smart Code Linter와 같은 기능으로 빠른 개발 을 제공합니다. 이 외에도 PlatformIO는 언제든지 개발할 수 있도록 어둡고 밝은 색상 의 테마 지원을 제공합니다. 또한 스마트 코드 탐색 및 코드 서식 이 함께 제공됩니다. 핵심 기능에는 다중 플랫폼 빌드 시스템, 라이브러리 관리자, 직렬 포트 모니터 등이 있습니다.
통합 디버거 여러 아키텍처 및 개발 플랫폼에 대한 지원은 제로 구성과 디버그 여러 임베디드 할 수 있습니다. PlatformIO 통합 디버거에는 조건부 중단 점, 식 및 감시 점, 메모리 뷰어, 활성 디버깅 세션의 핫 재시작과 같은 기능이 있습니다. PlatformIO Core는 Python 2.7로 작성되었으며 Windows, macOS, Linux, FreeBSD 및 Raspberry Pi, BeagleBone, CubieBoard, Samsung ARTIK 등과 같은 ARM 기반 신용 카드 크기의 컴퓨터에서도 작동합니다.이 외에도 PlatformIO에는 파일 탐색기가 있습니다. 프로젝트가 일정 수준으로 성장하고 구성이 필요하게 될 때 파일을 구성합니다.
Arduino Uno 용 PlatformIO 설정
PlatformIO 사용은 매우 간단하며 시작하는 데 몇 단계 만 필요합니다. 위에서 설명한대로 PlatformIO 코어는 Python 2.7로 작성되었으므로 PlatformIO는 컴퓨터에 Python을 설치해야합니다. PlatformIO는 Python 3을 지원하지 않으므로 Python 2 버전을 설치 한 다음 PlatformIO IDE 설정을 진행 하는 것이 좋습니다. PlatformIO는 IDE이며 가장 널리 사용되는 IDE 및 텍스트 편집기를위한 공식 패키지 (플러그인, 확장)를 제공합니다.
오늘 우리는 Atom 및 Visual Studio Code와 같은 텍스트 편집기에 PlatformIO를 설치합니다. Platform IDE의 공식 문서에는 VS Code 용 PlatformIO IDE (Visual Studio Code)가 더 나은 시스템 성능을 제공하며 사용자가 시작하기가 더 쉽다고 명시되어 있습니다. 따라서 Visual Studio Code에서 PlatformIO를 설정합니다. VS Code는 다양한 프로그래밍 언어로 개발할 수있는 확장 기능이있는 잘 알려진 텍스트 편집기입니다.
Arduino UNO에서 코드 개발을 시작하기 위해 PlatformIO 설정을 시작하겠습니다. 아래에 설명 된 단계가 있습니다.
- 먼저 공식 웹 사이트에서 Visual Studio Code 를 설치합니다. Visual Studio Code 의 설치 단계는 여기에서 설명하지 않지만 VS Code 웹 사이트에서 찾을 수 있습니다. Windows OS에 다른 소프트웨어를 설치하는 것과 같은 일반적인 단계가 있습니다.
- Visual Studio Code가 성공적으로 설치되면 다음과 같이 표시됩니다.
- 다음 단계 에는 VS 코드 확장을 사용하여 PlatformIO를 설치하는 것이 포함됩니다. 이를 위해 VS 코드의 왼쪽 상단 모서리에있는 확장 아이콘으로 이동해야합니다. 왼쪽 상단 모서리에 다섯 번째 아이콘 인 사각형 상자 아이콘이 있습니다. 이를 클릭하기 만하면 C / C ++, C #, Python, PHP, Go, JavaScript, TypeScript 및 Node.js 등과 같은 다양한 프로그래밍 언어에 대한 많은 확장을 찾을 수있는 바로 옆에 하나의 검색 상자가 나타납니다.
- 확장 검색 창에서“PlatformIO”를 검색하면 이름과 설명이있는 PlatformIO 아이콘이 보일 것입니다. 그것을 클릭하고 설치하십시오. 도구 모음 및 기타 종속성을 설치하는 데 다소 시간이 걸릴 수 있습니다. Arduino 개발은 대부분 C / C ++에서 수행되므로 종속성에는 C / C ++ 환경이 포함됩니다.
- 설치가 완료되면 다음 인터페이스가 표시됩니다. 인터페이스에는 새 프로젝트 생성, Arduino 프로젝트 가져 오기, 프로젝트 열기, 프로젝트 예제 등과 같은 필요한 모든 탐색이 포함되어 있습니다. PlatformIO 설치 후 VS Code Editor를 다시 시작하는 것이 좋습니다.
이것으로 PlatformIO의 설치 단계가 완료됩니다. 이제 PlatformIO가 설치되고 사용할 준비가되었습니다. Arduino IDE와 마찬가지로 Blink 프로그램으로 시작하여 Arduino UNO에 Blink 프로그램을 업로드하려고합니다.
PlatformIO IDE를 사용하여 Arduino UNO 프로그래밍
PlatformIO 인터페이스는 Arduino UNO를 프로그래밍하는 동안 동시에 설명됩니다. 여기서는 PlatformIO를 사용하여 LED를 깜박이도록 Arduino를 프로그래밍합니다. Arduino IDE를 사용하여 동일한 작업을 수행 할 수 있습니다. 아래 단계에 따라 깜박이는 LED에 대한 새 프로젝트를 만듭니다.
- 빠른 액세스 메뉴에서 "새 프로젝트"탭을 선택합니다.
- 프로젝트 이름을 지정합니다 (여기에 'Blink'가 있습니다). Arduino UNO 인 보드를 검색하고 선택합니다. Arduino 프레임 워크에서 작업하고 있으므로 선택한 프레임 워크는 Arduino가됩니다. 모든 세부 정보를 입력 한 후 마침을 클릭하십시오.
- 프로젝트는 리소스 및 기타 종속성을 수집하여 생성되기 시작합니다.
- 프로젝트가 성공적으로 생성되면 모든 세부 정보와 함께 "프로젝트가 성공적으로 초기화되었습니다"라는 메시지가 표시됩니다.
- 생성 된 프로젝트 를 열려면 PlatformIO의 홈 메뉴를 아래로 스크롤하면 처음부터 생성 된 모든 프로젝트 목록이 표시됩니다. 생성 된 프로젝트의 오른쪽 모서리에서 '열기'를 클릭하여 프로젝트를 열고 편집을 시작합니다.
- 프로젝트가 열리면 처음에는 숨겨진 것처럼 보이지만 걱정하지 마십시오. PlatformIO에는 현재 프로젝트의 모든 파일을 찾을 수있는 파일 탐색기 기능이 있습니다. 왼쪽 상단으로 이동하여 '제목 없음 (직장)'을 엽니 다. 그것을 클릭하면 모든 파일이 드롭 다운 메뉴로 나타납니다. '코드'를 편집 할 텍스트 편집기를 찾으려면 'src'를 선택하고 'main.cpp'를 엽니 다. 새 탭을 열면 텍스트 편집기 모드가 홈 화면에 나타납니다. 여기에서 현재 진행중인 프로젝트의 모든 코드를 작성할 수 있습니다.
- Arduino UNO의 Blink 코드를 작성하기 만하면됩니다. PlatformIO는 Arduino 라이브러리에 대한 기본 액세스 권한이 없으므로 Arduino 용 코드를 작성할 때마다 항상 프로그램 시작 부분에 Arduino 라이브러리 즉 "#include" 를 포함해야합니다.
- 다음 단계는 코드를 컴파일하고 업로드하는 것입니다. 이를 위해 PlatformIO에서 제공하는 기능을 살펴 보겠습니다. 또한 PlatformIO는 기본적으로 COM 포트를 선택합니다. 그러나 원하는 COM 포트가 아닌 경우 포트를 변경할 수도 있습니다. COM 포트 변경은이 튜토리얼의 뒷부분에서 설명합니다. PlatformIO에는 빌드, 업로드, 원격 장치에 업로드, 정리, 테스트, 작업 실행, 직렬 모니터, 새 터미널과 같은 기능이 있습니다. 모든 기능은 Editor의 왼쪽 하단에서 찾을 수 있습니다. 아이콘 위로 마우스를 가져 가면 기능이 표시됩니다.
- 스케치를 작성하려면 '작성'을 클릭하고 스케치를 업로드하려면 '업로드'아이콘을 클릭하십시오. 업로드가 완료되면 다른 모든 세부 정보와 함께 업로드에 걸린 시간과 "성공"메시지를 볼 수 있습니다. 코드가 성공적으로 업로드되고 Arduino Board에서 LED가 깜박이는 것을 볼 수 있습니다.
COM 포트를 선택하거나 변경하려면 PlatformIO 홈 화면으로 이동 한 다음 장치로 이동하면 연결된 모든 사용 가능한 장치를 볼 수 있습니다. 적절한 COM 포트를 선택하고 동일한 절차에 따라 스케치를 업로드합니다.
PlatformIO IDE를 사용하여 STM32 보드 프로그래밍
STM32 보드 프로그래밍은 위에서 설명한 Arduino UNO 프로그래밍과 정확히 유사한 단계를 수행합니다. 차이점은 STM32 용 새 프로젝트를 열 때 STM32 용 보드를 선택하는 것입니다. PlatformIO의 좋은 점은 보드를 별도로 다운로드하기 위해 외부 패키지가 필요하지 않으며 모든 패키지를 자동으로 다운로드 하고 보드를 선택하고 편집기로 이동하기가 쉽다는 것입니다. 외부 JLink / JTAG / STLink / 직렬 프로그래머를 사용하여 STM32에 스케치를 업로드합니다. STM32는 Arduino IDE로 프로그래밍 할 수도 있습니다. PlatformIO로 프로그래밍하려면 다음 단계를 진행하십시오.
- 프로젝트 이름 만 지정하면됩니다 (여기에 'Blink STM32'가 있습니다). 그런 다음 STM32 용 보드 즉 ' BluePill F103C8 (Generic) '을 선택합니다. 그런 다음 Framework를 Arduino로 선택하십시오. 마침을 클릭하고 처음에는 보드 STM32에 대한 패키지 및 종속성을 다운로드하는 데 시간이 걸리므로 잠시 기다립니다.
- 설정이 완료되면 다음 프로젝트 생성 시간이 첫 번째 프로젝트에 비해 짧아집니다. 이제 왼쪽 파일 탐색기에서 Untitled (Workspace)-> src-> main.cpp로 이동하십시오.
- 이제 다음 단계는 STM32 보드를 프로그래밍하는 데 사용할 프로그래머를 결정해야하므로 중요합니다. JTAG, STLink, JLink, Serial 등과 같은 많은 프로그래머가 있습니다. 모두 작동하지만 'platformio.ini'구성 페이지 또는 파일을 구성해야합니다.
- 이 프로젝트에서는 직렬 프로그래머 CP210x USB to UART Bridge를 사용합니다. 우리는 이미 USB 포트를 사용하여 STM32F103C8 보드 프로그래밍을 완료했습니다. 대부분의 단계는 여기서 만 수행됩니다. 링크를 방문하여 이에 대해 자세히 알아볼 수 있습니다.
- 먼저 시리얼 프로그래머를 다음의 핀 매핑으로 STM32 보드에 연결하고 PC에 연결합니다.
USB- 직렬 프로그래머 |
STM32 보드 |
5V |
5V |
Gnd |
Gnd |
Rx |
A9 |
Tx |
A10 |
- 이제 프로젝트 탐색기로 이동하여 'platformio.ini'페이지를 열고 그림과 같이 문을 변경하십시오. upload_protocol는 프로그래머 (시리얼 STLink, JLINK 등)을 사용해야하는 것을 말할 것이다. upload_port는 COM 포트를 선택합니다. 홈 페이지의 '장치'로 이동하여 찾을 수 있습니다. COM 포트에 따라 COM 포트를 변경하십시오.
- 'main.cpp'로 이동 하여 프로그램을 Blink 프로그램으로 변경합니다. 이제 프로그램을 업로드하면 성공 메시지와 업로드에 걸린 시간이 표시됩니다. 이제 STM32 보드의 PC13 핀에 연결된 LED가 깜박이기 시작합니다.
이것으로 PlatformIO를 사용하여 Arduino UNO 및 STM32 보드 프로그래밍 에 대한 전체 자습서가 완료되었습니다. 단계를 수행하는 동안 어려움이 있으면 포럼에 글을 쓰거나 아래에 의견을 남겨주세요.