Hindbær Pi Force Server WAP: 15 trin

Hindbær Pi Force Server WAP: 15 trin

Indholdsfortegnelse:

Anonim

I denne vejledning vil du blive styrt gennem processen med at gøre din Raspberry Pi til et trådløst adgangspunkt (WAP) og installere Force Server på det og få det til at løbe fra boot, så du kan udvide dette i fremtidige projekter.

----- Detaljer om Force Server til at gå her ----- (Forsigtigt udeladt)

Ved udgangen af ​​denne vejledende vil du være i stand til blot at:

  1. Tænd din Raspberry Pi
  2. Opret forbindelse til netværket
  3. Kontroller det fra din telefon ved hjælp af Force-appen

Følgende WAP-opbygningstutorial er baseret på / omskrivning på Adafruit's online tutorial, der er linket her.

forsyninger:

Trin 1: Dele

Du skal bruge følgende:

  1. En Raspberry Pi
  2. En Ethernet internetforbindelse til din Raspberry Pi
  3. Wi-Fi-adapter, der understøtter AP-tilstand (Adafruit Wi-Fi-adaptere fungerer)
  4. (Micro) SD-kort 4GB Minimum med Raspbian installeret på det (der er masser af tutorials derude om hvordan man gør dette, bare Google det)
    1. SD-kortlæser, hvis du skal installere Raspbian
  5. Strømforsyning til din Raspberry Pi (5V 1 ~ 2A)

Trin 2: Kontroller Ethernet og Wifi

Før du fortsætter, skal du sørge for, at Ethernet-kablet er tilsluttet, og du kan pinge ud fra Pi.

Du vil også gerne oprette din WiFi dongle. løb sudo shutdown -h nu og tilslut derefter WiFi-modulet, når Pi er slukket, så du ikke forårsager strømafbrydelse. Når det kommer tilbage, check med ifconfig -a som du ser wlan0 - WiFi-modulet.

Trin 3: Installer software

Indtast følgende i terminalen.

sudo apt-get opdatering

sudo apt-get installer isc-dhcp-server

sudo apt-get install hosted

Trin 4: Konfigurer DHCP-server

Dernæst vil vi redigere /etc/dhcp/dhcpd.conf, en fil, der opretter vores DHCP-server - dette gør det muligt for wifi-forbindelser at automatisk få IP-adresser, DNS osv.

Kør denne kommando for at redigere filen

sudo nano /etc/dhcp/dhcpd.conf

Find de linjer, der siger

option domænenavn "example.org"; option domænenavn-servere ns1.example.org, ns2.example.org;

og ændre dem for at tilføje en # i begyndelsen, så de siger

#option domænenavn "example.org"; # option domænenavn-servere ns1.example.org, ns2.example.org;

Find de linjer, der siger

# Hvis denne DHCP-server er den officielle DHCP-server til den lokale

# netværket, det autoritative direktiv bør ikke bemærkes. #authoritative;

og fjern # så det siger

# Hvis denne DHCP-server er den officielle DHCP-server til det lokale # netværk, bør det autoritative direktiv ikke kommenteres. autoritative;

Rul derefter ned til bunden og tilføj følgende linjer

subnet 192.168.42.0 netmask 255.255.255.0 {interval 192.168.42.10 192.168.42.50; option broadcast-adresse 192.168.42.255; option routere 192.168.42.1; standard leasingtid 600; max leasingtid 7200; option domænenavn "lokal"; option domænenavn-servere 8.8.8.8, 8.8.4.4; }

Gem filen ved at indtaste Kontrol-X derefter Y derefter Vend tilbage

Løb

sudo nano / etc / default / isc-dhcp-server

og rul ned til GRÆNSEFLADER = "" og opdater det til at sige GRÆNSEFLADER = "wlan0"

Luk og gem filen

Trin 5: Opsætning af Wlan0 til statisk IP

