본 글은 제가 직접 쓴 글이 아니라, 저희 PinkLAB의 유투브 채널의 공개 강의 영상들을 읽고, 따라한 한 수강생의 글을 제 블로그에 공유한 내용입니다.
https://youtu.be/8JJCkxvePTs?si=UTrYO6gm-b7dgu5-
안녕하세요,
오늘은 [ AP mode 셋팅으로 라즈베리파이보드를 공유기로 만들기 1 ] 의 주제로 글을 써 보았답니다 ^^
어떤 하루를 보내고 계신가요 !
기술이, 그리고 세상이 정말 빠르게 변하는 와중에 !
아주아주 천천히, 한결같이 자기만의 속도로 움직이는 구름이에요. ( 비오는 날은 변하는 좀 달르지만....ㅋ_ㅋ )
가끔 저렇게 빛을 뿜어주면 감탄하고 멍 하니 하늘을 올려다 ( 봐요 ! ) ㅎㅎ
다시 공부하러 갈게요 🤭
라즈베리파이 강의 '도' 진행하고 계신 민형기강사님의 강의를 들어봤어요.
라즈베리파이 산딸기보드 이야기를 하고 있었는데요, 진행된지 좀 됐는데, 아직 환경설정 이야기 중이에요.
그런데 강사님께서는 환경설정이 절반 이상이라고 생각을 한다고 하셨어요. 그래서 많이 다루고 있어요.
초반에 오늘 다루는 이야기는 AP 모드라는 이야기인데요, 일단 우리가 AP모드 들어가기 전에, 지금까지 뭘 했냐는 거예요.
핑크랩 유튜브인데요, 지금 우리가 구축하려는 환경은 뭐냐면요, 여기에 라즈베리파이가 있어요. 그리고 내 피씨가 여기에 있어요.
이렇게 하셔도 상관은 없어요. 라즈베리파이의 키보드, 모니터, 마우스 연결하고 쓰셔도 아무 문제가 없어요.
그런데 강사님께서 추천하는 방법은, 라즈베리파이는 그대로 전원만 틱 연결하고 놔두시구요,
내 피씨에서 연결을 하겠다는 거예요.
라즈베리파이에서 터미널을 열고싶다면, 내 피씨에서 터미널, 혹은 윈도우유저라면 명령 프롬프트,
터미널을 열어서 ssh 로 연결하시라는거죠.
라즈베리파이에서 코드를 짜야겠다라고 하면,
여기에서 vs code 같은걸 하나 열어서 ssh extension으로 연결하면 코드를 짤 수 있다는 거예요.
그리고 나서 최근에 이 이야기를 했는데요, vnc 이야기를 했어요.
이 3개, 이 3개가 뭐냐면,
라즈베리파이에서 원격으로 연결된 내 pc에서 터미널을 여는 것도 코드를 짜는 것도 되는데,
하나 안 되는게 뭐냐면, 실행 결과가 새 창이 떠야 되는 경우, ssh는 그 기능이 없단말이죠,
그럴 때 이걸 쓰라는 거예요.
vnc를 그럴 때만 쓰시라는 거예요.
vnc 를 가지고 원격 데스크탑처럼 쓰시려고 말씀드린건 아니예요. 다 됐어요. 하나 남아있는게 있어요.
ap mode 인데요, 이 ap mode 라는게 뭘까요?
그 이야기부터 시작 해 봤어요. 우분투가 제공하는 거예요.
사실 이건 라즈베리파이가 아니어도 된답니다. 그냥 우분투가 설치된 어떤 Pc여도 돼요.
강사님께서는 카다스 마인드라는 미니피씨를 하나 쓰고 있는데요,
이것도 보여드리면.. 카다스 마인드는,
강사님께서는 카다스 마인드라는 미니피씨를 하나 쓰고 계셔요.
얼리 어덥터로 킥 스타터에서 구매를 한 거라, 지금 판매 가격보다는 엄청 저렴하게 구매를 하셨다고 해요.
지금은 좀 비싸긴 한데.. 여러분들께 카다스 마인드를 구매하시라는게 아니구요, 개봉기 정도였다 합니다..ㅋㅋㅋㅋ
이렇게 생긴 미니핏이예요. 미니핏인데 사양이 참 좋아요. 근데 마우스 크기랑 비교해보시면 귀엽네요, ㅎㅎ
또.. 얇아요. 얇아서 가방에 넣기 참 좋다 하셨어요. 이렇게 얇아서, 강사님께서는 여기에다가 우분투를 설치 해 두시거든요,
이걸 출장 갈 때 들고 다니면 출장지에서도 인터넷을 연결해야하니 또 키보드 마우스 모니터가 필요하단 말이죠,
강사님께서는 그게 마음에 들지 않으셨대요. 그래서 우분투에서 제공하는 ap mode 라는걸 쓰신대요.
그걸 쓰면 내 pc가 가상의 공유기가 되는 거예요!
이 개념이 뭐냐면, 공유기를 내가 하나 들고 다니는거랑 같은 효과가 나는거예요.
그게 라즈베리파이가 되었던, 작은 pc가 되었던지 간에, 우분투만 깔려있으면 돼요.
그러면 라즈베리파이가 어느 출장지 어느 인터넷 환경이 바뀌었을 때 인터넷은 연결이 안 됐어요.
근데 내가 인터넷 SSID랑 비밀번호를 안단말이죠!
그러면 내 PC에서 공유기로 ssh로 접근을 한 다음에, 거기서 인터넷을 연결시켜요.
그러면 끝이 나요.
이 이야기를 하려고 하는 거예요.
지금 보시다시피 dnsmasq라는 모듈이 있어요. 네트워크 서버를 구성하는 아이에요. 좋은 아이에요.
그리고 hostapd, 무선 엑세스 포인트를 관리하는 아이에요.
무선 랜카드가 하나만 있어도 공유기 모두 세팅을 해 주는 좋은 아이에요.
그래서 이걸 설치해요. 심플하게!
한 페이씩 보여드리면서 설명 해 주셨어요.
지금 현재 이건 강사님의 맥의 터미널이에요.
여러분들이 윈도우를 쓰고 계신다면, 명령 프롬프트로 들어가시면 된답니다.
맥이라면, 여기에서 접근을 해야하잖아요,
윈도우도 보여드릴까요! 지금 이제 윈도우의 명령 프롬프트부터 다시 할게요.
접근하는 건 똑같다는 이야기를 하는 거예요. 지금 하고싶은 거에요.
여기에서 ssh로 192.168.0.173이 강사님 라즈베리파이의 Ip에요.
이 아이피를 모르면 ssh는 접근을 할 수가 없어요.
이제부터는 한 번만 설정하면 되는 ap mode라는 걸 하면 ip를 몰라도 된다는 이야기를 할 건데,
일단 지금은 설정을 해야하니까, 그래서 라즈베리파이가 켜져 있지만 ssh로 접근을 하는 거예요.
이게 강사님 라즈베리파이의 프롬프트거든요, RPi2,
그리고 윈도우도 되나요? 된답니다!
강사님께서 영상에서 터미널이라고 말을 하면 윈도우 유저들께서는 아 명령 프롬프트구나 하고 생각을 하시면 된답니다.
ssh로 pw@192.168.0.173, 이제 윈도우에서 접근 하는거예요.
처음 접근할 땐 이걸 묻죠. 암호묻구요, 끝이 났어요.
똑같아요. 너~ 무 똑같아요.
동시에 접속도 돼요. 안 될 리가 없어요! 터미널을 두 개 띄운거니까, 돼요.
( 이건 그렇게 중요하지 않아서 넘어가요 !! )
윈도우도 똑같다, 왜? 실행되는건 라즈베리파이니까!
이제 여기 나와 있는 것처럼, 이것처럼 설치를 할 거예요.
그 전에 ! sudo apt install 오랜만에 하는거니까 update repositories 한 번 할게요.
sudo apt update 하시구요, repositoriese update는 얼마 안 걸려요.
( 혹시 업그레이드 할 게 있으면, 엄청 오래 걸릴 때도 있어요. )
sudo apt install dnsmasq 이거랑, hostapd두 개를 설치해라 라고 시킨 거예요.
용량은 얼마 없어요. 설치는 무난히 진행되고 있으니, 다음으로 넘어갈게요.
이제 hostapd.conf 파일 작성을 해야해요.
여기에서 중요한 부분은 SSID 를 무엇으로 할 것이냐... SSID 그리고 비밀번호를 넣어줘야해요.
주의해야 할 게, 비밀번호 암호가 8자 이상이어야해요. 이거 주의하셔야해요. 이 암호는 뭐냐면... 주의해요!
이 암호는 나의 라즈베리파이를 공유기 역할도 겸하게 할 거에요.
공유기가 될 아이니까, 다른 누군가가 공유기에 접속을 하려면 SSID,
흔히 말하는 공유기 이름, 비밀번호가 있어야하잖아요,
그걸 셋팅하는거예요.
그거 여기에서 sudo nano /etc/hostapd/hostapd (etc 폴더에 있는 hostapd 폴더에 있는 hostapd.conf )
여기로 들어가요.
아무것도 없어요.
강사님께서는 여기서 링크를 누르시는데, 이 링크를 찾아갸는 방법도 말씀을 해 주셨어요.
들어가는 방법을 이야기 해 드릴게요!
이 레파지토리가 로스인데, 일단 pinkwink github로 구글 검색창에서 들어가요.
들어가서 repositories 를 누르시구요,
for ROS2 study가 있어요.
여기 들어가셔서 RPi study 가 보이시나요!
여기 들어가셔서 hostapd.conf가 있구요,
여기에서 copy raw file 이 버튼을 누르시구요,
그 다음에 터미널에서 아까 열어두었던 hostapd.conf file에서 ctrl + shift + v 붙여 넣으시면 된답니다.
하지만 맥에서 쓰시거나 윈도우에서 쓰시는 분들은 < ctrl + v > 만 하셔도 되구요.
여기 두번째 줄 SSID에
RPi2 이렇게 잡아 줄 거구요,
password이 자리, 12345678 이렇게 잡아두었어요.
ctrl + x + y + enter , 입력이 끝났어요. 그
러고 난 다음에 방금 만들어 둔 걸 여기에다 추가해야해요.
sudo nano 갈게요. sudo nano editor 관리자 권한으로 여는거에요.
etc 폴더에 있는 default 폴더에 있는 hostapd를 열어서 DEMON_CONF가 있어요.
DEMON_CONF 이걸 주석 해제하셔도 되구요, DEMON_CONF 안에다가, etc 경로의, hostapd.conf !
DAEMON_CONF ="/etc/hostapd/hostapd.conf"
이렇게 방금 만든 환경 파일을 넣어주고,
nano editor에서 빠져나올 때에는 ctrl + x + y + enter를 치시면 된답니다.
그럼 저장 다 됐어요.
이제 재실행을 한 번 해야해요. hostapd를 재실행하는 거에요.
지금 라즈베리파이에 접속한 ssh로 접속한 곳에서 하고있는 거예요.
sudo systemctl unmask hostapd
그리고 다시 재실행해야된다고 했어요.
sudo systemctl enable hostapd
재부팅한 것과 같은 효과다 라고 생각하시면 된답니다.
자, 이제 하나 더 작업을 해야해요.
이건 이제 공유기 설정을 하기 위해서 필요한 정보들을 여기다 넣어주는 거예요.
이제 포트 넘버 범위 이런거 이제 넣어줘야하는데, 여기 보면 ip 주소 방식 아시죠,
이렇게 [ *** . ***. * . ** ] 그 다음에 콤마, [ *** . *** . *** . * ] 또 콤마, 파랑이들은 콤마다! 이
네, sudo nano 그 다음에 etc dnsmasq.conf !
여기서 그냥 한 번에 다 입력을 할게요.
port=5353
interface=ap0
일단 레인지 (dhcp-range) = 192.168.4.2, 192.168.4.20, 그 다음에 MASK 255.255.255.0,24H 이렇게 입력을 해 줘요.
되었구요,
ctrl + x + y + enter 됐어요.
이번에는 restart!
sudo systemctl restart dnsmasq
이번에도 restart dnsmasq 됐어요.
이제 할 게 조금씩 있어요. 아직 남았어요. 이제 이 부분이 들어가야겠네요.
sysctl.conf에요. conf 파일에서 이걸 수정해야해요.
오늘 nano editor 많이 썼어요. sudo nano /etc/sysctl.conf 여기 들어가서
요 아이, 주석 해제!
net.ipv4.ip_forward=1
맞아요. ctrl + x + y + enter.
할게 많아요!!
이제 무선 네트워크를 관리해주는 아이, iw에요. 이것도 설치 할 거에요.
sudo apt install iw
방금 같은 에러가 났을 때, sudo apt update를 한 번 하시면.. 또 해결이 될 때가 있어요.
이렇게 됐구요, 다음에 가상 네트워크 구성하러 또 가야해요.
이제 가상 네트워크를 생성하는 코드인데요,
이거는 나중에는 부팅 할 때마다 실행하도록 만들어 볼 건데, 일단 지금은 한 번 테스트 해 보도록 해요.
sudo iw 한테 시켜요. dev wlan0 (wireless lan) interface add ap0를 넣고 type은 __ap에요.
그 다음에 sudo ifconfig ap0 192.168.4.1 /24 netmask 255.255.255.0 그 다음에 이렇게 해 주고,
그 다음에 sudo ifconfig ap0 up! 시작, 됐어요.
자 이제 이렇게 했을 때 ifconfig 해서 보시면 여기 ap0가 떠요. 이러면 된 거에요. 아 잘했다!ㅋㅋㅋ
이제 ap0가 잘 떴음을 확인했으니
서비스에 등록을 하도록 해야해요. 이거 하나 만들어야해요.
먼저 sudo nano /etc/system/pw-ap-mode.service, 서비스 하나 만들어서 부팅 할 때 움직이도록 할 거예요.
엔터 이 코드는 어디냐면,
아까 말씀드렸던 pinkwink github , for ROS2 study 에 있는 RPi study 여기 코드가 있어요.
다 되어 있어요.
이제 copy raw file 하시고 다음에
터미널에서 < ctrl + v > 해서 넣으시면 된답니다.
nano editor에서 저장하는 방법은 ctrl + x + y + enter를 누르시면 돼요.
이제 demon reload를 해 볼까요 !
sudo systemctl daemon-reload
(ctl:control)
sudo systemctl daemon-reload
, 짠! 그 다음에
sudo systemctl enable pw-ap-mode.service
끝이 났어요!!!
여러분 오늘 다른 날보다 보다 어렵게 느껴졌는데요 ㅠ_ㅠ 흐엉엉엉엉엉엉
그래도 재밌었답니다 ....... 뭐가 이렇게 많지 ! ?!? !? !? !? !? !!!!!!
눈운동을 많이 해야 잘 찾아 넣을 수 있겠어요. ㅋ_ㅋ
모두 모두 고생하셨습니다아 ☺️ 👋🏻
'Hardware > SBC (rasp, jetson, latte panda)' 카테고리의 다른 글
[RPi5] 1-7. xhost 설정을 라즈베리파이 부팅할 때 자동으로 하기|산.기.정.| (0) | 2025.09.02 |
---|---|
[RPi5] 1-6. Windows에서 VNC 뷰어 실행하기|산.기.정.| (3) | 2025.08.29 |
[RPi5] 1-5. VNC 서버를 라즈베리파이에 설치하는 과정|산.기.정.| (4) | 2025.08.27 |
[RPi5] 1-4 MS Windows의 명령프롬프트로 SSH 연결하기|산.기.정.| (0) | 2025.08.22 |
[RPi5] 1-3 SSH로 라즈베리파이5에 Python 개발 환경 구축하기 |산.기.정.| (2) | 2025.08.18 |
[RPi5] 1-2 라즈베리파이5에 Ubuntu24.04 설치하고 SSH 연결하기|산.기.정.| (5) | 2025.08.11 |
[RPi5] 1-1 라즈베리파이5 하드웨어 셋팅하기|산.기.정.| (3) | 2025.08.08 |