Innehållsförteckning:
- Steg 1: Installera nödvändig RaspberryPi -programvara
- Steg 2: Skapa WiFi -åtkomstpunkt
- Steg 3: Tillbehör som behövs: Old Broken Nintendo
- Steg 4: Tillbehör som behövs: Raspberry Pi 3 Model B
- Steg 5: Nödvändiga förbrukningsmaterial: 1,44 "Serial: UART/I2C/SPI TFT LCD 128x128 Display Module
- Steg 6: Nödvändiga tillbehör: 5V 0.1A Mini Fan Raspberry Pi
- Steg 7: Tillbehör som behövs: Ugreen USB 2.0 till 10/100 Fast Ethernet Lan Wired Network Adapter
- Steg 8: Konstruktion
- Steg 9: Konstruktion Forts
- Steg 10: Konstruktion Forts
- Steg 11: Ansluta Digole Display
- Steg 12: Installera nätverksövervakningsverktyg och DB -loggning
- Steg 13: Installera trafiksammanfattningsrapporten (kör var 5: e minut av Cronjob)
- Steg 14: Installera instrumentpanelen
- Steg 15: Installera webbplatsen för lokal användning/statistik [http://10.0.10.1]
- Steg 16: Avslutad
Video: Nintendo Wifi Router: 17 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:47
Använd ett gammalt Nintendo Entertainment -systemfodral för att producera en mycket funktionell hemrouter med en RaspberryPI 3!
Steg 1: Installera nödvändig RaspberryPi -programvara
Blinkande RaspberriPi -hårddisk / Installera nödvändig programvara (med Ubuntu Linux)
Ladda ner "RASPBIAN JESSIE LITE"
Skapa din nya hårddisk för DashboardPI
Sätt i microSD till din dator via USB -adapter och skapa diskavbildningen med kommandot dd
Leta reda på ditt isatta microSD -kort via kommandot df -h, avmontera det och skapa diskavbildningen med kommandot disk copy dd
$ df -h/dev/sdb1 7.4G 32K 7.4G 1%/media/XXX/1234-5678
$ umount /dev /sdb1
Varning: se till att kommandot är helt korrekt, du kan skada andra diskar med det här kommandot
if = plats för RASPBIAN JESSIE LITE bildfil av = plats för ditt microSD -kort
$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img of =/dev/sdb (Obs: i det här fallet är det/dev/sdb,/dev/sdb1 en befintlig fabrikspartition på microSD) Konfigurera din RaspberriPi
Sätt i ditt nya microSD -kort i raspberrypi och slå på det med en bildskärm ansluten till HDMI -porten
Logga in
användare: pi pass: hallon Ändra ditt kontolösenord för säkerhets skull
sudo passwd pi Aktivera avancerade alternativ för RaspberriPi
sudo raspi-config Välj: 1 Expandera filsystemet
9 Avancerade alternativ
A2 -värdnamn ändra det till "NESRouter"
A4 SSH Aktivera SSH -server
A7 I2C Aktivera i2c -gränssnitt Aktivera engelska/amerikanska tangentbordet
sudo nano/etc/default/keyboard Ändra följande rad: XKBLAYOUT = "oss" Konfigurera den enkla katalogen l kommando [valfritt]
vi ~/.bashrc
lägg till följande rad:
alias l = 'ls -lh'
källa ~/.bashrc Fixa VIM -standardsyntaxmarkering [valfritt]
sudo vi/etc/vim/vimrc
kommentera följande rad:
syntax på Starta om din PI för att få de senaste ändringarna
reboot Uppdatera lokala tidszoninställningar
sudo dpkg-omkonfigurera tzdata välj din tidszon med gränssnittet
Steg 2: Skapa WiFi -åtkomstpunkt
Observera att innan detta blir en router ansluter vi RaspberryPi till ett befintligt nätverk via dess Ethernet -port för att installera följande paket
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
Lägg till följande rad:
denyinterfaces wlan0 sudo vi/etc/network/interfaces
Redigera avsnittet wlan0 så att det ser ut så här:
auto lo iface lo inet loopback
iface eth0 inet manual
auto wlan0 iface wlan0 inet statisk adress 10.0.10.1 nätmask 255.255.255.0 nätverk 10.0.10.0 sändning 10.0.10.255
auto eth1 iface eth1 inet statisk adress 10.0.20.1 netmask 255.255.255.0 nätverk 10.0.20.0 broadcast 10.0.20.255 Ladda om DHCP -server och studsa konfigurationen för eth0- och wlan0 -anslutningar
sudo service dhcpcd starta om
sudo ifdown eth0; sudo ifup wlan0
Konfigurera HOSTAPD (Ändra ssid och wpa_passphrase till de valda värdena)
sudo vi /etc/hostapd/hostapd.conf
# Detta är namnet på WiFi -gränssnittet som vi konfigurerade ovanför gränssnittet = wlan0
# Använd nl80211 -drivrutinen med brcmfmac -drivrutinsdrivrutinen = nl80211
# Detta är namnet på nätverket ssid = NintendoWiFi
# Använd 2,4 GHz -bandet hw_mode = g
# Använd kanal 6 kanal = 6
# Aktivera 802.11n ieee80211n = 1
# Aktivera WMM wmm_enabled = 1
# Aktivera 40MHz-kanaler med 20ns vaktintervall ht_capab = [HT40] [SHORT-GI-20] [DSSS_CCK-40]
# Acceptera alla MAC -adresser macaddr_acl = 0
# Använd WPA -autentisering auth_algs = 1
# Kräv att klienterna känner till nätverksnamnet ignore_broadcast_ssid = 0
# Använd WPA2 wpa = 2
# Använd en fördelad nyckel wpa_key_mgmt = WPA-PSK
# Nätverkslösenfrasen wpa_passphrase = lösenord
# Använd AES, istället för TKIP rsn_pairwise = CCMP Vi kan kontrollera om det fungerar i detta skede genom att köra (men har inte full internetanslutning ännu):
sudo/usr/sbin/hostapd /etc/hostapd/hostapd.conf
sudo vi/etc/default/hostapd
Hitta linjen
#DAEMON_CONF = "" och ersätt den med
DAEMON_CONF = "/etc/hostapd/hostapd.conf" Konfigurera DNSMASQ
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo vi /etc/dnsmasq.conf
bind-interfaces # Bind till gränssnittet för att se till att vi inte skickar saker någon annanstans server = 8.8.8.8 # Vidarebefordra DNS-förfrågningar till Google DNS-domänbehov # Vidarebefordra inte kortnamn falska-priv # Vidarebefordra aldrig adresser i -ruttade adressutrymmen.
# Tilldela IP-adresser med oändlig leasingtid (för enhetsanvändningsstatistik) dhcp-range = wlan0, 10.0.10.100, 10.0.10.200, 255.255.255.0, 10.0.10.255, oändlig dhcp-range = eth1, 10.0.20.100, 10.0. 20.200, 255.255.255.0, 10.0.20.255, oändlig INSTÄLLNING IPV4 FRAMGÅNG
sudo vi /etc/sysctl.conf
[uncomment] net.ipv4.ip_forward = 1
Aktivera det omedelbart med 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 -state RELATED, ESTABLISHED -j ACCEPT
sudo iptables -A FRAMÅT -i eth1 -o eth0 -j ACCEPTERA
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state -state RELATED, ESTABLISHED -j ACCEPT
sudo iptables -A FRAMÅT -i wlan0 -o eth0 -j ACCEPTERA
Spara iptables -inställningar för nästa omstart
sudo sh -c "iptables -save> /etc/iptables.ipv4.nat"
Skapa ipv4 -reglerfil (med nytt innehåll)
sudo vi/lib/dhcpcd/dhcpcd-hooks/70-ipv4-nat
iptables-restore </etc/iptables.ipv4.nat Starta om tjänster
sudo service hostapd start sudo service dnsmasq start
sudo starta om
Tilldela statiska IP -adresser [Valfritt]
Om du vill att värdar i ditt nätverk ska ha statisk ips, använd följande
Skaffa värdarna som för närvarande är anslutna via DHCP vi /var/lib/misc/dnsmasq.leases
Lägg till MAC -adressen (från utdata ovan) och den IP -adress du vill tilldela dem till sudo vi /etc/dnsmasq.conf
# main desktop dhcp-host = 12: 34: 56: 78: 9a: bc, 10.0.20.20 Obs! Detta tilldelar nätverksgränssnittet MAC-adressen: 12: 34: 56: 78: 9a: bc till IP-adressen 10.0.20.20. Den angivna IP -adressen behöver INTE vara i det angivna DHCP -området, bara på samma delnät. Mitt huvudskrivbord ovan är på subnätet eth1: 10.0.20.0, så jag gav det IP -adressen 10.0.20.20.
Lägger till UFW -brandvägg
sudo apt-get install ufw
Tillåt port 22 för allmänt bruk (för fjärranvändning av nätverk)
sudo ufw tillåta 22
Tillåt alla portar på mitt lokala nätverk
sudo ufw tillåter från 10.0.10.0/24 sudo ufw tillåter från 10.0.20.0/24
Tillåt webbportar till alla
sudo ufw tillåter 80
Tillåt säkra webbportar till alla
sudo ufw tillåter 443
Aktivera UFW och kontrollera statusen
sudo ufw --force aktivera
sudo ufw -status
Fix BUG med UFW startar inte vid start
sudo su crontab -e
Lägg till följande rad: @reboot /bin /sleep 60; ufw --force aktivera
Steg 3: Tillbehör som behövs: Old Broken Nintendo
Gammalt Nintendo -fodral från en trasig NES (ta bort allt gammalt innehåll inuti fodralet, lämna bara den yttre ramen, ström / återställningsknapparna och kontrollanslutningarna)
Steg 4: Tillbehör som behövs: Raspberry Pi 3 Model B
Steg 5: Nödvändiga förbrukningsmaterial: 1,44 "Serial: UART/I2C/SPI TFT LCD 128x128 Display Module
Steg 6: Nödvändiga tillbehör: 5V 0.1A Mini Fan Raspberry Pi
Steg 7: Tillbehör som behövs: Ugreen USB 2.0 till 10/100 Fast Ethernet Lan Wired Network Adapter
Steg 8: Konstruktion
Installera inuti NES
Skriv ut Digole Display-ramen "NESPanel" i mappen/construction/display-frame/folder med en 3D-skrivare. [om du inte har en 3D -skrivare kan du försiktigt skära ett fyrkantigt hål för Digole Display med ett Dremel -verktyg] Klipp upp följande hål på baksidan och sidan av fodralet så att den lilla fläkten kan fästas på sidan och ström-/ethernet- och USB -ethernetkablarna för att komma in genom baksidan.
Steg 9: Konstruktion Forts
Skruva loss den övre högra svarta panelen från NES och skär rent ett tillräckligt stort fyrkantigt hål för att montera din digoleskärm. Hot Lim fast skärmen med "NESPanel" 3D -tryckt ram ovanpå den.
Steg 10: Konstruktion Forts
Montera RaspberryPi i mitten av botten på det tomma NES -fodralet, fäst med lim eller en liten skruv genom botten. Använd en resistor på 270 ohm för att ansluta "power on LED" på NES till 5V- och GND -stiften i Raspberry Pi (kort LED -kabel är marken). Anslut också den lilla fläkten till 5V- och GND -stiften för att få den att köra när enheten startar, limma fläkten mot hålet i sidan för den.
Steg 11: Ansluta Digole Display
Anslut följande stift till stiften på RaspberryPi
VCC är ansluten till 3v GND är jordad DATA är SDA CLOCK är SCL Nu ska du se enheten i ditt i2cdetect -kommando
i2cdetect -y 1 det ska visas i rutnätet för text som 27
Steg 12: Installera nätverksövervakningsverktyg och DB -loggning
sudo apt-get install ifstat memcached python-memcache postgresql postgresql-contrib python-psycopg2
sudo vi /etc/postgresql/9.4/main/pg_hba.conf
Lägg till följande rad i slutet av filen: local all pi password sudo -i -u postgres
psql
skapa roll -pi -lösenord 'lösenord här';
ändra roll pi -inloggning;
ändra roll pi superanvändare;
du
(du bör se din PI -användare med de beviljade behörigheterna) skapa databas network_stats;
q
utgång
psql -d network_stats
Kör följande frågor:
SKAPA TABELL trafik_per_minut (id -serie, tidsstämpel utan tidszon INTE NULL, eth0_down real, eth0_up real, eth1_down real, eth1_up real, wan0_down real, wan0_up real);
SKAPA UNIK INDEX time_idx ON traffic_per_minute (time); Kopiera "loggning" -koden från detta projekt till hemkatalogen för din RPi
crontab -e
Lägg till den här raden
@reboot /bin /sleep 60; nohup python /home/pi/logging/networkUsage.py>/dev/null 2> & 1
Steg 13: Installera trafiksammanfattningsrapporten (kör var 5: e minut av Cronjob)
crontab -e
lägg till följande rad
*/5 * * * * python /home/pi/logging/trafficSummary.py
Steg 14: Installera instrumentpanelen
Kopiera "display" -koden från detta projekt till hemkatalogen för din RPi
Kör det enligt följande
$ python /home/pi/display/NESRouter.py Konfigurera skärmskriptet för att köras vid start
crontab -e
Lägg till den här raden
@reboot nohup python /home/pi/display/NESRouter.py>/dev/null 2> & 1
Kontrollera att skärmen börjar fungera vid omstart
sudo starta om
Steg 15: Installera webbplatsen för lokal användning/statistik [https://10.0.10.1]
Installera den lokala användnings-/statistikwebbplatsen [https://10.0.10.1]
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install apache2
sudo service apache2 starta om
Ta bort standardsidor
cd /var /www
sudo rm -rf html
Kopiera "webbportal" -mappen från detta projekt till din hemmapp på din RPi och skapa symlänken för apache att använda
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
Aktivera Python CGI Scripting
Lägg in i taggen
Alternativ +ExecCGI AddHandler cgi-script.py sudo service apache2 restart
Du kan nu besöka den lokala HTTP -webbplatsen [https://10.0.10.1]
Konfigurera avancerad nätverksövervakning (via IPFM)
sudo apt-get uppdatering
sudo apt-get install ipfm
sudo mv /etc/ipfm.conf /etc/ipfm.conf-bak
sudo vi /etc/ipfm.conf
Skapa med följande innehåll:
# Globala variabler
# IPFM kan bara övervaka en enhet. ENHET eth0
# GLOBAL LOGGING CONFIGURATION LOG
FILENAME "/var/log/ipfm/%Y_%d_%m/%H_%M"
# logga varje minut DUMP VARJE 1 minut
# tydlig statistik varje dag RENGÖR VARJE 24 timmars SORT I LÖSNING sudo service ipfm start
VALFRITT: Skapa egna Nintendo -bilder som ska återges på displayen
Ladda upp din egen 128x128 -fil till följande URL:
www.digole.com/tools/PicturetoC_Hex_convert …
Välj din bildfil att ladda upp, lägg till vilken storlek du vill att den ska ha på skärmen (bredd/höjd)
Välj "256 färger för färg OLED/LCD (1 byte/pixel)" i rullgardinsmenyn "Används för"
Skaffa hex -utgången.
Lägg till hex -utdata till en display/ build/ header (.h) -fil, använd de andra som vägledningar för syntax.
Inkludera den nya filen i digole.c -filen #include myimage.h
Inkludera en ny kommandoradshake till din bildfil i. Obs: kommandot nedan säger att dra din bild på position 10 pixlar över 10 pixlar nedåt. Du kan ändra den till olika X-, Y -koordinater, du kan också ändra värdena 128, 128 till vilken storlek din nya bild faktiskt är.
} annars if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariableHere definieras i din (.h) -fil}
Bygg nu om (ignorera felen) nedan så att din nya bild återges med följande kommando.
$./digole myimage Re-Building [Inkluderat] Digole Display Driver för dina valfria ändringar
$ cd display/build $ gcc digole.c $ mv a.out../../digole $ chmod +x../../digole
Steg 16: Avslutad
Rekommenderad:
Steam Punk din UPS för att få timmars drifttid för din Wi-Fi-router: 4 steg (med bilder)
Steam Punk din UPS för att få timmars drifttid för din Wi-Fi-router: Det är något i grunden obehagligt med att din UPS omvandlar sitt 12V DC-batteri till 220V AC-ström så att transformatorerna som kör din router och fiber ONT kan konvertera den till 12V DC! Du är också emot [vanligtvis
UPS för WiFi Router V4: 6 steg (med bilder)
UPS för WiFi Router V4: Hej alla, Med ökat arbete hemifrån vill vi alla arbeta oavbrutet, strömavbrott är mycket vanligt i Indien .. Många lägenheter har installerade reservgeneratorer, som startar inom några sekunder efter strömavbrott. Även om strömavbrottet är för
Router Ups V2: 6 steg (med bilder)
Router Ups V2: Hej alla, För några månader sedan hade jag gjort min första UPS för routrar med litiumjonbatteri 18650, jag hade gjort två UPS, en för min router och en för min fiberomvandlare. Det var lite rörigt med två nätadapter. Det fanns i min att -göra -lista för att göra en enda UPS med
DIY UPS för WiFi -router: 4 steg (med bilder)
DIY UPS för WiFi-router: Det finns redan runt 50 miljarder internetanslutna enheter runt om i världen. Därför är Internet-anslutningen ryggraden för att driva denna snabba värld. Allt från finansmarknaden till telemedicin beror på internet. Yngre gen
Använd Raspberry Pi 3 som router: 10 steg (med bilder)
Använd Raspberry Pi 3 som router: Enligt Wikipedia är en router en nätverksenhet som vidarebefordrar datapaket mellan datanätverk. Om vi river ner en trådlös router, kommer vi förmodligen att hitta en applikationsspecifik processor som hanterar datapaket och ett RF-segment som