첫 시도에는 아래 방법으로 성공했는데 이후로 다른 sd카드에 다시 시도해보니 wifi를 잡지 못했다.
그래서 성공했던 sd카드에 다시 해보려고 sd카드를 포맷하고 다시 bullseye img를 설치해서 처음부터 동일하게 설정했는데 이번에도 wifi를 잡지 못했다. 동일한 증상인 이런 글을 발견했다 : https://forums.raspberrypi.com/viewtopic.php?t=325484
뭐가 문제인지 모르겠다. OS설치에 장황한 시간을 쓰고싶지는 않고 빨리 실습환경 만들고 싶은데..
(바로가기) 다른 방식으로 설정 시도 후 성공했어요 ❗
일단 이 글도 해결한 방법이기 때문에 그대로 둡니다.
참고가 될 지도 모르기 때문에요..
[ 주의 ]
아래의 과정이 bullseye에서 되는 방식인지 잘 모르겠다.
bullseye에서 첫번째 시도는 성공했는데 그 이후의 여러 시도에서는 모두 실패했다. (wifi를 못 잡음)
무언가 더 세심하고 정확히 설정해야 하는 것 같다.
일단 나는 단순하게 이것저것 검색으로 설정파일을 집어넣었다. 무언가 잘 안 맞는지 wifi를 못 잡았다.
아무래도 이렇게 작동원리도 명확히 모르고 설정파일을 작성하는 것보다,
공식적인 raspberry pi Imager 프로그램을 이용하여 설정해 넣는 것이 깔끔하겠다.
그래서 그렇게 했는데 됐다
.
.
▶ 문제상황 : 포맷한 sd카드에 img넣고나서 이제 hdmi 케이블로 라즈베리파이랑 노트북을 연결하면 화면이 떠야 하는데.. 방법을 열심히 찾아서 시도해봐도 해결이 힘들었다.
▶ hdmi 연결 포기 : 뭐가 문제인지는 못 찾았지만.. 포기하고 다른 방법을 찾아나섰다.
[대략적인 문제해결 과정..]
- windows의 "원격 데스크톱 연결"을 이용해서 라즈베리파이 화면을 볼 수 있다는 정보를 찾았다 (링크)
- windows의 "원격 데스크톱 연결"을 이용하려면 그 전에 원격접속(ssh)하는 과정이 필요하다.
그래서 일단 라즈베리파이가 네트워크에 연결되어 어떤 ip를 사용중이어야 한다.
- 라즈베리파이를 gui 없이 네트워크에 연결 설정하기 위해서는,
sd카드에 wifi관련 설정 파일을 작성해 넣어주어야 한다.
- 로그인시 필요한 username과 password 관련 설정 파일도 작성해 넣어주어야 한다.
- 이런 모든 준비를 마쳤으면 "원격 데스크톱 연결"을 통해 raspberrypi 화면을 내 노트북에서 볼 수 있다!
다 끝내니 생각보다 깔끔한 과정이었다.
물론 방법을 찾기까지는 꽤 많은 삽질을 했지만...!! ㅠㅅㅠ
.
.
과정 요약
[설정 파일 작성]
1. ssh, wpa_supplicant.conf, comline.txt, config.txt, userconfig.txt 파일을 PC에서 만들어서 ssd카드에 한꺼번에 복사해넣기
[원격접속하여 원격연결 허용 명령]
2. 라즈베리파이가 1번에서 설정한 네트워크에 연결되었다고 가정하고
(사실 반드시 연결된 상태여야 하는데, 확인하기 귀찮고 빨리 해야 한다면 그냥 됐겠지.. 하고 진행하라는 것이다),
putty에 host명을 raspberrypi로 입력하여 ssh로 원격접속하기 -> id, pw 입력
3. 원격 접속한 터미널창에 sudo apt-get install xrdp를 입력하여 원격 연결을 허용
[windows의 원격 데스크톱 연결 실행]
4. windows의 "원격 데스크톱 연결"을 실행하고 raspberrypi 입력 후 1번에서 설정해 넣은 username과 password로 접속하기
아래와 같이 해결 완료
1. sd카드에 무선설정에 필요한 파일들 생성
일단 ssh, wpa_supplicant.conf, comline.txt, config.txt, userconfig.txt 총 5가지를 넣어야 한다.
* 의문 : 다른 포스팅에서는 ssh, wpa_supplicant.conf만 넣어주는 경우도 있다.
bullseye 이전 버전(buster)에만 해당하는 경우인가? 사실 잘 모르겠다.
추측으로는 userconfig.txt는 bullseye에서는 넣어주어야 하는 것 같다.
bullseye에서는 default id, pw인 pi, raspberry를 권장하지 않고, wizard를 통해 개인 id, pw를 설정하는 과정이 필요하기 떄문이다. 관련된 상세한 내용은 3번에 적어두었다.
참고) 파일 생성 작업은 sd카드 내에서 말고 PC에서 진행한 뒤 sd카드로 복사하여 넣으라고 한다.
sd카드를 노트북에서 다시 확인할 때마다 생성해두었던 파일들이 사라져있는 현상이 있었다.
그래서 개인컴퓨터에 아래 파일들을 작성해두고 한번에 sd카드로 복사해주는 방식을 사용한다.
혹시나 나중에 라즈베리파이에 문제 생겼을 때 다시 sd카드에 복사해 넣어주면 될 것 같다.
또는 다른 wifi에 연결하고 싶을 때 wpa_supplicant.conf만 수정해서 넣어주면 될 것 같다.
관련 내용 : https://remnant24c.tistory.com/43
- ssh : 파일명만 ssh로 하고 내용은 비워둔다.
- wpa_supplicant.conf: 사용할 wifi 정보를 넣는다.
(핫스팟, 가정용wifi, 공용wifi인 경우의 작성법이 모두 다름)
- comline.txt: sd카드에 있는 파일 수정
- config.txt: sd카드에 있는 파일 수정
* 작성해야할 위 4개 파일들의 내용은 이 링크에 잘 설명해주셨다.
나머지 하나의 파일 : userconf.txt
그냥 이렇게 작성해주면 된다. username에는 사용할 id를, password에는 사용할 pw를 정해 넣어준다.
단, username과 password를 각각 pi와 raspberry로는 하지 말자!
그 이유는 3단계에서 설명해두었다.
5개의 파일을 모두 작성(수정)완료 했으면, sd카드에 복사(or덮어쓰기)해서 그대로 넣어준다.
2. 라즈베리파이가 사용중인 ip주소 확인 (반드시는 확인 안해도 됨)
라즈베리파이가 정상적으로 네트워크에 연결되었는지 확인하는 과정이기도 하다!
▷ 꼭 안해도 된다고 한 이유 :
★라즈베리파이가 위에서 설정한 ip를(wifi연결) 정상적으로 사용중이라고 가정 하에★
라즈베리파이의 host명인 raspberrypi를 통해 원격접속이 가능하다.
일단 나는 핫스팟으로 연결하고자 했다.
(네트워크 설정을 wifi에 맞춰 매번 바꾸기도 귀찮고, 실습 장소를 자유롭게 하고 싶어서 그냥 항상 가지고 다니는 핫스팟을 이용하기로 결정)
* 변경 : 컴퓨터에서 제공하는 hotspot기능을 이용하면 더 편리하다!
이 기능을 이용해 raspberrypi의 네트워크 정보를 설정하면,
번거로운 과정 없이 컴퓨터와 동일한 wifi에 연결할 수 있다.
사용 중인 ip를 확인하는 방법은 여러가지가 있는 것 같은데, 나는 nmap 프로그램을 이용했다.
https://nmap.org/download.html#windows
이 프로그램으로 ip에 연결된 기기들을 확인가능하다. 찾는 방법은 아래 링크에 잘 설명되어있다.
핫스팟일 경우와 다른 wifi인 경우 (집/공용wifi) 검색(scan)하는 방법이 다르니 유의하자.
아무튼.. 아래 사이트 참고
https://remnant24c.tistory.com/43
참고: 내가 네트워크에 대한 지식이 없어서 반드시 그래야하는지는 잘 모르겠지만,
나는 PC와 라즈베리파이에 동일한 wifi를 연결하고 진행했다.
위의 scan결과를 보면, 동일한 핫스팟에 연결한 ip현황이다.
노트북은 192.168.43.210를 사용중이고,
라즈베리는 192.168.43.122를 사용중이다.
( 기본 게이트웨이 : 192.168.43.1)
* 아!!
windows의 "원격 데스크톱 연결"로 raspberrypi에 접속하려면 같은 네트워크에 속해있어야 한다.
3. 원격접속하기 (putty 등)
나는 putty로 원격접속했다.
- hostname에 raspberrypi라고 입력하거나,
- 아까 확인한 ip주소를 넣어서 open하면 된다.
(raspberrypi가 이용 중인 ip주소)
그리고나서는 이런 화면이 떴는데, 나는 Accept했다.
성공적으로 연결되었다면 id, pw를 입력하라고 뜬다.
아까 userconf 파일에 설정해둔 username과 password를 쓰면 된다!
------------------------------- 안읽어도 됨 --------------------------------
※ id, pw 지정시 주의할 점:
원래는 raspberrypi의 초기id, pw가 존재했다고 한다. 초기 id : pi, 초기 pw : raspberry
근데 이게 더이상 안된다!
제가 처음에는 일부러 userconf파일에 id, pw를 pi와 raspberry로 설정했다. (기본이라고 해서 괜시리)
하지만 이렇게 pi, raspberry라는 id, pw로 login을 시도할 때마다 Access Denied가 떴다.
이 문제와 관련된 내용을 찾았다!
+https://stackoverflow.com/questions/71804429/raspberry-pi-ssh-access-denied
맨 밑에 소개해주신 사이트인 Further reading을 보면, id, pw 설정을 더이상 pi, raspberry로 하지 않기를 권한다.
Bullseye OS부터 그렇다고 한다. 나같은 경우도 bullseye를 설치한 경우다.
관련 내용중 하나..
그래서 다른 id, pw로 userconf파일을 수정해서 다시 sd카드에 넣어줬더니 곧바로 된다.
----------------------------------------------------------------------------------------------------------
4. ssh 접속 후 원격 연결을 허용하기 위해 sudo apt-get install xrdp 수행
몇분정도 걸렸다.
5. "원격 데스크톱 연결" 실행하기
참고: (이 기능을 사용하기 위해서는 "원격 데스크톱 활성화"가 필요할 수도 있다.)
이번에도 그 ip를 입력해도 되고, raspberrypi라고 입력해도 된다.
연결하면 나같은 경우는 어떤 경고창이 뜨는데 그냥 오케이해도 된다!
하 드디어 화면 봤다 ㅠㅅㅠ
이제 실습 해야지..
[ 유의하기 ]
- 네트워크가 끊어져도 작업중인 내용을 저장했다면 문제는 없다.
그러나 한창 작업 중에 만약 사용중이던 ip에서 끊어졌다면 다시 라즈베리파이를 해당 ip에 연결해주어야 할 텐데, 무선으로 네트워크를 설정하려면 라즈베리파이에서 ssd를 뽑고 PC에 직접 다시 꽂아서 네트워크 설정파일을 다시 넣어주어야 한다. 즉, 결국 네트워크가 한번 끊어지면 재부팅을 하게된다.
- "원격 데스크톱 연결"은 화면을 원격으로 비춰주는 것 뿐이므로, 원격 세션(라즈베리파이 화면)을 잠시 닫았다가 열어도 라즈베리파이상의 작업중인 내용은 사라지지 않는다.
'기타' 카테고리의 다른 글
[소프트웨어공학] 소프트웨어 개발 프로세스 주요 모델 6가지 요약정리 (2) | 2022.10.23 |
---|---|
모니터나 hdmi 없이 라즈베리파이 화면 원격으로 보기 | 그리고 wifi 자동 설정 (28) | 2022.05.16 |
[Java] BOJ 2469 | 사다리타기 (0) | 2022.04.05 |
BOJ 10994 | 별찍기 - 19 | 해결 과정 정리 | 재귀 vs 재귀X (0) | 2022.03.24 |
virtualbox ubuntu 20.04 로그인 후 검은화면 해결하기 (4) | 2022.03.02 |