Obsah:

Nintendo Wifi router: 17 krokov (s obrázkami)
Nintendo Wifi router: 17 krokov (s obrázkami)

Video: Nintendo Wifi router: 17 krokov (s obrázkami)

Video: Nintendo Wifi router: 17 krokov (s obrázkami)
Video: НЕ ВЗДУМАЙ снимать аккумулятор с машины. Делай это ПРАВИЛЬНО ! 2024, November
Anonim
Wifi router Nintendo
Wifi router Nintendo

Použitím starého puzdra systému Nintendo Entertainment vyrobte vysoko funkčný domáci router pomocou RaspberryPI 3!

Krok 1: Nainštalujte požadovaný softvér RaspberryPi

Bliká pevný disk RaspberriPi / nainštalujte požadovaný softvér (pomocou systému Ubuntu Linux)

Stiahnite si „RASPBIAN JESSIE LITE“https://www.raspberrypi.org/downloads/raspbian/

Vytvorte si nový pevný disk pre DashboardPI

Vložte kartu microSD do počítača pomocou adaptéra USB a vytvorte obraz disku pomocou príkazu dd

Nájdite vloženú kartu microSD pomocou príkazu df -h, odpojte ju a vytvorte obraz disku pomocou príkazu dd copy copy

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

$ umount /dev /sdb1

Pozor: uistite sa, že je príkaz úplne presný, môžete týmto príkazom poškodiť ostatné disky

if = umiestnenie obrázkového súboru RASPBIAN JESSIE LITE z = umiestnenie vašej karty microSD

$ sudo dd bs = 4M if =/cesta/do/raspbian-jessie-lite.img of =/dev/sdb (poznámka: v tomto prípade je to/dev/sdb,/dev/sdb1 bol existujúcim továrenským oddielom na microSD) Nastavenie RaspberriPi

Vložte novú kartu microSD do Raspberrypi a zapnite ju monitorom pripojeným k portu HDMI

Prihlásiť sa

užívateľ: pi pass: malina Z bezpečnostných dôvodov si zmeňte heslo k účtu

sudo passwd pi Povoliť rozšírené možnosti RaspberriPi

sudo raspi-config Vyberte: 1 Rozbaľte Systém súborov

9 Rozšírené možnosti

A2 Hostname zmeňte na „NESRouter“

A4 SSH Povoliť server SSH

A7 I2C Povoliť rozhranie i2c Povoliť klávesnicu angličtina/USA

sudo nano/etc/default/keyboard Zmeňte nasledujúci riadok: XKBLAYOUT = "us" Nastavte príkaz jednoduchého adresára l [voliteľné]

vi ~/.bashrc

pridajte nasledujúci riadok:

alias l = 'ls -lh'

source ~/.bashrc Opraviť zvýraznenie predvolenej syntaxe VIM [voliteľné]

sudo vi/etc/vim/vimrc

odkomentujte nasledujúci riadok:

syntax pri reštartovaní PI, aby ste získali najnovšie zmeny

reboot Aktualizujte nastavenia miestneho časového pásma

sudo dpkg-reconfigure tzdata vyberte svoje časové pásmo pomocou rozhrania

Krok 2: Vytvorenie prístupového bodu WiFi

Upozorňujeme, že než sa z toho stane router, zapojíme RaspberryPi do existujúcej siete prostredníctvom ethernetového portu a nainštalujeme nasledujúce 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

Pridajte nasledujúci riadok:

denyinterfaces wlan0 sudo vi/etc/network/interfaces

Upravte sekciu wlan0 tak, aby vyzerala takto:

auto lo iface lo inet loopback

príručka iface eth0 inet

auto wlan0 iface wlan0 inet statická adresa 10.0.10.1 maska siete 255.255.255.0 sieť 10.0.10.0 vysielanie 10.0.10.255

auto eth1 iface eth1 inet statická adresa 10.0.20.1 maska siete 255.255.255.0 sieť 10.0.20.0 vysielanie 10.0.20.255 Znovu načítať server DHCP a odraziť konfiguráciu pre pripojenia eth0 a wlan0

reštartujte službu sudo service dhcpcd

sudo ifdown eth0; sudo ifup wlan0

Nakonfigurujte HOSTAPD (zmeňte ssid a wpa_passphrase na hodnoty podľa vlastného výberu)

sudo vi /etc/hostapd/hostapd.conf

