Taula de continguts:
- Pas 1: instal·leu el programari RaspberryPi necessari
- Pas 2: creació del punt d'accés WiFi
- Pas 3: Subministraments necessaris: Old Broken Nintendo
- Pas 4: 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
- Pas 6: Subministraments necessaris: mini ventilador Raspberry Pi de 5V 0.1A
- Pas 7: Subministraments necessaris: adaptador de xarxa per cable USB 2.0 a 10/100 Fast Ethernet Lan Ugreen
- Pas 8: construcció
- Pas 9: Cont. Construcció
- Pas 10: Construcció Cont
- Pas 11: Connexió de la pantalla Digole
- Pas 12: instal·leu eines de control de xarxa i registre de bases de dades
- Pas 13: instal·leu l'informe de resum del trànsit (s'executa cada 5 minuts per Cronjob)
- Pas 14: instal·leu la pantalla del tauler
- Pas 15: instal·leu el lloc web Ús local / estadístiques [http://10.0.10.1]
Vídeo: Router Nintendo Wifi: 17 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:16
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
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
Pas 5: Subministraments necessaris: sèrie de 1,44 ": mòdul de pantalla LCD TFT UART / I2C / SPI 128x128
Pas 6: Subministraments necessaris: mini ventilador Raspberry Pi de 5V 0.1A
Pas 7: Subministraments necessaris: adaptador de xarxa per cable USB 2.0 a 10/100 Fast Ethernet Lan Ugreen
Pas 8: 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ó
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
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:
Steam Punk del vostre SAI per obtenir hores de funcionament del vostre router Wi-Fi: 4 passos (amb imatges)
Steam Punk del vostre SAI per obtenir hores de funcionament del vostre router Wi-Fi: hi ha alguna cosa fonamentalment desagradable que el vostre SAI converti la potència de la bateria de 12V CC en 220V CA perquè els transformadors que funcionen amb el vostre enrutador i la fibra ONT puguin convertir-lo de nou en 12 V CC! També esteu contra els [normalment
Router Ups V2: 6 passos (amb imatges)
Router Ups V2: Hola a tots, fa uns mesos havia fabricat el meu primer SAI per a routers amb bateria de ions de liti 18650, havia fet dos SAI, un per al meu enrutador i un per al meu convertidor de fibra. Va ser una mica desordenat amb dos adaptadors de corrent. Era a la meva llista de tasques per fer un SAI únic amb
Com desmuntar un ordinador amb passos i imatges senzills: 13 passos (amb imatges)
Com desmuntar un ordinador amb passos i imatges senzills: és una instrucció sobre com desmuntar un ordinador. La majoria dels components bàsics són modulars i fàcilment eliminables. Tanmateix, és important que us organitzeu al respecte. Això us ajudarà a evitar la pèrdua de peces i també a fer el muntatge
Girar el mecanitzat al router CNC DMS: 5 passos (amb imatges)
Flip Machining al router DMS CNC: després de pensar en el potencial del mecanitzat flip de 3 eixos, vaig decidir construir una pintura en relleu tridimensional de fusta contraxapada laminada. Aquesta peça es podria veure des de qualsevol costat i, tot i que els dos costats estarien relacionats entre si
Nintendo Joycon Drift Fix (no relacionat amb el programari): 8 passos (amb imatges)
Nintendo Joycon Drift Fix (no relacionat amb el programari): després d’un any d’ús intensiu, vaig començar a notar que el meu joycon derivaria quan no tocava el stick analògic. Vaig intentar calibrar i bufar aire al stick analògic, però això no es va solucionar Vaig buscar un stick analògic de recanvi, però ells