Taula de continguts:

Router Nintendo Wifi: 17 passos (amb imatges)
Router Nintendo Wifi: 17 passos (amb imatges)

Vídeo: Router Nintendo Wifi: 17 passos (amb imatges)

Vídeo: Router Nintendo Wifi: 17 passos (amb imatges)
Vídeo: Обзор роутера Xiaomi Mi WiFi Router 3 версии, разборка и настройка ПО 2024, Desembre
Anonim
Encaminador Nintendo Wifi
Encaminador Nintendo Wifi

Utilitzant una funda del sistema Old Nintendo Entertainment, produïu un enrutador domèstic molt funcional mitjançant un RaspberryPI 3.

Pas 1: instal·leu el programari RaspberryPi necessari

Programari requerit per instal·lar o instal·lar el disc dur RaspberriPi (mitjançant Ubuntu Linux)

Descarregueu "RASPBIAN JESSIE LITE"

Creeu el vostre nou disc dur per a DashboardPI

Introduïu la microSD a l'ordinador mitjançant un adaptador USB i creeu la imatge del disc mitjançant l'ordre dd

Localitzeu la targeta microSD inserida mitjançant l'ordre df -h, desmunteu-la i creeu la imatge del disc amb l'ordre copy copy dd

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

$ umount / dev / sdb1

Atenció: assegureu-vos que l'ordre és completament precisa, ja que podeu danyar altres discos amb aquesta ordre

if = ubicació del fitxer d'imatge RASPBIAN JESSIE LITE de = ubicació de la vostra targeta microSD

$ sudo dd bs = 4M if = / path / to / raspbian-jessie-lite.img de = / dev / sdb (nota: en aquest cas, és / dev / sdb, / dev / sdb1 era una partició de fàbrica existent a la microSD) Configuració del RaspberriPi

Introduïu la vostra nova targeta microSD al raspberrypi i enceneu-la amb un monitor connectat al port HDMI

iniciar Sessió

usuari: pi pass: raspberry Canvieu la contrasenya del vostre compte per seguretat

sudo passwd pi Habiliteu les opcions avançades de RaspberriPi

sudo raspi-config Trieu: 1 Amplieu el sistema de fitxers

9 Opcions avançades

Nom d'amfitrió A2 canvieu-lo per "NESRouter"

A4 SSH Activa el servidor SSH

A7 I2C Activa la interfície i2c Activa el teclat anglès / nord-americà

sudo nano / etc / default / keyboard Canvieu la línia següent: XKBLAYOUT = "us" Configureu l'ordre del directori simple l [opcional]

vi ~ /.bashrc

afegiu la línia següent:

àlies l = 'ls -lh'

font ~ /.bashrc Corregir el ressaltat de la sintaxi per defecte de VIM [opcional]

sudo vi / etc / vim / vimrc

descomenteu la línia següent:

sintaxi a Reinicieu el vostre PI per obtenir els darrers canvis

reiniciar Actualitzeu la configuració de la zona horària local

sudo dpkg-reconfigure tzdata seleccioneu la vostra zona horària mitjançant la interfície

Pas 2: creació del punt d'accés WiFi

Tingueu en compte que abans que es converteixi en un encaminador, connectem el RaspberryPi a una xarxa existent a través del seu port Ethernet per instal·lar els paquets següents

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

Afegiu la línia següent:

denyinterfaces wlan0 sudo vi / etc / network / interfaces

Editeu la secció wlan0 perquè sembli així:

auto lo iface lo inet loopback

iface eth0 inet manual

auto wlan0 iface wlan0 inet adreça estàtica 10.0.10.1 màscara de xarxa 255.255.255.0 xarxa 10.0.10.0 emissió 10.0.10.255

auto eth1 iface eth1 inet adreça estàtica 10.0.20.1 netmask 255.255.255.0 network 10.0.20.0 broadcast 10.0.20.255 Recarregueu el servidor DHCP i reboteu la configuració de les connexions eth0 i wlan0

servei sudo dhcpcd reinici

sudo ifdown eth0; sudo ifup wlan0

