Search
Duplicate

[uno_Q]1.입문기

목차(클릭하세요)
피지컬AI는 아두이노Q로 시작하기 초소형·고성능 엣지 디바이스 AI(Edge AI) 플랫폼 아두이노 UNO Q로 리눅스의 지능과 MCU의 행동력을 결합한 하이브리드 코딩의 신세계

1. 참고사이트

1-1. 아두이노 공식 사이트

1-2.공식 사이트 한글번역본

현재 2분의 개발자분께서 공식사이트의 설명을 한글로 번역해주심

1-3.개발자분들

실제 사용을 바탕으로 한 재구성

1-4.대망의 사용자 까페

역시 아두이노 하면 네이버 까페: 아두이노 스토리
에 있는 우노 관련 게시글

2. 우노Q를 시작하는 이유

2-1. 기존아두이노와 무엇이 다른가?

"제어(Control)"와 "연산(Computing)"을 한 보드에서 해결
UNO Q는 단순한 마이크로컨트롤러가 아님??
리눅스 기반의 강력한 컴퓨터와 실시간 제어 장치가 결합된 하이브리드 싱글보드 컴퓨터(SBC) [비교하기]
기존 아두이노: MCU만 탑재 (단일 프로세서)
UNO Q: MPU(QRB2210) + MCU(STM32U585) 이중 구성

핵심 3가지 차이

구조

MCU: CPU + 메모리 + 입출력 모두 한 칩에 통합
올인원 패키지, 외부 부품 최소화
MPU: CPU만 있음 → 외부 메모리/장치 필요
RAM, 저장장치 별도 연결

운영체제

MCU: 운영체제 없이 작동 (베어메탈)
코드 업로드하면 바로 실행
예: LED 켜기, 센서 읽기
MPU: Linux, Android 같은 OS 필수
여러 프로그램 동시 실행 가능
예: 웹브라우저 + 음악 재생 + 파일 다운로드

사용 목적

MCU: 실시간 제어
정확한 타이밍이 중요한 작업
자동차 에어백, 세탁기, 드론 제어
MPU: 복잡한 연산/멀티태스킹
AI 추론, 영상 처리, 네트워크 통신
스마트폰, 라즈베리파이, 드론 영상 처리
MPU (리눅스) MCU (아두이노) ┌─────────────┐ ┌─────────────┐ │ AI 추론 │ │ LED 제어 │ │ 웹서버 │ RPC │ 센서 읽기 │ │ 카메라 처리 │◄────►│ 모터 구동 │ │ 네트워크 │ │ 실시간 응답 │ └─────────────┘ └─────────────┘ (두뇌/판단) (손발/행동)
Plain Text
복사
역할 분담
MPU: "카메라에서 컵이 보이네!" (인식)
실제로는 리눅스(Debian) 구동, AI 연산, 이미지 처리, 고성능 네트워킹 담당
MCU: "그럼 LED 켜자!" (즉각 반응)
실제로는 센서 제어, 모터 구동 등 실시간성(Real-time) 작업 담당

2-2.우노Q 핵심 성능

1.
중요 체크 포인트
독자적인 컴퓨터: PC 연결 없이 모니터와 키보드를 연결해 리눅스 데스크톱처럼 사용 가능.
강력한 AI 성능: 내장 GPU(Adreno 702)와 NPU를 통해 별도 장비 없이 비전(Vision) AI 및 머신러닝 모델 구동 가능
내장 메모리: SD 카드 없이 16/32GB eMMC 저장소2/4GB RAM 탑재로 안정적인 OS 구동
2.
기타
무선 통신 기본 탑재: Wi-Fi 5 (2.4/5GHz) 및 Bluetooth 5.1 내장 (별도 모듈 불필요)
 USB-C: 전원 공급, 데이터 전송, 디스플레이 출력(DP Alt Mode) 동시 지원
고속 헤더(JMEDIA/JMISC): MIPI 카메라나 고해상도 디스플레이 직결 가능

2-3.우노Q의 확장성

1.
AI/머신러닝
온보드 AI 추론 가능 (객체인식, 이미지 분류 등)
사전 학습된 모델 바로 사용 가능
2 .네트워크 기능
내장 Wi-Fi로 웹서버 구축 즉시 가능
IoT 프로젝트에 최적화
3.
SBC(Single Board Computer) 모드
모니터 연결해 독립적인 컴퓨터로 사용
리눅스 환경에서 자유로운 개발
4.
Bricks 시스템
웹서버, AI 모델 등 미리 패키징된 기능 블록
클릭 몇 번으로 복잡한 기능 구현

