Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Autor: Riley Barrett ja Dylan Halland
Selle projekti eesmärk on lubada IoT-seadmel, näiteks Weemo Smart Plugil, Amazon Echol, mängukonsoolil või muul WiFi-toega seadmel, luua ühendus WPA_EAP Enterprise Network'iga, kasutades paketina Raspberry Pi Zero W edastusseade. Ettevõttevõrguga ühendatavate seadmete jaoks on vaja täiendavaid konfigureerimisetappe ja paljud seadmed ei ühildu üldse. Wi-Fi-silda kasutades saab iga seade hõlpsasti Interneti-ühenduse saada, kui ühendate Pi-ga.
Süsteemi saab rakendada kas ühel traadita kaardil või kahel eraldi kaardil, sõltuvalt kasutaja vajadustest. Süsteemide puhul, mis nõuavad suuremat signaalitugevust ja kiiremat üleslaadimis-/allalaadimiskiirust, on parem kasutada juurdepääsupunkti majutamiseks spetsiaalset traadita kaarti. Süsteemide puhul, kus signaali tugevus ja ribalaius on vähem olulised või kus soovitakse kulutasuvamat lahendust, saab pääsupunkti ja võrguühenduse kaudu jagada ühte kaarti.
Tarvikud
Vaarika Pi Zero W
Juurdepääs klaviatuurile ja monitorile
Teatud teadmised programmeerimisest (silumiseks, Raspberry Pi seadistamine)
Väline WiFi -adapter/dongle (valikuline)
Samm: Raspberry Pi seadistamine
Alustuseks ühendage oma Pi klaviatuuri ja monitoriga (võib vaja minna HDMI -adapterit).
Seejärel võite alustada käsu sisestamisega:
sudo su
See tagab, et teil on vajalikud õigused pi failide muutmiseks.
Nüüd soovite installida dnsmasq ja hostapd käsu abil:
apt-get install dnsmasq hostapd
Nüüd saate alustada WiFi -silla seadistamist.
MÄRKUS - Järgmine õpetus sisaldab teavet nende jaoks, kes kasutavad ühtset juhtmevaba kaarti nii pöörduspunkti kui ka võrguga ühenduse loomiseks. Samuti on võimalik seadistada süsteem töötama kahel eraldi kaardil. Selleks otsige pakutavatest failidest lihtsalt kommenteeritavad "wlan1" read ja asendage need naaberriigi "ap0" ridadega.
2. samm: 70-püsivad-net.reeglid
Alustuseks leidke oma pi MAC -aadress, tippides:
iw dev
Looge järgmine fail:
nano /etc/udev/rules.d/70-persistent-net.rules
ja muutke seda nii, et see sisaldaks järgmist
ALASÜSTEEM == "ieee80211", ACTION == "add | change", ATTR {macaddress} == "b8: 27: eb: c0: 38: 40", KERNEL == "phy0", / RUN+= "/sbin/ iw phy phy0 liides lisage ap0 tüüp _ap ", / RUN+="/bin/ip link set ap0 address b8: 27: eb: c0: 38: 40"
See fail käsib süsteemil eraldada alglaadimisel pääsupunkti jaoks seadme. Siin tuleks MAC -aadress asendada teie enda leitud pi -aadressiga.
(Kaks traadita kaarti) Seda faili pole vaja kahe traadita kaardi kasutamisel.
3. samm: Hostapd.conf
Seejärel redigeerige faili hostapd.conf, sisestades järgmise:
nano /etc/hostapd/hostapd.conf
Muutke faili nii, et see vastaks järgmisele konfiguratsioonile:
ctrl_interface =/var/run/hostapd
ctrl_interface_group = 0 #interface = ap0 interface = wlan1 draiver = nl80211 ssid = testnet hw_mode = g channel = 6 wmm_enabled = 0 macaddr_acl = 0 auth_algs = 1 wpa = 2 wpa_passphrase = 0123456789 wpa_key_mgmt = WPA-CCMPwise
Pange tähele, et kuigi minu siinne kanal on seatud 6 -le, peate võib -olla seda väärtust muutma, et see vastaks kanalile, millel wlan0 on sisse lülitatud. Mõnes võrgus muudetakse kanal automaatselt, et pääsupunkt vastaks wlan0 -le, kuid see polnud minu kogemus ettevõtte võrgus. Sisestades saate kontrollida, milliseid kanaleid ja milliseid liideseid praegu kasutatakse
iwlist kanal
(Kaks traadita kaarti) Lihtsalt tühistage rida wlan1 sisaldav rida ja kommenteerige see, mis sisaldab ap0.
Samm 4: Dnsmasq.conf
Nüüd muudate faili dnsmasq.conf:
nano /etc/dnsmasq.conf
Tühistage kommentaar või lisage järgmised read:
liides = lo, ap0
#interface = lo, wlan1 no-dhcp-interface = lo bind-interfaces server = 8.8.8.8 domeeni jaoks vajalik võlts-privaatne dhcp-vahemik = 192.168.2.100, 192.168.2.200, 12h
Soovi korral saate siin kasutada oma alamvõrku, lihtsalt veenduge, et olete järjepidev.
(Kaks traadita kaardi kaarti) Tühjendage rida wlan1 sisaldav rida ja kommenteerige see, mis sisaldab ap0.
Samm: liidesed
Järgmisena peate muutma liidese faili:
nano/etc/network/interfaces
auto lo
auto ap0 #auto wlan1 auto wlan0 iface lo inet loopback iface eth0 inet dhcp allow-hotplug ap0 #allow-hotplug wlan1 iface ap0 inet staatiline #iface wlan1 inet staatiline aadress 192.168.2.1 netmask 255.255.255.0 hostapd /etc/hostapdf/ allow -hotplug wlan0 iface wlan0 inet dhcp pre -up wpa_supplicant -B -Dwext -i wlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf post -down killall -q wpa_supplicant
Väärib märkimist, et liides wlan0 PEAB tulema pärast mis tahes liidest, mille te sellele edastate, vastasel juhul ei tööta süsteem korralikult.
(Kaks traadita kaarti) Eemaldage kommentaarid kõikidest wlan1 sisaldavatest ridadest ja kommenteerige kõiki, mis sisaldavad ap0.
6. toiming: Wpa_supplicant.conf
Nüüd muudate faili wpa_supplicant.conf, mille leiate aadressilt:
nano /etc/wpa_supplicant/wpa_supplicant.conf
Mõned võrgud on konfigureeritud teisiti kui teised, nii et see osa võib vajada mõningast nokitsemist, siin on fail wpa_supplicant.conf, mis võimaldas mul Cal Poly võrguga ühenduse luua:
country = USctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev update_config = 1 network = {ssid = "SecureMustangWireless" scan_ssid = 1 key_mgmt = WPA-EAP paarikaupa = CCMP TKIP grupp = CCMP TKIP eap = PEAP identiteet = "kasutajanimi@ calpoly.edu "password =" your_password "phase1 =" peapver = 0 "phase2 =" MSCHAPV2 "}
Seda faili kasutatakse wlan0 seadistamiseks teie ettevõtte võrguga ühenduse loomiseks. Mõned ettevõtte võrgud vajavad ühenduse loomiseks CA -sertifikaati. Cal Poly ülikoolilinnakute võrk ei vaja sertifikaati, nii et olen selle osa vahele jätnud, kuid saate hõlpsasti alla laadida õiged sertifikaadid ja lisada need reaga oma wpa_supplicant faili
ca_cert = "/path/to/cert.pem"
Samm 7: Hostapdstart skript
Viimane asi, mida teha, on kirjutada skript, mis käivitab mõlemad liidesed ja seadistab paketi edastamise süsteemi käivitamisel. Looge fail nimega hostapdstart, tippides:
nano/usr/local/bin/hostapdstart
Lisage failile järgmine
sudo ifdown --force wlan0 && sudo ifdown --force ap0 && sudo ifup ap0 && sudo ifup wlan0
#sudo ifdown --force wlan0 && sudo ifdown --force wlan1 && sudo ifup wlan1 && sudo ifup wlan0 sudo sysctl -w net.ipv4.ip_forward = 1 sudo iptables -t nat -A POSTROUTING -s 192.168.2.0/24! -d 192.168.2.0/24 -j MASQUERADEsudo systemctl taaskäivitage dnsmasq
See skript toob mõlemad liidesed alla, seejärel toob need õiges järjekorras tagasi, ütleb pi -le, et soovite pakette ühelt liideselt teisele edastada, ja lõpuks taaskäivitab dnsmasq, et muudatused jõustuksid.
(Kaks traadita kaarti) tühistage rida wlan1 -ga ja kommenteerimisjoon ap0 -ga.
8. samm: Rc.local
Lõpuks tahame, et süsteem käivituks süsteemi käivitamisel, nii et muudame rc.local faili, mida käivitatakse käivitamisel:
nano /etc/rc.local
Lihtsalt lisage faili lõppu järgmine rida:
hostapdstart> 1 &
Teie fail peaks välja nägema umbes selline:
_IP = $ (hostinimi -I) || trueif ["$ _IP"]; seejärel printf "Minu IP -aadress on %s / n" "$ _IP" fi
hostapdstart> 1 &
väljumine 0
9. samm: taaskäivitage
Ja see ongi kõik! Eeldades, et teil on kõik õigesti seadistatud ja teie WiFi -dongle on ühendatud (kui kasutate seda), peate lihtsalt oma Raspberry Pi taaskäivitama käsuga:
taaskäivitage
Kui teie Pi on edukalt taaskäivitatud, peaksite nägema oma juurdepääsupunkti nime mis tahes seadmes (telefon, sülearvuti jne). Kui olete oma määratud parooli kasutades ühenduse loonud, peaks see teid ühendama otse soovitud ettevõttevõrguga!
Eriline tänu järgmistele linkidele, mis andsid meile idee, kuidas sellele projektile läheneda:
- https://blog.thewalr.us/2017/09/26/raspberry-pi-ze…
- https://www.raspberrypi.org/forums/viewtopic.php?p…
- https://www.raspberrypi.org/forums/viewtopic.php?f…
Andke meile teada, kui teil on küsimusi, kommentaare või ettepanekuid!
II koha IoT väljakutses