Hvis du tilfældigvis har wlan0 aktiv fordi du sætter den op, kør

sudo hvis ned wlan0

Der er ingen skade i at køre den, hvis du ikke er sikker

Næste vil vi oprette wlan0-forbindelsen for at være statisk og indgående. Kør sudo nano / etc / network / interfaces for at redigere filen

Find linjen auto wlan0 og tilføj en # foran linjen og foran hver linje bagefter. Hvis du ikke har den linje, skal du bare sørge for at det ser ud som skærmen nedenfor i slutningen! I princippet skal du bare fjerne eventuelle gamle wlan0 konfigurationsindstillinger, vi ændrer dem

Afhængigt af din eksisterende opsætning / distribution kan der være mere eller mindre tekst, og det kan variere lidt

Tilføj linjerne

iface wlan0 inet statisk adresse 192.168.42.1 netmask 255.255.255.0

Efter Tillad-hotplug wlan0 - Se nedenfor for et eksempel på, hvordan det skal se ud. Andre linjer bagefter skal have a # foran for at deaktivere dem

Gem filen (Control-X Y) Tildel en statisk IP-adresse til wifi-adapteren ved at køre:

sudo ifconfig wlan0 192.168.42.1

Trin 6: Konfigurer adgangspunkt

Nu kan vi konfigurere adgangspunktet detaljer. Vi opretter et passwordbeskyttet netværk, så kun personer med adgangskoden kan oprette forbindelse. Opret en ny fil ved at køre

sudo nano /etc/hostapd/hostapd.conf

Indsæt følgende i, du kan ændre teksten efter ssid = til et andet navn, det vil være netværkssendingsnavnet. Adgangskoden kan ændres med teksten efter wpa_passphrase =

interface = wlan0 driver = rtl871xdrv ssid = TheForceServer hw_mode = g kanal = 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

Hvis du ikke bruger Adafruit wifi-adaptere, skal du muligvis ændre chauffør = rtl871xdrv at sige chauffør = nl80211 eller noget, vi har ikke tutorial support for det tho, YMMV!

Gem som normalt. Sørg for, at hver linje ikke har ekstra mellemrum eller faner i slutningen eller begyndelsen - denne fil er ret kræsen! Nu skal vi fortælle Pi hvor man finder denne konfigurationsfil. Løb

sudo nano / etc / default / hostapd

Find linjen # DAEMON_CONF = "" og rediger det så det siger DAEMON_CONF = "/ etc / hostapd / hostapd.conf"Glem ikke at fjerne # foran for at aktivere det! Gem derefter filen.

Trin 7: Konfigurer netværksadresseoversættelse

Opsætning af NAT vil tillade flere klienter at oprette forbindelse til WiFi og få alle dataene "tunnelet" gennem den enkelte Ethernet IP. (Men du skal gøre det, selvom kun en klient kommer til at forbinde)

Løb

sudo nano /etc/sysctl.conf

Rul til bunden og tilføj net.ipv4.ip_forward = 1 på en ny linje. Gem filen. Dette vil starte IP-videresendelse ved opstart.

Kør også

sudo sh -c "echo 1> / proc / sys / net / ipv4 / ip_forward"

for at aktivere det med det samme.

Kør følgende kommandoer for at oprette netværksoversættelsen mellem ethernetporten eth0 og wifi porten wlan0

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

sudo iptables -A FORWARD -i eth0 -o wlan0 -m state -state RELATERET, OPSTÅET -J ACCEPT

sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT

Du kan tjekke for at se hvad der er i tabellerne med

sudo iptables -t nat -S

sudo iptables -S

For at gøre dette ske ved genstart (så du behøver ikke at skrive det hver gang) køre

sudo sh -c "iptables-save> /etc/iptables.ipv4.nat"

løb sudo nano / etc / network / interfaces og tilføj

op iptables-gendan </etc/iptables.ipv4.nat

helt til sidst.