3. 설치 및 사용 준비

3-1. 우노Q의 사용모드

UNO Q는 세 가지 모드로 활용할 수 있음
왼쪽 그림은 SBC모드, 오른쪽은 PC 호스티드 모드
1. SBC 모드 (단독 컴퓨터)
USB-C 허브를 통해 모니터, 마우스, 키보드 연결.
전원 인가 시 자동 부팅되며 리눅스 데스크톱 환경 진입.
단독 사용을 위해서는 4GB RAM 모델 권장
2. PC-Hosted 모드 (개발 보드) 아마도 이 모드에서 가장 많이 활용할 것으로 예상됨
PC에 USB로 연결하여 Arduino App Lab을 통해 제어
PC 성능을 활용해 개발, 보드는 실행·I/O만 담당
3. 네트워크 모드
같은 LAN에 있는 UNO Q를 App Lab 데스크톱 앱에서 Network 태그로 인식
USB‑C 없이도 앱 업로드·실행·모니터링 가능 (SSH 비슷한 개념)
같은 Wi-Fi 망에 있으면 무선으로 접속 및 코드 업로드 가능

3-2.설치

Arduino App Lab: MPU(리눅스)와 MCU를 동시에 개발하는 통합 툴 (보드에는 내장됨, PC에는 추가 설치필요)
app lab을 사용해야 하는 이유?
아두이노 스케치, 파이썬 스크립트, 컨테이너화된 리눅스 애플리케이션을 단일 워크플로로 원활하게 통합
참고로 기존 Arduino IDE 2.x도 사용가능하지만 제한적: MCU(STM32) 단독 제어가 필요할 때만 사용 (Zephyr OS Core 설치 필요)
설치가 완료되서 실행하면 다음 화면을 볼 수 있음
연결완료되면 화면이 이렇게 바뀜
아두이노Q 보드에 설치된 소프트웨어가 구버전일 경우 업데이트 필요
‘Get Flasher Tool’을 선택하여 보드 업데이트를 진행할 수 있으나 나중에 할 수 있으니 일단 Skip

3-3.사용준비 및 예제1

보드 설정은 사용자 입맛에 맞게, 보드네임도 본인이 원하는 영어로 진행
기본적인 네트워크 설정도 진행
무선 설정을 한번 해두면 나중에 USB-C없이도 앱 업로드 실행 가능
앞으로 사용할 무선네트워크 설정
설정이 완료되면 몇가지 업데이트 사항을 체크해줌
버전 관리까지.. 기가 막힘
마지막으로 리눅스계정 설정까지 완료하기
드디어 만난 첫 실행 화면
[예제]Blink 실행하기
아두이노 시작할때 지구상 국롤인 Hello World 예제격인 Blink 를 선택하기
기존 아두이노 IDE와는 사뭇 다른 느낌, 특히 blink예제를 선택했을 때, README가 화면에 나오고, python폴더와 sketch폴더가 따로 관리되고 있음을 볼 수 있음
예젱의 경우 readme파일을 생성형AI에게 던져주고 번역 및 메뉴얼을 확인할 수 있을 듯
[파일구조가 복잡한 이유]
파일 구성: 각 앱 폴더 내부에는 다음과 같은 핵심 파일들이 저장됨
sketch/sketch.ino: MCU(STM32)에서 실행될 아두이노 스케치 파일
main.py: MPU(리눅스)에서 실행될 파이썬 스크립트
app.yaml: 앱의 설정 파일
중요한 점은 해당 파일들이 내PC가 아니라 아두이노우노Q본체에 저장되어 있다는 사실
PC에 설치된 Arduino App Lab 프로그램은 보드 내부에 있는 파일을 원격으로 보여주고 편집할 수 있게 해주는 '뷰어'역할을 하는 것임
[당신의 PC] [UNO Q 보드] ┌─────────────┐ SSH ┌─────────────┐ │ App Lab │◄────────►│ 실제 파일 │ │ (원격 접속) │ or USB │ 실제 실행 │ │ │ │ 실제 빌드 │ │ - 파일 보기 │ │ │ │ - 코드 편집 │ │ ~/ArduinoApps/│ │ - 명령 전송 │ │ ├─ app1/ │ │ - 로그 확인 │ │ ├─ app2/ │ └─────────────┘ └─────────────┘ (리모컨) (본체)
Plain Text
복사
[실행하기]
거두절미하고 바로 우측 상단의 실행버튼 클릭
이렇게 Console창에서 해당 MPU의 작업 상황과 터미널 명령어를 확인할 수 있음
첫 실행시 터미널에서 많은 업데이트 및 설치 과정이 반복될 수 있음
앱 설치 및 업데이트가 모두 끝나면 아까 보이지 않았던 시리얼 모니터 탭과 파이썬 탭이 생기고, 터미널의 명령어 색깔이 녹색으로 바뀌게 됨
결과: 내장된 3번핀(=RGB LED)의 빨간색 LED가 1초 동안 켜지고, 1초 동안 꺼지는 것을 반복하는 것을 볼 수 있음
[수정하기]
현재 예제 코드는
Read-only code. Create your own app from this example to edit.
즉 수정하려면 우측 상단의 복사후 편집앱 버튼을 클릭해야 한다는 의미
복사 후 깜빡이는 시간을 수정하고, 다시 실행했을때, 역시나 첫 시작에 많은 시간이 소요됨
이렇게 수정된 앱, 또는 내가 직접 만든 앱은, APP LAB의 ‘MY Apps’에 저장됨