Configureu HOSTAPD (canvieu ssid i wpa_passphrase als valors que vulgueu escollir)

sudo vi /etc/hostapd/hostapd.conf

# Aquest és el nom de la interfície WiFi que hem configurat anteriorment interface = wlan0

# Utilitzeu el controlador nl80211 amb el controlador brcmfmac = nl80211

# Aquest és el nom de la xarxa ssid = NintendoWiFi

# Utilitzeu la banda de 2,4 GHz hw_mode = g

# Utilitzeu el canal 6 canal = 6

# Habiliteu 802.11n ieee80211n = 1

# Habilita WMM wmm_enabled = 1

# Activeu els canals de 40 MHz amb un interval de protecció de 20 ns ht_capab = [HT40] [SHORT-GI-20] [DSSS_CCK-40]

# Accepteu totes les adreces MAC macaddr_acl = 0

# Utilitzeu l'autenticació WPA auth_algs = 1

# Exigiu als clients que coneguin el nom de la xarxa ignore_broadcast_ssid = 0

# Utilitzeu WPA2 wpa = 2

# Utilitzeu una clau compartida prèviament wpa_key_mgmt = WPA-PSK

# La contrasenya de xarxa wpa_passphrase = contrasenya

# Utilitzeu AES, en lloc de TKIP rsn_pairwise = CCMP Podem comprovar si funciona en aquesta etapa executant (però encara no té connectivitat a Internet completa):

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

sudo vi / etc / default / hostapd

Cerqueu la línia

# DAEMON_CONF = "" i substituïu-lo per

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

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

sudo vi /etc/dnsmasq.conf

bind-interfaces # Vincula a la interfície per assegurar-nos que no estem enviant coses a cap altre lloc del servidor = 8.8.8.8 # Reenvia les sol·licituds de DNS al domini DNS de Google necessari # No reenvieu noms curts falsos-priv # No reenvieu mai les adreces -espais d’adreces encaminades.

# Assignar adreces IP amb temps de lloguer infinit (per a estadístiques d'ús del dispositiu) dhcp-range = wlan0, 10.0.10.100, 10.0.10.200, 255.255.255.0, 10.0.10.255, dhcp-range infinit = eth1, 10.0.20.100, 10.0. 20.200, 255.255.255.0, 10.0.20.255, CONFIGURACIÓ infinita IPV4 FORWARDING

sudo vi /etc/sysctl.conf

[descomenta] net.ipv4.ip_forward = 1

Activeu-lo immediatament amb sudo sh -c "echo 1> / proc / sys / net / ipv4 / ip_forward"

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

sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELACIONATS, ESTABLITS -j ACCEPTAR

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

sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED, ESTABLISHED -j ACCEPT

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

Deseu la configuració d’iptables per al proper reinici

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

Crea un fitxer de regles ipv4 (amb contingut nou)

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

iptables-restore </etc/iptables.ipv4.nat Reinicieu els serveis

sudo service hostapd start sudo service dnsmasq start

sudo reiniciar

Assignació d'IP estàtiques [Opcional]

Si voleu que els amfitrions de la vostra xarxa tinguin IPs estàtics, utilitzeu el següent

Adquiriu els amfitrions connectats actualment mitjançant DHCP vi /var/lib/misc/dnsmasq.leases

Afegiu l'adreça MAC (de la sortida anterior) i l'adreça IP que vulgueu assignar a sudo vi /etc/dnsmasq.conf

# desktop principal dhcp-host = 12: 34: 56: 78: 9a: bc, 10.0.20.20 Nota: Això assignarà la interfície de xarxa amb l'adreça MAC: 12: 34: 56: 78: 9a: bc a l'adreça IP 10.0.20.20. L'adreça IP que apareix a la llista NO ha de situar-se en el rang DHCP indicat, només a la mateixa subxarxa. El meu escriptori principal anterior es troba a la subxarxa eth1: 10.0.20.0, de manera que li vaig donar l'adreça IP de 10.0.20.20.

Addició de tallafocs UFW

sudo apt-get install ufw

Permetre el port 22 per a ús públic (per a accés a la xarxa remota)