Trin 8: Opdater Hostapd

Før vi kan køre adgangspunktsoftware, skal vi opdatere den til en version, som understøtter WiFi-adapteren. Først få den nye version ved at indtaste

wget

at downloade den nye version (se næste afsnit for, hvordan du kompilerer din egen opdaterede hostapd)

pak ud adafruit_hostapd_14128.zip

at pakke det ud. Flyt den gamle version ud af vejen med

sudo mv / usr / sbin / hostapd /usr/sbin/hostapd.ORIG

Og flyt den nye version tilbage med

sudo mv hostapd / usr / sbin

sæt det op så det er gyldigt at køre med

sudo chmod 755 / usr / sbin / hostapd

Trin 9: Første test!

Endelig kan vi teste adgangspunktet vært!

Løb

sudo / usr / sbin / hostapd /etc/hostapd/hostapd.conf

At manuelt køre hostapd med vores konfigurationsfil. Du bør se det oprette og bruge wlan0 så kan du tjekke med en anden wifi-computer, som du ser din SSID op. Hvis ja, har du oprettet adgangspunktet.

Du kan prøve at forbinde og afbryde forbindelsen fra TheForceServer med den adgangskode, du har angivet før (sandsynligvis Hindbær hvis du kopierede vores hostapd config), vises fejlsøgningsteksten på Pi-konsollen, men du kan ikke forbinde til Ethernet-forbindelsen endnu. Annuller testen ved at skrive Kontrol-C i Pi-konsollen for at komme tilbage til Pi-kommandolinjen.

Trin 10: Efterbehandling!

OK nu, når vi ved, det virker, er det tid til at sætte det op som en 'daemon' - et program, der starter, når Pi starter. Skal de følgende kommandoer

sudo service hostapd start

sudo service isc-dhcp-server start

Du kan altid kontrollere status for værts-AP-serveren og DHCP-serveren med

sudo service hostapd status

sudo service isc-dhcp-server status

At starte daemon-tjenesterne. Bekræft, at de begge starter med succes (ingen fejl eller fejl). For at gøre det så kører det hver gang på boot

sudo update-rc.d hostapd aktivere

sudo update-rc.d isc-dhcp-server aktivere

Ekstra: Fjernelse af WPA-Supplicant

Afhængigt af din distro må du muligvis fjerne WPASupplicant. Gør det ved at køre denne kommando:

sudo mv /usr/share/dbus-1/system-services/fi.epitest.hostap.WPASupplicant.service ~ /

og derefter genstart

sudo genstart

Trin 11: Tilslut og test

Nu da vi har softwaren installeret på en Pi, er det tid til at oprette forbindelse til det og teste forbindelsen. Jeg bruger en Windows-computer, men enhver slags skal fungere fint. Kør på kommandoen på Pi

hale -f / var / log / syslog

at se system log data, praktisk til kontrol og debugging hvad sker der! Opret forbindelse til en anden computer til den AP, du lavede i det foregående trin.

Indtast den WPA-nøgle, du angav i det foregående trin.

I Pi syslog bør du se ting som dette! Det indikerer, at en klient tilsluttet, på hvilket tidspunkt og hvilken IP-adresse der blev givet til dem.

Hvis du slet ikke kan oprette forbindelse, er der noget galt med hostapd

Åbn en computer på din computer Terminal (mac / linux) eller Start-> Run> cmd at åbne en kommandolinje. Kontroller først hvad ifconfig (mac / linux) eller ipconfig (windows) siger. Du skal have en IP-adresse i 192.168.42.10-50-serien.

Prøv at pinge Pi, dens adresse er 192.168.42.1 - på windows vil det pinge 3 gange og afslutte. På Mac / Linux trykker du på Control-C for at afslutte efter et par pinger. Du bør få succesfulde pings som vist nedenfor. Hvis det ikke virker, er der noget galt med hostapd eller dhcpd (mere sandsynligt).

