Spisu treści:
- Krok 1: Zainstaluj wymagane oprogramowanie RaspberryPi
- Krok 2: Tworzenie punktu dostępu WiFi
- Krok 3: Potrzebne materiały: stare zepsute Nintendo
- Krok 4: Potrzebne materiały: Raspberry Pi 3 Model B
- Krok 5: Potrzebne materiały eksploatacyjne: 1.44 "Serial: UART/I2C/SPI TFT LCD 128x128 moduł wyświetlacza
- Krok 6: Potrzebne materiały: Mini wentylator 5V 0.1A Raspberry Pi
- Krok 7: Potrzebne materiały: Ugreen USB 2.0 do 10/100 Fast Ethernet Lan Przewodowa karta sieciowa
- Krok 8: Budowa
- Krok 9: Budowa cd
- Krok 10: Budowa cd
- Krok 11: Podłączanie wyświetlacza Digole
- Krok 12: Zainstaluj narzędzia do monitorowania sieci i rejestrowanie bazy danych
- Krok 13: Zainstaluj raport podsumowania ruchu (uruchamiany co 5 minut przez Cronjob)
- Krok 14: Zainstaluj ekran deski rozdzielczej
- Krok 15: Zainstaluj witrynę lokalnego użytkowania/statystyk [http://10.0.10.1]
Wideo: Router Nintendo Wifi: 17 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:33
Korzystając z obudowy systemu Old Nintendo Entertainment, zbuduj wysoce funkcjonalny router domowy za pomocą RaspberryPI 3!
Krok 1: Zainstaluj wymagane oprogramowanie RaspberryPi
Flashowanie dysku twardego RaspberriPi / instalacja wymaganego oprogramowania (przy użyciu systemu Ubuntu Linux)
Pobierz "RASPBIAN JESSIE LITE"
Utwórz nowy dysk twardy dla DashboardPI
Włóż kartę microSD do komputera za pomocą adaptera USB i utwórz obraz dysku za pomocą polecenia dd
Zlokalizuj włożoną kartę microSD za pomocą polecenia df -h, odmontuj ją i utwórz obraz dysku za pomocą polecenia disk copy dd
$ df -h /dev/sdb1 7.4G 32K 7.4G 1% /media/XXX/1234-5678
$ umount /dev/sdb1
Uwaga: upewnij się, że polecenie jest całkowicie dokładne, za pomocą tego polecenia możesz uszkodzić inne dyski
if=lokalizacja pliku obrazu RASPBIAN JESSIE LITE of=lokalizacja karty microSD
$ sudo dd bs=4M if=/path/to/raspbian-jessie-lite.img of=/dev/sdb (uwaga: w tym przypadku jest to /dev/sdb, /dev/sdb1 to istniejąca partycja fabryczna na microSD) Konfigurowanie RaspberriPi
Włóż nową kartę microSD do raspberrypi i włącz ją za pomocą monitora podłączonego do portu HDMI
Zaloguj sie
użytkownik: pi pass: raspberry Zmień hasło do konta dla bezpieczeństwa
sudo passwd pi Włącz opcje zaawansowane RaspberriPi
sudo raspi-config Wybierz: 1 Rozwiń system plików
9 opcji zaawansowanych
Nazwa hosta A2 zmień ją na „NESRouter”
A4 SSH Włącz serwer SSH
A7 I2C Włącz interfejs i2c Włącz klawiaturę angielską/amerykańską
sudo nano /etc/default/keyboard Zmień następujący wiersz: XKBLAYOUT="us" Ustaw proste polecenie l katalogu [opcjonalne]
vi ~/.bashrc
dodaj następujący wiersz:
alias l='ls -lh'
source ~/.bashrc Napraw domyślne podświetlanie składni VIM [opcjonalne]
sudo vi /etc/vim/vimrc
odkomentuj następujący wiersz:
składnia na Reboot your PI, aby uzyskać najnowsze zmiany
rebootZaktualizuj lokalne ustawienia strefy czasowej
sudo dpkg-reconfigure tzdata wybierz swoją strefę czasową za pomocą interfejsu
Krok 2: Tworzenie punktu dostępu WiFi
Pamiętaj, że zanim stanie się to routerem, podłączamy RaspberryPi do istniejącej sieci przez port Ethernet, aby zainstalować następujące pakiety
sudo apt-get aktualizacja && sudo apt-get -y aktualizacja
sudo apt-get zainstaluj 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
Dodaj następujący wiersz:
denyinterfaces wlan0 sudo vi /etc/network/interfaces
Edytuj sekcję wlan0 tak, aby wyglądała tak:
auto lo iface lo inet sprzężenie zwrotne
Instrukcja obsługi iface eth0 inet
auto wlan0 iface wlan0 inet adres statyczny 10.0.10.1 maska sieci 255.255.255.0 sieć 10.0.10.0 rozgłaszanie 10.0.10.255
auto eth1 iface eth1 inet adres statyczny 10.0.20.1 maska sieci 255.255.255.0 sieć 10.0.20.0 rozgłaszanie 10.0.20.255 Przeładuj serwer DHCP i odbij konfigurację dla połączeń eth0 i wlan0
usługa sudo restart dhcpcd
sudo ifdown eth0; sudo ifup wlan0
Skonfiguruj HOSTAPD (Zmień ssid i wpa_passphrase na wybrane przez siebie wartości)
sudo vi /etc/hostapd/hostapd.conf
# To jest nazwa interfejsu WiFi, który skonfigurowaliśmy powyżej interface=wlan0
# Użyj sterownika nl80211 ze sterownikiem brcmfmac=nl80211
# To jest nazwa sieci ssid=NintendoWiFi
# Użyj pasma 2,4 GHz hw_mode=g
# Użyj kanału 6 kanał = 6
# Włącz 802.11n ieee80211n=1
# Włącz WMM wmm_enabled=1
# Włącz kanały 40MHz z interwałem ochronnym 20ns ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]
# Zaakceptuj wszystkie adresy MAC macaddr_acl=0
# Użyj uwierzytelniania WPA auth_algs=1
# Wymagaj od klientów znajomości nazwy sieci ignore_broadcast_ssid=0
# Użyj WPA2 wpa=2
# Użyj klucza wstępnego wpa_key_mgmt=WPA-PSK
# Hasło sieciowe wpa_passphrase=hasło
# Użyj AES, zamiast TKIP rsn_pairwise=CCMP Możemy sprawdzić, czy działa na tym etapie, uruchamiając (ale nie ma jeszcze pełnej łączności z Internetem):
sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf
sudo vi /etc/default/hostapd
Znajdź linię
#DAEMON_CONF="" i zastąp go
DAEMON_CONF="/etc/hostapd/hostapd.conf" Konfiguracja DNSMASQ
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo vi /etc/dnsmasq.conf
bind-interfaces # Powiąż z interfejsem, aby upewnić się, że nie wysyłamy rzeczy gdzie indziej server=8.8.8.8 # Prześlij żądania DNS do domeny DNS Google-needed # Nie przesyłaj krótkich nazw bogus-priv # Nigdy nie przesyłaj adresów w -routowane przestrzenie adresowe.
# Przypisz adresy IP z nieskończonym czasem dzierżawy (dla statystyk użytkowania urządzenia) dhcp-range=wlan0, 10.0.10.100, 10.0.10.200, 255.255.255.0, 10.0.10.255, nieskończony dhcp-range=eth1, 10.0.20.100, 10.0. 20.200, 255.255.255.0, 10.0.20.255, nieskończona KONFIGURACJA PRZEKAZYWANIA IPV4
sudo vi /etc/sysctl.conf
[odkomentuj] net.ipv4.ip_forward=1
Aktywuj go natychmiast za pomocą 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 ZWIĄZANE, USTANOWIONE -j AKCEPTUJ
sudo iptables -A DO PRZODU -i eth1 -o eth0 -j AKCEPTUJ
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state ZWIĄZANE, USTANOWIONE -j AKCEPTUJ
sudo iptables -A FORWARD -i wlan0 -o eth0 -j AKCEPTUJ
Zapisz ustawienia iptables do następnego ponownego uruchomienia
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
Utwórz plik reguł ipv4 (z nową zawartością)
sudo vi /lib/dhcpcd/dhcpcd-haki/70-ipv4-nat
iptables-restore < /etc/iptables.ipv4.nat Ponowne uruchamianie usług
usługa sudo hostapd start usługa sudo dnsmasq start
ponowne uruchomienie sudo
Przypisywanie statycznych adresów IP [Opcjonalnie]
Jeśli chcesz, aby hosty w Twojej sieci miały statyczne adresy IP, użyj następującego
Uzyskaj hosty aktualnie połączone przez DHCP vi /var/lib/misc/dnsmasq.leases
Dodaj adres MAC (z wyjścia powyżej) i adres IP, który chcesz przypisać do sudo vi /etc/dnsmasq.conf
# main desktop dhcp-host=12:34:56:78:9a:bc, 10.0.20.20 Uwaga: spowoduje to przypisanie interfejsu sieciowego z adresem MAC: 12:34:56:78:9a:bc na adres IP 10.0.20.20. Wymieniony adres IP NIE musi należeć do podanego zakresu DHCP, tylko w tej samej podsieci. Mój główny pulpit znajduje się w podsieci eth1:10.0.20.0, więc nadałem mu adres IP 10.0.20.20.
Dodawanie zapory UFW
sudo apt-get zainstaluj ufw
Zezwalaj na port 22 do użytku publicznego (dla zdalnego dostępu do sieci)
sudo ufw zezwalaj 22
Zezwól na wszystkie porty w mojej sieci lokalnej
sudo ufw zezwalaj od 10.0.10.0/24 sudo ufw zezwalaj od 10.0.20.0/24
Zezwalaj na porty sieciowe wszystkim
sudo ufw zezwól na 80
Zezwalaj wszystkim na bezpieczne porty internetowe
sudo ufw zezwól 443
Włącz UFW i sprawdź status
sudo ufw -- wymuś włączenie
status sudo ufw
Napraw BŁĄD, gdy UFW nie uruchamia się podczas uruchamiania
sudo su crontab -e
Dodaj następujący wiersz: @reboot /bin/sleep 60; ufw -- wymuś włączenie
Krok 3: Potrzebne materiały: stare zepsute Nintendo
Stara obudowa Nintendo z zepsutego NESa (usuń całą starą zawartość wewnątrz obudowy, pozostawiając tylko zewnętrzną ramkę, przyciski zasilania / resetowania i połączenia kontrolera)
Krok 4: Potrzebne materiały: Raspberry Pi 3 Model B
Krok 5: Potrzebne materiały eksploatacyjne: 1.44 "Serial: UART/I2C/SPI TFT LCD 128x128 moduł wyświetlacza
Krok 6: Potrzebne materiały: Mini wentylator 5V 0.1A Raspberry Pi
Krok 7: Potrzebne materiały: Ugreen USB 2.0 do 10/100 Fast Ethernet Lan Przewodowa karta sieciowa
Krok 8: Budowa
Zainstaluj wewnątrz NES
Za pomocą drukarki 3D wydrukuj ramkę Digole Display „NESPanel” w folderze /construction/display-frame/. [jeśli nie masz drukarki 3D, możesz delikatnie wyciąć kwadratowy otwór na wyświetlacz Digole za pomocą narzędzia Dremel] Wytnij następujące otwory z tyłu i z boku obudowy, aby umożliwić zamocowanie małego wentylatora na z boku oraz kable zasilania/Ethernet i USB Ethernet, aby dostać się z tyłu.
Krok 9: Budowa cd
Odkręć prawy górny czarny panel od NES i dokładnie wytnij wystarczająco duży kwadratowy otwór, aby zamontować wyświetlacz digole. Przyklej wyświetlacz na gorąco z ramką wydrukowaną w 3D „NESPanel” na górze.
Krok 10: Budowa cd
Zamontuj RaspberryPi na środku dolnej części pustej obudowy NES, przymocuj klejem lub małą śrubką przez spód. Za pomocą rezystora 270 omów podłącz "diodę włączenia" NES do pinów 5V i GND w Raspberry Pi (krótki przewód LED to masa). Podłącz mały wentylator do pinów 5V i GND, aby działał podczas uruchamiania urządzenia, przyklej go do otworu z boku.
Krok 11: Podłączanie wyświetlacza Digole
Podłącz następujące piny do pinów na RaspberryPi
VCC jest podłączony do 3v GND to uziemienie DATA to SDA CLOCK to SCL Teraz powinieneś zobaczyć urządzenie w poleceniu i2cdetect
i2cdetect -y 1 powinien pojawić się w siatce tekstu jako 27
Krok 12: Zainstaluj narzędzia do monitorowania sieci i rejestrowanie bazy danych
sudo apt-get zainstaluj ifstat memcached python-memcache postgresql postgresql-contrib python-psycopg2
sudo vi /etc/postgresql/9.4/main/pg_hba.conf
Dodaj następujący wiersz na końcu pliku: local all pi hasło sudo -i -u postgres
psql
utwórz hasło roli pi 'hasło tutaj';
zmień rolę pi logowanie;
zmienić rolę superużytkownika pi;
du
(powinieneś zobaczyć swojego użytkownika PI z przyznanymi uprawnieniami) utwórz bazę danych network_stats;
Q
Wyjście
psql -d statystyki_sieci
Uruchom następujące zapytania:
CREATE TABLE traffic_per_minute (id serial, znacznik czasu bez strefy czasowej NOT NULL, eth0_down real, eth0_up real, eth1_down real, eth1_up real, wan0_down real, wan0_up real);
UTWÓRZ UNIKALNY INDEKS time_idx ON traffic_per_minute (czas); Skopiuj folder "logowania" kodu z tego projektu do katalogu domowego swojego RPi
crontab -e
Dodaj tę linię
@reboot /bin/sleep 60; nohup python /home/pi/logging/networkUsage.py >/dev/null 2>&1
Krok 13: Zainstaluj raport podsumowania ruchu (uruchamiany co 5 minut przez Cronjob)
crontab -e
dodaj następującą linię
*/5 * * * * python /home/pi/logging/trafficSummary.py
Krok 14: Zainstaluj ekran deski rozdzielczej
Skopiuj folder "display" kodu z tego projektu do katalogu domowego twojego RPi
Uruchom go w następujący sposób
$ python /home/pi/display/NESRouter.py Skonfiguruj skrypt wyświetlania do uruchamiania podczas uruchamiania
crontab -e
Dodaj tę linię
@reboot nohup python /home/pi/display/NESRouter.py >/dev/null 2>&1
Sprawdź, czy wyświetlacz zaczyna działać po ponownym uruchomieniu
ponowne uruchomienie sudo
Krok 15: Zainstaluj witrynę lokalnego użytkowania/statystyk [https://10.0.10.1]
Zainstaluj lokalną witrynę dotyczącą użytkowania/statystyk [https://10.0.10.1]
aktualizacja sudo apt-get && aktualizacja sudo apt-get -y
sudo apt-get zainstaluj apache2
usługa sudo restart apache2
Usuń domyślne strony
cd /var/www
sudo rm -rf html
Skopiuj folder 'webportal' z tego projektu do swojego folderu domowego na swoim RPi i utwórz dowiązanie symboliczne do użycia przez Apache
cd /var/www
sudo ln -s /home/pi/html portalu internetowego
cd /var/www/html
chmod +x *.py
sudo a2enmod cgi
sudo vi /etc/apache2/sites-enabled/000-default.conf
Włącz skrypty CGI Pythona
Dodaj wewnątrz tagu
Opcje +ExecCGI AddHandler cgi-script.py sudo usługa apache2 restart
Możesz teraz odwiedzić lokalną witrynę HTTP [https://10.0.10.1]
Konfiguracja zaawansowanego monitorowania sieci (przez IPFM)
aktualizacja sudo apt-get
sudo apt-get zainstaluj ipfm
sudo mv /etc/ipfm.conf /etc/ipfm.conf-bak
sudo vi /etc/ipfm.conf
Utwórz z następującą zawartością:
# Zmienne globalne
# IPFM może monitorować tylko jedno urządzenie. URZĄDZENIE eth0
# GLOBALNY LOG KONFIGURACJI REJESTRACJI
NAZWA PLIKU "/var/log/ipfm/%Y_%d_%m/%H_%M"
# loguj co minutę ZRZUTUJ CO 1 minutę
# jasne statystyki każdego dnia WYCZYŚĆ CO 24 godziny SORTUJ W ROZWIĄZANIU usługa sudo ipfm start
OPCJONALNIE: tworzenie własnych obrazów Nintendo do renderowania na wyświetlaczu
Prześlij własny plik 128x128 na następujący adres URL:
www.digole.com/tools/PicturetoC_Hex_convert…
Wybierz plik obrazu do przesłania, dodaj rozmiar, jaki ma być na ekranie (szerokość/wysokość)
Wybierz „256 kolorów dla kolorów OLED/LCD (1 bajt/piksel)” w menu rozwijanym „Używane dla”
Uzyskaj wyjście szesnastkowe.
Dodaj wyjście szesnastkowe do pliku display/build/header (.h), użyj pozostałych jako przewodników po składni.
Dołącz nowy plik do pliku digole.c #include myimage.h
Dołącz nowy zaczep wiersza poleceń do pliku obrazu w pliku. Uwaga: poniższe polecenie mówi, że narysuj obraz w pozycji 10 pikseli na 10 pikseli w dół. Możesz zmienić go na różne współrzędne X, Y, możesz także zmienić wartości 128, 128 na dowolny rozmiar twojego nowego obrazu.
} else if (strcmp(digoleCommand, "myimage") == 0) { drawBitmap256(10, 10, 128, 128, &myimageVariableHere, 0); // myimageVariableHere jest zdefiniowane w twoim pliku (.h) }
Teraz przebuduj (zignoruj błędy) poniżej, aby wyrenderować nowy obraz za pomocą następującego polecenia.
$./digole myimage Re-Building [W zestawie] Digole Display Driver dla opcjonalnych zmian
$ wyświetlacz/kompilacja cd $ gcc digole.c $ mv a.out../../digole $ chmod +x../../digole
Zalecana:
Router Ups V2: 6 kroków (ze zdjęciami)
Router Ups V2: Cześć wszystkim,Kilka miesięcy temu zrobiłem swój pierwszy UPS dla routerów używając baterii litowo-jonowej 18650, zrobiłem dwa UPSy, jeden dla mojego routera i jeden dla mojego konwertera światłowodowego. Było trochę bałaganu z dwoma zasilaczami. Na mojej liście rzeczy do zrobienia było, aby pojedynczy zasilacz
Bezpieczny router WIFI - ochrona przed wirusami, złośliwym oprogramowaniem i oprogramowaniem ransomware oraz prywatność: 5 kroków
Bezpieczny router WIFI - ochrona przed wirusami, złośliwym oprogramowaniem i oprogramowaniem ransomware oraz prywatność: Niska cena ochrony punktów końcowych za pomocą RaspBerryPI 4 i oprogramowania typu open source. Blokuje następujące elementy, ZANIM dotrą one do Twojego komputera lub telefonu: Złośliwe wirusy RansomWare zapewnia również: Kontrolę rodzicielską nad witrynami przeznaczonymi dla dorosłych/nienawiść Chroni Twoją prywatność przez ogłoszenie
Zbuduj komputer Nintendo NES: 10 kroków (ze zdjęciami)
Zbuduj komputer Nintendo NES: Ach, Nintendo Entertainment System. Przynosi mi wiele dobrych wspomnień: Super Mario Bros., Double Dragon, Megaman. Przywołuje też niezbyt wspaniałe wspomnienia. Udręka wymiany nabojów, dmuchanie aż do zawrotów głowy i wciąż nic nie dostaje
Jak rozszerzyć sygnał NVR (wzmacniacz kamery IP, przełącznik sieciowy i router/wzmacniacz WiFi): 5 kroków
Jak przedłużyć sygnał NVR (wzmacniacz kamery IP, przełącznik sieciowy i router/wzmacniacz Wi-Fi): W tej instrukcji pokażemy, jak przedłużyć sygnał NVR, używając:1. Funkcja wbudowanego wzmacniacza w kamerze IP, lub2. Przełącznik sieciowy lub3. Router Wi-Fi
Bezprzewodowy router domowy z analogowym miernikiem wykorzystania: 5 kroków (ze zdjęciami)
Bezprzewodowy router domowy z analogowym miernikiem wykorzystania: dorastałem na łodziach i wokół nich, tworząc wiązki przewodów i panele sterowania, i mam kolekcję wskaźników i; tarcze, które normalnie można znaleźć w połączeniu z małymi okrętowymi silnikami wysokoprężnymi. Dziś pracuję jako projektant budujący interfejsy do sieci