Sisukord:

Nintendo Wifi ruuter: 17 sammu (piltidega)
Nintendo Wifi ruuter: 17 sammu (piltidega)

Video: Nintendo Wifi ruuter: 17 sammu (piltidega)

Video: Nintendo Wifi ruuter: 17 sammu (piltidega)
Video: Обзор AmpliFi Alien — роутер с экраном за 40 тысяч 2024, November
Anonim
Nintendo Wifi ruuter
Nintendo Wifi ruuter

Kasutades vana Nintendo Entertainment süsteemi korpust, valmistage RaspberryPI 3 abil väga funktsionaalne kodu ruuter!

Samm: installige vajalik RaspberryPi tarkvara

Vilkuv RaspberriPi kõvaketas / vajaliku tarkvara installimine (Ubuntu Linuxi kasutamine)

Laadige alla "RASPBIAN JESSIE LITE"

Looge DashboardPI jaoks uus kõvaketas

Sisestage microSD -kaart USB -adapteri kaudu arvutisse ja looge kettapilt käsuga dd

Leidke sisestatud microSD -kaart käsu df -h abil, eemaldage see ja looge kettapilt käsuga disk copy dd

$ df -h/dev/sdb1 7.4G 32K 7.4G 1%/media/XXX/1234-5678

$ umount /dev /sdb1

Ettevaatust: veenduge, et käsk oleks täiesti täpne, selle käsuga võite kahjustada teisi kettaid

if = RASPBIAN JESSIE LITE pildifaili asukoht = teie microSD -kaardi asukoht

$ sudo dd bs = 4M kui =/path/to/raspbian-jessie-lite.img of//dev/sdb (märkus: antud juhul on see/dev/sdb,/dev/sdb1 oli microSD) RaspberriPi seadistamine

Sisestage oma uus microSD -kaart vaarikapiirkonda ja lülitage see sisse HDMI -porti ühendatud monitoriga

Logi sisse

user: pi pass: raspberry Turvalisuse huvides muutke oma konto parooli

sudo passwd pi Lubage RaspberriPi lisavalikud

sudo raspi-config Valige: 1 Laienda failisüsteem

9 Täpsemad valikud

A2 hostinimi muudab selle "NESRouteriks"

A4 SSH Luba SSH -server

A7 I2C Luba i2c liides Luba inglise/USA klaviatuur

sudo nano/etc/default/keyboard Muuda järgmist rida: XKBLAYOUT = "us" Seadista lihtne kataloog l käsk [valikuline]

vi ~/.bashrc

lisage järgmine rida:

varjunimi l = 'ls -lh'

allikas ~/.bashrc VIM -i süntaksi esiletõstmise parandamine [valikuline]

sudo vi/etc/vim/vimrc

tühistage järgmine rida:

uusimate muudatuste saamiseks taaskäivitage oma PI

rebootUuendage kohaliku ajavööndi seadeid

sudo dpkg-reconfigure tzdata liidese abil valige oma ajavöönd

Samm: WiFi pääsupunkti loomine

Pange tähele, et enne kui sellest saab ruuter, ühendame RaspberryPi olemasoleva võrguga selle Etherneti pordi kaudu, et installida järgmised paketid

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

Lisage järgmine rida:

denyinterfaces wlan0 sudo vi/etc/network/interfaces

Muutke jaotist wlan0 nii, et see näeks välja selline:

auto lo iface lo inet loopback

iface eth0 inet kasutusjuhend

auto wlan0 iface wlan0 inet staatiline aadress 10.0.10.1 võrgumask 255.255.255.0 võrk 10.0.10.0 saade 10.0.10.255

auto eth1 iface eth1 inet staatiline aadress 10.0.20.1 netmask 255.255.255.0 võrk 10.0.20.0 ringhääling 10.0.20.255 Laadige DHCP -server uuesti ja tagastage eth0 ja wlan0 ühenduste konfiguratsioon

sudo teenus dhcpcd taaskäivitage

sudo ifdown eth0; sudo ifup wlan0

HOSTAPD seadistamine (muutke ssid ja wpa_passphrase oma valitud väärtustele)

sudo vi /etc/hostapd/hostapd.conf

# See on WiFi -liidese nimi, mille seadistasime ülal interface = wlan0

# Kasutage draiverit nl80211 koos draiveriga brcmfmac = nl80211

# See on võrgu nimi ssid = NintendoWiFi

# Kasutage 2,4 GHz sagedusala hw_mode = g

# Kasutage kanalit 6 kanalit = 6

# Luba 802.11n ieee80211n = 1

# Luba WMM wmm_enabled = 1

# Luba 40MHz kanalid 20ns valveintervalliga ht_capab = [HT40] [SHORT-GI-20] [DSSS_CCK-40]

# Nõustuge kõigi MAC -aadressidega macaddr_acl = 0

# Kasutage WPA autentimist auth_algs = 1

# Nõua klientidelt võrgu nime teadmist ignore_broadcast_ssid = 0

# Kasutage WPA2 wpa = 2

# Kasutage eelnevalt jagatud võtit wpa_key_mgmt = WPA-PSK

# Võrgu parool wpa_passphrase = parool

# Kasutage AES -i, mitte TKIP -i

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

sudo vi/etc/default/hostapd

Leidke joon

#DAEMON_CONF = "" ja asenda see

DAEMON_CONF = "/etc/hostapd/hostapd.conf" DNSMASQ seadistamine

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig

sudo vi /etc/dnsmasq.conf

bind-interfaces # Siduge liidesega, et olla kindel, et me ei saada asju mujale -suunatud aadressiruumid.

# Määrake IP-aadressid lõpmatu rendiajaga (seadme kasutusstatistika jaoks) dhcp-range = wlan0, 10.0.10.100, 10.0.10.200, 255.255.255.0, 10.0.10.255, lõpmatu dhcp-range = eth1, 10.0.20.100, 10.0. 20.200, 255.255.255.0, 10.0.20.255, lõpmatu SEADISTA IPV4 EDASISSE

sudo vi /etc/sysctl.conf

[kommentaar] net.ipv4.ip_forward = 1

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

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

sudo iptables -A FORWARD -i eth0 -o eth1 -m olek -riik SEOTUD, ASUTATUD -j ACCEPT

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

sudo iptables -A FORWARD -i eth0 -o wlan0 -m olek -riik SEOTUD, ASUTATUD -j ACCEPT

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

Salvestage iptablesi seaded järgmiseks taaskäivitamiseks

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

Loo ipv4 reeglifail (uue sisuga)

sudo vi/lib/dhcpcd/dhcpcd-konksud/70-ipv4-nat

iptables-restore </etc/iptables.ipv4.nat Taaskäivitage teenused

sudo teenus hostapd käivita sudo teenus dnsmasq start

sudo taaskäivitamine

Staatiliste IP -de määramine [valikuline]

Kui soovite, et teie võrgu hostidel oleks staatiline ips, kasutage järgmist

Hankige praegu DHCP kaudu ühendatud hostid vi /var/lib/misc/dnsmasq.leases

Lisage MAC -aadress (ülaltoodud väljundist) ja IP -aadress, mille soovite neile määrata, aadressile sudo vi /etc/dnsmasq.conf

# main desktop dhcp-host = 12: 34: 56: 78: 9a: bc, 10.0.20.20 Märkus. See määrab võrguliidese MAC-aadressiga: 12: 34: 56: 78: 9a: bc IP-aadressile 10.0.20.20. Loetletud IP -aadress EI pea olema antud DHCP vahemikus, vaid samas alamvõrgus. Minu ülaltoodud peamine töölaud on alamvõrgus eth1: 10.0.20.0, seega andsin sellele IP -aadressi 10.0.20.20.

UFW tulemüüri lisamine

sudo apt-get install ufw

Luba port 22 avalikuks kasutamiseks (võrgu kaugjuurdepääsuks)

sudo ufw lubab 22

Luba kõik minu kohaliku võrgu pordid

sudo ufw lubab alates 10.0.10.0/24 sudo ufw lubada alates 10.0.20.0/24

Lubage veebipordid kõigile

sudo ufw lubab 80

Lubage turvalised veebipordid kõigile

