반응형

1. 시험환경

    ˙ 윈도우

    ˙ Flutter SDK

    ˙ Android Studio

 

2. 목적

    ˙ 윈도우 운영체제에서 Flutter(플러터) 초기 개발환경을 설정한다.

 

3. 적용

    ① Flutter(플러터) SDK 다운로드 사이트에 접속한다.

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

 

Install

Install Flutter and get started. Downloads available for Windows, macOS, Linux, and ChromeOS operating systems.

docs.flutter.dev

 

    ② 설치할 운영체제 해당하는 SDK를 다운로드 받아서 압축을 해제한다.

        - 여기서는 Windows 운영체제에 설치할 것이다.

 


    ③ Android Studio를 설치한다.

        - 참고 : https://languagestory.tistory.com/174

 

Android Studio 설치

1. 시험환경 ˙ 윈도우 ˙ 안드로이드 스튜디오 2. 목적 ˙ 윈도우 운영체제에서 안드로이드 스튜디오를 설치한다. 3. 적용 ① 안드로이드 개발자 사이트에 접속해서 "Andriod 스튜디오" 메뉴를 클릭

languagestory.tistory.com

 

    ④ Android Studio Plugin에서 flutter를 검색하여 Flutter Plugin을 설치한다.

 

    ⑤ SDK Manager → SDK Tools → Android SDK Command-line Tools (latest)를 설치한다.

 

    ⑥ Android Studio에 "New Flutter Project" 버튼이 생성된 것을 확인할 수 있다.


    윈도우 검색 → 시스템 환경 변수 편집 → 환경변수 Path ②번 과정에서 수행한 압축해제 bin 폴더를 지정한다.

        - 압축 해제한 Flutter의 bin 디렉토리 : D:\util\flutter_windows_3.16.2-stable\bin


    ⑧ Android Studio를 실행하여 Flutter 신규 프로젝트를 생성한다.

 

    ⑨ 최초 실행시 ②번 과정에서 수행한 Flutter 압축해제 경로를 Flutter SDK Path로 설정한다.

 

    ⑩ 프로젝트 설정 정보를 입력하고 "Create" 버튼을 클릭하여 신규 프로젝트를 생성한다.

 

    ⑪ lib/main.dart 파일에서 프로젝트 개발을 시작한다.

 

4. 결과

    ˙ 브라우저를 선택하고 프로젝트 Run 버튼을 실행한다.

 

    ˙ 프로젝트 실행화면을 확인한다.

 

반응형
반응형

1. 시험환경

    ˙ 라즈베리파이 4 (Raspberry Pi 4 Model B)

    ˙ raspberry camera module v3

 

2. 목적

    ˙ 라즈베리파이에 카메라 모듈을 연동한다.

    ˙ 10분씩 녹화하는 프로그램을 작성한다.

 

3. 적용

    ① Raspberry Camera Module v3을 사용하기 위해서 32bit 운영체제를 설치해야 함에 주의한다.

 

    ② 라즈베리파이 보드에 카메라 모듈을 설치한다.

 

     라즈베리파이 카메라 녹화 프로그램을 작성한다.

        - 카메라가 작동하여 10분씩 저장

        - 저장 파일명의 prefix로 "_날짜_시간" 추가

        - 녹화 시작 전 디스크 잔여 공간을 확인하고, 500MB 이하인 경우 생성날짜가 빠른 파일 삭제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import time
import picamera
from datetime import datetime
import os
import shutil
 
def capture_video(output_file, duration):
    with picamera.PiCamera() as camera:
        # 카메라 설정 (해상도, 프레임 속도 등)
        camera.resolution = (1280720)  # 적절한 해상도로 변경 가능
        camera.framerate = 30
 
        # 비디오 녹화 시작
        camera.start_recording(output_file)
        
        # 지정된 시간만큼 녹화
        camera.wait_recording(duration)
        
        # 비디오 녹화 종료
        camera.stop_recording()
 
def get_disk_usage():
    # 현재 디렉토리의 디스크 사용량 확인 (바이트 단위)
    return shutil.disk_usage("/").free
 
def delete_oldest_file(directory):
    # 디렉토리 내에서 생성일 기준으로 가장 오래된 파일 삭제
    files = [f for f in os.listdir(directory) if os.path.isfile(os.path.join(directory, f))]
    if files:
        oldest_file = min(files, key=lambda f: os.path.getctime(os.path.join(directory, f)))
        os.remove(os.path.join(directory, oldest_file))
        print(f"{oldest_file} 파일이 삭제되었습니다.")
 
if __name__ == "__main__":
    video_directory = "/path/to/video_directory"  # 비디오 파일 저장 디렉토리 경로
    duration = 600  # 녹화 시간 (초 단위)
    min_disk_space = 500 * 1024 * 1024  # 최소 디스크 용량 (500MB)
 
    while True:
        try:
            # 디스크 용량 확인
            disk_space = get_disk_usage()
 
            # 디스크 용량이 500MB 미만인 경우 가장 오래된 파일 삭제
            if disk_space < min_disk_space:
                delete_oldest_file(video_directory)
 
            # 현재 날짜 및 시간 가져오기
            current_time = datetime.now().strftime("%Y%m%d_%H%M%S")
            
            # 비디오 파일명 생성 (날짜_시간_video.h264 형식)
            output_file = os.path.join(video_directory, f"{current_time}_video.h264")
 
            # 비디오 녹화
            capture_video(output_file, duration)
            
            # 10분 대기
            time.sleep(duration)
        except KeyboardInterrupt:
            print("프로그램을 종료합니다.")
            break
cs

 

4. 결과

    ˙ 프로그램을 실행하여 영상 녹화 여부를 확인한다.

반응형
반응형

1. 시험환경

    ˙ 윈도우

    ˙ 라즈베리파이 (라즈비안)

 

2. 목적

    ˙ 라즈비안에서 VNC 접속을 위한 설정을 알아보자.

    ˙ 라즈베리파이 보드 부팅 후 VNC를 이용하여 접속하는 방법을 알아보자.

 

3. 적용

    ① 라즈베리파이 최초 부팅 후 VNC 접속 허용을 설정한다.

        - $ sudo raspi-config

3 Interface Options 선택

 

I2 VNC 선택

 

예 선택

 

    ② VNC 프로그램을 설치한다. 여기서는 "RealVNC"라는 프로그램을 사용하였다.

        - URL : https://www.realvnc.com/en/connect/download/viewer/windows/

 

Download VNC Viewer for Windows | VNC® Connect

Control VNC® enabled computers with VNC® Viewer.

www.realvnc.com

 

    ③ 신규 Connection을 생성한다.

 

    ④ 접속 정보를 입력한다.

        - VNC Server : 동일 네트워크에 존재하는 라즈베리파이 IP

        - Name : Connection 이름 (계정 이름 아님)

 

    ⑤ 신규 Connection이 생성되었다.

 

    ⑥ 생성된 Connection을 더블클릭하여 접속한다.

        - Username : 라즈베리파이 접속 계정

        - Password : 라즈베리파이 접속 비밀번호

 

4. 결과

    ˙ GUI 환경으로 라즈베리파이 보드에 접속한다.

 

반응형
반응형

1. 시험환경

    ˙ 라즈베리파이4 모델B

     ˙ 라즈베리파이 OS (라즈비안)

 

2. 목적

    ˙ 라즈비안 한글 설정 방법을 알아보자.

 

3. 적용

    ① 설치가능한 리스트 업데이트(update) 및 설치한 패키지들을 최신 버전으로 업그레이드(upgrade) 한다.

        - $ sudo  apt-get  update

        - $ sudo  apt-get  upgrade

 

    ② 한글폰트 및 한글입력기를 설치한다.

        - $ sudo  apt  install  fonts-unfonts-core

        - $ sudo  apt  install  fcitx  fcitx-hangul

 

    ③ 메뉴에서 "preferences" → "Raspberry Pi Configuration" 메뉴틑 선택한다.

 

    ④ Localisation 탭에서 각 항목을 아래와 같이 설정한다.

        [Locale]
        - Language: ko (Korean)
        - Character Set: UTF-8
        [Timezone]
        - Area: Asia
        - Location: Seoul

 

 

    ⑤ 시스템을 재부팅한다.

        - $ sudo  reboot

 

4. 결과

    ˙ 라즈비안 OS 메뉴가 한글로 나타나는지 확인한다.

    ˙ Ctrl+Space 단축키로 한글/영문 전환이 되는지 확인한다.

반응형
반응형

1. 시험환경

    ˙ 라즈베리파이 2 Model B v1.1

    ˙ Raspberry Pi Image v1.8.1

 

2. 목적

    ˙ 라즈베리파이에 운영체제를 설치한다.
    ˙ 라즈베리파이를 부팅하고 초기 접속한다.

 

3. 적용

    ① 라즈베리파이 홈페이지에 접속한다.

        - URL : https://www.raspberrypi.com/

 

Raspberry Pi

From industries large and small, to the kitchen table tinkerer, to the classroom coder, we make computing accessible and affordable for everybody.

www.raspberrypi.com

 

    ② 라즈베리파이 OS를 설치하기 위해서 2가지 방법이 있다.

        - 첫번째 방법 : "Raspberry Pi Imager" 라는 설치 도구를 이용하여 SD 카드에 자동 설치

        - 두번째 방법 : 운영체제 이미지를 직접 다운 받아서 SD 카드에 직접 설치

 

    ③  두가지 방법 중 "Raspberry Pi Imager"를 설치하여 SD카드에 OS를 설치하자.

        - Raspberry Pi Imager를 설치하기 위한 운영체제에 맞게 다운로드 받는다.

 

    ④ 다운 받은 "Raspberry Pi Imager"를 설치하고 실행한다.

 

    ⑤ 아래 사항들을 입력하고 [NEXT] 버튼을 클릭하여 SD카드에 라즈비안을 설치한다.

        - Raspberry Pi Device : 라즈베리파이 보드 버전

        - 운영체제 : SD카드에 설치할 운영체제

        - 저장소 : 라즈베리파이 보드에 삽입할 SD카드 (현재 시점에서는 PC에 꽂아두어야 함)

 

 

    ⑥ "쓰는 중... 100%" 되면 SD 카드에 라즈베리파이 OS 설치가 완료된 것이다.


    ⑦ 설치한 SD 카드를 라즈베리파이에 삽입하고, 공유기와 연결한 후 부팅한다.

    ⑧ PC에서 라즈베리파이가 동시에 연결된 공유기로 접속하면 라즈베리파이 접속 주소를 확인할 수 있다.

 

    ⑨ PuTTY 등 터미널 프로그램을 이용하여 라즈베리파이에 접속한다.

 

4. 결과

    ˙default 계정과 password를 입력한다.

    ˙ login as: pi

    ˙ password: raspberry

 

반응형
반응형

1. 시험환경

    ˙ 가비아

    ˙ AWS EC2

 

2. 목적

    ˙ 가비아에서 도메인을 구입한 것을 네임서버 변경없이 AWS EC2의 Public IP로 연결하는 방법

 

3. 조건

    ① 가비아에서 구매한 도메인을 AWS Route53에 호스팅 등록하지 않는다.

    ② 가비아 DNS 서버를 그대로 사용한다.

    ③ 가비아 DNS 관리 페이에서 AWS EC2의 Public IP를 A 레코드 등록한다.

 

4. 결과

    ˙ 결론은 안된다는 것이다. 왜 안되는지 모르겠다.

    ˙ 위와 같은 조건으로 성공하신 분은 답글 요청 부탁드립니다.

 

반응형
반응형

1. 시험환경

    ˙ ubuntu 20.04

    ˙ crontab

 

2. 목적

    ˙ 우분투 환경에서 crontab을 이용하여 부팅/재부팅 후 특정 프로그램(스크립트)을 자동 실행한다.

    ˙ init.d 등 시스템에 등록하여 자동실행 하는 방법은 시도하였으나 잘 동작하지 않았다.

 

3. 적용

    ① 프로그램 실행 스크립트를 작성한다.

        - 예제 파일명 : auto_run.sh

1
2
#!/bin/bash
java -jar /home/ubuntu/sample/test.jar
cs

 

    ② 스크립트에 실행권한을 부여한다.

        - 명령어 : $ chmod  +x  /home/ubuntu/auto_run.sh

 

    ③ crontab을 실행한다.

        - 명령어 : $ crontab -e

 

    ④ crontab에서 시스템 부팅/재부팅 시 자동실행을 설정하고 저장한다.

        - 설정 : @reboot  /home/ubuntu/auto_run.sh  >  auto_run.log  2>&1

 

4. 결과

    ˙ 시스템을 부팅/재부팅 후 해당 프로그램이 자동으로 실행되는지 확인한다.

반응형
반응형

1. 시험환경

    ˙ 우분투(ubuntu) 리눅스 22.04

    ˙ MariaDB

 

2. 목적

    ˙ 우분투(ubuntu) 환경에서 apt-get 명령어를 이용하여 MySQL을 설치한다.

 

3. 적용

    ① ubuntu에서 apt repository를 업데이트하고 mysql-server를 설치한다.

        - $ sudo apt update && sudo apt-get -y upgrade

        - $ sudo apt-get install -y mariadb-server

        - $ apt list --installed | grep mariadb-server

 

     ubuntu 재시작시 자동 실행 설정한다.

        - $ sudo systemctl enable mariadb

 

     외부에서 root 계정 접속 허용을 설정한다.

        - $ sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf
        - "bind-address 127.0.0.1" 라인에 주석(#) 처리

 

     root 계정에 외부접속 허용 설정 sql 설정

        - $ sudo mysql

        - mysql> create user 'root'@'%' identified by 'password';
        - mysql> grant all privileges on *.* to 'root'@'%' with grant option;

        - mysql> flush privileges;

        - mysql> exit

 

     MariaDB 재시작

        - $ sudo systemctl restart mariadb.service

 

 

4. 결과

    ˙ 원격 PC에서 workbench를 실행하여 접속 가능여부를 확인한다.

 

반응형

+ Recent posts