İçindekiler:
- Adım 1: Gerekli RaspberryPi Yazılımını Kurun
- 2. Adım: WiFi Erişim Noktasını Oluşturma
- 3. Adım: Gerekli Malzemeler: Eski Kırık Nintendo
- Adım 4: Gerekli Malzemeler: Raspberry Pi 3 Model B
- Adım 5: Gerekli Malzemeler: 1.44" Seri: UART/I2C/SPI TFT LCD 128x128 Ekran Modülü
- Adım 6: Gerekli Malzemeler: 5V 0.1A Mini Fan Raspberry Pi
- 7. Adım: Gerekli Malzemeler: Ugreen USB 2.0 - 10/100 Hızlı Ethernet Lan Kablolu Ağ Adaptörü
- Adım 8: İnşaat
- Adım 9: İnşaat Devam
- Adım 10: İnşaat Devam
- Adım 11: Digole Ekranını Bağlama
- Adım 12: Ağ İzleme Araçlarını ve DB Günlüğünü Kurun
- Adım 13: Trafik Özeti Raporunu Yükleyin (Cronjob tarafından Her 5 Dakikada bir çalıştırılır)
- Adım 14: Pano Ekranını Kurun
- Adım 15: Yerel Kullanım/istatistik Web Sitesini Kurun [http://10.0.10.1]
- Adım 16: Tamamlandı
Video: Nintendo Wifi Router: 17 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:21
Eski bir Nintendo Entertainment sistem kasası kullanarak, bir RaspberryPI 3 kullanarak son derece işlevsel bir ev yönlendiricisi üretin!
Adım 1: Gerekli RaspberryPi Yazılımını Kurun
Yanıp Sönen RaspberriPi Sabit Disk / Gerekli Yazılımı Yükleyin (Ubuntu Linux Kullanarak)
"RASPBIAN JESSIE LITE" dosyasını indirin
DashboardPI için yeni sabit diskinizi oluşturun
MicroSD'yi USB adaptörü aracılığıyla bilgisayarınıza takın ve dd komutunu kullanarak disk görüntüsünü oluşturun
Takılı microSD kartınızı df -h komutuyla bulun, bağlantısını kesin ve disk copy dd komutuyla disk görüntüsünü oluşturun
$ df -h /dev/sdb1 7.4G 32K 7.4G %1 /medya/XXX/1234-5678
$ umount /dev/sdb1
Dikkat: komutun tamamen doğru olduğundan emin olun, bu komutla diğer disklere zarar verebilirsiniz
if=RASPBIAN JESSIE LITE görüntü dosyasının konumu=microSD kartınızın konumu
$ sudo dd bs=4M if=/path/to/raspbian-jessie-lite.img of=/dev/sdb (not: bu durumda, /dev/sdb'dir, /dev/sdb1, microSD) RaspberriPi'nizi kurma
Yeni microSD kartınızı raspberrypi'ye takın ve HDMI bağlantı noktasına bağlı bir monitörle açın
Giriş yapmak
kullanıcı: pi pass: ahududu Güvenlik için hesap şifrenizi değiştirin
sudo passwd pi RaspberriPi Gelişmiş Seçeneklerini Etkinleştir
sudo raspi-config Seçin: 1 Dosya Sistemini Genişlet
9 Gelişmiş Seçenek
A2 Ana Bilgisayar Adı, "NESRouter" olarak değiştirin
A4 SSH SSH Sunucusunu Etkinleştir
A7 I2C i2c arayüzünü etkinleştirin İngilizce/ABD Klavyesini Etkinleştirin
sudo nano /etc/default/keyboard Aşağıdaki satırı değiştirin: XKBLAYOUT="us" Basit dizin l komutunu ayarlayın [isteğe bağlı]
vi ~/.bashrc
aşağıdaki satırı ekleyin:
takma ad l='ls -lh'
source ~/.bashrc Fix VIM varsayılan sözdizimi vurgulaması [isteğe bağlı]
sudo vi /etc/vim/vimrc
aşağıdaki satırın yorumunu kaldırın:
En son değişiklikleri almak için PI'nizi yeniden başlatın
yeniden başlatYerel saat dilimi ayarlarını güncelle
sudo dpkg-yeniden yapılandırma tzdata arayüzü kullanarak saat diliminizi seçin
2. Adım: WiFi Erişim Noktasını Oluşturma
Bu bir yönlendirici olmadan önce, aşağıdaki paketleri kurmak için RaspberryPi'yi ethernet portu aracılığıyla mevcut bir ağa bağladığımızı lütfen unutmayın.
sudo apt-get güncelleme && sudo apt-get -y yükseltme
sudo apt-get install dnsmasq hostapd vim
sudo apt-get install vim git python-smbus i2c-tools python-görüntüleme python-smbus inşa-temel python-dev rpi.gpio python3 python3-pip libi2c-dev
sudo vi /etc/dhcpcd.conf
Aşağıdaki satırı ekleyin:
reddiinterfaces wlan0 sudo vi /etc/network/interfaces
wlan0 bölümünü şöyle görünecek şekilde düzenleyin:
otomatik lo iface lo inet geri döngü
iface eth0 inet kılavuzu
otomatik wlan0 iface wlan0 inet statik adres 10.0.10.1 ağ maskesi 255.255.255.0 ağ 10.0.10.0 yayın 10.0.10.255
auto eth1 iface eth1 inet statik adres 10.0.20.1 ağ maskesi 255.255.255.0 ağ 10.0.20.0 yayın 10.0.20.255 DHCP Sunucusunu yeniden yükleyin ve eth0 ve wlan0 bağlantıları için yapılandırmayı geri döndürün
sudo hizmeti dhcpcd yeniden başlatma
sudo ifdown eth0; sudo ifup wlan0
HOSTAPD'yi yapılandırın (ssid ve wpa_passphrase'i kendi seçtiğiniz değerlerle değiştirin)
sudo vi /etc/hostapd/hostapd.conf
# Yukarıda yapılandırdığımız WiFi arayüzünün adı bu interface=wlan0
# nl80211 sürücüsünü brcmfmac sürücüsü ile kullanın=nl80211
# Bu ağın adıdır ssid=NintendoWiFi
# 2.4GHz bandını kullanın hw_mode=g
# Kanal 6 kanalını kullan=6
# 802.11n'yi etkinleştir ieee80211n=1
# WMM'yi etkinleştir wmm_enabled=1
# 20ns koruma aralığı ile 40MHz kanalları etkinleştirin ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]
# Tüm MAC adreslerini kabul et macaddr_acl=0
# WPA kimlik doğrulamasını kullan auth_algs=1
# İstemcilerin ağ adını bilmesini iste allow_broadcast_ssid=0
# WPA2 wpa=2 kullan
# Önceden paylaşılan bir anahtar kullanın wpa_key_mgmt=WPA-PSK
# Ağ parolası wpa_passphrase=password
# TKIP yerine AES kullanın rsn_pairwise=CCMP Bu aşamada çalışıp çalışmadığını çalıştırarak kontrol edebiliriz (ancak henüz tam internet bağlantısı yok):
sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf
sudo vi /etc/default/hostapd
çizgiyi bul
#DAEMON_CONF="" ve şununla değiştirin
DAEMON_CONF="/etc/hostapd/hostapd.conf" DNSMASQ'yu yapılandırın
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo vi /etc/dnsmasq.conf
bind-interfaces # Başka bir yere bir şeyler göndermediğimizden emin olmak için arayüze bağlan server=8.8.8.8 # DNS isteklerini Google DNS etki alanına ilet # Kısa adları iletme bogus-priv # Adresleri hiçbir zaman diğer -yönlendirilmiş adres boşlukları.
# IP adreslerini sonsuz kiralama süresi ile atayın (cihaz kullanım istatistikleri için) dhcp-range=wlan0, 10.0.10.100, 10.0.10.200, 255.255.255.0, 10.0.10.255, sonsuz dhcp-range=eth1, 10.0.20.100, 10.0. 20.200, 255.255.255.0, 10.0.20.255, sonsuz KURULUM IPV4 YÖNLENDİRME
sudo vi /etc/sysctl.conf
[yorum] net.ipv4.ip_forward=1
Sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward" ile hemen etkinleştirin
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASKERADE
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state İLGİLİ, KURULDU -j KABUL
sudo iptables -A İLERİ -i eth1 -o eth0 -j KABUL
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state İLGİLİ, KURULDU -j KABUL
sudo iptables -A İLERİ -i wlan0 -o eth0 -j KABUL
Bir sonraki yeniden başlatma için iptables ayarlarını kaydedin
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
ipv4 kuralları dosyası oluşturun (yeni içeriklerle)
sudo vi /lib/dhcpcd/dhcpcd kancaları/70-ipv4-nat
iptables-restore < /etc/iptables.ipv4.nat Hizmetleri Yeniden Başlatma
sudo service hostapd start sudo service dnsmasq start
sudo yeniden başlatma
Statik IP Atama [Opsiyonel]
Ağınızdaki ana bilgisayarların statik ips'ye sahip olmasını istiyorsanız, lütfen aşağıdakileri kullanın.
DHCP vi /var/lib/misc/dnsmasq.leases aracılığıyla şu anda bağlı olan ana bilgisayarları edinin
MAC Adresini (yukarıdaki çıktıdan) ve atamak istediğiniz IP adresini sudo vi /etc/dnsmasq.conf'a ekleyin
# ana masaüstü dhcp-host=12:34:56:78:9a:bc, 10.0.20.20 Not: Bu, ağ arayüzünü MAC Adresi: 12:34:56:78:9a:bc ile 10.0 IP adresine atayacaktır..20.20. Listelenen IP adresinin verilen DHCP aralığında olması GEREKMEZ, yalnızca aynı alt ağda. Yukarıdaki ana masaüstüm eth1:10.0.20.0 alt ağında, bu yüzden ona 10.0.20.20 IP Adresi verdim.
UFW Güvenlik Duvarı Ekleme
sudo apt-get kurulum ufw
22 numaralı bağlantı noktasına genel kullanım için izin ver (uzaktan ağ erişimi için)
sudo ufw 22'ye izin veriyor
Yerel ağımdaki tüm bağlantı noktalarına izin ver
sudo ufw 10.0.10.0/24'ten izin veriyor sudo ufw 10.0.20.0/24'ten izin veriyor
Web bağlantı noktalarına herkese izin ver
sudo ufw 80'e izin veriyor
Herkese güvenli web bağlantı noktalarına izin ver
sudo ufw 443'e izin veriyor
UFW'yi etkinleştirin ve durumu kontrol edin
sudo ufw --force etkinleştir
sudo ufw durumu
UFW'nin başlangıçta başlamamasıyla BUG'yi düzeltin
sudo su crontab -e
Aşağıdaki satırı ekleyin: @reboot /bin/sleep 60; ufw --force etkinleştir
3. Adım: Gerekli Malzemeler: Eski Kırık Nintendo
Bozuk bir NES'den Eski Nintendo Kılıfı (kasanın içindeki tüm eski içeriği çıkarın, yalnızca dış çerçeveyi, güç / sıfırlama düğmelerini ve denetleyici bağlantılarını bırakın)
Adım 4: Gerekli Malzemeler: Raspberry Pi 3 Model B
Adım 5: Gerekli Malzemeler: 1.44" Seri: UART/I2C/SPI TFT LCD 128x128 Ekran Modülü
Adım 6: Gerekli Malzemeler: 5V 0.1A Mini Fan Raspberry Pi
7. Adım: Gerekli Malzemeler: Ugreen USB 2.0 - 10/100 Hızlı Ethernet Lan Kablolu Ağ Adaptörü
Adım 8: İnşaat
NES'in içine kurun
Bir 3D yazıcı kullanarak /construction/display-frame/ klasöründeki Digole Display çerçevesi "NESPanel"i yazdırın. [bir 3D yazıcınız yoksa, bir Dremel aletiyle Digole Display için kare bir delik açabilirsiniz] Küçük fanın kasaya sabitlenmesini sağlamak için kasanın arkasında ve yanında aşağıdaki delikleri açın yan ve arkadan girmek için güç/ethernet ve USB ethernet kabloları.
Adım 9: İnşaat Devam
Sağ üst siyah paneli NES'den sökün ve digole ekranınızı monte etmek için yeterince büyük bir kare delik kesin. Ekranı, "NESPanel" 3D baskılı çerçeveyi üstüne gelecek şekilde yerine yapıştırın.
Adım 10: İnşaat Devam
RaspberryPi'yi boş NES kasasının alt kısmının ortasına monte edin, alt kısımdan yapıştırıcı veya küçük bir vida ile sabitleyin. 270 ohm'luk bir direnç kullanarak NES'in "güç açık LED'ini" Raspberry Pi'deki 5V ve GND pinlerine bağlayın (kısa LED kablosu topraktır). Ünite başladığında çalışması için küçük fanı 5V ve GND pinlerine de bağlayın, bunun için fanı yandaki deliğe yapıştırın.
Adım 11: Digole Ekranını Bağlama
Aşağıdaki pinleri RaspberryPi üzerindeki pinlere bağlayınız.
VCC 3v'ye bağlı GND topraklanmış DATA SDA CLOCK SCL Şimdi cihazı i2cdetect komutunuzda görmelisiniz
i2cdetect -y 1 metin ızgarasında 27 olarak görünmelidir
Adım 12: Ağ İzleme Araçlarını ve DB Günlüğünü Kurun
sudo apt-get install ifstat memcached python-memcache postgresql postgresql-katkı python-psycopg2
sudo vi /etc/postgresql/9.4/main/pg_hba.conf
Dosyanın sonuna şu satırı ekleyin: local all pi password sudo -i -u postgres
psql
rol pi şifresi 'buradan şifre' oluşturun;
rol pi girişini değiştir;
rol pi süper kullanıcısını değiştir;
du
(verilen izinlere sahip PI kullanıcınızı görmelisiniz) create database network_stats;
Q
çıkış
psql -d network_stats
Aşağıdaki sorguları çalıştırın:
CREATE TABLE Traffic_per_minute (id seri, zaman dilimi NULL DEĞİL olmayan zaman zaman damgası, eth0_down real, eth0_up real, eth1_down real, eth1_up real, wan0_down real, wan0_up real);
EŞSİZ INDEX OLUŞTUR time_idx ON trafik_dakika (zaman); Bu projedeki kodun "log" klasörünü RPI'nizin ana dizinine kopyalayın
crontab -e
Bu satırı ekle
@yeniden başlat /bin/uyku 60; nohup python /home/pi/logging/networkUsage.py >/dev/null 2>&1
Adım 13: Trafik Özeti Raporunu Yükleyin (Cronjob tarafından Her 5 Dakikada bir çalıştırılır)
crontab -e
aşağıdaki satırı ekleyin
*/5 * * * * python /home/pi/logging/trafficSummary.py
Adım 14: Pano Ekranını Kurun
Bu projedeki kodun "görüntüleme" klasörünü RPI'nizin ana dizinine kopyalayın
Aşağıdaki gibi çalıştırın
$ python /home/pi/display/NESRouter.py Ekran komut dosyasını başlangıçta çalışacak şekilde ayarlayın
crontab -e
Bu satırı ekle
@reboot nohup python /home/pi/display/NESRouter.py >/dev/null 2>&1
Ekranın yeniden başlatma üzerinde çalışmaya başladığını doğrulayın
sudo yeniden başlatma
Adım 15: Yerel Kullanım/istatistik Web Sitesini Kurun [https://10.0.10.1]
Yerel kullanım/istatistik web sitesini [https://10.0.10.1] yükleyin
sudo apt-get güncelleme && sudo apt-get upgrade -y
sudo apt-get install apache2
sudo hizmeti apache2 yeniden başlatma
Varsayılan sayfaları kaldır
cd /var/www
sudo rm -rf html
Bu projeden 'webportal' klasörünü RPi'nizdeki ana klasörünüze kopyalayın ve apache'nin kullanması için sembolik bağlantı oluşturun
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
Python CGI Komut Dosyasını Etkinleştir
etiketin içine ekle
Seçenekler +ExecCGI AddHandler cgi-script.py sudo service apache2 restart
Artık yerel HTTP sitesini [https://10.0.10.1] ziyaret edebilirsiniz.
Gelişmiş ağ izlemeyi kurun (IPFM aracılığıyla)
sudo apt-get güncellemesi
sudo apt-get kurulum ipfm
sudo mv /etc/ipfm.conf /etc/ipfm.conf-bak
sudo vi /etc/ipfm.conf
Aşağıdaki içeriklerle oluşturun:
# Genel değişkenler
# IPFM yalnızca bir cihazı izleyebilir. CİHAZ eth0
# KÜRESEL KAYIT YAPILANDIRMA GÜNLÜĞÜ
DOSYA ADI "/var/log/ipfm/%Y_%d_%m/%H_%M"
# her dakikayı günlüğe kaydet HER 1 dakikada bir DÖKÜM
# her gün net istatistikler HER 24 SAATTE TEMİZLE ÇÖZÜMDE SIRALA sudo service ipfm start
İSTEĞE BAĞLI: Ekranda oluşturmak için kendi Nintendo görüntülerinizi oluşturma
Kendi 128x128 dosyanızı aşağıdaki URL'ye yükleyin:
www.digole.com/tools/PicturetoC_Hex_convert…
Yüklenecek resim dosyanızı seçin, hangi boyutta olmasını istediğinizi ekrana ekleyin (Genişlik/Yükseklik)
"Kullanım amacı" açılır menüsünde "Renkli OLED/LCD (1 bayt/piksel) için 256 Renk"i seçin
Hex çıktısını alın.
Onaltılı çıktıyı bir görüntüleme/yapı/başlık (.h) dosyasına ekleyin, diğerlerini sözdizimi için kılavuz olarak kullanın.
Yeni dosyayı digole.c dosyasına dahil edin #include myimage.h
Görüntü dosyanıza yeni bir komut satırı kancası ekleyin. Not: Aşağıdaki komut, resminizi 10 piksel aşağı 10 piksel üzerine çizin diyor. Bunu farklı X, Y koordinatlarına değiştirebilirsiniz, ayrıca 128, 128 değerlerini yeni görüntünüz gerçekte ne boyutta olursa olsun değiştirebilirsiniz.
} else if (strcmp(digoleCommand, "myimage") == 0) { drawBitmap256(10, 10, 128, 128, &myimageVariableHere, 0); // myimageVariableBurada (.h) dosyanızda tanımlanmıştır }
Şimdi yeni görüntünüzün aşağıdaki komutla oluşturulmasını sağlamak için aşağıdaki yeniden oluşturun (hataları yok sayın).
$./digole myimage İsteğe bağlı değişiklikleriniz için Yeniden Oluşturma [Dahil] Digole Ekran Sürücüsü
$ cd görüntüleme/inşa $ gcc digole.c $ mv a.out../../digole $ chmod +x../../digole
Adım 16: Tamamlandı
Önerilen:
IoT ESP8266 Serisi: 1- WIFI Router'a Bağlanma: 4 Adım
IoT ESP8266 Serisi: 1- WIFI Yönlendiriciye Bağlanın: Bu, bir "Instructables" bölümünün 1. bölümüdür; ESP8266 NodeMCU kullanarak, bir web sitesine veri okuyup göndermeyi ve aynı web sitesini kullanarak bir eylem gerçekleştirmeyi amaçlayan bir Nesnelerin İnterneti projesinin nasıl yapıldığını açıklamaya yönelik seri.ESP8266 ESP
WiFi Router V4 için UPS: 6 Adım (Resimlerle)
WiFi Router V4 için UPS: Herkese Merhaba, Evden çalışma arttıkça, hepimiz kesintisiz çalışmak istiyoruz, Hindistan'da elektrik kesintisi çok yaygındır.. Birçok daire, elektrik kesintisinden birkaç saniye sonra devreye giren yedek jeneratörlere sahiptir. elektrik kesintisi f içindir
Router Ups V2: 6 Adım (Resimlerle)
Router Ups V2: Herkese Merhaba, Birkaç ay önce, 18650 lityum iyon pil kullanarak Yönlendiriciler için ilk UPS'imi yapmıştım, biri yönlendiricim için diğeri fiber dönüştürücüm için olmak üzere iki UPS yapmıştım. İki güç adaptörü ile biraz karışıklık oldu. Tek UPS'i w yapmak için yapılacaklar listemdeydi
DMS CNC Router'da Flip İşleme: 5 Adım (Resimlerle)
DMS CNC Router'da Flip İşleme: 3 eksenli flip işlemenin potansiyelini düşündükten sonra, lamine kontrplaktan üç boyutlu bir rölyef boyama yapmaya karar verdim. Bu parça her iki taraftan da görülebilecek ve iki taraf birbiriyle ilişkili olsa da
CNC Router'a Arduino Tabanlı Optik Takometre Ekleme: 34 Adım (Resimlerle)
Bir CNC Router'a Arduino Tabanlı Optik Takometre Ekleyin: Arduino Nano, IR LED/IR Fotodiyot sensörü ve OLED ekran ile CNC router'ınız için 30 dolardan daha düşük bir fiyata optik bir RPM göstergesi oluşturun. eletro18'in Measure RPM - Optical Tachometer Instructable'ından ilham aldım ve bir takometre eklemek istedim