Tartalomjegyzék:

Nintendo Wifi Router: 17 lépés (képekkel)
Nintendo Wifi Router: 17 lépés (képekkel)

Videó: Nintendo Wifi Router: 17 lépés (képekkel)

Videó: Nintendo Wifi Router: 17 lépés (képekkel)
Videó: Когда Контрнаступление Украины? (10 июня 2023) 2024, November
Anonim
Nintendo Wifi router
Nintendo Wifi router

Egy régi Nintendo Entertainment rendszer tok használatával hozzon létre egy nagyon funkcionális otthoni útválasztót RaspberryPI 3 segítségével!

1. lépés: Telepítse a szükséges RaspberryPi szoftvert

Villogó RaspberriPi merevlemez / szükséges szoftver telepítése (Ubuntu Linux használatával)

Letöltés "RASPBIAN JESSIE LITE"

Hozza létre új merevlemezét a DashboardPI számára

Helyezze be a microSD -t a számítógépbe USB -adapteren keresztül, és hozza létre a lemezképet a dd paranccsal

Keresse meg a behelyezett microSD -kártyát a df -h paranccsal, távolítsa el, és hozza létre a lemezképet a disk copy dd paranccsal

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

$ umount /dev /sdb1

Vigyázat: győződjön meg arról, hogy a parancs teljesen pontos, ezzel a paranccsal más lemezeket is károsíthat

if = a RASPBIAN JESSIE LITE képfájl helye = a microSD -kártya helye

$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img of =/dev/sdb (megjegyzés: ebben az esetben a/dev/sdb, a/dev/sdb1 egy meglévő gyári partíció microSD) A RaspberriPi beállítása

Helyezze be az új microSD -kártyát a raspberrypi -be, és kapcsolja be a HDMI -porthoz csatlakoztatott monitorral

Belépés

user: pi pass: raspberry A biztonság érdekében változtassa meg fiókja jelszavát

sudo passwd pi Engedélyezze a RaspberriPi speciális beállításait

sudo raspi-config Válasszon: 1 Bontsa ki a fájlrendszert

9 Speciális beállítások

A2 gazdagépnév: "NESRouter"

A4 SSH Az SSH szerver engedélyezése

A7 I2C Az i2c interfész engedélyezése Engedélyezze az angol/amerikai billentyűzetet

sudo nano/etc/default/keyboard Változtassa meg a következő sort: XKBLAYOUT = "us" Állítsa be az egyszerű könyvtárat l parancs [opcionális]

vi ~/.bashrc

add hozzá a következő sort:

alias l = 'ls -lh'

forrás ~/.bashrc Javítsa ki a VIM alapértelmezett szintaxis kiemelését [nem kötelező]

sudo vi/etc/vim/vimrc

szüntesse meg az alábbi sort:

szintaxis a PI indításakor a legújabb módosítások eléréséhez

A helyi időzóna beállításainak frissítése

sudo dpkg-reconfigure tzdata válassza ki az időzónát a felületen

2. lépés: A WiFi hozzáférési pont létrehozása

Kérjük, vegye figyelembe, hogy mielőtt ez útválasztóvá válik, a következő csomagok telepítéséhez csatlakoztatjuk a RaspberryPi -t egy meglévő hálózathoz az Ethernet -porton keresztül

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

Adja hozzá a következő sort:

denyinterfaces wlan0 sudo vi/etc/network/interfaces

Szerkessze a wlan0 részt így:

auto lo iface lo inet loopback

iface eth0 inet kézikönyv

auto wlan0 iface wlan0 inet statikus cím 10.0.10.1 netmask 255.255.255.0 hálózat 10.0.10.0 broadcast 10.0.10.255

auto eth1 iface eth1 inet statikus cím 10.0.20.1 netmask 255.255.255.0 hálózat 10.0.20.0 broadcast 10.0.20.255 Töltse be újra a DHCP szervert és pattintsa vissza az eth0 és wlan0 kapcsolatok konfigurációját

sudo szolgáltatás dhcpcd újraindítása

sudo ifdown eth0; sudo ifup wlan0

A HOSTAPD beállítása (az ssid és a wpa_passphrase módosítása az Ön által választott értékekre)

sudo vi /etc/hostapd/hostapd.conf

# Ez a WiFi interfész neve, amelyet az interface = wlan0 felett konfiguráltunk

# Használja az nl80211 illesztőprogramot a brcmfmac illesztőprogram -illesztőprogrammal = nl80211

# Ez a hálózat neve ssid = NintendoWiFi

# Használja a 2,4 GHz -es sávot hw_mode = g

# Használja a 6. csatorna csatornát = 6

# Engedélyezze a 802.11n ieee80211n = 1

# WMM engedélyezése wmm_enabled = 1

# 40 MHz-es csatornák engedélyezése 20ns-es védőintervallummal ht_capab = [HT40] [SHORT-GI-20] [DSSS_CCK-40]

# Minden MAC -cím elfogadása macaddr_acl = 0

# WPA hitelesítés használata auth_algs = 1

# Kötelezze el az ügyfeleket, hogy ismerjék a hálózat nevét ignore_broadcast_ssid = 0

# WPA2 wpa = 2 használata

# Használjon előre megosztott kulcsot wpa_key_mgmt = WPA-PSK

# A hálózati jelszó wpa_passphrase = jelszó

# Használjon AES -t a TKIP helyett rsn_pairwise = CCMP Futtatással ellenőrizhetjük, hogy működik -e ebben a szakaszban (de még nincs teljes internetkapcsolata):

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

sudo vi/etc/default/hostapd

Keresse meg a vonalat

#DAEMON_CONF = "" és cserélje le erre

DAEMON_CONF = "/etc/hostapd/hostapd.conf" DNSMASQ konfigurálása

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

sudo vi /etc/dnsmasq.conf

bind-interfaces # Kötődjön az interfészhez, hogy megbizonyosodjon arról, hogy nem küldünk dolgokat máshová szerver = 8.8.8.8 # DNS-kérések továbbítása a Google DNS-hez tartományra van szükség # Ne továbbítsa a rövid neveket bogus-priv # Soha ne továbbítsa a címeket a -irányított címterek.

# IP-címek hozzárendelése végtelen bérleti idővel (eszközhasználati statisztikákhoz) dhcp-range = wlan0, 10.0.10.100, 10.0.10.200, 255.255.255.0, 10.0.10.255, végtelen dhcp-tartomány = eth1, 10.0.20.100, 10.0. 20.200, 255.255.255.0, 10.0.20.255, végtelen SET UP IPV4 FORWARDING

sudo vi /etc/sysctl.conf

[megjegyzés] net.ipv4.ip_forward = 1

Azonnal aktiválja a sudo sh -c "echo 1>/proc/sys/net/ipv4/ip_forward" paranccsal

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

sudo iptables -A FORWARD -i eth0 -o eth1 -m állapot -állam KAPCSOLÓDÓ, LÉTESÍTETT -j ELFOGAD

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

sudo iptables -A FORWARD -i eth0 -o wlan0 -m állapot -állapot KAPCSOLÓDÓ, LÉTESÍTETT -j ELFOGAD

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

Mentse az iptables beállításait a következő újraindításhoz

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

Ipv4 szabályfájl létrehozása (új tartalommal)

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

iptables-restore </etc/iptables.ipv4.nat Újraindítási szolgáltatások

sudo service hostapd start sudo service dnsmasq start

sudo újraindítás

Statikus IP -k hozzárendelése [opcionális]

Ha azt szeretné, hogy a hálózaton található állomások statikus IP -t kapjanak, használja az alábbiakat

Keresse meg a DHCP -n keresztül jelenleg csatlakoztatott gazdagépeket vi /var/lib/misc/dnsmasq.leases

Adja hozzá a MAC -címet (a fenti kimenetről) és a hozzárendelni kívánt IP -címet a sudo vi /etc/dnsmasq.conf fájlhoz

# main desktop dhcp-host = 12: 34: 56: 78: 9a: bc, 10.0.20.20 Megjegyzés: Ezzel a hálózati interfész a MAC-címmel lesz hozzárendelve: 12: 34: 56: 78: 9a: bc a 10.0 IP-címhez.20.20. A felsorolt IP -címnek nem kell a megadott DHCP tartományban lennie, csak ugyanazon az alhálózaton. A fenti fő asztalom az eth1: 10.0.20.0 alhálózaton található, ezért megadtam a 10.0.20.20 IP -címet.

UFW tűzfal hozzáadása

sudo apt-get install ufw

A 22 -es port engedélyezése nyilvános használatra (távoli hálózati hozzáféréshez)

sudo ufw allow 22

Engedélyezze az összes portot a helyi hálózatomon

sudo ufw allow 10.0.10.0/24 sudo ufw allow 10.0.20.0/24 -től

A webportok engedélyezése mindenki számára

sudo ufw engedélyezi a 80 -at

A biztonságos webportok engedélyezése mindenki számára

sudo ufw engedélyezi a 443 -at

Engedélyezze az UFW funkciót, és ellenőrizze az állapotát

sudo ufw -erő engedélyezése

sudo ufw állapot

Javítsa ki a hibát, ha az UFW nem indul el az indításkor

sudo su crontab -e

Adja hozzá a következő sort: @reboot /bin /sleep 60; ufw -erő engedélyezése

3. lépés: Szükséges kellékek: Régi törött Nintendo

Szükséges kellékek: Régi törött Nintendo
Szükséges kellékek: Régi törött Nintendo

Régi Nintendo tok törött NES -ből (távolítsa el az összes régi tartalmat a tok belsejében, csak a külső keretet, a bekapcsoló / visszaállító gombokat és a vezérlő csatlakozásait hagyva)

4. lépés: Szükséges kellékek: Raspberry Pi 3 B modell

Szükséges kellékek: Raspberry Pi 3 B modell
Szükséges kellékek: Raspberry Pi 3 B modell

5. lépés: Szükséges kellékek: 1,44 hüvelykes soros: UART/I2C/SPI TFT LCD 128x128 kijelzőmodul

Szükséges kellékek: 1.44
Szükséges kellékek: 1.44
Szükséges kellékek: 1.44
Szükséges kellékek: 1.44

6. lépés: Szükséges kellékek: 5V 0,1A mini ventilátor Raspberry Pi

Szükséges kellékek: 5V 0,1A Mini Fan Raspberry Pi
Szükséges kellékek: 5V 0,1A Mini Fan Raspberry Pi

7. lépés: Szükséges kellékek: Ugreen USB 2.0 - 10/100 Fast Ethernet Lan vezetékes hálózati adapter

Szükséges kellékek: Ugreen USB 2.0 - 10/100 Fast Ethernet Lan vezetékes hálózati adapter
Szükséges kellékek: Ugreen USB 2.0 - 10/100 Fast Ethernet Lan vezetékes hálózati adapter

8. lépés: Építés

Építkezés
Építkezés

Telepítse a NES belsejébe

Nyomtassa ki 3D nyomtatóval a "NESPanel" Digole kijelző keretet a/construction/display-frame/mappába. [ha nincs 3D nyomtatója, finoman kivághat egy négyzet alakú lyukat a Digole kijelzőhöz egy Dremel eszközzel] oldalt és a táp/ethernet és USB ethernet kábeleket, hogy bejussanak a hátlapon.

9. lépés: Építési folytatás

Építési folytat
Építési folytat

Csavarja le a jobb felső fekete panelt a NES -ről, és vágjon tisztán egy elég nagy négyzet alakú lyukat a digole kijelző rögzítéséhez. Ragasztja a kijelzőt a helyére, a tetején található "NESPanel" 3D nyomtatott kerettel.

10. lépés: Építési folytatás

Építési folytat
Építési folytat

Szerelje fel a RaspberryPi -t az üres NES tok alsó részének közepére, ragasztóval vagy egy kis csavarral rögzítse az alján. Egy 270 ohmos ellenállás segítségével csatlakoztassa a NES "bekapcsolt LED" -ét a Raspberry Pi 5V és GND csapjaihoz (rövid LED -vezeték a föld). Csatlakoztassa a kisméretű ventilátort az 5V és GND csapokhoz is, hogy működésbe léphessen, amikor a készülék beindul, és ragassza a ventilátort az oldalán található lyukhoz.

11. lépés: A Digole kijelző csatlakoztatása

Csatlakoztassa a következő csapokat a RaspberryPi csapjaihoz

A VCC 3V -ra van csatlakoztatva. GND földelt. Az adatok SDA CLOCK SCL

i2cdetect -y 1 27 -nek kell megjelennie a szövegrácsban

12. lépés: Telepítse a Hálózatfigyelő eszközöket és a DB naplózást

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

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

Adja hozzá a következő sort a fájl végéhez: local all pi password sudo -i -u postgres

psql

create role pi password 'password here';

szerepkör módosítása pi bejelentkezés;

alter role pi superuser;

du

(látnia kell a PI felhasználóját a megadott jogosultságokkal) create network network_stats;

q

kijárat

psql -d network_stats

Futtassa a következő lekérdezéseket:

TÁBLÁZAT LÉTREHOZÁSA traffic_per_minute (azonosító soros, időbélyeg időzónák nélkül NOT NULL, eth0_down real, eth0_up real, eth1_down real, eth1_up real, wan0_down real, wan0_up real);

EGYEDI INDEX LÉTREHOZÁSA time_idx ON traffic_per_minute (time); Másolja a projekt "naplózó" mappáját a projektből az RPi saját könyvtárába

crontab -e

Adja hozzá ezt a sort

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

13. lépés: Telepítse a forgalmi összesítő jelentést (a Cronjob 5 percenként fut)

crontab -e

add hozzá a következő sort

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

14. lépés: Telepítse a Dashboard képernyőt

Másolja át a projekt "kód" mappáját a projektből az RPi saját könyvtárába

Futtassa az alábbiak szerint

$ python /home/pi/display/NESRouter.py Állítsa be a megjelenítő parancsfájlt az indításkor

crontab -e

Adja hozzá ezt a sort

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

Ellenőrizze, hogy a kijelző újraindításkor elkezd -e működni

sudo újraindítás

15. lépés: Telepítse a helyi használati/statisztikai webhelyet [https://10.0.10.1]

Telepítse a helyi használati/statisztikai webhelyet [https://10.0.10.1]

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

sudo apt-get install apache2

sudo szolgáltatás apache2 újraindítása

Távolítsa el az alapértelmezett oldalakat

cd /var /www

sudo rm -rf html

Másolja a „webportál” mappát ebből a projektből az RPi otthoni mappájába, és hozza létre az apache számára a szimbólumot

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

A Python CGI parancsfájl engedélyezése

Adja hozzá a címke belsejébe

Opciók +ExecCGI AddHandler cgi-script.py sudo service apache2 restart

Most felkeresheti a helyi HTTP webhelyet [https://10.0.10.1]

Fejlett hálózati megfigyelés beállítása (IPFM -en keresztül)

sudo apt-get update

sudo apt-get install ipfm

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

sudo vi /etc/ipfm.conf

Hozzon létre a következő tartalommal:

# Globális változók

# Az IPFM csak egy eszközt képes figyelni. KÉSZÜLET eth0

# GLOBAL LOGGING CONFIGURATION LOG

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

# napló minden percben DUMP MINDEN 1 perc

# tiszta statisztika minden nap MINDEN 24 órás törlés RENDEZÉS FELOLDÁSBAN sudo szolgáltatás ipfm start

VÁLASZTHATÓ: Saját Nintendo -képek létrehozása a kijelzőn történő megjelenítéshez

Töltse fel saját 128x128 -as fájlját a következő URL -re:

www.digole.com/tools/PicturetoC_Hex_convert…

Válassza ki a feltölteni kívánt képfájlt, és adja hozzá a kívánt méretet a képernyőn (szélesség/magasság)

Válassza a "256 szín a színes OLED/LCD (1 bájt/pixel)" lehetőséget a "Használt" legördülő menüben

Szerezze be a hexadecimális kimenetet.

Adja hozzá a hexadecimális kimenetet egy display/ build/ header (.h) fájlhoz, a többit használja útmutatóként a szintaxishoz.

Illessze be az új fájlt a digole.c fájlba #include myimage.h

Helyezzen be egy új parancssori horgot a képfájlba a. Megjegyzés: az alábbi parancs azt mondja, rajzolja le a képét 10 pixel fölött 10 pixel lefelé. Megváltoztathatja különböző X, Y koordinátákra, és megváltoztathatja a 128, 128 értékeket bármilyen méretűre is.

} else if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariable Itt van definiálva a (.h) fájlodban}

Most építse újra (figyelmen kívül hagyja a hibákat), hogy az új kép megjelenjen a következő paranccsal.

$./digole myimage Re-Building [Tartalmazza] Digole Display Driver az opcionális változtatásokhoz

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

Ajánlott: