Indholdsfortegnelse:
- Trin 1: Installer påkrævet RaspberryPi -software
- Trin 2: Oprettelse af WiFi -adgangspunktet
- Trin 3: Nødvendige forsyninger: Old Broken Nintendo
- Trin 4: Nødvendige forbrugsvarer: Raspberry Pi 3 Model B
- Trin 5: Nødvendige forbrugsvarer: 1,44 "Seriel: UART/I2C/SPI TFT LCD 128x128 skærmmodul
- Trin 6: Nødvendige forsyninger: 5V 0.1A Mini Fan Raspberry Pi
- Trin 7: Nødvendige forbrugsvarer: Ugreen USB 2.0 til 10/100 Fast Ethernet Lan Wired Network Adapter
- Trin 8: Konstruktion
- Trin 9: Konstruktion Forts
- Trin 10: Konstruktion Forts
- Trin 11: Tilslutning af Digole Display
- Trin 12: Installer værktøjer til overvågning af netværk og DB -logning
- Trin 13: Installer trafikoversigtsrapporten (kører hvert 5. minut af Cronjob)
- Trin 14: Installer instrumentbrættet
- Trin 15: Installer det lokale forbrug/statistikwebsted [http://10.0.10.1]
Video: Nintendo Wifi Router: 17 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:30
Brug en gammel Nintendo Entertainment -systemkasse til at producere en meget funktionel hjemmrouter ved hjælp af en RaspberryPI 3!
Trin 1: Installer påkrævet RaspberryPi -software
Blinkende RaspberriPi -harddisk / Installer påkrævet software (Brug af Ubuntu Linux)
Download "RASPBIAN JESSIE LITE"
Opret din nye harddisk til DashboardPI
Indsæt microSD til din computer via USB -adapter, og opret diskbilledet ved hjælp af kommandoen dd
Find dit indsatte microSD -kort via kommandoen df -h, afmonter det, og opret diskbilledet med kommandoen disk copy dd
$ df -h/dev/sdb1 7.4G 32K 7.4G 1%/media/XXX/1234-5678
$ umount /dev /sdb1
Forsigtig: sørg for, at kommandoen er fuldstændig nøjagtig, du kan beskadige andre diske med denne kommando
hvis = placering af RASPBIAN JESSIE LITE billedfil af = placering af dit microSD -kort
$ sudo dd bs = 4M hvis =/path/to/raspbian-jessie-lite.img af =/dev/sdb (Bemærk: i dette tilfælde er det/dev/sdb,/dev/sdb1 var en eksisterende fabrikspartition på microSD) Opsætning af din RaspberriPi
Indsæt dit nye microSD -kort i raspberrypi, og tænd det med en skærm tilsluttet HDMI -porten
Log på
bruger: pi pass: hindbær Skift din kontos adgangskode for sikkerhed
sudo passwd pi Aktiver RaspberriPi Avancerede indstillinger
sudo raspi-config Vælg: 1 Udvid filsystemet
9 Avancerede indstillinger
A2 -værtsnavn ændre det til "NESRouter"
A4 SSH Aktiver SSH -server
A7 I2C Aktiver i2c -grænseflade Aktiver engelsk/amerikansk tastatur
sudo nano/etc/default/keyboard Skift følgende linje: XKBLAYOUT = "os" Konfigurer den simple bibliotek l kommando [valgfrit]
vi ~/.bashrc
tilføj følgende linje:
alias l = 'ls -lh'
kilde ~/.bashrc Fix VIM standardsyntaks fremhævning [valgfrit]
sudo vi/etc/vim/vimrc
kommenter følgende linje:
syntaks på Genstart din PI for at få de seneste ændringer
genstart Opdater lokale tidszoneindstillinger
sudo dpkg-omkonfigurer tzdata vælg din tidszone ved hjælp af grænsefladen
Trin 2: Oprettelse af WiFi -adgangspunktet
Bemærk, før dette bliver en router, tilslutter vi RaspberryPi til et eksisterende netværk via dets ethernet -port for at installere følgende pakker
sudo apt-get opdatering && sudo apt-get -y opgradering
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
Tilføj følgende linje:
denyinterfaces wlan0 sudo vi/etc/network/interfaces
Rediger wlan0 -sektionen, så den ser sådan ud:
auto lo iface lo inet loopback
iface eth0 inet manual
auto wlan0 iface wlan0 inet statisk adresse 10.0.10.1 netmask 255.255.255.0 netværk 10.0.10.0 udsendelse 10.0.10.255
auto eth1 iface eth1 inet statisk adresse 10.0.20.1 netmask 255.255.255.0 netværk 10.0.20.0 broadcast 10.0.20.255 Genindlæs DHCP -server og afvis konfigurationen for eth0- og wlan0 -forbindelser
sudo service dhcpcd genstart
sudo ifdown eth0; sudo ifup wlan0
Konfigurer HOSTAPD (Skift ssid og wpa_passphrase til de værdier, du selv vælger)
sudo vi /etc/hostapd/hostapd.conf
# Dette er navnet på den WiFi -grænseflade, vi konfigurerede ovenfor grænsefladen = wlan0
# Brug nl80211 -driveren med brcmfmac -driverdriveren = nl80211
# Dette er navnet på netværket ssid = NintendoWiFi
# Brug 2,4 GHz -båndet hw_mode = g
# Brug kanal 6 kanal = 6
# Aktiver 802.11n ieee80211n = 1
# Aktiver WMM wmm_enabled = 1
# Aktiver 40MHz kanaler med 20ns vagtinterval ht_capab = [HT40] [SHORT-GI-20] [DSSS_CCK-40]
# Accepter alle MAC -adresser macaddr_acl = 0
# Brug WPA -godkendelse auth_algs = 1
# Kræver, at klienter kender netværksnavnet ignore_broadcast_ssid = 0
# Brug WPA2 wpa = 2
# Brug en på forhånd delt nøgle wpa_key_mgmt = WPA-PSK
# Netværksadgangssætningen wpa_passphrase = adgangskode
# Brug AES, i stedet for TKIP rsn_pairwise = CCMP Vi kan kontrollere, om det fungerer på dette tidspunkt ved at køre (men ikke har fuld internetforbindelse endnu):
sudo/usr/sbin/hostapd /etc/hostapd/hostapd.conf
sudo vi/etc/default/hostapd
Find linjen
#DAEMON_CONF = "" og erstat det med
DAEMON_CONF = "/etc/hostapd/hostapd.conf" Konfigurer DNSMASQ
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo vi /etc/dnsmasq.conf
bind-interfaces # Bind til grænsefladen for at sikre, at vi ikke sender ting andre steder server = 8.8.8.8 # Videresend DNS-anmodninger til Google DNS-domænebehovet # Videresend ikke korte navne falsk-priv # Videresend aldrig adresser i -ruterede adresserum.
# Tildel IP-adresser med uendelig leasingtid (for enhedsbrugsstatistik) dhcp-range = wlan0, 10.0.10.100, 10.0.10.200, 255.255.255.0, 10.0.10.255, uendelig dhcp-range = eth1, 10.0.20.100, 10.0. 20.200, 255.255.255.0, 10.0.20.255, uendelig OPSÆT IPV4 FREMSEND
sudo vi /etc/sysctl.conf
[uncomment] net.ipv4.ip_forward = 1
Aktiver det med det samme med sudo sh -c "echo 1>/proc/sys/net/ipv4/ip_forward"
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -E FREMTID -i eth0 -o eth1 -m tilstand -stat RELATERET, ESTABLERET -j ACCEPT
sudo iptables -A FREMTIL -i eth1 -o eth0 -j ACCEPT
sudo iptables -E FREMTID -i eth0 -o wlan0 -m tilstand -stat RELATERET, ETABLERET -j ACCEPT
sudo iptables -A FREMTIL -i wlan0 -o eth0 -j ACCEPT
Gem iptables -indstillinger til næste genstart
sudo sh -c "iptables -save> /etc/iptables.ipv4.nat"
Opret ipv4 -reglerfil (med nyt indhold)
sudo vi/lib/dhcpcd/dhcpcd-hooks/70-ipv4-nat
iptables-restore </etc/iptables.ipv4.nat Genstart tjenester
sudo service hostapd start sudo service dnsmasq start
sudo genstart
Tildeling af statiske IP'er [valgfrit]
Hvis du vil have værter på dit netværk til at have statisk ips, skal du bruge følgende
Anskaff de værter, der i øjeblikket er forbundet via DHCP vi /var/lib/misc/dnsmasq.leases
Tilføj MAC -adressen (fra output ovenfor) og den IP -adresse, du gerne vil tildele dem til sudo vi /etc/dnsmasq.conf
# main desktop dhcp-host = 12: 34: 56: 78: 9a: bc, 10.0.20.20 Bemærk: Dette tildeler netværksgrænsefladen MAC-adressen: 12: 34: 56: 78: 9a: bc til IP-adressen 10.0.20.20. Den angivne IP -adresse behøver IKKE at være i det angivne DHCP -område, bare på det samme subnet. Mit hovedskrivebord ovenfor er på subnet eth1: 10.0.20.0, så jeg gav det IP -adresse 10.0.20.20.
Tilføjelse af UFW Firewall
sudo apt-get install ufw
Tillad port 22 til offentlig brug (til fjernnetværksadgang)
sudo ufw tillade 22
Tillad alle porte på mit lokale netværk
sudo ufw tillader fra 10.0.10.0/24 sudo ufw tillader fra 10.0.20.0/24
Tillad webporte til alle
sudo ufw tillader 80
Tillad sikre webporte til alle
sudo ufw tillade 443
Aktiver UFW, og kontroller status
sudo ufw -tvinge til
sudo ufw status
Fix BUG med UFW, der ikke starter ved opstart
sudo su crontab -e
Tilføj følgende linje: @reboot /bin /sleep 60; ufw -tvinge til
Trin 3: Nødvendige forsyninger: Old Broken Nintendo
Gammel Nintendo -sag fra en ødelagt NES (fjern alt det gamle indhold inde i kassen, lad kun den ydre ramme, tænd / sluk -knapperne og controllerforbindelserne efterlades)
Trin 4: Nødvendige forbrugsvarer: Raspberry Pi 3 Model B
Trin 5: Nødvendige forbrugsvarer: 1,44 "Seriel: UART/I2C/SPI TFT LCD 128x128 skærmmodul
Trin 6: Nødvendige forsyninger: 5V 0.1A Mini Fan Raspberry Pi
Trin 7: Nødvendige forbrugsvarer: Ugreen USB 2.0 til 10/100 Fast Ethernet Lan Wired Network Adapter
Trin 8: Konstruktion
Installer inde i NES
Udskriv en Digole Display-ramme "NESPanel" i mappen/construction/display-frame/folder med en 3D-printer. [hvis du ikke har en 3D -printer, kan du delikat skære et firkantet hul til Digole -displayet med et Dremel -værktøj] Skær følgende huller op bag på og bag på kabinettet, så den lille blæser kan fastgøres på side og strøm-/ethernet- og USB -ethernet -kablerne for at komme ind gennem bagsiden.
Trin 9: Konstruktion Forts
Skru det øverste højre sorte panel af NES og skær rent et stort nok firkantet hul til at montere din digole -skærm. Hot Lim lim skærmen på plads med "NESPanel" 3D -printet ramme over toppen af den.
Trin 10: Konstruktion Forts
Monter RaspberryPi midt i bunden af det tomme NES -kabinet, spænd med lim eller en lille skrue gennem bunden. Ved hjælp af en 270 ohm resister skal du tilslutte "tændt LED" på NES til 5V- og GND -benene i Raspberry Pi (kort LED -ledning er jorden). Tilslut også den lille blæser til 5V- og GND -benene for at få den til at køre, når enheden starter, lim ventilatoren mod hullet i siden til den.
Trin 11: Tilslutning af Digole Display
Tilslut følgende ben til stifterne på RaspberryPi
VCC er forbundet til 3v GND er jordet DATA er SDA CLOCK er SCL Nu skal du se enheden i din i2cdetect -kommando
i2cdetect -y 1 det skal vises i tekstgitteret som 27
Trin 12: Installer værktøjer til overvågning af netværk og DB -logning
sudo apt-get install ifstat memcached python-memcache postgresql postgresql-contrib python-psycopg2
sudo vi /etc/postgresql/9.4/main/pg_hba.conf
Tilføj følgende linje til slutningen af filen: local all pi password sudo -i -u postgres
psql
opret rolle pi -adgangskode 'adgangskode her';
ændre rolle pi login;
ændre rolle pi superbruger;
du
(du skal se din PI -bruger med de tilladelser, der er givet) opret database network_stats;
q
Afslut
psql -d netværksstatistik
Kør følgende forespørgsler:
OPRET TABEL traffic_per_minute (id seriel, tidsstempel uden tidszone IKKE NULL, eth0_down reel, eth0_up real, eth1_down real, eth1_up real, wan0_down real, wan0_up real);
OPRET UNIK INDEX time_idx ON traffic_per_minute (time); Kopier mappen "logning" med kode fra dette projekt til hjemmekataloget på din RPi
crontab -e
Tilføj denne linje
@reboot /bin /sleep 60; nohup python /home/pi/logging/networkUsage.py>/dev/null 2> & 1
Trin 13: Installer trafikoversigtsrapporten (kører hvert 5. minut af Cronjob)
crontab -e
tilføj følgende linje
*/5 * * * * python /home/pi/logging/trafficSummary.py
Trin 14: Installer instrumentbrættet
Kopier "vis" -mappen med kode fra dette projekt til hjemmekataloget på din RPi
Kør det som følger
$ python /home/pi/display/NESRouter.py Konfigurer displayskriptet til at køre ved opstart
crontab -e
Tilføj denne linje
@reboot nohup python /home/pi/display/NESRouter.py>/dev/null 2> & 1
Kontroller, at skærmen begynder at fungere ved genstart
sudo genstart
Trin 15: Installer det lokale forbrug/statistikwebsted [https://10.0.10.1]
Installer det lokale brugs-/statistikwebsted [https://10.0.10.1]
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install apache2
sudo service apache2 genstart
Fjern standardsider
cd /var /www
sudo rm -rf html
Kopier 'webportal' -mappe fra dette projekt til din hjemmemappe på din RPi, og opret symlinket til apache, der kan bruges
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
Aktiver Python CGI Scripting
Tilføj inde i mærket
Options +ExecCGI AddHandler cgi-script.py sudo service apache2 genstart
Du kan nu besøge det lokale HTTP -websted [https://10.0.10.1]
Opsætning af avanceret netværksovervågning (via IPFM)
sudo apt-get opdatering
sudo apt-get install ipfm
sudo mv /etc/ipfm.conf /etc/ipfm.conf-bak
sudo vi /etc/ipfm.conf
Opret med følgende indhold:
# Globale variabler
# IPFM kan kun overvåge en enhed. ENHED eth0
# GLOBAL LOGGING KONFIGURATIONSLOG
FILENAME "/var/log/ipfm/%Y_%d_%m/%H_%M"
# log hvert minut DUMP HVER 1 minut
# klar statistik hver dag RET HVER 24 timers SORT I LØS sudo service ipfm start
VALGFRIT: Oprettelse af dine egne Nintendo -billeder til gengivelse på displayet
Upload din egen 128x128 -fil til følgende URL:
www.digole.com/tools/PicturetoC_Hex_convert…
Vælg din billedfil, der skal uploades, tilføj den størrelse, du vil have den på skærmen (bredde/højde)
Vælg "256 farver til farve OLED/LCD (1 byte/pixel)" i rullemenuen "Anvendes til"
Få hex -output.
Føj hex -output til en display/ build/ header (.h) fil, brug de andre som vejledninger til syntaks.
Medtag den nye fil i digole.c -filen #include myimage.h
Inkluder en ny kommandolinjekrog til din billedfil i. Bemærk: Kommandoen herunder siger, at tegne dit billede i position 10 pixels over 10 pixels ned. Du kan ændre det til forskellige X-, Y -koordinater, du kan også ændre værdierne 128, 128 til den størrelse, dit nye billede faktisk er.
} ellers hvis (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128 og myimageVariableHere, 0); // myimageVariableHere er defineret i din (.h) fil}
Genopbyg nu (ignorer fejlene) herunder for at få dit nye billede gengivet med følgende kommando.
$./digole myimage Re-Building [Inkluderet] Digole Display Driver til dine valgfrie ændringer
$ cd display/build $ gcc digole.c $ mv a.out../../digole $ chmod +x../../digole
Anbefalede:
Steam Punk din UPS for at få timers oppetid til din Wi-Fi-router: 4 trin (med billeder)
Steam Punk din UPS for at få timers oppetid til din Wi-Fi-router: Der er noget fundamentalt ubehageligt ved at få din UPS til at konvertere sin 12V DC-batteristrøm til 220V vekselstrøm, så transformerne, der kører din router og fiber ONT, kan konvertere den tilbage til 12V DC! Du er også oppe imod [typisk
UPS til WiFi Router V4: 6 trin (med billeder)
UPS til WiFi Router V4: Hej alle sammen, Med øget arbejde hjemmefra ønsker vi alle at arbejde uafbrudt, strømsvigt er meget almindeligt i Indien .. Mange lejligheder har installeret backup -generatorer, som starter inden for få sekunder efter strømsvigt. Selv hvis strømafbrydelsen er for f
Router Ups V2: 6 trin (med billeder)
Router Ups V2: Hej Alle, For et par måneder siden havde jeg lavet min første UPS til routere ved hjælp af litiumionbatteri 18650, jeg havde lavet to UPS, en til min router og en til min fiberomformer. Det var lidt rodet med to strømadaptere. Det var på min huskeliste at lave en enkelt UPS m
DIY UPS til WiFi -router: 4 trin (med billeder)
DIY UPS til WiFi-router: Der er allerede omkring 50 milliarder internetforbundne enheder rundt om i verden. Derfor er internetforbindelsen rygraden i denne verden i hurtig bevægelse. Alt fra finansmarkedet til telemedicin afhænger af internettet. Yngre gen
Brug Raspberry Pi 3 som router: 10 trin (med billeder)
Brug Raspberry Pi 3 som router: Ifølge Wikipedia er en router en netværksenhed, der videresender datapakker mellem computernetværk. Hvis vi river en trådløs router ned, finder vi sandsynligvis en applikationsspecifik processor, der håndterer datapakker og et RF-segment, der