# Toto je názov WiFi rozhrania, ktoré sme nakonfigurovali vyššie interface = wlan0

# Použite ovládač nl80211 s ovládačom ovládača brcmfmac = nl80211

# Toto je názov siete ssid = NintendoWiFi

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

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

# Povoliť 802.11n ieee80211n = 1

# Povoliť WMM wmm_enabled = 1

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

# Akceptujte všetky MAC adresy macaddr_acl = 0

# Použiť autentifikáciu WPA auth_algs = 1

# Vyžadovať od klientov, aby poznali názov siete ignore_broadcast_ssid = 0

# Použite WPA2 wpa = 2

# Použite vopred zdieľaný kľúč wpa_key_mgmt = WPA-PSK

# Heslo siete wpa_passphrase = heslo

# Použite AES, namiesto TKIP rsn_pairwise = CCMP Spustením (ale zatiaľ nemá úplné internetové pripojenie) môžeme skontrolovať, či to v tejto fáze funguje:

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

sudo vi/etc/default/hostapd

Nájdite riadok

#DAEMON_CONF = "" a nahraďte ho

DAEMON_CONF = "/etc/hostapd/hostapd.conf" Konfigurovať DNSMASQ

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

sudo vi /etc/dnsmasq.conf

bind-interfaces # Pripojte sa k rozhraniu, aby ste sa uistili, že neposielame veci inam na server = 8.8.8.8 # Preposielanie požiadaviek DNS na potrebnú doménu Google DNS # Neposielajte krátke názvy falošné-priv # Nikdy neposielajte adresy ďalej -smerované medzery pre adresy.

# Priraďte adresy IP s nekonečným časom prenájmu (pre štatistiky používania zariadenia) dhcp-range = wlan0, 10.0.10.100, 10.0.10.200, 255.255.255.0, 10.0.10.255, nekonečný rozsah dhcp = eth1, 10.0.20.100, 10.0. 20.200, 255.255.255.0, 10.0.20.255, nekonečné NASTAVENIE IPV4 DOPRAVA

sudo vi /etc/sysctl.conf

[odkomentujte] net.ipv4.ip_forward = 1

Okamžite ho aktivujte pomocou sudo sh -c "echo 1>/proc/sys/net/ipv4/ip_forward"

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

sudo iptables -A DOPREDU -i et0 -o eth1 -m stav -štát SÚVISIACE, ZARIADENÉ -j PRIJMEM

sudo iptables -A DOPREDU -i eth1 -o eth0 -j PRIJAŤ

sudo iptables -A DOPREDU -i et0 -o wlan0 -m stav -štát SÚVISIACE, ZARIADENÉ -j PRIJMEM

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

Uložte nastavenia iptables pre ďalšie reštartovanie

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

Vytvorte súbor pravidiel ipv4 (s novým obsahom)

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

iptables-restore </etc/iptables.ipv4.nat Reštartujte služby

sudo service hostapd start sudo service dnsmasq start

sudo reštart

Priradenie statických adries IP [voliteľné]

Ak chcete, aby hostitelia vo vašej sieti mali statické adresy IP, použite nasledujúci postup

Akvizícia hostiteľov, ktorí sú v súčasnosti pripojení prostredníctvom DHCP vi /var/lib/misc/dnsmasq.lease

Pridajte MAC adresu (z výstupu vyššie) a IP adresu, ktorú by ste im chceli priradiť, na sudo vi /etc/dnsmasq.conf

# main desktop dhcp-host = 12: 34: 56: 78: 9a: bc, 10.0.20.20 Poznámka: Toto priradí sieťové rozhranie s MAC adresou: 12: 34: 56: 78: 9a: bc k IP adrese 10.0 0,20,20. Uvedená adresa IP nemusí byť v uvedenom rozsahu DHCP, iba v tej istej podsieti. Moja hlavná pracovná plocha vyššie je na podsieti eth1: 10.0.20.0, takže som jej dal IP adresu 10.0.20.20.

Pridanie brány firewall UFW

sudo apt-get install ufw

Povoliť port 22 na verejné použitie (na vzdialený prístup k sieti)

sudo ufw povoliť 22

Povoliť všetky porty v mojej lokálnej sieti

sudo ufw povoliť od 10.0.10.0/24 sudo ufw povoliť od 10.0.20.0/24

Povoliť webové porty každému

sudo ufw povoliť 80

