Turinys:
- 1 veiksmas: įdiekite reikalingą „RaspberryPi“programinę įrangą
- 2 veiksmas: sukurkite „WiFi“prieigos tašką
- 3 veiksmas: reikalingos medžiagos: senas sugedęs „Nintendo“
- 4 žingsnis: reikalingos medžiagos: „Raspberry Pi 3“modelis B
- 5 žingsnis: Reikalingos medžiagos: 1,44 colių serijos: UART/I2C/SPI TFT LCD 128x128 ekrano modulis
- 6 žingsnis: reikalingos medžiagos: 5V 0,1A mini ventiliatorius „Raspberry Pi“
- 7 žingsnis: Reikalingos medžiagos: „Ugreen USB 2.0 to 10/100 Fast Ethernet Lan Wired Network Adapter“
- 8 žingsnis: Statyba
- 9 žingsnis: statybos tęsinys
- 10 žingsnis: statybos tęsinys
- 11 veiksmas: „Digole“ekrano prijungimas
- 12 veiksmas: įdiekite tinklo stebėjimo įrankius ir DB registravimą
- 13 veiksmas: įdiekite srauto suvestinės ataskaitą („Cronjob“veikia kas 5 minutes)
- 14 veiksmas: įdiekite prietaisų skydelio ekraną
- 15 veiksmas: įdiekite vietinio naudojimo/statistikos svetainę [http://10.0.10.1]
Video: „Nintendo Wifi“maršrutizatorius: 17 žingsnių (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:49
Naudodami seną „Nintendo Entertainment“sistemos dėklą, sukurkite labai funkcionalų namų maršrutizatorių naudodami „RaspberryPI 3“!
1 veiksmas: įdiekite reikalingą „RaspberryPi“programinę įrangą
Mirksi „RaspberriPi“standusis diskas / įdiekite reikiamą programinę įrangą (naudojant „Ubuntu Linux“)
Atsisiųskite „RASPBIAN JESSIE LITE“https://www.raspberrypi.org/downloads/raspbian/
Sukurkite naują standųjį diską, skirtą „DashboardPI“
Įdėkite „microSD“į kompiuterį per USB adapterį ir sukurkite disko vaizdą naudodami komandą dd
Suraskite įdėtą „microSD“kortelę naudodami komandą df -h, atjunkite ją ir sukurkite disko atvaizdą naudodami komandą disk copy dd
$ df -h/dev/sdb1 7.4G 32K 7.4G 1%/media/XXX/1234-5678
$ umount /dev /sdb1
Atsargiai: įsitikinkite, kad komanda yra visiškai tiksli, naudodami šią komandą galite sugadinti kitus diskus
if = RASPBIAN JESSIE LITE vaizdo failo vieta = jūsų „microSD“kortelės vieta
$ sudo dd bs = 4M, jei =/kelias/į/raspbian-jessie-lite.img iš =/dev/sdb (pastaba: šiuo atveju tai yra/dev/sdb,/dev/sdb1 buvo esamas gamyklos skaidinys „microSD“) „RaspberriPi“sąranka
Įdėkite naują „microSD“kortelę į raspberrypi ir įjunkite ją naudodami monitorių, prijungtą prie HDMI prievado
Prisijungti
vartotojas: pi pass: raspberry Saugumo sumetimais pakeiskite paskyros slaptažodį
sudo passwd pi Įgalinti „RaspberriPi“išplėstines parinktis
sudo raspi-config Pasirinkite: 1 Išplėskite failų sistemą
9 Išplėstinės parinktys
A2 pagrindinio kompiuterio pavadinimas pakeiskite jį į „NESRouter“
A4 SSH Įgalinti SSH serverį
A7 I2C Įgalinti i2c sąsają Įgalinti anglų/JAV klaviatūrą
sudo nano/etc/default/keyboard Pakeiskite šią eilutę: XKBLAYOUT = "us" Nustatykite paprastą katalogo komandą l [neprivaloma]
vi ~/.bashrc
pridėkite šią eilutę:
slapyvardis l = 'ls -lh'
šaltinis ~/.bashrc Ištaisykite numatytąją VIM sintaksės paryškinimą [neprivaloma]
sudo vi/etc/vim/vimrc
nekomentuokite šios eilutės:
iš naujo paleiskite PI, kad gautumėte naujausius pakeitimus
Atnaujinkite vietinės laiko juostos nustatymus
sudo dpkg-reconfigure tzdata pasirinkite savo laiko juostą naudodami sąsają
2 veiksmas: sukurkite „WiFi“prieigos tašką
Atminkite, kad kol tai netaps maršrutizatoriumi, mes prijungiame „RaspberryPi“prie esamo tinklo per jo eterneto prievadą, kad įdiegtume šiuos paketus
sudo apt-get update && sudo apt-get -y upgrade
sudo apt-get install dnsmasq hostapd vim
sudo apt-get install vim git python-smbus i2c-tools python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev
sudo vi /etc/dhcpcd.conf
Pridėkite šią eilutę:
denyinterfaces wlan0 sudo vi/etc/network/interfaces
Redaguokite skyrių „wlan0“taip, kad jis atrodytų taip:
auto lo iface lo inet loopback
iface eth0 inet vadovas
auto wlan0 iface wlan0 inet statinis adresas 10.0.10.1 tinklo kaukė 255.255.255.0 tinklas 10.0.10.0 transliacija 10.0.10.255
auto eth1 iface eth1 inet statinis adresas 10.0.20.1 netmask 255.255.255.0 tinklas 10.0.20.0 transliacija 10.0.20.255 Iš naujo įkelti DHCP serverį ir atšaukti eth0 ir wlan0 jungčių konfigūraciją
sudo tarnyba dhcpcd paleiskite iš naujo
sudo ifdown eth0; sudo ifup wlan0
Konfigūruokite HOSTAPD (pakeiskite „ssid“ir „wpa_passphrase“į jūsų pasirinktas vertes)
sudo vi /etc/hostapd/hostapd.conf
# Tai yra „WiFi“sąsajos, kurią sukonfigūravome aukščiau sąsaja, pavadinimas = wlan0
# Naudokite tvarkyklę nl80211 su tvarkykle brcmfmac = nl80211
# Tai yra tinklo pavadinimas ssid = NintendoWiFi
# Naudokite 2,4 GHz juostą hw_mode = g
# Naudokite kanalą 6 kanalas = 6
# Įgalinti 802.11n ieee80211n = 1
# Įgalinti WMM wmm_enabled = 1
# Įgalinti 40MHz kanalus su 20ns apsaugos intervalu ht_capab = [HT40] [SHORT-GI-20] [DSSS_CCK-40]
# Priimkite visus MAC adresus macaddr_acl = 0
# Naudokite WPA autentifikavimą auth_algs = 1
# Reikalauti, kad klientai žinotų tinklo pavadinimą ignore_broadcast_ssid = 0
# Naudokite WPA2 wpa = 2
# Naudokite iš anksto bendrinamą raktą wpa_key_mgmt = WPA-PSK
# Tinklo slaptafrazė wpa_passphrase = slaptažodis
# Naudokite AES, o ne TKIP rsn_pairwise = CCMP Mes galime patikrinti, ar jis veikia šiame etape, paleisdami (bet dar neturėdami viso interneto ryšio):
sudo/usr/sbin/hostapd /etc/hostapd/hostapd.conf
sudo vi/etc/default/hostapd
Raskite liniją
#DAEMON_CONF = "" ir pakeiskite jį
DAEMON_CONF = "/etc/hostapd/hostapd.conf" Konfigūruoti DNSMASQ
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo vi /etc/dnsmasq.conf
bind-interfaces # Pririškite prie sąsajos, kad įsitikintumėte, jog nesiunčiame daiktų kitur serveris = 8.8.8.8 # Persiųskite DNS užklausas į „Google“DNS domenui reikia # Neperduokite trumpų vardų bogus-priv # Niekada nepersiųskite adresų į -nukreiptos adresų vietos.
# Priskirti IP adresus su neribotu nuomos laiku (įrenginio naudojimo statistikai) dhcp-range = wlan0, 10.0.10.100, 10.0.10.200, 255.255.255.0, 10.0.10.255, begalinis dhcp-range = eth1, 10.0.20.100, 10.0. 20.200, 255.255.255.0, 10.0.20.255, begalinis IPV4 NUSTATYMAS
sudo vi /etc/sysctl.conf
[nekomentuoti] net.ipv4.ip_forward = 1
Nedelsdami suaktyvinkite jį sudo sh -c "echo 1>/proc/sys/net/ipv4/ip_forward"
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Sudo iptables
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o wlan0 -m būsena -valstybė SUSIJUSI, ĮSTATYTA -j PRIIMTI
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
Išsaugokite „iptables“nustatymus kitam perkrovimui
sudo sh -c "iptables -save> /etc/iptables.ipv4.nat"
Sukurkite „ipv4“taisyklių failą (su nauju turiniu)
sudo vi/lib/dhcpcd/dhcpcd-hooks/70-ipv4-nat
iptables-restore </etc/iptables.ipv4.nat Iš naujo paleiskite paslaugas
sudo paslauga hostapd paleisti sudo paslauga dnsmasq start
sudo perkraukite
Statinių IP priskyrimas [neprivaloma]
Jei norite, kad jūsų tinklo priegloboje būtų statinis IP, naudokite šiuos nurodymus
Įsigykite kompiuterius, šiuo metu prijungtus per DHCP vi /var/lib/misc/dnsmasq.leases
Pridėkite MAC adresą (iš išvesties aukščiau) ir IP adresą, kurį norite priskirti sudo vi /etc/dnsmasq.conf
# main desktop dhcp-host = 12: 34: 56: 78: 9a: bc, 10.0.20.20 Pastaba: tai priskirs tinklo sąsają su MAC adresu: 12: 34: 56: 78: 9a: bc prie IP adreso 10.0.20.20. Nurodytas IP adresas neturi būti nurodytame DHCP diapazone, tik tame pačiame potinklyje. Mano pagrindinis darbalaukis yra potinklyje eth1: 10.0.20.0, todėl daviau jam 10.0.20.20 IP adresą.
Pridedama UFW užkarda
sudo apt-get install ufw
Leisti 22 prievadą viešam naudojimui (nuotolinei prieigai prie tinklo)
sudo ufw leisti 22
Leisti visus mano vietinio tinklo prievadus
sudo ufw leisti nuo 10.0.10.0/24 sudo ufw leisti nuo 10.0.20.0/24
Leisti žiniatinklio prievadus visiems
sudo ufw leidžia 80
Leiskite visiems saugius žiniatinklio prievadus
443
Įjunkite UFW ir patikrinkite būseną
sudo ufw -jėga įgalinti
sudo ufw būsena
Ištaisykite klaidą, kai UFW neprasideda paleidžiant
sudo su crontab -e
Pridėkite šią eilutę: @reboot /bin /sleep 60; ufw -jėgos įgalinimas
3 veiksmas: reikalingos medžiagos: senas sugedęs „Nintendo“
Senas „Nintendo“dėklas iš sugedusio NES (pašalinkite visą seną turinį iš korpuso, palikdami tik išorinį rėmelį, maitinimo / atstatymo mygtukus ir valdiklio jungtis)
4 žingsnis: reikalingos medžiagos: „Raspberry Pi 3“modelis B
5 žingsnis: Reikalingos medžiagos: 1,44 colių serijos: UART/I2C/SPI TFT LCD 128x128 ekrano modulis
6 žingsnis: reikalingos medžiagos: 5V 0,1A mini ventiliatorius „Raspberry Pi“
7 žingsnis: Reikalingos medžiagos: „Ugreen USB 2.0 to 10/100 Fast Ethernet Lan Wired Network Adapter“
8 žingsnis: Statyba
Įdiekite NES viduje
Naudodami 3D spausdintuvą, spausdinkite „Digole Display“rėmelį „NESPanel“aplanke/construction/display-frame/aplanke. [jei neturite 3D spausdintuvo, galite „Dremel“įrankiu subtiliai iškirpti kvadratinę skylę „Digole“ekranui] Nupjaukite šias skyles korpuso gale ir šone, kad būtų galima pritvirtinti mažą ventiliatorių. maitinimo/eterneto ir USB eterneto kabelius, kad patektumėte per galą.
9 žingsnis: statybos tęsinys
Atsukite viršutinį dešinįjį juodąjį skydelį nuo NES ir švariai išpjaukite pakankamai didelę kvadratinę skylę, kad galėtumėte pritvirtinti savo digole ekraną. Karštai klijuokite ekraną, o jo viršuje - 3D spausdintas rėmelis „NESPanel“.
10 žingsnis: statybos tęsinys
Sumontuokite RaspberryPi tuščio NES dėklo apačios viduryje, pritvirtinkite klijais arba mažu varžtu per apačią. Naudodami 270 omų rezistorių, NES „įjungimo šviesos diodą“prijunkite prie „Raspberry Pi“5V ir GND kaiščių (trumpas LED laidas yra žemė). Prijunkite mažą ventiliatorių prie 5V ir GND kaiščių, kad jis veiktų, kai įrenginys paleidžiamas, priklijuokite ventiliatorių prie skylės šone.
11 veiksmas: „Digole“ekrano prijungimas
Prijunkite šiuos kaiščius prie „RaspberryPi“kaiščių
VCC prijungtas prie 3 V GND yra įžemintas DUOMENYS yra SDA CLOCK yra SCL
„i2cdetect -y 1“jis turėtų būti rodomas teksto tinklelyje kaip 27
12 veiksmas: įdiekite tinklo stebėjimo įrankius ir DB registravimą
sudo apt-get install ifstat memcached python-memcache postgresql postgresql-contrib python-psycopg2
sudo vi /etc/postgresql/9.4/main/pg_hba.conf
Prie failo pabaigos pridėkite šią eilutę: vietinis visas pi slaptažodis sudo -i -u postgres
psql
sukurti vaidmenį pi slaptažodis „slaptažodis čia“;
pakeisti vaidmenį pi prisijungimas;
alter role pi superuser;
du
(turėtumėte matyti savo PI vartotoją su suteiktais leidimais) sukurti duomenų bazę network_stats;
q
išeiti
psql -d network_stats
Vykdykite šias užklausas:
KURTI LENTELĘ traffic_per_minute (ID serija, laiko žyma be laiko juostos NOT NULL, eth0_down real, eth0_up real, eth1_down real, eth1_up real, wan0_down real, wan0_up real);
CREATE UNIQUE INDEX time_idx ON traffic_per_minute (laikas); Nukopijuokite šio projekto kodą „registravimas“į savo RPi namų katalogą
crontab -e
Pridėkite šią eilutę
@reboot /bin /sleep 60; nohup python /home/pi/logging/networkUsage.py>/dev/null 2> & 1
13 veiksmas: įdiekite srauto suvestinės ataskaitą („Cronjob“veikia kas 5 minutes)
crontab -e
pridėkite šią eilutę
*/5 * * * * python /home/pi/logging/trafficSummary.py
14 veiksmas: įdiekite prietaisų skydelio ekraną
Nukopijuokite šio projekto kodo aplanką „rodyti“į savo RPi namų katalogą
Vykdykite taip
$ python /home/pi/display/NESRouter.py Nustatykite ekrano scenarijų, kad jis būtų paleistas paleidžiant
crontab -e
Pridėkite šią eilutę
@reboot nohup python /home/pi/display/NESRouter.py>/dev/null 2> & 1
Įsitikinkite, kad ekranas pradeda veikti iš naujo
sudo perkraukite
15 veiksmas: įdiekite vietinio naudojimo/statistikos svetainę [https://10.0.10.1]
Įdiekite vietinio naudojimo/statistikos svetainę [https://10.0.10.1]
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get įdiegti apache2
sudo paslauga apache2 iš naujo
Pašalinkite numatytuosius puslapius
cd /var /www
sudo rm -rf html
Nukopijuokite „webportal“aplanką iš šio projekto į savo RPi namų aplanką ir sukurkite „apache“naudojamą nuorodą
cd /var /www
sudo ln -s/home/pi/webportal html
cd/var/www/html
chmod +x *.py
sudo a2enmod cgi
sudo vi /etc/apache2/sites-enabled/000-default.conf
Įgalinti „Python“CGI scenarijų
Pridėkite žymos viduje
Parinktys +ExecCGI AddHandler cgi-script.py sudo paslauga apache2 paleiskite iš naujo
Dabar galite apsilankyti vietinėje HTTP svetainėje [https://10.0.10.1]
Išplėstinio tinklo stebėjimo nustatymas (naudojant IPFM)
sudo apt-get atnaujinimas
sudo apt-get įdiegti ipfm
sudo mv /etc/ipfm.conf /etc/ipfm.conf-bak
sudo vi /etc/ipfm.conf
Sukurkite naudodami šį turinį:
# Pasauliniai kintamieji
# IPFM gali stebėti tik vieną įrenginį. ĮRENGINIS eth0
# GLOBAL LOGGING CONFIGURATION LOG
FILENAME "/var/log/ipfm/%Y_%d_%m/%H_%M"
# žurnalo kas minutę DUMP kas 1 minutę
# aiški statistika kiekvieną dieną IŠVALYKITE KIEKVIENĄ 24 val. RŪŠYKITE IŠSAKYTI
PASIRENKAMA: sukurkite savo „Nintendo“vaizdus, kuriuos norite pateikti ekrane
Įkelkite savo 128 x 128 failą į šį URL:
www.digole.com/tools/PicturetoC_Hex_convert…
Pasirinkite norimą įkelti vaizdo failą, pridėkite, kokio dydžio norite jį rodyti ekrane (plotis/aukštis)
Išskleidžiamajame meniu „Naudojama“pasirinkite „256 spalvos, skirtos spalvotam OLED/LCD (1 baitas/pikselis)“.
Gaukite šešiakampę išvestį.
Pridėkite šešiakampę išvestį prie ekrano/ kūrimo/ antraštės (.h) failo, kitus naudokite kaip sintaksės vadovus.
Įtraukite naują failą į failą digole.c #include myimage.h
Į savo vaizdo failą įtraukite naują komandinės eilutės kabliuką. Pastaba: žemiau pateikta komanda sako, kad pieškite savo vaizdą 10 pikselių, o ne 10 pikselių žemyn. Galite pakeisti jį į skirtingas X, Y koordinates, taip pat galite pakeisti reikšmes 128, 128 į bet kokio dydžio jūsų naują vaizdą.
} else if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariable Čia apibrėžta jūsų (.h) faile}
Dabar atkurkite (nepaisykite klaidų), kad gautumėte naują vaizdą naudodami šią komandą.
$./digole myimage Re-Building [Įtraukta] „Digole“ekrano tvarkyklė jūsų pasirinktiniams pakeitimams
$ cd display/build $ gcc digole.c $ mv a.out../../digole $ chmod +x../../digole
Rekomenduojamas:
„Steam Punk“jūsų UPS, kad jūsų „Wi-Fi“maršrutizatorius veiktų valandomis: 4 žingsniai (su nuotraukomis)
„Steam Punk“jūsų UPS, kad jūsų „Wi-Fi“maršrutizatorius veiktų valandomis: yra kažkas iš esmės prieštaraujančio, kad jūsų UPS konvertuotų 12 V nuolatinės srovės akumuliatoriaus energiją į 220 V kintamosios srovės maitinimą, kad transformatoriai, kuriuose veikia jūsų maršrutizatorius ir pluošto ONT, galėtų juos vėl paversti 12V DC! Jūs taip pat priešinatės [paprastai
Saugus WIFI maršrutizatorius - apsauga nuo virusų, kenkėjiškų programų ir „Ransomware“bei privatumas: 5 žingsniai
Saugus WIFI maršrutizatorius - apsauga nuo antivirusinių, kenkėjiškų programų ir „Ransomware“bei privatumas: nebrangi galutinio taško apsauga naudojant „RaspBerryPI 4“ir atvirąjį šaltinį. Užblokuoja šiuos dalykus, prieš jiems pasiekiant jūsų kompiuterį ar telefoną: Kenkėjiškų programų virusai „RansomWareAlso“taip pat: Tėvų kontrolė suaugusiesiems/neapykantos svetainėms Išsaugo jūsų privatumą per skelbimą
Belaidis namų maršrutizatorius su analoginio naudojimo matuokliu: 5 žingsniai (su nuotraukomis)
Belaidis namų maršrutizatorius su analoginio naudojimo matuokliu: aš užaugau valtyse ir aplink jas, kurdamas laidus ir valdymo skydus, ir turiu matuoklių ir amp; ratukai, kurie paprastai būtų prijungti prie mažų jūrinių dyzelinių variklių. Šiandien dirbu dizaineriu, kuriančiu sąsajas su tinklais
3 ašių CNC maršrutizatorius - 60 "x60" x5 " -" JunkBot ": 5 žingsniai (su nuotraukomis)
3 ašių CNC maršrutizatorius - 60 x 60 x 5 colių. tai nėra žingsnis po žingsnio progreso rodymas, bet
Prisijunkite internete nesigėdydami: „Tor“(svogūnų maršrutizatorius): 4 žingsniai (su nuotraukomis)
Prisijunkite internete nesigilindami: „Tor“(svogūnų maršrutizatorius): prisijungę prie interneto, paliekate takelius visur. Galite bendrauti su draugais MP, tikrinti svetaines ar atsisiųsti muzikos. Jei gyvenate šalyje, kurioje šnipinėjimai domisi, ką paprasti piliečiai daro internete (pvz., U