sudo ufw lubab 443

Lülitage UFW sisse ja kontrollige olekut

sudo ufw -jõu lubamine

sudo ufw olek

Parandage viga, kui UFW ei käivitu käivitamisel

sudo su crontab -e

Lisage järgmine rida: @reboot /bin /sleep 60; ufw -jõu lubamine

3. samm: vajalikud tarvikud: vana katkine Nintendo

Vajalikud tarvikud: vana katkine Nintendo
Vajalikud tarvikud: vana katkine Nintendo

Vana Nintendo ümbris purunenud NES -ist (eemaldage kogu vana sisu korpusest, jättes ainult välise raami, toite- / lähtestamisnupud ja kontrolleri ühendused)

Samm 4: Vajalikud tarvikud: Raspberry Pi 3 Mudel B

Vajalikud tarvikud: Raspberry Pi 3 Mudel B
Vajalikud tarvikud: Raspberry Pi 3 Mudel B

Samm 5: Vajalikud tarvikud: 1,44 "seeria: UART/I2C/SPI TFT LCD 128x128 ekraanimoodul

Vajalikud tarvikud: 1.44
Vajalikud tarvikud: 1.44
Vajalikud tarvikud: 1.44
Vajalikud tarvikud: 1.44

6. samm: Vajalikud tarvikud: 5V 0,1A miniventilaator Raspberry Pi

Vajalikud tarvikud: 5V 0,1A miniventilaator Raspberry Pi
Vajalikud tarvikud: 5V 0,1A miniventilaator Raspberry Pi

Samm 7: Vajalikud tarvikud: Ugreen USB 2.0 kuni 10/100 Fast Ethernet Lan traadiga võrguadapter

Vajalikud tarvikud: Ugreen USB 2.0 kuni 10/100 Fast Ethernet Lan traadiga võrguadapter
Vajalikud tarvikud: Ugreen USB 2.0 kuni 10/100 Fast Ethernet Lan traadiga võrguadapter

8. samm: ehitamine

Ehitus
Ehitus

Paigaldage NES -i sisse

Printige 3D-printeri abil kausta/construction/display-frame/Digole Display raam "NESPanel". [kui teil pole 3D -printerit, saate Dremeli tööriista abil digoleekraani jaoks õrnalt ruudukujulise augu lõigata] küljelt ning toite/Etherneti ja USB Etherneti kaablid tagant sisse pääsemiseks.

9. samm: ehituse jätkamine

Ehituse jätk
Ehituse jätk

Keerake parempoolne ülemine must paneel NES -i küljest lahti ja lõigake digoleekraani paigaldamiseks piisavalt suur ruudukujuline auk. Kuum liimige kuvar oma kohale, selle ülaosas on 3D trükitud raam "NESPanel".

10. samm: ehituse jätkamine

Ehituse jätk
Ehituse jätk

Paigaldage RaspberryPi tühja NES -korpuse põhja keskele, kinnitage liimi või väikese kruviga läbi põhja. Ühendage 270 oomise takisti abil NES -i "toite sisselülitamise LED" Raspberry Pi 5V ja GND kontaktidega (lühike LED -juhe on maapind). Ühendage väike ventilaator ka 5V ja GND kontaktidega, et see käivituks seadme käivitamisel, liimige ventilaator selle küljel oleva augu vastu.

Samm 11: Digole -ekraani ühendamine

Ühendage järgmised tihvtid RaspberryPi tihvtidega

VCC on ühendatud 3v GND on maandatud Andmed on SDA CLOCK on SCL Nüüd peaksite seadet nägema oma i2cdetect käsus

i2cdetect -y 1 peaks see ilmuma teksti ruudustikus kui 27

12. samm: installige võrguseire tööriistad ja DB logimine

sudo apt-get install ifstat memcached python-memcache postgresql postgresql-contrib python-psycopg2

sudo vi /etc/postgresql/9.4/main/pg_hba.conf

Lisage faili lõppu järgmine rida: local all pi parool sudo -i -u postgres

psql

loo roll pi parool 'parool siin';

muuta rolli pi sisselogimine;

muuta rolli pi superkasutaja;

du

(peaksite nägema oma PI kasutajat, kellel on antud load) luua andmebaasi network_stats;

q

väljumine

psql -d võrgu_statistika

Käivitage järgmised päringud:

CREATE TABLE traffic_per_minute (id seeria, aja ajatempel ilma ajavööndita EI OLE 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 (aeg); Kopeerige selle projekti koodikaust "logimine" oma RPi kodukataloogi

crontab -e

Lisage see rida

@reboot /bin /sleep 60; nohup python /home/pi/logging/networkUsage.py>/dev/null 2> & 1

Samm: installige liikluse kokkuvõtte aruanne (Cronjob töötab iga 5 minuti järel)

crontab -e

lisage järgmine rida

*/5 * * * * python /home/pi/logging/trafficSummary.py

14. samm: paigaldage armatuurlaua ekraan

Kopeerige selle projekti koodikaust "kuva" oma RPi kodukataloogi

Käivitage see järgmiselt

$ python /home/pi/display/NESRouter.py Seadistage käivitamisel kuvatav skript

crontab -e

Lisage see rida

@reboot nohup python /home/pi/display/NESRouter.py>/dev/null 2> & 1

Veenduge, et ekraan hakkab taaskäivitamisel tööle

sudo taaskäivitamine

Samm: installige kohaliku kasutamise/statistika veebisait [https://10.0.10.1]

Installige kohaliku kasutamise/statistika veebisait [https://10.0.10.1]

sudo apt-get update && sudo apt-get upgrade -y

sudo apt-get install apache2

sudo teenus apache2 taaskäivitage

Eemaldage vaikelehed

cd /var /www

sudo rm -rf html

Kopeerige sellest projektist kaust „veebiportaal” oma RPi kodukataloogi ja looge sümbol link apache kasutamiseks

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

Luba Pythoni CGI skriptimine

Lisage märgendi sisse

Valikud +ExecCGI AddHandler cgi-script.py sudo teenus apache2 taaskäivitage

Nüüd saate külastada kohalikku HTTP -saiti [https://10.0.10.1]

Seadistage täpsem võrguseire (IPFM -i kaudu)

sudo apt-get update

sudo apt-get install ipfm

sudo mv /etc/ipfm.conf /etc/ipfm.conf-bak

sudo vi /etc/ipfm.conf

Looge järgmise sisuga:

# Globaalsed muutujad

# IPFM saab jälgida ainult ühte seadet. SEADME eth0

# GLOBAL LOGGING CONFIGURATION LOG

FILENAME "/var/log/ipfm/%Y_%d_%m/%H_%M"

# logi iga minut DUMP iga 1 minuti järel

# puhas statistika iga päev Tühjenda iga 24 tunni järel

VALIKULINE: oma Nintendo piltide loomine ekraanil renderdamiseks

Laadige oma 128x128 fail üles järgmisele URL -ile:

www.digole.com/tools/PicturetoC_Hex_convert…

Valige üleslaaditav pildifail, lisage ekraanile soovitud suurus (laius/kõrgus)

Valige rippmenüüst "Kasutatakse" valik "256 värvi OLED/LCD (1 bait/piksel)"

Hankige kuuskantväljund.

Lisage kuuskantväljund kuvari/ ehituse/ päise (.h) faili, kasutage teisi süntaksi juhenditena.

Kaasa uus fail digole.c faili #include myimage.h

Lisage oma pildifaili uus käsurea konks. Märkus: allolev käsk ütleb, et joonistage oma pilt positsioonil 10 pikslit üle 10 piksli alla. Saate muuta selle erinevateks X, Y koordinaatideks, samuti saate muuta väärtusi 128, 128 mis tahes suurusega, mis teie uus pilt tegelikult on.

} else if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariable Siin on määratletud teie (.h) failis}

Nüüd ehitage uuesti (ignoreerige vigu), et uus pilt renderdada järgmise käsuga.

$./digole myimage Re-Building [Kaasas] Digole Display Driver teie valikuliste muudatuste jaoks

$ cd display/build $ gcc digole.c $ mv a.out../../digole $ chmod +x../../digole

Soovitan: