Obsah:

Wifi router Nintendo: 17 kroků (s obrázky)
Wifi router Nintendo: 17 kroků (s obrázky)

Video: Wifi router Nintendo: 17 kroků (s obrázky)

Video: Wifi router Nintendo: 17 kroků (s obrázky)
Video: Adel ukazala prso 2024, Listopad
Anonim
Wifi router Nintendo
Wifi router Nintendo

Pomocí starého pouzdra Nintendo Entertainment vytvořte vysoce funkční domácí router pomocí RaspberryPI 3!

Krok 1: Nainstalujte požadovaný software RaspberryPi

Blikání pevného disku RaspberriPi / instalace požadovaného softwaru (pomocí Ubuntu Linux)

Stáhněte si „RASPBIAN JESSIE LITE“https://www.raspberrypi.org/downloads/raspbian/

Vytvořte nový pevný disk pro DashboardPI

Vložte microSD do počítače pomocí USB adaptéru a vytvořte obraz disku pomocí příkazu dd

Vyhledejte vloženou kartu microSD pomocí příkazu df -h, odpojte ji a vytvořte obraz disku pomocí příkazu dd copy copy

$ df -h/dev/sdb1 7,4G 32K 7,4G 1%/média/XXX/1234-5678

$ umount /dev /sdb1

Upozornění: ujistěte se, že je příkaz zcela přesný, můžete tímto příkazem poškodit jiné disky

if = umístění obrazového souboru RASPBIAN JESSIE LITE = umístění vaší karty microSD

$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img of =/dev/sdb (poznámka: v tomto případě je to/dev/sdb,/dev/sdb1 byl existující tovární oddíl na microSD) Nastavení RaspberriPi

Vložte novou kartu microSD do Raspberrypi a zapněte ji monitorem připojeným k portu HDMI

Přihlásit se

uživatel: pi pass: raspberry Z důvodu zabezpečení změňte heslo k účtu

sudo passwd pi Povolte rozšířené možnosti RaspberriPi

sudo raspi-config Zvolte: 1 Rozbalte Systém souborů

9 Pokročilé možnosti

A2 Název hostitele jej změňte na „NESRouter“

A4 SSH Povolte server SSH

A7 I2C Povolit rozhraní i2c Povolit anglickou/americkou klávesnici

sudo nano/etc/default/keyboard Změňte následující řádek: XKBLAYOUT = "us" Nastavení jednoduchého příkazu adresáře l [volitelně]

vi ~/.bashrc

přidejte následující řádek:

alias l = 'ls -lh'

source ~/.bashrc Opravit zvýraznění výchozí syntaxe VIM [volitelně]

sudo vi/etc/vim/vimrc

odkomentujte následující řádek:

syntaxe při restartu vašeho PI, abyste získali nejnovější změny

reboot Aktualizujte nastavení místního časového pásma

sudo dpkg-reconfigure tzdata vyberte své časové pásmo pomocí rozhraní

Krok 2: Vytvoření přístupového bodu WiFi

Vezměte prosím na vědomí, že než se z toho stane router, připojíme RaspberryPi ke stávající síti přes ethernetový port a nainstalujeme následující balíčky

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

Přidejte následující řádek:

denyinterfaces wlan0 sudo vi/etc/network/interfaces

Upravte sekci wlan0 tak, aby vypadala takto:

auto lo iface lo inet loopback

iface eth0 inet manuál

auto wlan0 iface wlan0 inet statická adresa 10.0.10.1 maska sítě 255.255.255.0 síť 10.0.10.0 vysílání 10.0.10.255

auto eth1 iface eth1 inet statická adresa 10.0.20.1 maska sítě 255.255.255.0 síť 10.0.20.0 vysílání 10.0.20.255 Znovu načíst server DHCP a odrazit konfiguraci pro připojení eth0 a wlan0

restartujte službu sudo dhcpcd

sudo ifdown eth0; sudo ifup wlan0

Konfigurujte HOSTAPD (změňte ssid a wpa_passphrase na hodnoty, které si sami zvolíte)

sudo vi /etc/hostapd/hostapd.conf

# Toto je název WiFi rozhraní, které jsme nakonfigurovali výše interface = wlan0

# Použijte ovladač nl80211 s ovladačem brcmfmac driver = nl80211

# Toto je název sítě ssid = NintendoWiFi

# Použijte pásmo 2,4 GHz hw_mode = g

# Použijte kanál 6 kanál = 6

# Povolte 802.11n ieee80211n = 1

# Povolit WMM wmm_enabled = 1

# Povolte kanály 40 MHz s ochranným intervalem 20ns ht_capab = [HT40] [SHORT-GI-20] [DSSS_CCK-40]

# Přijmout všechny MAC adresy macaddr_acl = 0

# Použijte ověřování WPA auth_algs = 1

# Vyžadovat, aby klienti znali název sítě ignore_broadcast_ssid = 0

# Použijte WPA2 wpa = 2

# Použijte předem sdílený klíč wpa_key_mgmt = WPA-PSK

# Heslo sítě wpa_passphrase = heslo

# Použijte AES místo TKIP rsn_pairwise = CCMP Můžeme zkontrolovat, zda to funguje v této fázi spuštěním (ale zatím nemá úplné připojení k internetu):

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

sudo vi/etc/default/hostapd

Najděte linku

#DAEMON_CONF = "" a nahraďte jej

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

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

sudo vi /etc/dnsmasq.conf

bind-interfaces # Připojte se k rozhraní, abyste se ujistili, že neposíláme věci jinam na server = 8.8.8.8 # Přesměrování požadavků DNS na doménu Google DNS potřebnou # Neposílejte krátké názvy falešné-priv # Nikdy nepředávejte adresy v -směrované adresní prostory.

# Přiřaďte IP adresy s nekonečnou dobou zapůjčení (pro statistiky využití zařízení) dhcp-range = wlan0, 10.0.10.100, 10.0.10.200, 255.255.255.0, 10.0.10.255, nekonečné dhcp-range = eth1, 10.0.20.100, 10.0. 20.200, 255.255.255.0, 10.0.20.255, nekonečné NASTAVENÍ PŘESMĚROVÁNÍ IPV4

sudo vi /etc/sysctl.conf

[odkomentujte] net.ipv4.ip_forward = 1

Okamžitě jej aktivujte 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 state --stát SOUVISEJÍCÍ, ZŘÍZENÝ -j PŘIJAT

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

sudo iptables -A VPŘED -i eth0 -o wlan0 -m stav -stav SOUVISEJÍCÍ, ZŘÍZENÝ -j PŘIJÍMAT

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

Uložte nastavení iptables pro další restart

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

Vytvořit soubor pravidel ipv4 (s novým obsahem)

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

iptables-restore </etc/iptables.ipv4.nat Restartujte služby

sudo service hostapd start sudo service dnsmasq start

sudo restart

Přiřazení statických IP adres [volitelně]

Pokud chcete, aby hostitelé ve vaší síti měli statické IP, použijte následující

Získejte hostitele aktuálně připojené přes DHCP vi /var/lib/misc/dnsmasq.lease

Přidejte MAC adresu (z výstupu výše) a IP adresu, kterou chcete přiřadit sudo vi /etc/dnsmasq.conf

# main desktop dhcp-host = 12: 34: 56: 78: 9a: bc, 10.0.20.20 Poznámka: Toto přiřadí síťové rozhraní s MAC adresou: 12: 34: 56: 78: 9a: bc k IP adrese 10.0 0,20,20. Uvedená adresa IP NEMUSÍ být v daném rozsahu DHCP, pouze ve stejné podsíti. Moje hlavní plocha výše je na podsíti eth1: 10.0.20.0, takže jsem jí dal IP adresu 10.0.20.20.

Přidání brány firewall UFW

sudo apt-get install ufw

Povolit port 22 pro veřejné použití (pro vzdálený přístup k síti)

sudo ufw povolit 22

Povolit všechny porty v mé místní síti

sudo ufw povolit od 10.0.10.0/24 sudo ufw povolit od 10.0.20.0/24

Povolit webové porty všem

sudo ufw povolit 80

Povolte zabezpečené webové porty všem

sudo ufw povolit 443

Povolte UFW a zkontrolujte stav

sudo ufw --force povolit

stav sudo ufw

Opravte CHYBU, když se UFW nespustí při spuštění

sudo su crontab -e

Přidejte následující řádek: @reboot /bin /sleep 60; ufw -povolit sílu

Krok 3: Potřebné zásoby: Old Broken Nintendo

Potřebné zásoby: Old Broken Nintendo
Potřebné zásoby: Old Broken Nintendo

Staré pouzdro Nintendo z rozbitého NES (odstraňte veškerý starý obsah uvnitř pouzdra a ponechte pouze vnější rámeček, tlačítka napájení / reset a připojení ovladače)

Krok 4: Potřebné zásoby: Raspberry Pi 3 Model B

Potřebné zásoby: Raspberry Pi 3 Model B
Potřebné zásoby: Raspberry Pi 3 Model B

Krok 5: Potřebné zásoby: 1,44 "Sériový: Zobrazovací modul UART/I2C/SPI TFT LCD 128x128

Potřebné zásoby: 1,44
Potřebné zásoby: 1,44
Potřebné zásoby: 1,44
Potřebné zásoby: 1,44

Krok 6: Potřebné zásoby: 5V 0,1A Mini Fan Raspberry Pi

Potřebné zásoby: 5V 0,1A Mini Fan Raspberry Pi
Potřebné zásoby: 5V 0,1A Mini Fan Raspberry Pi

Krok 7: Potřebné zásoby: Ugreen USB 2.0 až 10/100 Fast Ethernet Lan kabelový síťový adaptér

Potřebný materiál: Ugreen USB 2.0 až 10/100 Fast Ethernet Lan kabelový síťový adaptér
Potřebný materiál: Ugreen USB 2.0 až 10/100 Fast Ethernet Lan kabelový síťový adaptér

Krok 8: Konstrukce

Konstrukce
Konstrukce

Nainstalujte do NES

Pomocí 3D tiskárny vytiskněte rámeček Digole Display „NESPanel“ve složce/construction/display-frame/. [pokud nemáte 3D tiskárnu, můžete jemně vyříznout čtvercový otvor pro displej Digole pomocí nástroje Dremel] Vyřízněte následující otvory v zadní a boční části pouzdra, aby bylo možné malý ventilátor upevnit na bočními a napájecími/ethernetovými a USB ethernetovými kabely se dostanete dovnitř zezadu.

Krok 9: Pokračování stavby

Stavební pokračování
Stavební pokračování

Odšroubujte pravý horní černý panel z NES a čistě vyřízněte dostatečně velký čtvercový otvor pro montáž digole displeje. Horké Přilepte displej na místo pomocí 3D vytištěného rámečku „NESPanel“.

Krok 10: Pokračování stavby

Stavební pokračování
Stavební pokračování

Namontujte RaspberryPi doprostřed spodní části prázdného pouzdra NES, upevněte lepidlem nebo malým šroubkem skrz dno. Pomocí odporu 270 ohmů připojte „LED napájení“NES k pinům 5V a GND na Raspberry Pi (krátký LED vodič je uzemnění). Připojte malý ventilátor také k pinům 5V a GND, aby mohl běžet při spuštění jednotky, přilepte ventilátor proti otvoru na boku.

Krok 11: Připojení displeje Digole

K pinům na RaspberryPi připojte následující piny

VCC je připojeno k 3v GND je uzemněno DATA je SDA CLOCK je SCL Nyní byste měli vidět zařízení v příkazu i2cdetect

i2cdetect -y 1 by se měl v mřížce textu zobrazit jako 27

Krok 12: Nainstalujte si nástroje pro sledování sítě a protokolování databáze

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

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

Na konec souboru přidejte následující řádek: local all pi heslo sudo -i -u postgres

psql

vytvořit heslo role pi 'heslo zde';

změna role pi přihlášení;

změnit roli pi superuživatel;

du

(měli byste vidět svého PI uživatele s udělenými oprávněními) create database network_stats;

q

výstup

psql -d stav_sítě

Spusťte následující dotazy:

VYTVOŘIT TABULKU traffic_per_minute (id serial, časové časové razítko bez časového pásma NOT NULL, eth0_down real, eth0_up real, eth1_down real, eth1_up real, wan0_down real, wan0_up real);

VYTVOŘIT JEDINEČNÝ INDEX time_idx ON traffic_per_minute (čas); Zkopírujte složku „logování“kódu z tohoto projektu do domovského adresáře vašeho RPi

crontab -e

Přidejte tento řádek

@restart /bin /spánek 60; nohup python /home/pi/logging/networkUsage.py>/dev/null 2> & 1

Krok 13: Nainstalujte si souhrnnou zprávu o provozu (každých 5 minut spustí Cronjob)

crontab -e

přidejte následující řádek

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

Krok 14: Nainstalujte obrazovku řídicího panelu

Zkopírujte složku „zobrazení“kódu z tohoto projektu do domovského adresáře vašeho RPi

Spusťte jej následujícím způsobem

$ python /home/pi/display/NESRouter.py Nastavte zobrazovací skript, který se má spustit při spuštění

crontab -e

Přidejte tento řádek

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

Ověřte, že obrazovka začne fungovat při restartu

sudo restart

Krok 15: Nainstalujte si web Místní využití/statistiky [https://10.0.10.1]

Nainstalujte si místní webovou stránku se statistikami využití [https://10.0.10.1]

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

sudo apt-get install apache2

restartování služby sudo apache2

Odebrat výchozí stránky

cd /var /www

sudo rm -rf html

Zkopírujte složku 'webportal' z tohoto projektu do vaší domovské složky na vašem RPi a vytvořte symbolický odkaz pro použití Apache

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

Povolte skriptování Python CGI

Přidejte do značky

Možnosti +ExecCGI AddHandler cgi-script.py sudo service apache2 restart

Nyní můžete navštívit místní web HTTP [https://10.0.10.1]

Nastavit pokročilé monitorování sítě (přes IPFM)

sudo apt-get update

sudo apt-get install ipfm

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

sudo vi /etc/ipfm.conf

Vytvořte s následujícím obsahem:

# Globální proměnné

# IPFM může monitorovat pouze jedno zařízení. ZAŘÍZENÍ eth0

# GLOBÁLNÍ ZÁZNAM KONFIGURAČNÍ ZÁZNAM

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

# log každou minutu VYKLÁDKA KAŽDOU 1 minutu

# jasné statistiky každý den VYMAZAT KAŽDÝCH 24 hodin TŘÍDIT V ŘEŠENÍ sudo service ipfm start

VOLITELNÉ: Vytváření vlastních obrázků Nintendo k vykreslení na displeji

Nahrajte vlastní soubor 128x128 na následující adresu URL:

www.digole.com/tools/PicturetoC_Hex_convert…

Vyberte soubor s obrázkem, který chcete nahrát, přidejte velikost, kterou chcete mít na obrazovce (šířka/výška)

V rozevíracím seznamu „Použito pro“vyberte „256 barev pro barevný OLED/LCD (1 bajt/pixel)“

Získejte hexadecimální výstup.

Přidejte hexadecimální výstup do souboru zobrazení/ sestavení/ záhlaví (.h), ostatní použijte jako vodítka pro syntaxi.

Zahrnout nový soubor do souboru digole.c #include myimage.h

Zahrňte do souboru obrázku nový háček příkazového řádku. Poznámka: níže uvedený příkaz říká, nakreslete svůj obrázek na pozici 10 pixelů přes 10 pixelů dolů. Můžete jej změnit na různé souřadnice X, Y, můžete také změnit hodnoty 128, 128 na jakoukoli velikost vašeho nového obrázku ve skutečnosti je.

} else if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariableHere je definován ve vašem (.h) souboru}

Nyní znovu vytvořte (ignorujte chyby) níže, aby se váš nový obrázek vykreslil pomocí následujícího příkazu.

$./digole myimage Re-Building [zahrnuto] Digole Display Driver pro vaše volitelné změny

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

Doporučuje: