Target
Board
Raspberry Pi4
Host
PC - Ubuntu 22.04
목표
Raspberry Pi4 - Flutter 개발 환경 구축 A-2

2. PC

2-2. Raspberry Pi Imager로 64bit OS SD CARD 생성

 

3. Raspberry Pi4

3-1. Raspberry Pi에서 IP확인 및 SSH open

편하게 작업하기 위해 Linux에서 SSH로 접속한다.

- Raspberry에서 IP 확인

pi $ ifconfig
 

- SSH Open

pi $ sudo raspi-config
 

- reboot

pi $ reboot
 

 

3-2. Linux PC에서 SSH로 Raspberry 접속

- SSH 접속을 위해 keygen

PC $ ssh-keygen
 

- 만든 key copy

PC $ ssh-copy-id id@xxx.xxx.xxx.xxx
 
PC $ ssh id id@xxx.xxx.xxx.xxx
 

- Raspberry Pi 기본 update

pi $ sudo apt update
 

- Raspberry Pi 기본 upgrade

pi $ sudo apt upgrade
 

- flutter engine binaries 설치

pi $ git clone --depth 1 https://github.com/ardera/flutter-engine-binaries-for-arm.git engine-binaries
 
pi $ cd engine-binaries
 
pi $ sudo ./install.sh
 

- cmake, graphics, system libraries, fonts 설치

pi $ sudo apt install cmake libgl1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev libdrm-dev libgbm-dev ttf-mscorefonts-installer fontconfig libsystemd-dev libinput-dev libudev-dev  libxkbcommon-dev
 

- system fonts update

pi $ sudo fc-cache
 

- git clone flutter-pi

pi $ git clone https://github.com/ardera/flutter-pi
 
pi $ cd flutter-pi
 

- Compile flutter-pi

pi $ mkdir build && cd build
 
pi $ cmake ..v
 
pi $ make -j`nproc`
 

- install flutter-pi

pi $ sudo make install
 

 

 

 
Target
Board
Raspberry Pi4
Host
PC - Ubuntu 22.04
목표
Raspberry Pi4 - Flutter 개발 환경 구축 A-1

Qt?

- 주로 사용되는 UI 프레임워크임

- Qt는 다양한 플랫폼을 지원하고, 강력한 기능을 제공하며, 개발이 쉬움

- 상업용으로 Qt를 사용할 경우, Qt Commercial 라이센스를 구매하며 비용이 매우 비쌈

- Qt 오픈 소스 버전을 사용하지만 한계에 다다름

- Qt의 라이센스 비용이 부담스러워 지면서 Flutter가 대안으로 떠오름

 

Flutter?

- 구글에서 개발한 UI 오픈 소스 크로스 플랫폼 개발 프레임워크

- Android, iOS, Web, Desktop 등 다양한 플랫폼을 지원하며, Dart 언어를 사용

 

Target Device를 라즈베리 파이로 지정하고 개발 환경을 구축해 본다.

라즈베리 파이는 ARM 아키텍처를 사용하기 때문에 윈도우나 리눅스에서 라즈베리 파이를 위한 소프트웨어를 개발하려면 크로스 컴파일 환경을 구축해야 한다.

워크플로우 A-1. 윈도우에 크로스 컴파일 환경 구축 방법

- mingw-w64를 사용하여 GCC 크로스 컴파일러 설치

- Visual Studio에서 크로스 컴파일러를 사용하여 빌드

워크플로우 A-2. 리눅스에 크로스 컴파일 환경 구축 방법

- gcc 또는 clang을 사용하여 ARM 아키텍처용 크로스 컴파일러 설치

워크플로우 B. 라즈베리파이에서 직접 개발/실행

- 크로스 컴파일 환경 구축 없이 라즈베리 파이에서 바로 개발 및 실행

리눅스에서 ARM 아키텍처용 크로스 컴파일러가 기본적으로 제공되기 때문에 리눅스에서 크로스 컴파일 환경을 구축하는 것이 더 쉽고 빠르다고 알려져 있다.

지금부터 워크플로우 A : 리눅스에 크로스 컴파일 환경 구축 방법을 설명한다.

리눅스에 크로스 컴파일 환경 구축 하는 방법은 아래 글에서 참조 한다.

 

https://blog.naver.com/engineer4ever/223198674134

 

Raspberry Pi4 크로스 컴파일 환경 구축(1)

라즈베리 파이는 ARM 아키텍처를 사용하기 때문에 윈도우나 리눅스에서 라즈베리 파이를 위한 소프트웨...

blog.naver.com


1. Linux PC

1-1. Linux에 snapd를 이용하여 Flutter 설치

(아래 링크를 참조하여 작성 되었음)

https://docs.flutter.dev/get-started/install/linux

 

 

Choose your first type of app

Configure your system to develop Flutter on Linux.

docs.flutter.dev

 

- Linux 기본 update

PC $ sudo apt update
 

- snapd 설치

PC $ sudo apt install snapd
 
 
PC $ sudo reboot
 
PC $ sudo snap install core
 

- flutter 설치

PC $ sudo snap install flutter --classic
 
PC $ flutter sdk-path
 

- 설치 위치 확인

PC $ which flutter dart
 

압축을 풀면 install-Linux-tar.txt에 설치 방법이 나와있다.

압축 푼 installation/bin에 가서

PC $ ./studio.sh
 

하면 Android Studio가 실행 된다.

- Android SDK Command-line Tools 설치

- Android lincenses 동의

PC $ flutter doctor --android-licenses
 

 

1-3. FlutterPi-Tool 설치

PC $ flutter pub global activate flutterpi_tool
 
PC $ flutter pub global run flutterpi_tool -h
 

- nano 편집기를 이용하여 bashrc 맨 아랫줄에 추가 후 저장

PC $ nano ~/.bashrc
 
export PATH="$PATH":"$HOME/.pub-cache/bin"
 
PC $ source ~/.bashrc
PC $ flutterpi_tool
 

 

+ Recent posts