sudo ufw permet 22

Permet tots els ports de la meva xarxa local

sudo ufw allow a partir del 10.0.10.0/24 sudo ufw allow a partir del 10.0.20.0/24

Permetre els ports web a tothom

sudo ufw permet 80

Permeteu ports web segurs a tothom

sudo ufw permet 443

Activeu UFW i comproveu l'estat

sudo ufw --force enable

estat sudo ufw

Corregiu BUG amb UFW que no s'inicia en iniciar

sudo su crontab -e

Afegiu la línia següent: @reboot / bin / sleep 60; ufw --force enable

Pas 3: Subministraments necessaris: Old Broken Nintendo

Subministraments necessaris: Old Broken Nintendo
Subministraments necessaris: Old Broken Nintendo

Antiga funda Nintendo d'un NES trencat (elimineu tot el contingut antic de la funda, deixant només el marc exterior, els botons d'engegada / reinici i les connexions del controlador)

Pas 4: Subministraments necessaris: Raspberry Pi 3 Model B

Subministraments necessaris: Raspberry Pi 3 Model B
Subministraments necessaris: Raspberry Pi 3 Model B

Pas 5: Subministraments necessaris: sèrie de 1,44 ": mòdul de pantalla LCD TFT UART / I2C / SPI 128x128

Subministraments necessaris: 1,44
Subministraments necessaris: 1,44
Subministraments necessaris: 1,44
Subministraments necessaris: 1,44

Pas 6: Subministraments necessaris: mini ventilador Raspberry Pi de 5V 0.1A

Subministraments necessaris: 5V 0.1A Mini Ventilador Raspberry Pi
Subministraments necessaris: 5V 0.1A Mini Ventilador Raspberry Pi

Pas 7: Subministraments necessaris: adaptador de xarxa per cable USB 2.0 a 10/100 Fast Ethernet Lan Ugreen

Subministraments necessaris: adaptador de xarxa per cable LAN USB 2.0 a 10/100 Fast Ethernet
Subministraments necessaris: adaptador de xarxa per cable LAN USB 2.0 a 10/100 Fast Ethernet

Pas 8: construcció

Construcció
Construcció

Instal·leu-la a l'interior del NES

Amb una impressora 3D, imprimiu el marc de visualització Digole "NESPanel" a la carpeta / construction / display-frame /. [si no teniu una impressora 3D, podeu tallar delicadament un forat quadrat per a la pantalla Digole amb una eina Dremel] Tallar els següents forats a la part posterior i lateral de la caixa per permetre que el petit ventilador es fixi a la lateral i els cables d'alimentació / ethernet i USB per entrar per la part posterior.

Pas 9: Cont. Construcció

Const. Cont
Const. Cont

Descargoleu el panell negre superior dret del NES i talleu net un forat quadrat prou gran per muntar la pantalla del digol. Enganxeu la pantalla al lloc amb el marc imprès en 3D "NESPanel" a la part superior.

Pas 10: Construcció Cont

Const. Cont
Const. Cont

Munteu el RaspberryPi al mig de la part inferior de la funda NES buida, subjecteu-la amb cola o amb un cargol petit a la part inferior. Utilitzant un resistor de 270 ohm, connecteu el "LED d'encesa" del NES als pins 5V i GND del Raspberry Pi (el cable LED curt és el sòl). Connecteu el ventilador petit als passadors de 5 V i GND per fer-lo funcionar quan es posi en marxa la unitat, enganxeu-lo al forat del costat.

Pas 11: Connexió de la pantalla Digole

Connecteu els pins següents als pins del RaspberryPi

VCC està connectat a 3v GND està a terra Les DADES són SDA CLOCK és SCL Ara hauríeu de veure el dispositiu a l'ordre i2cdetect

i2cdetect -y 1 hauria d'aparèixer a la graella de text com a 27

Pas 12: instal·leu eines de control de xarxa i registre de bases de dades

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

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

Afegiu la línia següent al final del fitxer: local all pi password sudo -i -u postgres

psql

creeu la contrasenya de rol pi 'contrasenya aquí';

