파이썬코드, 아두이노코드, SD카드의파일, 서식파일의 다운로드 파일입니다.

 

소스코드,SD카드,서식.zip
9.14MB

 

 

 

 

 

 

라이브러리 다운로드 아래

라이브러리.zip
0.02MB

 

 

소스코드 및 라이브러리 다운로드 아래

코드.zip
0.10MB

 

 

프로그램 파일

폴더백업.zip
8.66MB

 

 

폴더의 하위경로 백업 프로그램

 

 

 

파이썬 소스코드


import tkinter
import tkinter.font
from tkinter import *
from tkinter import filedialog
import os
from distutils.dir_util import copy_tree
import threading
import time
import sys

#백업폴더 선택
def start_bnt_click():
    dir_path = filedialog.askdirectory(parent=window,initialdir="\\",title='폴더를 선택하세요')
    print(dir_path)
    start_path.config(text=dir_path)

#백업될 폴더 선택
def end_btn_click():
    dir_path = filedialog.askdirectory(parent=window,initialdir="\\",title='폴더를 선택하세요')
    print(dir_path)
    end_path.config(text=dir_path)

#시작버튼이 클릭되면
def btn_go_click():
    threading.Thread(target=copy_thread).start() #copy_thread실행 시간이 오래소요되면 응답없음으로 나옴 쓰레드로 실행해야함

#복사동작하는 쓰레드
def copy_thread():
    #config.txt 설정파일에서 읽어 경로 설정
    file_path = 'config.txt'
    with open(file_path, 'w', encoding='UTF8') as f : 
        f.write(start_path.cget("text") + ',')
        f.write(end_path.cget("text"))
    
    lb_state.config(text="복사중...")
    copy_tree(start_path.cget("text"), end_path.cget("text"),update=1,) #폴더백업
    lb_state.config(text="복사완료...")
    time.sleep(5.0)
    lb_state.config(text="실행버튼을 눌러 복사하세요")

#tkinter 윈도우설정
window=tkinter.Tk()
window.title("파일백업")
window.geometry("380x100+800+300")
window.resizable(False, False)

#백업폴더 경로 및 버튼 생성
start_path = Label(window,width=40,anchor="se")
start_path.grid(row=0, column=0)
btn_start = tkinter.Button(window, overrelief="solid",text="백업폴더", width=10, command=start_bnt_click, repeatdelay=1000, repeatinterval=100)
btn_start.grid(row=0, column=1)

#백업될폴더 경로 및 버튼 생성
end_path = Label(window,width=40,anchor="se")
end_path.grid(row=1, column=0)
btn_end = tkinter.Button(window, overrelief="solid",text="백업될폴더", width=10, command=end_btn_click, repeatdelay=1000, repeatinterval=100)
btn_end.grid(row=1, column=1)

#실행버튼 생성
btn_go = tkinter.Button(window, overrelief="solid",text="실행", width=10, command=btn_go_click, repeatdelay=1000, repeatinterval=100)
btn_go.grid(row=3, column=0)

#마지막줄에 상태를 표시하는 라벨 생성
lb_state = Label(window,width=40,text="실행버튼을 눌러 복사하세요")
lb_state.grid(row=4, column=0)

#.py 파일이 실행되는 디렉토리로 이동
#os.chdir(os.path.dirname(os.path.abspath(__file__)))  #.py로 실행시 파일경로
os.chdir(os.path.dirname(os.path.abspath(sys.executable))) #.exe로 실행파일 생성시 경로
print(os.getcwd())

#config.txt 설정 파일이 있으면 읽어옴
try:
    file_path = 'config.txt'
    with open(file_path, 'r', encoding='UTF8') as f : 
        read_file = f.read()
    start_path.config(text=read_file.split(',')[0])
    end_path.config(text=read_file.split(',')[1])
except:
    pass

window.mainloop()

 

SSS급 일잘러를 위한 파이썬과 40개의 작품들 책의 자료 입니다.

 

아래에서 다운로드 받으세요.


서식파일만은 엑셀및 사진등 서식파일만 입니다. 책을 보면서 소스코드를 직접 만들어보면서 학습할때 사용합니다.

 

SSS급 일잘러를 위한 파이썬과 40개의 작품들 서식파일만

일잘러 파이썬과 40개의 작품들 코드 서식만.zip
9.34MB

 


소스코드 + 서식파일에는 책에사용한 모든 자료가 들어 있습니다. 단 프로그램 파일 및 공공데이터에서 받은 파일은 재배포로 인한 저작권 문제로 포함하지 않았습니다. 책을 보면서 직접 다운로드 받아 진행합니다.

 

SSS급 일잘러를 위한 파이썬과 40개의 작품들 서식파일 및 소스코드 + 서식

일잘러 파이썬과 40개의 작품들 코드.zip
14.21MB

 

 

 

 

최근 윈도우10이 업데이트 되면서 라즈베리파이가 모바일 핫스팟에는 접속이되나 

ssh나 VNC에 연결이 되지 않는 현상이 발생하고 있습니다.

 

어탭터 설정의 변경으로 해결이 가능합니다.

모바일 핫스팟 에서 [어댑터 옵션 변경] 을 클릭합니다.

 

Wi-Fi에서 마우스 오른쪽을 클릭 후 [속성]을 클릭합니다.

 

 

공유 탭으로 이동하여 다른 네트워크 사용자가 .... 부분을 체크 후 [확인]을 눌러 설정을 저장합니다.

라즈베리파이를 원격으로 사용하는 방법

 

SD카드에 라즈베리파이 OS 라즈비안 설치

아래의 라즈베리파이 사이트에 접속 합니다.

https://www.raspberrypi.com/software/

 

Raspberry Pi OS – 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

 

[Download for windows] 를 클릭하여 Imager 프로그램을 다운로드 후 설치합니다.

 

 

 

 

설치된 Raspberry Pi Imager 프로그램을 실행 후 [운영체제 OS 선택] 을 클릭합니다.

 

 

 

Raspberry Pi OS (other)를 선택 합니다. 최신버전은 Bullseye로  텐서플로우 및 Opencv의 사용에 어려움이 있어 이전버전인 buster 버전을 설치합니다.

 

 

 

스크롤을 아래로 내려 Raspberry Pi OS (Legacy) 버전을 선택합니다.

 

 

마이크로 SD를 USB 리더기를 이용하여 PC와 연결합니다. 그 후 [저장소 선택] 을 클릭합니다.

 

 

SD카드가 연결된 드라이브를 선택합니다.

 

 

톱니바퀴 아이콘을 클릭하여 [설정] 으로 이동합니다.

 

 

SSH사용에 체크 합니다.

사용자 이름 및 비밀번호 설정에서

사용자 이름: pi

비밀번호: raspberry   를 입력합니다. SSH접속에 필요한 비밀번호는 사용자가 정하는 것이나 비밀번호를 잊을수 있어 raspberry 로 통일합니다.

 

 

wifi 설정에 체크합니다. 라즈베리파이에 초기에 부팅 후 접속될 wifi의 정보입니다.

SSID와 비밀번호를 설정합니다.

컴퓨터에 핫스팟을 만들어 접속할 것으로 자신이 알기쉬운 것으로 정합니다.

 

 

[저장] 을 눌러 설정을 저장합니다.

 

 

[쓰기] 버튼을 클릭하여 SD카드에 라즈베리파이 이미지를 설치합니다.

 

 

[예]를 눌러 계속진행합니다.

 

 

다음과 같이 디스크를 넣으라는 창이나 SD카드를 쓰기 위해 포멧을 해야한다는 알림창이 나옵니다.

아무것도 누르지 않고 진행합니다. SD카드에 이미지를 써넣으면 윈도우에서는 알수 없는 리눅스 파일시스템으로 포멧이 됩니다. 윈도우에서 물리적으로는 인식이 되나 파일시스템을 인식하지 못해 발생하는 현상으로 아무것도 누르지 않고 진계속 진행합니다.

 

 

 

완료 된 후 [계속] 을 누르고 SD카드를 PC에서 제거합니다.

 

 

 

SD카드는 라즈베리파이의 바닥면의 SD슬롯에 연결 합니다.

 

 

핫스팟설정

윈도우에서 "핫스팟" 을 검색 후 [모바일 핫스팟] 설정을 클릭합니다.

 

 

 

네트워크 속성에서 [편집] 을 클릭하여 이름, 암호, 밴드를 수정합니다.

 

 

 

라즈베리파이에서 이미지를 설치할때 설정했던 wifi 설정을 참고하여 이름, 암호를 수정합니다.

 

 

 

이름, 암호, 네트워크 대역을 설정합니다. 대역은 2.4GHz를 추천합니다. [저장]을 눌러 설정을 저장합니다.

 

 

모바일 핫스팟을 켬 니다.

절전 기능을 끔으로 하는게 좋습니다.

 

 

 

라즈베리파이에 전원을 연결 후 1~3분가량 기다립니다. 라즈베리파이가 최초로 부팅시 시간이 조금 오래 소요됩니다.

라즈베리파이가 부팅이 완료된 후 PC에서 생성된 모바일 핫스팟으로 wifi가 접속됩니다.

IP주소는 라즈베리파이의 접속 주소로 사용합니다.

 

 

원격접속

이제 라즈베리파이를 원격으로 접속해봅니다. GUI(그래픽) 환경으로 접속하기 위해서 우선 SSH로 접속하여 환경을 설정 합니다.

SSH로 접속하기 위해서 putty 프로그램을 설치합니다.

아래의 사이트에 접속하여 프로그램을 다운로드 받은 후 설치합니다.

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

 

Download PuTTY: latest release (0.77)

This page contains download links for the latest released version of PuTTY. Currently this is 0.77, released on 2022-05-27. When new releases come out, this page will update to contain the latest, so this is a good page to bookmark or link to. Alternativel

www.chiark.greenend.org.uk

 

 

 

다음의 부분을 클릭하여 다운로드 후 설치합니다.

 

 

설치 완료 후 putty를 실행합니다.

 

 

 

윈도우의 모바일 핫스팟에서 라즈베리파이가 접속된 IP를 복사합니다.

 

 

 

putty 프로그램에서 ip를 붙여넣은 후 [Open]을 눌러 접속합니다.

 

 

[Accept]를 눌러 계속 진행합니다.

 

 

ID를 입력하는 부분으로 pi를 입력합니다.

 

 

비밀번호를 입력하는 부분으로 raspberry 를 입력 후 [엔터]를 입력합니다.

라즈베리파이의 OS를 설치할때 설정한 비밀번호 입니다.

비밀번호 입력해도 아무런 변화가 없습니다. 

 

 

다음과 같이 SSH에 접속하였습니다.

 

 

sudo raspi-config 를 입력 하여 설정으로 이동합니다.

 

 

[3 Interface Options]로 이동합니다. 화살표 키를 눌러 이동할 수 있습니다. [엔터]를 누르면 선택됩니다.

 

 

[P3 VNC]로 이동합니다.

 

 

[YES]로 이동하여 선택합니다.

 

 

VNC 기능이 활성화 되었습니다. [OK]를 눌러 계속진행합니다.

 

 

[2 Display Options] 로 이동합니다.

 

 

[D1 Resolution] 으로 이동합니다.

 

 

[DMT Mode 51 1600x1200 60Hz 4:3]을 선택합니다.

 

 

화면비가 설정되었습니다. [OK]를 눌러 계속진행합니다.

 

 

[탭] 키를 두번 눌러 <Finish>로 이동후 종료합니다.

 

 

<Yes>를 눌러 재부팅 합니다.

 

 

SSH의 접속이 자동으로 끊깁니다. [확인] 을 눌러 putty 를 종료합니다.

 

 

라즈베리파이를 그래픽 환경으로 원격 접속

아래의 사이트에 접속하여 VNC Viewer를 다운로드 받습니다.

https://www.realvnc.com/en/connect/download/viewer/

 

Download VNC Viewer | VNC® Connect

Control VNC® enabled computers with VNC® Viewer.

www.realvnc.com

 

 

 

운영체제를 선택 후 [Download] 버튼을 클릭하여 다운로드 후 설치합니다. 브라우져에서 접속된 운영체제를 알고 있어 운영체제는 자동으로 선택됩니다.

 

 

 

VNC Viewer를 실행하면 팝업 창이 나오는데 Sign in을 선택 후 [Canel]을 눌러 닫아 줍니다.

 

 

 

[File] -> [New connection...] 을 클릭합니다.

 

 

VNC Server는 라즈베리파이가 접속된 IP를 입력합니다. Name은 표기하는 이름으로 알기 쉬운 이름으로 정합니다.

[OK]를 눌러 저장합니다.

 

 

VNC Viewer에서 생성된 연결을 더블클릭합니다.

 

 

[Continue]를 눌러 계속 진행합니다.

 

 

Username: pi

Passord: raspberry

Remeber password에는 체크합니다. 다음부터 비밀번호를 입력하지 않고 연결이 가능합니다.

[OK]를 눌러 연결합니다.

 

 

 

라즈베리파이에 그래픽 환경으로 원격 접속하였습니다.

 

 

[OK] 버튼을 눌러 알림을 닫습니다.

 

 

[Cancel]를 눌러 창을 닫습니다.

주의!!! [Next]를 눌러 한국어로 설정하지 않도록 합니다. 한국어로 설정시 얘기치 않은 버그가 발생할수 있습니다.

 

+ Recent posts