STELLA N5
  • STELLA N5 USER MANUAL
  • 관련 홈페이지
  • IdeaRobot Gitbook
  • STELLA N5 사양
    • 치수 및 외관
    • 제원
    • 블록도
    • 주요부품
    • SBC 구성 요소
  • 구성품
  • STELLA N5 조립 방법
    • STELLA N5 파트리스트
    • 배선도
    • 조립 및 배선
  • STELLA N5 관련 설정
    • 원격 PC 설정 - ROS2
    • Raspberry Pi 설정 - ROS2
    • 매개변수(Parameter) 설정
  • STELLA N5 작동
    • STELLA N5 구동
    • STELLA N5 SLAM
    • STELLA N5 Navigation2
  • STELLA N5 부록
    • 안드로이드 앱을 이용하여 STELLA N5 구동
    • 모터 드라이버 환경 설정
    • 모터 게인 확인 및 수정
    • STELLA Hailo ROS2 패키지
  • STELLA N5 추후 업데이트 예정
    • STELLA N5 Gazebo
    • AP 모드
  • AP 이용 Pi Wifi 설정
  • Basics
    • Editor
    • Markdown
    • Images & media
    • Interactive blocks
    • OpenAPI
    • Integrations
Powered by GitBook
On this page
  1. STELLA N5 추후 업데이트 예정

AP 모드

기본적으로 라즈베리파이 SD카드에 AP(Access Point) 설정됩니다.

PreviousSTELLA N5 GazeboNextAP 이용 Pi Wifi 설정

Last updated 3 months ago

현재 오류가 발생하여 추후 업데이트 진행 예정입니다.

2025년 02월 26일 기준으로 작성된 메뉴얼입니다.

설치 시 오류가 발생할 경우, 별도로 제공되는 IMG 이미지 파일 활용해 주시기 바랍니다.

AP 관련 설치 및 설정

Raspberry Pi에서 설정되는 부분입니다.

  • 아래의 명렁어를 통해 패키지를 업데이트 해줍니다.

sudo apt-get update
  • 아래의 명렁어를 통해 AP, DNS 관련 패키지를 설치합니다.

sudo apt-get install hostapd dnsmasq
  • 설정을 변경하기 전에 hostapd, dnsmasq 서비스를 중지하여 충돌을 방지합니다.

sudo systemctl stop hostapd
sudo systemctl stop dnsmasq
  • 아래의 명렁어를 통해 Wifi 설정합니다.

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
country=KR
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
        ssid="idearobot"
        psk="idearobot123"
        key_mgmt=WPA-PSK
}

ssid, psk를 사용 wifi에 따라 변경 하시면 됩니다.

  • 아래의 명렁어를 통해 AP 모드에서 사용할 인터페이스와 IP를 설정해줍니다.

sudo nano /etc/dhcpcd.conf
interface ap0
        static ip_address=192.168.10.1/24
        nohook wpa_supplicant
  • 아래의 명렁어를 통해 AP 모드에서 사용할 DHCP IP 주소 범위를 지정해줍니다.

sudo nano /etc/dnsmasq.conf
interface=ap0
dhcp-range=192.168.10.2,192.168.10.20,255.255.255.0,24h
  • 아래의 명령어를 통해 AP SSID 설정 및 실행 파일 생성해줍니다.

nano /home/pi/ap.py
import subprocess

interface = "ap0"
password = "1234567890"

def get_mac_address(interface):
    result = subprocess.check_output(["cat", f"/sys/class/net/{interface}/address"]).decode("utf-8")
    mac_address = result.strip().replace(":", "")
    return mac_address

raspberry_pi_mac = get_mac_address(interface)

ssid = f"STELLA{raspberry_pi_mac}"
print("SSID:", ssid)

hostapd_config = f"""interface={interface}
ssid={ssid}
hw_mode=g
channel=7
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase={password}
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
"""

with open("/etc/hostapd/hostapd.conf", "w") as f:
    f.write(hostapd_config)

subprocess.run(["sudo", "systemctl", "restart", "hostapd"])
  • 아래의 명령어를 통해 실행 권한 부여합니다.

chmod +x /home/pi/ap.py
  • 아래의 명령어를 통해 Hostapd 설정합니다.

sudo nano /etc/default/hostapd

기존 hostapd 파일 맨 밑에 아래의 명령어 작성

DAEMON_CONF="/etc/hostapd/hostapd.conf"
  • 아래의 명령어를 통해 IP 포워딩 활성화를 합니다.

sudo nano /etc/sysctl.conf

아래의 부분 주석 제거

net.ipv4.ip_forward=1
  • 아래의 명령어를 통해 NAT 설정하여 AP로 인터넷 공유가 가능하도록 합니다.

sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
  • 아래의 명령어를 통해 NAT 룰을 저장하여 재부팅 시 유지되게 합니다.

sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
  • 아래의 명령어를 통해 NAT 설정 유지 및 AP Python 파일 자동으로 활성화하도록 합니다.

sudo nano /etc/rc.local

-exit 0 앞에 추가해줍니다.

iptables-restore < /etc/iptables.ipv4.nat
sleep 5
python3 /home/pi/ap.py
  • 아래의 명령어를 통해 네트워크 인터페이스를 설정해줍니다.

sudo nano /etc/network/interfaces

맨 아래 추가해줍니다.

source /etc/network/interfaces.d/*
auto ap0
iface ap0 inet static
        address 192.168.10.1
        netmask 255.255.255.0
        network 192.168.10.0
        broadcast 192.168.10.255
  • 아래의 명령어를 통해 AP 인터페이스 스크립트를 생성해줍니다.

sudo nano /usr/local/bin/create_ap0.sh

빈 파일에 작성해줍니다.

#!/bin/bash

# Create ap0 interface
iw dev wlan0 interface add ap0 type __ap

# Bring up ap0 interface
ifconfig ap0 up
  • 아래의 명령어를 통해 스크립트 실행 권한 부여해줍니다.

sudo chmod +x /usr/local/bin/create_ap0.sh
  • 아래의 명령어를 통해 부팅 시 AP 인터페이스 생성을 자동화 해줍니다.

sudo nano /etc/systemd/system/create_ap0.service

맨 아래 추가해줍니다.

[Unit]
Description=Create ap0 interface at boot
After=network.target

[Service]
Type=oneshot
ExecStart=/usr/local/bin/create_ap0.sh
RemainAfterExit=true

[Install]
WantedBy=multi-user.target
  • 아래의 명령어를 통해 부팅시 자동 실행되도록 설정해줍니다.

sudo systemctl enable create_ap0.service
  • 아래의 명령어를 이용해서 네트워크 서비스를 재시작합니다.

sudo systemctl start create_ap0.service
sudo systemctl restart networking
sudo systemctl restart hostapd
sudo systemctl restart dnsmasq
  • 아래의 명렁어를 이용해서 Pi를 재시작 합니다.

sudo reboot
http://naver.me/FPBtgJ8l