-
Notifications
You must be signed in to change notification settings - Fork 2
01 PIDrone Documentation
Raspberry-PI + Drone = PIDrone
Drone + Linux = PIDrone
Superman은 linux 기반 Drone OS이다.
Raspberry pi에 Superman을 올린 것을 코어로 하여 만든 Drone을 PIDrone이라 한다.
PIDrone을 만드는 법에 대해 기술한 문서이다.
....
table of contents
- 필요한 부품
- Raspberry pi pin 연결
- Sensor Board
- PID 설정
- N100mini를 이용해 Raspberry pi를 ap로 만들기
PIDrone을 만들기 위해 필요한 부품을 설명한다.
전체 드론의 무게, 전원의 출력과 용량, 모터의 출력, 날개의 크기, 센서 등을 모두 고려하여 각 부품을 선택해야한다.
- Raspberry pi
- Mini-wireless lan dongle(ex. IPtime n100 mini)
- 드론 프레임
- Brushless Motor
- ESC(Electric Speed Controller)
- 드론 날개 4개
- Battery
- 가속도-자이로 센서 (ex. MPU-6050, MPU-9150)
- 기타 센서 등
추가 예정
추가 예정
추가 예정
참고
http://www.rasplay.org/?p=6769
http://askubuntu.com/questions/180733/how-to-setup-an-access-point-mode-wi-fi-hotspot
PIDrone과 Contoller Android Application은 Wifi를 통해 소켓 통신을 한다.
PIDrone과 Android 기기를 같은 AP(Access Point)에 연결하여 사용하는 방법도 있으나,
실외에서 Drone을 조종할 경우 따로 AP를 준비하기 어려운 면이 다소 있기 때문에
Wireless lan을 이용해 PIDrone 자체를 AP로 만들어 그 AP로 Android 기기를 연결하는 방법을 사용한다.
N100mini - RTL8188CUS 사용.
$ ifconfig
명령어를 이용해 N100mini가 연결되어 있는지, wlan0혹은 wlan1으로 연결되어 있는지 확인한다.
아래의 설정은 wlan0에 연결된 것을 기준으로 하였다.
hostapd를 설치.
$ sudo apt-get install hostapd
AP의 정보를 설정한다. 이 설정에서는 보안 설정을 하지 않으나 보안 설정이 필요한 경우 상단 참고의 링크를 참고하면 된다.
$ sudo vi /etc/hostapd/hostapd.conf
interface=wlan0
driver=rtl871xdrv
ssid=SSID_Name(설정할 ap의 이름 입력)
channel=1
rtl871xdrv(드라이버)는 기본으로 설치되어 있지 않기 때문에, 드라이버를 포함하여 컴파일된 hostapd로 교체해야 한다.
$ cd /usr/sbin
$ sudo cp /usr/sbin/hostapd /usr/sbin/hostapd.bak
$ sudo rm -f hostapd
$ sudo wget http://dl.dropbox.com/u/1663660/hostapd/hostapd
$ sudo chown root:root hostapd
$ sudo chmod 755 hostapd
$ sudo vi /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
allow-hotplug eth0
iface eth0 inet manual
auto wlan0
iface wlan0 inet static
address 10.10.0.1
netmask 255.255.255.0
(주의) 아래 코드 편집 시 ” 모양의 쌍따옴표가 아닌 " 모양의 쌍따옴표를 사용해야 한다.
$ sudo vi /etc/default/hostapd
DAEMON_CONF="/etc/hostapd/hostapd.conf"
dhcp server 설치
$ sudo apt-get install isc-dhcp-server
$ sudo vi /etc/default/isc-dhcp-server
INTERFACES="wlan0"
아래와 같이 설정하면 PIDrone의 IP는 10.10.0.1이 되고, PIDrone으로 총 15개까지 연결이 가능해진다.
필요한 경우 해당 부분을 변경하면 된다.
$ sudo vi /etc/dhcp/dhcpd.conf
ddns-update-style none;
ignore client-updates;
authoritative;
option local-wpad code 252 = text;
subnet 10.10.0.0 netmask 255.255.255.0 {
range 10.10.0.2 10.10.0.16; // 15개까지 연결 가능
option domain-name-servers 8.8.8.8, 8.8.4.4;
option routers 10.10.0.1;
option broadcast-address 10.10.0.17;
default-lease-time 600;
max-lease-time 7200;
}
외에는 모두 주석처리
Raspberry Pi를 재부팅한 뒤 다음 명령을 실행한다.
$ sudo service isc-dhcp-server start
$ sudo service hostapd start
Android 기기에서 Wifi를 켜고, hostapd.conf에 입력했던 AP 이름으로 연결하면 된다.