alterar l'inici de sessió de pi;

alterar el rol superusuari;

du

(hauríeu de veure el vostre usuari PI amb els permisos concedits) crear bases de dades estadístiques de xarxa;

q

sortir

psql -d estadístiques de xarxa

Executeu les consultes següents:

CREA TABLA traffic_per_minute (identificador de sèrie, marca de temps sense zona horària NO NUL, eth0_down real, eth0_up real, eth1_down real, eth1_up real, wan0_down real, wan0_up real);

CREAR ÍNDEX ÚNIC time_idx ON traffic_per_minute (time); Copieu la carpeta de registre "registre" d'aquest projecte al directori inicial del vostre RPi

crontab -e

Afegiu aquesta línia

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

Pas 13: instal·leu l'informe de resum del trànsit (s'executa cada 5 minuts per Cronjob)

crontab -e

afegiu la línia següent

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

Pas 14: instal·leu la pantalla del tauler

Copieu la carpeta "mostra" del codi d'aquest projecte al directori inicial del vostre RPi

Executeu-lo de la següent manera

$ python /home/pi/display/NESRouter.py Configureu l'script de visualització perquè s'executi a l'inici

crontab -e

Afegiu aquesta línia

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

Verifiqueu que la pantalla comenci a funcionar en reiniciar

sudo reiniciar

Pas 15: instal·leu el lloc web Ús local / estadístiques [https://10.0.10.1]

Instal·leu el lloc web d’ús / estadístiques locals [https://10.0.10.1]

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

sudo apt-get install apache2

reinici del servei sudo apache2

Elimineu les pàgines predeterminades

cd / var / www

sudo rm -rf html

Copieu la carpeta "portport web" d'aquest projecte a la carpeta inicial del vostre RPi i creeu l'enllaç simbòlic per a l'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

Activeu Python CGI Scripting

Afegiu dins de l'etiqueta

Options + ExecCGI AddHandler cgi-script.py sudo service apache2 reinicia

Ara podeu visitar el lloc HTTP local [https://10.0.10.1]

Configureu la supervisió avançada de la xarxa (mitjançant IPFM)

sudo apt-get update

sudo apt-get install ipfm

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

sudo vi /etc/ipfm.conf

Creeu amb el contingut següent:

# Variables globals

# IPFM només pot supervisar un dispositiu. DISPOSITIU eth0

# REGISTRE DE CONFIGURACIÓ DE REGISTRE GLOBAL

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

# registre cada minut DUMP CADA 1 minut

# esborrar estadístiques cada dia ESBORRAR CADA 24 hores ORDENAR A RESOLVER sudo service ipfm start

OPCIONAL: Creeu les vostres pròpies imatges de Nintendo per representar-les a la pantalla

Pengeu el vostre propi fitxer de 128x128 a l'URL següent:

www.digole.com/tools/PicturetoC_Hex_convert…

Trieu el fitxer d'imatge que voleu carregar, afegiu la mida que vulgueu a la pantalla (Amplada / Alçada)

Seleccioneu "256 colors per a color OLED / LCD (1 byte / píxel)" al menú desplegable "Utilitzat per"

Obteniu la sortida hexadecimal.

Afegiu la sortida hexadecimal a un fitxer display / build / header (.h), utilitzeu els altres com a guies de sintaxi.

Incloeu el fitxer nou al fitxer digole.c #include myimage.h

Incloeu un nou ganxo de línia d'ordres al fitxer d'imatge al fitxer. Nota: l'ordre següent diu dibuixar la imatge a la posició de 10 píxels per sobre de 10 píxels cap avall. Podeu canviar-lo a diferents coordenades X, Y, també podeu canviar els valors 128, 128 a la mida que tingueu realment la vostra nova imatge.

} else if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariableHere es defineix al fitxer (.h)}

Ara torneu a generar (feu cas omís dels errors) que apareixen a continuació per fer que la vostra nova imatge es renderitzi amb l'ordre següent.

$./digole myimage Reconstrucció [inclòs] Controlador de pantalla Digole per als vostres canvis opcionals

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

Recomanat: