1.플랫폼아이오(PlatformIO)

PlatformIO는 다양한 플랫폼의 Embeded 환경 개발을 통합해서 지원하는 개발환경이다.  평소 아두이노 IDE를 사용하다가 코드 편집기가 너무 단순하여 딥답하거나 지원기능이 너무 적어 좀 복잡한 개발 프로젝트를 하기에는 불편하다고 느낀다면 대안으로 좀더 전문적인 PlatformIO 개발환경을 사용해 볼 수 있다.     

 

 

2. PlatformIO 장단점 

  2.1. 장점  

 

 - 아두이노 뿐만 아니라 STM32 프로세서 시리즈와 같은 다양한 환경의 개발을 PlatformIO 단일 개발환경에서 수행할 수 있다 

 

- 프로젝트별로 각기 다른 라이브러리 환경을 정의해서 개발 할 수 있다, 아두이노IDE의 경우 프로젝트별로 각기 다른 버전의 라이브러리를 사용하기가 매우 불편했지만 PlatformIO에서는 프로젝트별로 피료로 하는 라이브러리 버전을 환경파일로 지정할 수 있어 편리하다. 

  

- Visual Studio Code를 소스코드 편집기로 사용하므로 다양하고 편리한 Visual Studio Code기능을 사용할 수 있다

 

- Debug 및 Test를 위한 체계적인 기능 지원 

 

 2.2. 단점  

 

다양한 종류 기기와 Framework를 통합해서 지원하는 도구이다보니 사용방법이 복잡해 지고 시간이 많이 소요된다는 것이다. 단순히 아두이노 호환기기만을 사용할 것이라면 기존 아두이노 IDE를 사용하는 편이 정신건겅에 좋고 오히려 더 효율적일 것이다.   

 

3. PlatformIO 설치 

  3.1 사전 준비사항 

 

PlatfromIO는 Visual Studio Code라는 편집기 위에서 작동되는 확장기능 형태로 제공되며 Python으로 개발되어 있기 때문에 Visual Studio Code와 Python 환경이 설치되어 있어야 한다, Visual Studio Code는 아래 Link에서 다운로드 받을 수있고 Python 환경은 PlatformIO 설치시에 자동으로 확인하여 설치해 주므로 굳이 미리 설치해 주지 않아도 된다.    

 

Visual Studio Code - Code Editing. Redefined

Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications.  Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.

code.visualstudio.com

 

 3.2 PlatformIO 설치하기  

 

Visual Studio Code 의 좌측 탭메뉴의 맨아래에 있는 Extentions를 선택한 후 검색창에 platformio라 입력하여 PlatformIO IDE를 선택한다, 

화면 오른쪽에 표시되는 설명에서 Install 버튼을 클릭하여 설치하면 된다.  

만약 Python 환경이 설치되어 있지 않다면 다음과 같은 화면이 나오므로 이때 설치해 주면 된다. 

 

설치작업이 완료되면 다음과 같은 완료메세지가 표시되고 Visual Source Code를 재시작한다.  

Visual Source Code가 재시작되면 다음과 같은 외계인 모양의 탭메뉴가 추가되어 표시되는데 이것이 Visual Studio Code에서 PlatformIO 개발환경을 사용하기 위한 메뉴이다.    

 

4.  프로그램 작성하기  

 PlatformIO를 선택하고 표시되는 서부메뉴에서 QUICK ACCESS -> PIO Home ->Open메뉴를 선택하면 다음과 같이 

프로젝트 오픈화면이 표시된다.

여기에서 새 프로젝트를 시작하려면 New Project를 선택하면되고, 기존의 아두이노 IDE에서 개발했던 내용을 끌어와서 사용하려면 Import Arduino Project를 선택하면 된다. 

 

New Project를 선택하면 다음과 같이 Project정의 화면이 표시되는데 Board에서 원하는 개발보드를 선택하면  아래 Framework에는 해당 보드에서 선택할 수 있는 Framework가 선별되어 표시된다. 예를 들어 ESP32 보드를 사용한다 해도 Framwork는 아두이노를 선택할 수도 있고 ESP32 제조사에서 직접 제공하는 Espressif IOT Development Framwork를 사용할 수도  있다. 

 

 

Location 의 자동선택 옵션을 해제하면 임의의 폴더를 지정하여 프로젝트 내용을 저정할 수 있다. 

 

설정을 마치고 Finish 버튼을 선택하면 한동안 설치 및 설정작업이 수행된후 다음과 같은 개발작업화면이 표시된다. 

 

입력한 프로젝트 명을 폴더명으로 해서 아래에 여러가지 파일과 폴더들이 생성되는데 여기에서 실제 프로그램을 작성하는 파일은 src 폴더에 작성하는데  main.cpp라는 파일이 기본적으로 생성된다. 아두이노 Framwork일 경우 기본 구조에 맞춰 Setuo()과 loop() function 표시되므로 아두이노 IDE에서와 동일하게 프로그램을 코딩하면 된다.    

 

PlatformIO가 기돈된 상태에서는 화면 하단에 위와 같은 아이콘 메뉴들이 표시되는데 아두이노 IDE에서와 같이 V자 테크 표시는 compile verify 이고 -> 표시는 보드에 업로드하기 기능이다. 

 

참으로 편리한 점중의 하나는 코드 자동 check 기능으로 다음과 같이 코딩과정에서 문제가 있을 경우 자동 check하여 이를 표시해 주는 기능이다.  문장뒤의 ';'를  빠트리는 등 Error가 있을 경우 해당 소스명을 붉게 표시하고 에러 갯수를 표시해 준다. 

이를 수정하여 ';'를 입력하면 다음과 같이 에러표시가 없어 진다. 

이외에도 코드 자동추천 및 자동완성 등 Visual Studio Code의 다양한 기능을 편리하게 사용할 수 있다

'메이킹 도구 활용법' 카테고리의 다른 글

아두이노IDE대신 PlatformIO 사용하기  (0) 2021.08.16
Arduino IDE 2.0 소개  (0) 2021.08.09
자신만의 전용 PCB 제작하기  (1) 2021.03.20
Fritzing 사용법_2  (0) 2021.03.18
Fritzing사용법_1  (0) 2021.03.17
Fritzing 유료화 및 무료설치방법  (0) 2021.02.21

 

1. Arduino IDE 2.0 

 

아두이노 공식 개발환경인 Arduino IDE 가 오랫만에 신버전으로 업그레이드 되고 있다. 

아직은 Beta,버전으로 안정화되지도 않았고 전체 기능이 구현되지도 않았지만  아래 링크에서 다운로드 받아 사용해 볼 수 있다.  전체적으로는 Arduino IDE 고유의 단순함은 유지하는 범위내에서 Visual Studio Code 의 일부 기능을 반영해서 편의성을 높이고자 하는 업그레이드로 보인다.   

 

 

Software

Open-source electronic prototyping platform enabling users to create interactive electronic objects.

www.arduino.cc

 

 

2. Arduino IDE 2.0 달라진 점 

 

 

설치하고 기동시키면 다은과 같이 신버전 Arduino IDE 2.0 시스템이 기동된다. 

 

1) 좌측 탭메뉴 추가 

 

Visual studio Code 처럼 좌측 탭메뉴가 추가되어 자주 사용하는 기능들은 여러 단계 메뉴를 거치지 않고 원클릭으로 바로 호출해 사용할수 있게 되었다. 

 

좌측 탭베메뉴는 위에서 부터 파일디렉토리, 보드메니저, 라리브러리메니저, 디버그, 서치 등으로 구성되어 있다. 

 

2) 스크린 테마 선택 

 

화면 모드 테마를 선택할 수 있어 Dark 모드에서 눈의 피로도를 줄일 수 있다.  

 

 

3). 디버거 기능 신설  

 

아주이노 IDE에서 제일 부족한 기능인 별도 디버거 없이 Serial monitor 출력해서 디버깅하는 원시적인 상태에서 벗어날 수 있도록 IDE 2.0에서는 디버깅 기능이 별도로 추가 되었다.   그러나 아직 디버그 기능이 활성화되지는 않는다. 

 

'메이킹 도구 활용법' 카테고리의 다른 글

아두이노IDE대신 PlatformIO 사용하기  (0) 2021.08.16
Arduino IDE 2.0 소개  (0) 2021.08.09
자신만의 전용 PCB 제작하기  (1) 2021.03.20
Fritzing 사용법_2  (0) 2021.03.18
Fritzing사용법_1  (0) 2021.03.17
Fritzing 유료화 및 무료설치방법  (0) 2021.02.21

1. MediaPipe

 MediaPipe란 구글에서 제공하는 AI 프레임워크로서, 비디오형식 데이터를 이용한 다양한 비전 AI 기능을 파이프라인 형태로 손쉽게 사용할 수 있도록 제공된다.  AI 모델개발 및 수많은 데이터셋을 이용한 학습도 마친 상태로 제공되므로 라이브러브 불러 사용하듯이 간편하게 호출하여 사용하기만 하면 되는 형태로 비전 AI 기능을 개발할 수 있다.   

 

 

MediaPipe

End-to-end acceleration Built-in fast ML inference and processing accelerated even on common hardware Build once, deploy anywhere Unified solution works across Android, iOS, desktop/cloud, web and IoT Free and open source Framework and solutions both under

mediapipe.dev

 

2. 제공되는 비전AI 솔루션들 

기본적인 얼굴인식 이외에도 Pose 인식 등 다양한 비전AI 기능들이 제공되는데 사용할 수 있는 비전 AI 솔루션들은 다 다음과 같다.  

 

3. 다양한 개발환경 및 언어 지원 

 

통상의 C++이나 Python언어 이외도 안드로이드나 iOS 등 모바일 프로그램 개발에 활용할 수 도 있고, JavaScript를 이용하여 Web 페이지 형태로 구현할 수도 있다.  

 

  Android iOS C++ Python JS Coral
Face Detection
Face Mesh  
Iris      
Hands  
Pose  
Holistic  
Selfie Segmentation  
Hair Segmentation        
Object Detection    
Box Tracking      
Instant Motion Tracking          
Objectron    
KNIFT          
AutoFlip          
MediaSequence          
YouTube 8M          

 

4. 오픈소스 및 다양한 자료 제공 

 

MediaPipe는 오픈소스 프로젝트로서 소스가 공개되기 때문에 원하는 부분을 수정하여 추가 개발할 수도 있다 

 

GitHub - google/mediapipe: Cross-platform, customizable ML solutions for live and streaming media.

Cross-platform, customizable ML solutions for live and streaming media. - GitHub - google/mediapipe: Cross-platform, customizable ML solutions for live and streaming media.

github.com

 

 

또한 솔루션 별로 상세한 기술자료 및 예제 등이 풍부하게 제공되고 있다.    

 

 

또한 학습모델을 범위나 용도별에 따라 구분하여 사용할 수 있도록 Lite,full,Heavy 등으로 구분하여 제공되기 때문에 각자 환경이나 목적에 따라 적정한 모델을 골라 쓰기만 하면 된다.    

+ Recent posts