Næste forsøg pinging 8.8.8.8, hvis dette ikke virker, men det forrige gør, er noget galt med dhcpd eller NAT-konfigurationen (mere sandsynligt).

Endelig vil vi kontrollere, at DNS fungerer, prøv at pinge www.mit.edu. Hvis dette ikke virker, er der noget galt med dhcpd. Hvis alting er godt indtil videre, prøv at surfe på internettet, sende e-mails, osv. Du bruger nu din Pi som Wifi Router!

Mere!

Det er muligt at oprette din router til åben eller WEP-adgang, men vi dækker ikke det her (og det er ikke så sikkert!) Du kan måske søge efter vejledninger som denne, der dækker hostapd-muligheder.

Trin 12: Kompilering af Hostapd

Du har måske bemærket, at et skridt er at downloade en kopi af hostapd fra adafruit.com og bytte den med din. Hvis du vil kompilere din egen, så er det sådan (det er let, men ikke nødvendigt, hvis du er i orden med at bruge vores binære)

Gå til Realtek downloads siden http: //152.104.125.41/downloads/downloadsView.asp …

Download linux 3.4.4_4749

Kopier zip til SD-kortet ved hjælp af en hvilken som helst computer, som placerer den i Pi's / boot-mappen (eller på en måde får den fil på din Pi)

Start Pi fra SD-kortet

sudo mv /boot/RTL8192xC_USB_linux_v3.4.4_4749.20121105.zip.

unzip 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

udpak wpa_supplicant_hostapd-0.8_rtw_20120803.zip

cd wpa_supplicant_hostapd-0.8 /

cd hostapd

lave

* Har en sandwich * Når det er færdigt, er hostapd binær i mappen

Trin 13: BEMÆRK: Force Server er endnu ikke tilgængelig

Forcer Server-scriptet og appen er i øjeblikket utilgængelig.

Det skulle snart slippes ud:)

Trin 14: Download og opsæt Force Server

Hent

Nu er endelig det skridt, hvor du kan downloade Force Server til at køre på din Raspberry Pi.

For at gøre dette skal du blot køre følgende:

cd ~

git klon

Opret en kopi af skabelonen for at arbejde i

Når git er færdig med at klone ForceProject Python-depotet, skal du køre følgende kommandoer:

cd python

cp template.py myScript.py

Nu har du lige lavet en ny fil med navnet myScript.py fra template.py. Herfra skal du redigere myScript.py til eget brug. Template.py-filen skal efterlades uberørt, da den vil fungere som en skabelon med alle de indbyggede delegeredefunktioner og kedepladekode der allerede.

Start dit Force Server-script ved opstart

Kør følgende kode, forudsat at filnavne mv er de samme som ovenfor:

sudo crontab -e

i bunden tilføj følgende linje:

sudo python /usr/pi/Python/myScript.py &

Tryk nu på Kontrol-O, Kontrol-X, for at gemme og lukke crontab-filen.

Trin 15: Konfigurer Force Remote

Nu hvor du har oprettet Force Server, vil du gerne opsætte fjernbetjeningen.

Download Force-appen fra AppStore her.

Når den er downloadet, skal du starte appen og trykke på "Tilføj controller" for at oprette en ny controller. Du kan navngive controlleren, hvad du vil, og en beskrivelse er valgfri. Indtast for IP-adressen 192.168.42.1 og for porttype i 5555 (dette er standardporten). Du kan ændre de øvrige indstillinger, som du ønsker. Når du er færdig, skal du blot trykke på gem på øverste højre side af skærmen og derefter trykke på den controller, du lige har lavet for at starte styringen af ​​dit projekt.

App'en har indbygget dokumentation af datastrukturerne for, hvad der skal modtages af serveren i dit script, som kan nås via en flisens indstillinger, ved lang tid at trykke på en flise i sektionsskuffen eller i afsnittet "Flise dokumentation" af appen.