Povoliť bezpečné webové porty každému

sudo ufw povoliť 443

Povoľte UFW a skontrolujte stav

sudo ufw --force povoliť

sudo ufw stav

Opravte CHYBU, keď sa UFW nespustí pri spustení

sudo su crontab -e

Pridajte nasledujúci riadok: @reboot /bin /sleep 60; ufw -zapnutie sily

Krok 3: Potrebné zásoby: Old Broken Nintendo

Potrebné zásoby: Old Broken Nintendo
Potrebné zásoby: Old Broken Nintendo

Staré puzdro Nintendo z pokazeného NES (odstráňte všetok starý obsah z puzdra a ponechajte iba vonkajší rám, tlačidlá napájania / reset a pripojenia ovládača)

Krok 4: Potrebné zásoby: Raspberry Pi 3 Model B

Potrebný spotrebný materiál: Raspberry Pi 3 Model B
Potrebný spotrebný materiál: Raspberry Pi 3 Model B

Krok 5: Potrebný spotrebný materiál: 1,44 -palcový sériový modul: UART/I2C/SPI TFT LCD 128x128 zobrazovací modul

Potrebné zásoby: 1,44
Potrebné zásoby: 1,44
Potrebné zásoby: 1,44
Potrebné zásoby: 1,44

Krok 6: Potrebné zásoby: 5V 0,1A mini ventilátor Raspberry Pi

Potrebné zásoby: 5V 0,1A mini ventilátor Raspberry Pi
Potrebné zásoby: 5V 0,1A mini ventilátor Raspberry Pi

Krok 7: Potrebný materiál: Ugreen USB 2.0 až 10/100 Fast Ethernet Lan káblový sieťový adaptér

Potrebný spotrebný materiál: Ugreen USB 2.0 až 10/100 Fast Ethernet Lan káblový sieťový adaptér
Potrebný spotrebný materiál: Ugreen USB 2.0 až 10/100 Fast Ethernet Lan káblový sieťový adaptér

Krok 8: Konštrukcia

Konštrukcia
Konštrukcia

Inštalácia vnútri NES

Pomocou 3D tlačiarne vytlačte rámček displeja Digole „NESPanel“v priečinku/construction/display-frame/. [ak nemáte 3D tlačiareň, môžete jemne vyrezať štvorcový otvor pre displej Digole pomocou nástroja Dremel] Vyrežte nasledujúce otvory v zadnej a bočnej časti puzdra, aby bolo možné malý ventilátor pripevniť na bočným a napájacím/ethernetovým a USB ethernetovým káblom, cez ktoré sa dostanete zozadu.

Krok 9: Pokračovanie stavby

Konštrukcia pokrač
Konštrukcia pokrač

Odskrutkujte pravý horný čierny panel z NES a čisto vyrežte dostatočne veľký štvorcový otvor na pripevnenie vášho digole displeja. Horúce Prilepte displej na miesto pomocou 3D vytlačeného rámu „NESPanel“.

Krok 10: Pokračovanie stavby

Konštrukcia pokrač
Konštrukcia pokrač

Namontujte RaspberryPi do stredu spodnej časti prázdneho puzdra NES, upevnite lepidlom alebo malou skrutkou cez dno. Pomocou odporu 270 ohmov pripojte „napájaciu LED“NES k pinom 5V a GND v Raspberry Pi (krátky LED vodič je uzemnenie). Pripojte malý ventilátor aj k 5V a GND kolíkom, aby bežal, keď sa jednotka spustí, prilepte ventilátor k otvoru v boku.

Krok 11: Pripojenie displeja Digole

Nasledujúce piny spojte s kolíkmi na RaspberryPi

VCC je pripojený k 3v GND je uzemnený DATA je SDA CLOCK je SCL Teraz by ste mali vidieť zariadenie vo vašom príkaze i2cdetect

i2cdetect -y 1 by sa mal v mriežke textu zobraziť ako 27

Krok 12: Nainštalujte si nástroje na monitorovanie siete a protokolovanie databázy

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

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

Na koniec súboru pridajte nasledujúci riadok: local all pi heslo sudo -i -u postgres

psql

vytvorte heslo roly „heslo tu“;

zmena roly prihlásenie;

zmeniť úlohu pi superužívateľ;

du

(mali by ste vidieť svojho používateľa PI s udelenými povoleniami) create database network_stats;

