![Raspberry Pi Force Server WAP: 15 kroków Raspberry Pi Force Server WAP: 15 kroków](https://img.gwsigeps.com/img/img/blank.jpg)
Spisu treści:
- Kieszonkowe dzieci:
- Krok 1: Części
- Krok 2: Sprawdź Ethernet i Wifi
- Krok 3: Zainstaluj oprogramowanie
- Krok 4: Skonfiguruj serwer DHCP
- Krok 5: Skonfiguruj Wlan0 dla statycznego adresu IP
- Krok 6: Skonfiguruj punkt dostępu
- Krok 7: Skonfiguruj tłumaczenie adresu sieciowego
- Krok 8: Zaktualizuj Hostapd
- Krok 9: Pierwszy test!
- Krok 10: Wykończenie!
- Dodatkowo: Usuwanie produktu WPA
- Krok 11: Połącz i przetestuj
- Więcej!
- Krok 12: Kompilowanie Hostapd
- Krok 13: UWAGA: Force Server nie jest jeszcze dostępny
- Krok 14: Pobierz i skonfiguruj Force Server
- Ściągnij
- Utwórz kopię szablonu do pracy
- Uruchom skrypt Force Server na starcie
- Krok 15: Skonfiguruj pilota siły
W tym samouczku przejdziesz przez proces przekształcania Raspberry Pi w bezprzewodowy punkt dostępowy (WAP) i instalowania na nim serwera Force Server, a następnie uruchomienia go, aby można było to rozszerzyć w przyszłych projektach.
----- Szczegóły dotyczące Force Server, aby przejść tutaj ----- (Celowo pominięty)
Pod koniec tego Instruktażu będziesz mógł po prostu:
- Włącz Raspberry Pi
- Połącz się z jego siecią
- Steruj z telefonu za pomocą aplikacji Force
Poniższy samouczek tworzenia WAP jest oparty na / przepisanym przez samouczek online Adafruit połączony tutaj.
Kieszonkowe dzieci:
Krok 1: Części
Potrzebne będą następujące elementy:
- A Raspberry Pi
- Połączenie internetowe Ethernet dla twojego Raspberry Pi
- Adapter Wi-Fi obsługujący tryb AP (działają adaptery Adafruit Wi-Fi)
- (Micro) Karta SD o rozmiarze 4 GB z zainstalowanym Raspbianem (jest wiele samouczków na ten temat, po prostu Google to)
- Czytnik kart SD, jeśli chcesz zainstalować Raspbian
- Zasilacz do twojego Raspberry Pi (5V 1 ~ 2A)
Krok 2: Sprawdź Ethernet i Wifi
Przed kontynuowaniem upewnij się, że kabel Ethernet jest podłączony i możesz wysłać sygnał ping z Pi.
Będziesz także chciał skonfigurować klucz WiFi. biegać sudo shutdown -h teraz a następnie podłącz moduł WiFi, gdy Pi jest wyłączony, aby nie spowodować przepięcia. Po powrocie sprawdź za pomocą ifconfig -a to widzisz wlan0 - moduł WiFi.
Krok 3: Zainstaluj oprogramowanie
Wpisz następujące dane w terminalu.
sudo apt-get update
sudo apt-get install isc-dhcp-server
Krok 4: Skonfiguruj serwer DHCP
Następnie edytujemy /etc/dhcp/dhcpd.conf, plik, który ustawia nasz serwer DHCP - pozwala to połączeniom Wi-Fi na automatyczne uzyskiwanie adresów IP, DNS itp.
Uruchom to polecenie, aby edytować plik
sudo nano /etc/dhcp/dhcpd.conf
Znajdź linie, które mówią
opcja nazwa-domeny "example.org"; opcja nazwa-domeny-serwery ns1.example.org, ns2.example.org;
i zmień je, aby dodać # na początku, tak mówią
#option nazwa-domeny "example.org"; # opcja nazwa-domeny-serwery ns1.example.org, ns2.example.org;
Znajdź linie, które mówią
# Jeśli ten serwer DHCP jest oficjalnym serwerem DHCP dla lokalnego
# network, autorytatywna dyrektywa powinna być odkomentowana. #autorytatywny;
i usuń #, tak jak mówi
# Jeśli ten serwer DHCP jest oficjalnym serwerem DHCP dla lokalnej sieci #, należy odkomentować dyrektywę autorytatywną. autorytatywny;
Następnie przewiń w dół i dodaj następujące wiersze
podsieć 192.168.42.0 maska sieci 255.255.255.0 {zakres 192.168.42.10 192.168.42,50; opcja emisji adres 192.168.42.255; routery opcji 192.168.42.1; domyślny czas dzierżawy 600; max-lease-time 7200; opcja nazwa-domeny „lokalna”; opcjonalne serwery nazw domen 8.8.8.8, 8.8.4.4; }
Zapisz plik, wpisując Control-X następnie Y następnie powrót
Biegać
sudo nano / etc / default / isc-dhcp-server
i przewiń w dół do INTERFACES = "" i zaktualizuj to, by powiedzieć INTERFACES = "wlan0"
zamknij i zapisz plik
Krok 5: Skonfiguruj Wlan0 dla statycznego adresu IP
Jeśli zdarzy ci się mieć wlan0 aktywny, ponieważ skonfigurowałeś go, uruchom
sudo jeśli down wlan0
Nie ma nic złego w uruchomieniu go, jeśli nie jesteś pewien
Następnie skonfigurujemy połączenie wlan0 jako statyczne i przychodzące. uruchom sudo nano / etc / network / interfaces, aby edytować plik
Znajdź linię auto wlan0 i dodaj # przed linią, a następnie przed każdą linią. Jeśli nie masz tej linii, upewnij się, że na końcu wygląda ona jak poniższy zrzut ekranu! Po prostu usuń wszystkie stare ustawienia konfiguracji wlan0, zmienimy je
W zależności od istniejącej konfiguracji / dystrybucji może być więcej lub mniej tekstu i może się on nieco różnić
Dodaj linie
iface wlan0 inet adres statyczny 192.168.42.1 maska sieci 255.255.255.0
Po allow-hotplug wlan0 - zobacz poniżej, jak powinien wyglądać. Wszelkie inne linie później powinny mieć # z przodu, aby je wyłączyć
Zapisz plik (Control-X Y) Przypisz statyczny adres IP do adaptera wifi, uruchamiając:
sudo ifconfig wlan0 192.168.42.1
Krok 6: Skonfiguruj punkt dostępu
Teraz możemy skonfigurować szczegóły punktu dostępu. Ustawimy sieć chronioną hasłem, aby połączyć się tylko ludzie z hasłem. Utwórz nowy plik, uruchamiając
sudo nano /etc/hostapd/hostapd.conf
Wklej poniższy kod, możesz zmienić tekst po ssid = na inną nazwę, która będzie nazwą sieciową. Hasło można zmienić za pomocą tekstu po wpa_passphrase =
interface = wlan0 driver = rtl871xdrv ssid = TheForceServer hw_mode = g channel = 9 macaddr_acl = 0 auth_algs = 1 ignore_broadcast_ssid = 0 wpa = 2 wpa_passphrase = TheForceServerOnPi wpa_key_mgmt = WPA-PSK wpa_pairwise = TKIP rsn_pairwise = CCMP
Jeśli nie używasz adapterów wifi Adafruit, być może będziesz musiał zmienić driver = rtl871xdrv powiedzieć driver = nl80211 czy coś takiego, nie mamy wsparcia dla samouczka, YMMV!
Zapisz jak zwykle. Upewnij się, że w każdym wierszu nie ma dodatkowych spacji ani zakładek na końcu lub początku - ten plik jest dość wybredny! Teraz powiem Pi, gdzie znaleźć ten plik konfiguracyjny. Biegać
sudo nano / etc / default / hostapd
Znajdź linię # DAEMON_CONF = "" i edytuj to tak, jak mówi DAEMON_CONF = "/ etc / hostapd / hostapd.conf"Nie zapomnij usunąć # z przodu, aby go aktywować! Następnie zapisz plik.
Krok 7: Skonfiguruj tłumaczenie adresu sieciowego
Konfiguracja NAT pozwoli wielu klientom połączyć się z WiFi i mieć wszystkie dane „tunelowane” przez pojedynczy Ethernet IP. (Ale powinieneś to zrobić, nawet jeśli tylko jeden klient będzie się łączyć)
Biegać
sudo nano /etc/sysctl.conf
Przewiń do dołu i dodaj net.ipv4.ip_forward = 1 na nowej linii. Zapisz plik. Spowoduje to rozpoczęcie przekazywania IP podczas uruchamiania.
Uruchom także
sudo sh -c "echo 1> / proc / sys / net / ipv4 / ip_forward"
aktywować go natychmiast.
Uruchom następujące polecenia, aby utworzyć tłumaczenie sieciowe między portem ethernet eth0 i port wifi wlan0
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED, ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j AKCEPTUJ
Możesz sprawdzić, co zawiera tabele
sudo iptables -t nat -S
sudo iptables -S
Aby to się stało podczas ponownego uruchamiania (więc nie musisz wpisywać go za każdym razem), uruchom
sudo sh -c "iptables-save> /etc/iptables.ipv4.nat"
biegać sudo nano / etc / network / interfaces i dodaj
do góry iptables-restore </etc/iptables.ipv4.nat
do samego końca.
Krok 8: Zaktualizuj Hostapd
Zanim będziemy mogli uruchomić oprogramowanie punktu dostępu, musimy zaktualizować je do wersji obsługującej kartę WiFi. Najpierw pobierz nową wersję, wpisując
wget
aby pobrać nową wersję (sprawdź następną sekcję, aby dowiedzieć się, jak skompilować swój zaktualizowany hostapd)
rozpakuj adafruit_hostapd_14128.zip
rozpakować go. Przenieś starą wersję z drogi
sudo mv / usr / sbin / hostapd /usr/sbin/hostapd.ORIG
I przenieś nową wersję z powrotem
sudo mv hostapd / usr / sbin
ustaw go tak, aby działał poprawnie
sudo chmod 755 / usr / sbin / hostapd
Krok 9: Pierwszy test!
Wreszcie możemy przetestować hosta punktu dostępowego!
Biegać
sudo / usr / sbin / hostapd /etc/hostapd/hostapd.conf
Aby ręcznie uruchomić hostapd z naszym plikiem konfiguracyjnym. Powinieneś zobaczyć, że jest skonfigurowany i używany wlan0 następnie możesz sprawdzić za pomocą innego komputera Wi-Fi, że widzisz swój SSID. Jeśli tak, pomyślnie skonfigurowałeś punkt dostępu.
Możesz spróbować połączyć się i rozłączyć z TheForceServer z ustawionym wcześniej hasłem (prawdopodobnie Malina jeśli skopiowałeś naszą konfigurację hostapd), tekst debugowania zostanie wyświetlony na konsoli Pi, ale nie będziesz jeszcze w stanie połączyć się z połączeniem Ethernet. Anuluj test, wpisując Control-C w konsoli Pi, aby wrócić do linii poleceń Pi.
Krok 10: Wykończenie!
OK, teraz wiemy, że to działa, czas ustawić go jako „demona” - program, który rozpocznie się, gdy Pi uruchomi się. Uruchom następujące polecenia
usługa sudo uruchom hostapd
usługa sudo isc-dhcp-server start
zawsze możesz sprawdzić status hosta serwera AP i serwera DHCP za pomocą
usługa sudo status hostapd
usługa sudo isc-dhcp-status serwera
Aby uruchomić usługi demona. Sprawdź, czy oba zaczynają się pomyślnie (brak „awarii” lub „błędów”), a następnie uruchom je za każdym razem podczas uruchamiania
sudo update-rc.d włącz hostapd
sudo update-rc.d isc-dhcp-server enable
Dodatkowo: Usuwanie produktu WPA
W zależności od dystrybucji może być konieczne usunięcie WPASupplicant. Zrób to, uruchamiając to polecenie:
sudo mv /usr/share/dbus-1/system-services/fi.epitest.hostap.WPASupplicant.service ~ /
a następnie ponowne uruchomienie
Krok 11: Połącz i przetestuj
Teraz, gdy mamy zainstalowane oprogramowanie na Pi, czas połączyć się z nim i przetestować połączenie. Używam komputera z systemem Windows, ale każdy rodzaj powinien działać poprawnie. Na Pi uruchom polecenie
tail -f / var / log / syslog
oglądać dane dziennika systemowego, przydatne do sprawdzania i debugowania tego, co się dzieje! Połącz się z innym komputerem z punktem dostępowym utworzonym w poprzednim kroku.
Wprowadź klucz WPA określony w poprzednim kroku.
W syslogu Pi powinieneś zobaczyć takie rzeczy! Wskazuje, że klient się połączył, o której godzinie i jaki adres IP został mu dany.
Jeśli nie możesz się połączyć, coś jest nie tak hostapd
Na komputerze otwórz a Terminal (mac / linux) lub Start-> Uruchom-> cmd otworzyć linię poleceń. Najpierw sprawdź co ifconfig (mac / linux) lub ipconfig (okna) mówi. Powinieneś mieć adres IP w zakresie 192.168.42.10-50.
Spróbuj pingować Pi, jego adres to 192.168.42.1 - na Windowsach pinguje 3 razy i kończy. Na mac / linux naciśnij Control-C, aby wyjść po kilku pingach. Powinieneś dostać udane pingi jak widać poniżej. Jeśli to nie zadziała, coś jest nie tak hostapd lub dhcpd (bardziej prawdopodobne).
Następnie spróbuj pingować 8.8.8.8, jeśli to nie zadziała, ale poprzedni robi, coś jest nie tak dhcpd lub konfiguracja NAT (bardziej prawdopodobne).
Na koniec sprawdzimy, czy DNS działa, spróbuj pingować www.mit.edu. Jeśli to nie zadziała, coś jest nie tak dhcpd. Jeśli do tej pory wszystko jest w porządku, spróbuj przeglądać internet, wysyłać wiadomości e-mail itp. Używasz teraz Pi jako routera Wi-Fi!
Więcej!
Możliwe jest ustawienie routera na dostęp otwarty lub WEP, ale nie omawiamy tego tutaj (i nie jest to tak bezpieczne!) Możesz poszukać samouczków, takich jak ten, który obejmuje opcje hostapd.
Krok 12: Kompilowanie Hostapd
Być może zauważyłeś, że jednym krokiem jest pobranie kopii hostapd z adafruit.com i zamiana jej na swoją. W przypadku, gdy chcesz skompilować swój własny, oto jak to zrobić (jest to łatwe, ale nie konieczne, jeśli możesz korzystać z naszego pliku binarnego)
Przejdź na stronę pobierania Realtek http: //152.104.125.41/downloads/downloadsView.asp …
Pobierz linux 3.4.4_4749
Skopiuj zip na kartę SD za pomocą dowolnego komputera, który umieści go w katalogu Pi / boot (lub w jakiś sposób dostanie ten plik do Pi)
Uruchom Pi z karty SD
sudo mv /boot/RTL8192xC_USB_linux_v3.4.4_4749.20121105.zip.
rozpakuj RTL8192xC_USB_linux_v3.4.4_4749.20121105.zip
mv RTL8188C_8192C_USB_linux_v3.4.4_4749.20121105 / rtl
cd rtl
cd wpa_supplicant_hostapd
rozpakuj wpa_supplicant_hostapd-0.8_rtw_20120803.zip
cd wpa_supplicant_hostapd-0.8 /
cd hostapd
robić
* mieć kanapkę * po zakończeniu, plik binarny hostapd znajduje się w katalogu
Krok 13: UWAGA: Force Server nie jest jeszcze dostępny
Skrypt serwera Forcer i aplikacja są obecnie niedostępne.
Powinien zostać wkrótce wydany:)
Krok 14: Pobierz i skonfiguruj Force Server
Ściągnij
Teraz jest krok, w którym możesz pobrać Force Server, aby uruchomić na swoim Raspberry Pi.
Aby to zrobić, uruchom po prostu:
cd ~
Utwórz kopię szablonu do pracy
Po zakończeniu klonowania repozytorium Python ForceProject uruchom następujące polecenia:
cd Python
cp template.py myScript.py
Teraz właśnie utworzyłeś nowy plik o nazwie myScript.py z template.py. Od tego momentu powinieneś edytować myScript.py dla własnych celów. Plik template.py powinien pozostać nietknięty, ponieważ będzie działał jako szablon z wszystkimi wbudowanymi funkcjami delegatów i już istniejącym kodem szablonu.
Uruchom skrypt Force Server na starcie
Uruchom następujący kod, zakładając, że nazwy plików itp. Są takie same jak powyżej:
sudo crontab -e
na dole dodaj następującą linię:
sudo python /usr/pi/Python/myScript.py &
Teraz naciśnij Control-O, Control-X, aby zapisać i zamknąć plik crontab.
Krok 15: Skonfiguruj pilota siły
Teraz, po skonfigurowaniu Force Server, będziesz chciał skonfigurować pilota.
Pobierz aplikację Force z AppStore tutaj.
Po pobraniu uruchom aplikację i stuknij „Dodaj kontrolera”, aby utworzyć nowy kontroler. Możesz nazwać kontroler, czego chcesz, a opis jest opcjonalny. Jako adres IP wpisz 192.168.42.1 i dla typu portu w 5555 (jest to port domyślny). Możesz zmienić inne ustawienia, jak chcesz. Gdy skończysz, po prostu stuknij Zapisz w górnej prawej części ekranu, a następnie stuknij kontroler, który właśnie zrobiłeś, aby rozpocząć kontrolę projektu.
Aplikacja ma wbudowaną dokumentację struktur danych tego, co zostanie odebrane przez serwer w skrypcie, do którego można uzyskać dostęp poprzez ustawienia kafelków, przez długie naklejanie kafelków w zasobniku sekcji lub w sekcji „Dokumentacja kafelków” w sekcji Aplikacja.