3-4.[예제2] 이미지 드로잉 및 LED매트릭스가지고 놀기

이 예제는 LED 매트릭스에서 사용자 정의 프레임 , 특히 Arduino 로고를 그리는 것
‘create new app’을 선택해서 이미지 작업을 위한 프로젝트를 준비하기
main.py는 건드리지 말고 바로 sketch.ino만 수정하기
#include <Arduino_LED_Matrix.h> uint8_t logo[104] = { 0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,1,1,1,0,0,0,1,1,1,0,0, 0,1,0,0,0,1,0,1,0,0,0,1,0, 1,0,0,0,0,0,1,0,0,1,0,0,1, 1,0,1,1,1,0,1,0,1,1,1,0,1, 1,0,0,0,0,0,1,0,0,1,0,0,1, 0,1,0,0,0,1,0,1,0,0,0,1,0, 0,0,1,1,1,0,0,0,1,1,1,0,0 }; Arduino_LED_Matrix matrix; void setup() { matrix.begin(); // display the image matrix.setGrayscaleBits(1); matrix.draw(logo); } void loop() { }
Plain Text
복사
1과 0으로 구성된 행렬 형식(8x13)의 배열을 만들어 자신만의 프레임을 만들 수 있음
[LED매트릭스의 숫자 순서 확인]
[행렬 프레임 예시]
실제 사진
[응용]밝기 조절 가능한 LED
LED 매트릭스는 8단계 회색조(3비트)또는 흑백 변환 도구는 256단계(8비트)를 사용하므로 이 범위를 사용해도 자동으로 매핑 됨
아래 코드를 사용하면 LED 밝기를 개별적으로 조절할 수 있음
8단계: 밝기 값을 0부터 7 사이의 정수로 입력해야 함. 이는 하드웨어가 지원하는 기본 모드
255단계: 밝기 값을 0부터 255 사이의 정수(표준 그레이스케일)로 입력
UNO Q의 LED 매트릭스 하드웨어는 물리적으로 8단계(3비트)의 밝기만을 표현할 수 있음로 255단계방식을 쓰면 자동으로 변환된다는 것임
#하드웨어적으로 표현되는 최종 밝기 단계는 동일 matrix.setGrayscaleBits(3); // 3 bits result on 8 brightness levels (0 to 7) matrix.setGrayscaleBits(8); // 8 bits result on 256 brightness levels (0 to 255)
Plain Text
복사
[RBG LED]
UNO Q에는 4개의 RGB LED가 존재
이 중 두 개는 Qualcomm 마이크로프로세서에 의해 연결 및 제어되고, 나머지 두 개는 STM32 마이크로컨트롤러에 의해 제어됨
그림속 왼쪽 2개의 LED는 MPU에 의해 제어됨
1.
MPU로 LED제어하기
Linux OS에는 이러한 LED를 제어하기 위한 전용 LED 인터페이스가 있으며, 명령줄에서 /sys/class/leds를 통해 제어하거나, SSH를 사용하거나, PC 터미널에서 ADB 연결을 사용하거나, 단일 보드 컴퓨터 모드에서 사용할 경우 Linux 내장 터미널 애플리케이션을 사용하여 제어할 수 있음
일단 어렵지만 개념을 정리해보면, 현재 작업중인 로컬 컴퓨터에서 아두이노 우노Q의 본체에 있는 MCP를 제어하는 터미널과 “연결”하는 방삭이 2가지 존재 하는 것

3-5. MPU연결하는 2가지방식(ADB vs SSH)

1.
쉘과 터미널의 개념부터 짚고 가기
사용자 → [전화기] → 상담원 → 회사 시스템 (터미널) (쉘) (운영체제)
Plain Text
복사
터미널 (Terminal)
화면/창 그 자체
입력과 출력을 보여주는 디스플레이
명령어를 타이핑하고 결과를 보는 창문
쉘 (Shell)
명령어를 해석하는 프로그램
당신이 입력한 명령어를 운영체제가 이해할 수 있게 번역
실제로 일을 처리하는 두뇌
2. MPU에 연결하는 2가지 방식
USB로 연결하는 방식 vs 무선 네트워크를 활용하는 방식
보통 라즈베리파이의 경우 무선 네트워크 연결로 했으나, 아두이노 우노Q를 USB를 더 자주 활용하게 될듯
아래 그림에서 보면 App Lab을 실행했을 경우 2가지 선택지가 나오고
3.
무엇을 선택하는가에 따라 아래쪽에 위치한 ‘’connect to the board shell”을 선택해서 나오는 터미널창이 달라짐
'Connect to the board shell'을 선택했을 때 나타나는 터미널 창은 현재 PC와 UNO Q가 어떻게 연결되어 있느냐에 따라 두 가지 다른 방식을 사용한다는 이야기
여기서 만약, USB를 선태하게 되면?
ADB (Android Debug Bridge)방식 사용
방식: 원래 안드로이드 스마트폰 디버깅을 위해 만들어진 도구이지만, UNO Q에 탑재된 퀄컴 프로세서(QRB2210)가 이를 지원하기 때문에 사용됨
여기서 만약, Network를 선태하게 되면?
SSH (Secure Shell)방식 사용
방식: 리눅스 서버에 원격 접속할 때 사용하는 표준 프로토콜
동일한 터미널 창이 실행된거 같지만, 실행된 터미널에 SSH라는 글자가 보임
4.
둘의 차이점은 어디서 확인 가능 하는가?
5.
SSH와 ADB비교
SSH 통신 방식
[당신의 PC] SSH [UNO Q 보드] (암호화 통신) ┌──────────┐ ◄────────► ┌──────────┐ │ App Lab │ │ Debian │ │ 터미널창 │ │ Linux │ │ │ │ Shell │ └──────────┘ └──────────┘
ADB연결이란?
ADB(Android Debug Bridge)는 원래 안드로이드 스마트폰을 개발할 때 PC와 연결해서 디버깅하는 도구 왜 아두이노에서 쓰나요?: UNO Q에 탑재된 퀄컴(Qualcomm) 칩이 모바일 기기 기반의 기술을 사용하기 때문에, 이 도구를 통해 보드 내부의 리눅스(Debian)에 접속할 수 있도록 만들어졌
SSH연결 초기에 터미널에서 확인가능한 메시지
The authenticity of host '192.168.0.14 (192.168.0.14)' can't be established. ED25519 key fingerprint is SHA256:QrQGWl6jsGIOOZhZ9WGDB93vGpQzL8X60bVyjUgXhXk. This key is not known by any other names. Are you sure you want to continue connecting (yes/no/[fingerprint])?
Plain Text
복사
SSH 접속 시 처음 연결하는 기기를 신뢰할 수 있는지 확인하는 표준 보안 절차
입력하고 나면 ‘접속 시 보드의 비밀번호(기본값: arduino)를 입력해야 함
6.
MPU로 LED제어하기를 진짜 시작해보기
6-1. 터미널 창에서 실행하기
echo 1 | sudo tee /sys/class/leds/red:user/brightness # LED 켜기 echo 0 | sudo tee /sys/class/leds/red:user/brightness # LED 끄기
Plain Text
복사
[명령어 해석]
echo숫자 를 지정해줘야 하는 이유: 리눅스 운영체제가 하드웨어를 제어하는 방식(Sysfs) 때문
리눅스는 LED 같은 하드웨어 장치를 ‘파일’처럼 취급
메모장에 글씨를 쓰듯이 특정 파일에 숫자 1을 기록하면 LED가 켜지고, 0을 기록하면 꺼지도록 설계되어 있음
echo 뒤에 붙은 숫자는 크게 의미없는 숫자 :0,1,2,3 등
echo 1 (데이터 생성): 표준 출력(화면)으로 숫자 "1"과 줄바꿈 문자를 보냅니다. 여기서 "1"은 LED의 밝기 값(Data)
0: 꺼짐 (OFF)
1 ~ 254: 밝기 조절 (숫자가 클수록 밝음)
UNO Q의 리눅스 제어 LED는 부드러운 색상 전환을 위해 약 2kHz 주파수의 PWM으로 구동됨
해당 LED가 지원하는 최대 밝기 값 확인하기: 아래 명령어를 터미널에서 실행하기
cat /sys/class/leds/red:user/max_brightness
JavaScript
복사
| (파이프): echo가 화면에 뿌리려던 데이터("1")를 가로채서, 뒤에 오는 명령어(tee)의 **입력(Input)**으로 연결해줌
sudo (권한 상승): tee 명령어를 관리자(Root) 권한으로 실행
/sys/ 폴더 안의 파일들은 시스템 핵심 영역이라 일반 사용자(arduino)는 수정할 수 없기 때문
tee (기록 및 출력): 파이프로 받은 데이터("1")를 지정된 파일에 쓰고(Write), 동시에 화면에도 출력(Echo)
/sys/class/leds/red:user/brightness (대상 파일): 리눅스 커널이 하드웨어(빨간색 LED)를 제어하기 위해 만든 가상의 파일 인터페이스
6-2. sketch에서 실행하기
파이썬 스크립트로 실행하기
main.py 파일을 수정하기
import time # LED 파일 경로 정의 (Linux sysfs를 통한 LED 제어) LED1_R = "/sys/class/leds/red:user/brightness" # LED1 빨강 LED1_G = "/sys/class/leds/green:user/brightness" # LED1 초록 LED1_B = "/sys/class/leds/blue:user/brightness" # LED1 파랑 LED2_R = "/sys/class/leds/red:panic/brightness" # LED2 빨강 LED2_G = "/sys/class/leds/green:wlan/brightness" # LED2 초록 LED2_B = "/sys/class/leds/blue:bt/brightness" # LED2 파랑 def set_led_brightness(led_file, value): """LED 밝기 설정 함수""" try: with open(led_file, "w") as f: f.write(f"{value}\n") # 0(끄기) 또는 1(켜기) 값 쓰기 except Exception as e: print(f"Error writing to {led_file}: {e}") # 오류 발생 시 메시지 출력 def main(): # 모든 LED 끄기 set_led_brightness(LED1_R, 0) set_led_brightness(LED1_G, 0) set_led_brightness(LED1_B, 0) set_led_brightness(LED2_R, 0) set_led_brightness(LED2_G, 0) set_led_brightness(LED2_B, 0) while True: # LED1의 빨강 세그먼트 깜빡이기 set_led_brightness(LED1_R, 1) # 빨강 LED 켜기 time.sleep(1) # 1초 대기 set_led_brightness(LED1_R, 0) # 빨강 LED 끄기 time.sleep(1) # 1초 대기 if __name__ == "__main__": main() # 프로그램 실행
Python
복사
6-3. MCP로 RGB Led제어하기
LED #3과 #4는 MCU에 의해 제어됨
각각의 GPIO 상태를 digitalWrite 설정하여 제어할 수 있음
MCP로 실행하기 위해 스케치 파일에 작성
sketch.ino 파일을 수정하기
void setup() { // 핀들을 출력 모드로 설정 pinMode(LED3_R, OUTPUT); pinMode(LED3_G, OUTPUT); pinMode(LED3_B, OUTPUT); // Active Low 방식이므로 HIGH로 설정하여 초기에는 꺼진 상태로 만듦 digitalWrite(LED3_R, HIGH); digitalWrite(LED3_G, HIGH); digitalWrite(LED3_B, HIGH); } void loop() { digitalWrite(LED3_R, LOW); // 빨강 LED 켜기 digitalWrite(LED3_G, HIGH); // 초록 LED 끄기 digitalWrite(LED3_B, HIGH); // 파랑 LED 끄기 delay(1000); // 1초 대기 digitalWrite(LED3_R, HIGH); // 빨강 LED 끄기 digitalWrite(LED3_G, LOW); // 초록 LED 켜기 digitalWrite(LED3_B, HIGH); // 파랑 LED 끄기 delay(1000); // 1초 대기 digitalWrite(LED3_R, HIGH); // 빨강 LED 끄기 digitalWrite(LED3_G, HIGH); // 초록 LED 끄기 digitalWrite(LED3_B, LOW); // 파랑 LED 켜기 delay(1000); // 1초 대기 }
Arduino
복사
제어 결과
LED 색상 세그먼트
[LED 3] 빨간색: LED3_R 녹색: LED3_G 파란색: LED3_B [LED 4] 빨간색: LED4_R 녹색: LED4_G 파란색: LED4_B
Plain Text
복사

3-6.사용전 주의사항

[실행시 시간이 오래 걸리는 이유]
컴파일과 실행 환경 구성이 PC가 아닌 우노Q 보드 내부에서 이루어지기 때문
반적인 아두이노 IDE는 PC의 강력한 CPU로 코드를 컴파일한 후 결과물(바이너리)만 보드로 보내지만, 우노Q의 경우는 다름
실제 컴파일 작업은 UNO Q 보드 내부의 MPU(리눅스)가 수행함
Zephyr OS 빌드: UNO Q의 MCU 코드는 단순한 펌웨어가 아니라 Zephyr RTOS 위에서 돌아감 이 OS를 빌드하는 과정이 상당히 무거운데, 리뷰에 따르면 이 과정이 싱글 코어로 진행되어 PC에서 컴파일 하는 것보다 훨씬 시간이 오래 걸린다고 함
UNO Q의 앱(App)은 단순한 코드가 아니라 리눅스 환경 위에서 돌아가는 복합적인 프로그램이며, 컨테이너도 구현되어 있음
컨테이너 구동: 특히 AI 기능이나 복잡한 브릭(Brick)을 사용하는 경우, 도커(Docker) 컨테이너나 파이썬 가상 환경을 띄우는 데 시간이 소요

4. 아두이노 우노Q 사용시 주의점& 낯선개념2가지

4-1.시리얼 모니터 변경사항

[시리얼 모니터]
UNO Q에서는 클래식 Serial Monitor와 구조가 다름??
Serial은 D0/D1 UART 하드웨어에 연결되며, App Lab의 Serial Monitor에 직접 표시되지 않음
대신 Arduino_RouterBridge 라이브러리의 Monitor 객체를 사용하면 MCU의 출력이 Bridge를 통해 Linux → App Lab Serial Monitor로 전달됨
#include <Arduino_RouterBridge.h> void setup() { Monitor.begin(); } void loop() { Monitor.println("Hello UNO Q"); delay(1000); }
C++
복사
결론: Serial.print 대신 Monitor.print 사용하기
기존: Serial.println("Hello");를 쓰면 USB 케이블을 통해 PC 모니터에 글자가 표시되었지만,
App Lab: Serial 명령어는 보드의 물리적인 핀(D0, D1)으로 데이터를 보내버리기 때문에 App Lab 콘솔 화면에는 아무것도 뜨지 않음
해결책: Monitor 객체를 사용해야 함. 내부의 Bridge를 타고 리눅스를 거쳐 App Lab 화면에 출력됨

4-2.브릿지 기능

[브릿지 기능] 파이썬과 아두이노의 역할 분담
App Lab의 가장 큰 장점은 Python(지능)C++(반사신경)을 동시에 코딩할 수 있다는 것
구조: 하나의 App 안에 main.py (파이썬)와 sketch.ino (아두이노)가 함께 들어있음
통신: 두 코드는 **Bridge*라는 기능으로 대화함
파이썬: "사람 얼굴이 보였어! (데이터 전송)"
아두이노: "알겠어, 빨간 불 켤게! (하드웨어 제어)"
◦ 이 과정을 App Lab이 알아서 연결해 주므로, 복잡한 통신 코드를 짤 필요 없이 함수 호출하듯(RPC) 사용할 수 있음
그래서 blink 예제 코드를 볼때, main.py와 sketch.ino에 기존에 없던 Bridge라는 명령어가 있음을 볼 수 있음

4-3.브릭 기능

'Bricks(브릭)'으로 AI와 웹 기능 날로 먹기
복잡한 코딩 없이 기능을 블록처럼 갖다 쓸 수 있는 것이 바로 Bricks
기능: 얼굴 인식, 사물 감지 같은 AI 모델이나, 스마트폰으로 제어할 수 있는 웹 대시보드를 클릭 몇 번으로 프로젝트에 추가할 수 있음
장점: 파이썬 코드를 처음부터 짤 필요 없이, 브릭을 추가하면 필요한 코드가 자동으로 생성되거나 라이브러리가 연결됨

5. 아두이노 우노Q에 최적화된 노트북LM

위 자료를 박박 긁어모아서 만든 우노Q 전용 노트북LM
양파고 제작