q

východ

psql -d stav_sieti

Spustite nasledujúce dotazy:

VYTVORIŤ TABUĽKU traffic_per_minute (id serial, time timestamp without time zone NOT NULL, eth0_down real, eth0_up real, eth1_down real, eth1_up real, wan0_down real, wan0_up real);

VYTVORIŤ JEDINEČNÝ INDEX time_idx ON traffic_per_minute (čas); Skopírujte priečinok „protokolovania“kódu z tohto projektu do domovského adresára vášho RPi

crontab -e

Pridajte tento riadok

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

Krok 13: Nainštalujte si súhrnný prehľad návštevnosti (každých 5 minút ho spustí Cronjob)

crontab -e

pridajte nasledujúci riadok

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

Krok 14: Nainštalujte obrazovku hlavného panela

Skopírujte priečinok „zobrazenie“kódu z tohto projektu do domovského adresára vášho RPi

Spustite to nasledovne

$ python /home/pi/display/NESRouter.py Nastavte zobrazovací skript, ktorý sa má spustiť pri spustení

crontab -e

Pridajte tento riadok

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

Uistite sa, že obrazovka začne fungovať pri reštarte

sudo reštart

Krok 15: Nainštalujte si webovú stránku o miestnom využití/štatistikách [https://10.0.10.1]

Nainštalujte si webovú stránku o miestnom využití/štatistikách [https://10.0.10.1]

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

sudo apt-get nainštalovať apache2

reštartujte službu sudo apache2

Odstráňte predvolené stránky

cd /var /www

sudo rm -rf html

Skopírujte priečinok „webportal“z tohto projektu do svojho domovského priečinka v zariadení RPi a vytvorte symbolický odkaz, ktorý bude apache používať

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

Povoliť skriptovanie Python CGI

Pridajte do značky

Možnosti +ExecCGI AddHandler cgi-script.py sudo služba apache2 reštart

Teraz môžete navštíviť miestny server HTTP [https://10.0.10.1]

Nastavte rozšírené monitorovanie siete (prostredníctvom IPFM)

sudo apt-get aktualizácia

sudo apt-get install ipfm

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

sudo vi /etc/ipfm.conf

Vytvorte s nasledujúcim obsahom:

# Globálne premenné

# IPFM môže monitorovať iba jedno zariadenie. ZARIADENIE et0

# GLOBÁLNY ZÁPIS KONFIGURAČNÝ ZÁZNAM

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

# log každú minútu VYKLÁPKA KAŽDÚ 1 minútu

# jasné štatistiky každý deň VYMAZAŤ KAŽDÝCH 24 hodín Triediť v RIEŠENÍ sudo service ipfm start

VOLITELNÉ: Vytváranie vlastných obrázkov Nintendo na vykreslenie na displeji

Nahrajte svoj vlastný súbor 128 x 128 na nasledujúcu adresu URL:

www.digole.com/tools/PicturetoC_Hex_convert…

Vyberte súbor s obrázkom, ktorý chcete nahrať, a zadajte, akú veľkosť má mať na obrazovke (šírka/výška)

V rozbaľovacom zozname „Použité na“vyberte „256 farieb pre farebný OLED/LCD (1 bajt/pixel)“

Získajte hexadecimálny výstup.

Pridajte hexadecimálny výstup do súboru display/ build/ header (.h), ostatné použite ako sprievodcu syntaxou.

Zahrňte nový súbor do súboru digole.c #include myimage.h

Zahrňte nový háčik príkazového riadka do súboru s obrázkom do súboru. Poznámka: nižšie uvedený príkaz hovorí, nakreslite svoj obrázok na pozíciu 10 pixelov nad 10 pixelov nadol. Môžete ho zmeniť na rôzne súradnice X, Y, alebo tiež môžete zmeniť hodnoty 128, 128 na akúkoľvek veľkosť, ktorou nový obrázok v skutočnosti je.

} else if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariableHere je definovaná vo vašom (.h) súbore}

Teraz znova zostavte (chyby ignorujte), aby sa váš nový obrázok vykreslil pomocou nasledujúceho príkazu.

$./digole myimage Prestavba [v cene] Ovládač displeja Digole pre vaše voliteľné zmeny

$ cd zobrazenie/zostava $ gcc digole.c $ mv a.out../../digole $ chmod +x../../digole

Krok 16: Hotovo

Odporúča: