본 글은 제가 직접 쓴 글이 아니라, 저희 PinkLAB의 유투브 채널의 공개 강의 영상들을 읽고, 따라한 한 수강생의 글을 제 블로그에 공유한 내용입니다.
https://youtu.be/sEzWcx376Yw?feature=shared
안녕하세요, 이번시간에는
[ SSH로 라즈베리파이5에 Python 개발 환경 구축하기 ] 주제로 강의를 듣고 학습 내용 글 올려봐요.
라즈베리파이의 코딩환경을 만들어 보았답니다.
우리가 지난시간에는 라즈베리파이 산딸기 파이 보드에 우분투 24.04 설치를 했어요.
그 다음에 강사님께서 지난번 영상에서 몇 번 언급을 해 주셨지만,
ssh로 접근해서 원격으로 작업하는 것을 좋아하신다고 말씀 해 주시면서 ssh 연결하는 부분을 했어요.
이번시간엔 ssh로 접근을 해서 파이썬 환경을 꾸며봤어요. 어디에~? 라즈베리파이에!
일단 라즈베리파이를 보셔야해요. 카메라를 켜구요, 나왔네요.
오늘 보여드릴 케이스는 이거예요. 케이스 예뻐요.ㅋㅋ
강사님은 이런 금속 재질이 정말 좋으신가봅니다 ㅋㅋ
여기 안에 쿨러가 들어가 있구요,
여기 있는게 라즈베리파이 보드예요.
전원 넣을 수 있구요,
그 다음에 마이크로 HDMI 단자가 나와있어요.
그리고 여기에 전원버튼도 있어요. 꾸욱! 누르고
여기에 SD카드 슬롯, 물론, 라즈베리파이 용이니 당연한거지만..
이 케이스에다 지난 시간에 작업했던 ubuntu를 설치하고 open ssh 설치했던 그 sd카드도 여기에다 넣어두었어요.
라즈베리파이 5 용으로 아직 안 나와서 그런데, 강사님께서 정말 좋아하시는 케이스가 하나 있어요.
금속 재질이 좋다 하셨구요, 색상도 맘에 든다 하셨어요.
이게 정말 정말 마음에 드시는 것 같은데 아쉽게도 rasberrypi 4 용이라고..
Rasberrypi 5 용이 안 나와서.. 아쉬우신지 께에에속 언급을 하시네요. 저도 그 마음은 아주아주 잘 안답니다.ㅋ_ㅋ
기념으로 갖고 계신다 합니당..
또 한 번 "케이스 좋아요" 로 마무리 하신 후에.. 그 다음 내용으로...ㅋㅋㅋ
그럼 여기에다 어떻게 하느냐!
이미 지난시간에 ip를 알아냈단 말이죠,
ifconfig 명령으로 이 아이의 ip adress 를 알아냈어요.
User id 는 어차피 우리가 알고 있는 것이니 상관이 없구요, (물론 고정 ip로 셋팅을 하지는 않았어요.)
보통 작업을 많이 하시거나 한 자리에서 오래 작업하시는 분들은 고정 ip로 셋팅을 하면 편하다 하셨어요.
근데 강사님께서는 들고 다닐 때가 되게 많다 하셨어요.
여기저기 강의하러 다니기도 하고, 강사님께서 작업 환경을 자주 옮기신대요.
그래서 그냥 한 번 셋팅 할 때 지난시간에 보여드렸던 usb-c에 꼽는 video capture 그걸 하나 들고 다니시면서
즉석해서 처음 접속하는 wifi라면 ip를 찾아내고 그 다음에 작업하는 것을 선호하시는 편이라 하셨어요.
이 단자가 마이크로 HDMI 단자잖아요, 이 단자에서 여러분들을 모니터로 연결하시면 된답니다. 그럼 편해요.
강사님은 일단 이거 전원이에요.
5볼트 3암페어가 나오는거라 라즈베리파이가 요구하는 5암페어까지는 조금 부족하지만 cpu를 극한으로 쓰지 않는 한 괜찮다 하셨어요.
연결하고요. 쿨러가 도는 게 잘 나와요.
타워형 쿨러도 마음에 들어요.
이렇게 하면 잘 나와요.
우린 ssh로 접근을 할 거라 부팅하는 화면은 보지 않아도 괜찮아요.
이제 터미널로 바꾸도록 할게요. 이제 터미널에서 ssh pw라는 아이디를 쓰고 있었구요,
192.168.0.123강사님께서 앞으로 라즈베리파이 수업을 하면서 이건 자주 바뀔 거랍니다!
왜냐하면, 수업을 녹화하는 환경이 바뀔 수 있기 때문에 .. 하지만 ip address 를 항상 잘 알면 된다!
여러분들 고정 ip를 쓰셔도 되구요,
또 아까 분명히 이야기 했지만, 한 번 와이파이가 바뀌면 와이파이가 안 바뀌는 동안은 이 ip가 안 바뀌거든요,
이렇게 들어가면 된답니다.
Yes. 그리고 pw. Pw는 내 컴퓨터가 아니고 ssh로 접근 할 라즈베리파이에서 설정했던 암호여야해요.
이제 접속이 잘 되었네요,
이 상태예요.
여기에서 몇 개만 설치를 해 보려고 해요. 일단 강사님께서는 지난번에 apt update랑 apt upgrade 를 한 상태예요.
파이썬 환경을 꾸밀 것이기 때문에 python3 pip를 설치해야해요.
Sudo apt install python3 pip를 설치 해 주시구요,
암호 한 번 입력 하구요,
이렇게 하면 파이썬의 모듈 관리자인 pip를 쓸 수 있게 되죠. 조금 시간이 걸릴 것 같아요.
Pip 모듈과 같은 패키지 관리자들 파이썬의 라이브러리 관리자 pip모듈과 같은 패키지 관리자들,
파이썬의 라이브러리 관리자 pip ubuntu 에서는 apt 이런 아이들은 항상 최신을 유지하는게 좋아요.
그래서 pip3 installl 명령으로 업그레이드를 해라, 최신버전으로 한 번 눌러주는 거예요.
강사님께서는 방금 했기 때문에 보시다시피 현재가 최신이다, 라고 나와요.
그런데 pip명령을 실행하실 때 혹시 에러가 나시는 분들이 있다면.. 이 명령을 한 번 넣어줘야 해요.
글로벌 브레이크 시스템 패키지즈를 true로 바꿔주는 거예요.
이거 한 번 해 주고나면 어떤 pip3 명령을 썼을 때 "글로벌 어쩌고 저쩌고 하니까 권한이 없고 너는 venv 환경을 만들어서" 라는 말들이 사라져요.
아, 여기서 한가지!
이 타이밍에 하나 더 이야기를 하면, 강사님께서는 쓰고 계신 ubuntu pc가 있는데,
강사님께서 쓰는 ubuntu pc나 mac에서는 .. ubuntu pc 에서는 venv를, mac에서는 conda를 좋아하셔요.
사용을 하는데 이렇게 파이썬 환경을 따로 만들어 둔다고 하셨어요.
파이썬도 환경을 따로 만들 필요가 있거든요.
모듈 에퍼전들에 대한 dependency 문제들,
내가 공부하거나 혹은 따라하는 여러 자료들의 버전들을 맞추기 위해서,
근데 라즈베리파이에서는 얘가 어차피 작은 보드잖아요, 그리고 라즈베리파이 보드 하나를 여러 목적으로 쓰는 일이 별로 없어요.
그래서 여기서는 파이썬 환경을 따로 만들지 않고 그냥 하나만 해요.
강사님은 그런 습관이 있다 하셨어요.
근데 여러분들이 그렇지 않다면 venv로 가상환경을 만들어서 사용을 하시면 될 것 같아요.
일단 그렇다는 거,
그리고 sudo apt install 이제 하나더 해야해요. Jupyter core 설치를 해야해요. 왜냐하면,
강사님께서는 주피터 환경을 쓰실 거니까요.
그리고 이제 필요한 모듈들, 뭐 앞으로 영상을 계속 진행하다 보면
더 나올 수도 있지만.. 지금 필요한 모듈들만 몇 개만 설치하기로 했어요.
Pip install 일단은 matplotlibrary를 설치하구요,
그 다음에 scikit-learn , 뭐 하려고 이러는지 모르겠다 하셨지만,, scikit-learn도 일단 설치 하구요,
seaborn 강사님께서 좋아하는 시각화도 ...
그리고 jupyter 일단은 이렇게만 셋팅을 해 두도록 했어요.
설치를 아마 opencv도 곧 해야할텐데. 그건 그 때 이야기 하기로..
라즈베리파이의 카메라 가지고 우리가 또 할 일들이 굉장히 많아요.
워닝은 넘어가셔도 괜찮아요. 아마 모듈 하나 하나마다 다룰 거예요.
경고창 보기 싫으시면
끝에 나와있는데요,
-- no one script location 이라는거 사용하시면 돼요.
설치가 잘 됐는지 확인하기 위해서 파이썬 한 번 실행 해 볼게요.
Python3라고 해야해요. Python3 실행 하고
import matplotlib 잘 됐니 한 번 불러보는 거예요.
Import numpy는 따라서 설치가 되거든요. 잘 됐구요,
그리고 seaborn, 네, seaborn 설치 잘 됐니,
그리고 import scikit learn 원래 뭐 점 하고 부르는데 그냥 설치만 됐는지 확인 해 보려고 import 만 해 본 거예요.
자 이제 빠져나오구요, ipython 한 번 .. 오잉!
재부팅해야해요.
Sudo reboot 지금은 강사님께서 sudo reboot 하셨기 때문에 시스템 리부팅 한다는 메시지와 함께 빠져나온 거예요. Ssh가 끝난거죠.
그래서 한 10초쯤 있다가 다시 ssh로 접근을 시도해요.
123 이었죠. 네, 서버 버전을 설치하면 부팅이 더 빠른데, 그러면 모르겠어요.
제가 공부하거나 이것저것 할 때에는 강사님께는 데스크탑 버전이 더 편하셨대요.
근데 이제 제품 하나를 완전히 픽스 할 때에는 서버 버전으로 가도 아마 괜찮지 않을까 싶다 하셔요.
아직 부팅이 다 안 됐나봐요. 이제 접속이 됐어요. 10초보다 오래 걸렸어요.
이렇게 하고 ip reboot 하고 나서 ipython에 잘 접근이 되네요. 이렇게 나오면 jupyter까지 거의 끝났다고 보시면 된답니다.
이제 vs code 이야기를 조금 해 보도록 해요.
이게 이제 vs code를 실행하면 나오는 화면이예요 .
이게 여기 제일 끝에 보면 버튼이 하나 있어요.
이건 뭐냐면 extension에 들어가서 ssh를 검색해서 remote ssh , 강사님께서는 이미 설치되어 있으신..! 이걸 설치하면 된답니다. Remote ssh 를 설치하시고 나면
왼쪽 아이콘이 하나 생기는데요, 클릭해요.
클릭 한 다음에 connect to host 가 있어요. 여기로 들어가요.
이어서 이런 창이 뜨구요,
그리고 pw@ssh명령으로 입력하듯이 그대로 입력을 하면 된답니다. pw@ssh 192.168.0.123으로 들어가요.
그러면 하나의 창이 새로 떠요.
새로 뜨고 여기 보면 setting up ssh host 이쪽 경로에 insolization 어쩌고 뜨잖아요, 이게 한 번 나와요. (지루하신가요...!?!??!ㅋ_ㅋ 곧 넘어가요!!)
암호 입력해야해요!
깜빡할뻔.
암호까지 입력을 하고 나면
오픈 폴더 뜨죠, 터미널상에서 접속이 완료 되었구요, 오픈 폴더 누르구요,
도큐먼트로 갈게요. 여기서 도큐먼트 그러니까... 도큐먼트는 라즈베리파이에서의 도큐먼트예요.
여기서 테스트 되었죠.
강사님께서 터미널 창쪽은 살짝 빼 두셨어요.
여기에서 다시 접속을 해 볼게요. ls 도큐먼트로 이동해서 지금 아무것도 없잖아요,
여기에서 mkdir python
그래서 ls에서 보면 python 된 폴더가 생겼잖아요, 여기 보면 생겼죠.
그러니까 지금 현재 둘 다 라즈베리파이에 들어와 있는 상태예요.
둘 다 이제 현재 이 창은 ssh 상태예요. Ssh로 라즈베리파이에 접속한 상태랍니다.
여기에서 extension을 들어가요. Extension을 들어가서 jupyter click!
이 jupyter를 ssh로 이 문구가나와야돼요. 주피터를 지금 익스텐션에 들어가서 이게 나와야해요. 아, ssh에 이 경로에다가 jupyter를 설치한다, 라는 이 문구가 나와야해요. 그러면 ssh에서 쓸 수 있도록 jupyter를 설치하게 된답니다. 그러면 jupyter는 설치가 잘 되었구요,
그 다음에 rainbow intent 이것도 하나 설치 해 주기로 해요. 이거 python 들여쓰기 문법을 보기좋게 바꿔주는 아이랍니다.
설치가 되었구요,
강사님께서는 copilot 좋아한다 하셔요. 코파일럿도 그냥 일단 설치를 했구요, 강사님께서 설치했던 local pc에 설치 할 수 있었던 vs code extension은 다 설치가 가능해요. 잘 됐어요.
그 다음에 python 이것도 python ssh에 설치를 해 주어야해요. 이 파이썬은 jupyter notebook 하고.. 다 우르르 설치하는 아이예요.
이제 다시 익스플로러로 가서,,, 여기서 새 파일을 하나 만들어 볼게요. 여기에서 hello world.
확장력이 중요해요. Ipynb라고 하시면 된답니다.
이러면 이제 주피터 노트북 파일이 된답니다. 저절로 이렇게 만들어지죠.
그래서 프린트, 네, 헬로 월드 이렇게 해서 실행하시면 커널 접속 어쩌고 할 것 같아요.
여기서 이제 커널이 하나 밖에 없어서 알아서 잘 잡아주는데 여기서 이거 선택하시구요, 3.12.3 이거 선택하시구요,
그리고 restart 한 번 누르시구요.
그러고 난 다음에 잘 하면 된답니다.
그 다음에 뭐 잘 되는지 hello world라는 함수도 하나 만들어보도록 할게요.
Print hello world 하나 만들어 두고, 그 다음에 hello world 부르면 돼요. 이렇게 하면 잘 나와요. 이렇게 하는거구나~
그 다음에 하나 더 내친 김에 이번에는 hello world.py를 한 번 만들어 볼게요. 이렇게 나오죠.
그래서 def hello hello hello id 프린트 하는거 하고
그 다음에 if__라고 부르죠. If __ name이 __main이라면 hello world 실행하라는 뜻이에요.
이거 강사님께서 블로그에서 자주 이야기 하셨는데요
강사님께서 유튜브에서도 언급 하신 적이 있구요, __name , 네, __name은 이 아이를 누가 실행했는지를 보여주는 아이예요.
__main이 여기에 들어가 있다면 이 아이가 직접 실행되었음을 의미해요.
그래서 저장하시구요,
여기 지금 보면은 동그라미, 까만색 동그라미잖아요. 저장 안 되었다는 뜻이에요. Ctrl + s 하면 저장 됐죠,
이제 여기에 가서 이거 여기서 가상환경 이렇게 쓰시는 분들은 여기 자기 가상환경 잡아주시면 된답니다.
그리고 이 버튼(play) 살짝 눌러주시면 플레이 버튼, 헬로 월드 뜨죠, 쉽죠. 그쵸.
여기에 가서 ls hello world. Python을...
여기서 안 만들었나, 아 헬로 월드 파이썬이 python 폴더 안에 있지 않았네요,
위로 올려서 python 안에 잘 넣은 후, Cd python 하고 ls 하면.. !
위 화면처럼 hello world죠.
여기서는 이제 어떻게 실행을 하냐면.. python3 hello world.py 하면 실행이 돼요.
오늘도 공부하시느라
정말 정말 고생 많으셨습니다 여러분 :)
화이팅해요 🐢😚
'Hardware > SBC (rasp, jetson, latte panda)' 카테고리의 다른 글
[RPi5] 1-2 라즈베리파이5에 Ubuntu24.04 설치하고 SSH 연결하기 (5) | 2025.08.11 |
---|---|
[RPi5] 1-1 라즈베리파이5 하드웨어 셋팅하기|산.기.정.| (3) | 2025.08.08 |
Ubuntu가 설치된 Raspberry Pi 5에 picamera 설치하기 (1) | 2025.02.04 |
라즈베리파이 VNC 설정 - tightvnc server - (2) | 2025.01.06 |
라즈베리파이와 원격 연결 - VNC (3) | 2024.10.03 |
Raspberry Pi 5에 Ubuntu 24.04 설치하고 ssh 서버 설정하기 (0) | 2024.08.26 |
Lattepanda 라떼판다에 ubuntu 22.04 설치하기 (4) | 2022.11.28 |