Mündəricat:
- Addım 1: Lazım olan RaspberryPi Proqramını Qurun
- Addım 2: WiFi giriş nöqtəsinin yaradılması
- Addım 3: Lazım olan təchizatlar: Köhnə Broken Nintendo
- Addım 4: Lazım olan təchizatlar: Raspberry Pi 3 Model B
- Addım 5: Lazım olan təchizatlar: 1.44 "Seriya: UART/I2C/SPI TFT LCD 128x128 Ekran Modulu
- Addım 6: Lazım olan təchizatlar: 5V 0.1A Mini Fan Raspberry Pi
- Addım 7: Lazım olan təchizatlar: Ugreen USB 2.0 - 10/100 Fast Ethernet Lan Simli Şəbəkə Adaptoru
- Addım 8: Tikinti
- Addım 9: İnşaat Davamı
- Addım 10: İnşaat Davamı
- Addım 11: Digole Ekranına qoşulun
- Addım 12: Şəbəkə İzləmə Alətlərini və DB Qeydini Qurun
- Addım 13: Trafik Xülasəsi Hesabatını quraşdırın (Cronjob tərəfindən hər 5 dəqiqədə bir işləyir)
- Addım 14: Göstərici Paneli Ekranını quraşdırın
- Addım 15: Yerli İstifadə/Statistik Veb saytını quraşdırın [http://10.0.10.1]
Video: Nintendo Wifi Router: 17 Addım (Şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:48
Köhnə Nintendo Əyləncə sistem korpusundan istifadə edərək, RaspberryPI 3 istifadə edərək yüksək funksional bir ev yönləndiricisi istehsal edin!
Addım 1: Lazım olan RaspberryPi Proqramını Qurun
Yanan RaspberriPi Sərt Diski / Lazımi Proqramı Qurun (Ubuntu Linux istifadə edərək)
"RASPBIAN JESSIE LITE" yükləyin
DashboardPI üçün yeni sabit diskinizi yaradın
USB adapter vasitəsilə microSD -ni kompüterinizə daxil edin və dd əmrindən istifadə edərək disk şəkli yaradın
Daxil edilmiş microSD kartınızı df -h əmri ilə tapın, ayırın və disk surəti dd əmri ilə disk şəkli yaradın.
$ df -h/dev/sdb1 7.4G 32K 7.4G 1%/media/XXX/1234-5678
$ umount /dev /sdb1
Diqqət: əmrin tamamilə doğru olduğundan əmin olun, bu əmrlə digər disklərə zərər verə bilərsiniz
if = RASPBIAN JESSIE LITE görüntü faylının yeri = microSD kartınızın yeri
$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img of//dev/sdb (Qeyd: bu halda/dev/sdb,/dev/sdb1 microSD) RaspberriPi qurmaq
Yeni microSD kartınızı raspberrypi -yə daxil edin və HDMI portuna qoşulmuş bir monitorla açın
Daxil ol
istifadəçi: pi pass: moruq Təhlükəsizlik üçün hesab şifrənizi dəyişdirin
sudo passwd pi RaspberriPi Ətraflı Seçimləri aktiv edin
sudo raspi-config seçin: 1 Fayl Sistemini Genişləndirin
9 Ətraflı Seçimlər
A2 Host adı onu "NESRouter" olaraq dəyişdirir
A4 SSH SSH Serverini aktiv edin
A7 I2C i2c interfeysini aktivləşdirin İngilis/ABŞ Klaviaturasını aktivləşdirin
sudo nano/etc/default/keyboard Aşağıdakı sətri dəyişdirin: XKBLAYOUT = "us" Sadə qovluq l əmrini qurun [isteğe bağlı]
vi ~/.bashrc
aşağıdakı sətri əlavə edin:
ləqəbi l = 'ls -lh'
source ~/.bashrc Fix VIM default sintaksisini vurgulayın [isteğe bağlı]
sudo vi/etc/vim/vimrc
aşağıdakı sətri qeyd edin:
Ən son dəyişiklikləri əldə etmək üçün PI -ni yenidən başladın
reboot Yerli saat qurşağı parametrlərini yeniləyin
sudo dpkg-tzdata interfeysindən istifadə edərək vaxt qurşağınızı seçin
Addım 2: WiFi giriş nöqtəsinin yaradılması
Diqqət yetirin, bu yönlendirici halına gəlməzdən əvvəl aşağıdakı paketləri quraşdırmaq üçün RaspberryPi -ni Ethernet portu vasitəsilə mövcud bir şəbəkəyə bağlayırıq.
sudo apt-get update && sudo apt-get -y upgrade
sudo apt-get dnsmasq hostapd vim quraşdırın
sudo apt-get install vim git python-smbus i2c-tools python-views python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev
sudo vi /etc/dhcpcd.conf
Aşağıdakı sətri əlavə edin:
denyinterfaces wlan0 sudo vi/etc/network/interfaces
Wlan0 hissəsini belə görünəcək şəkildə düzəldin:
avtomatik geri iface lo inet loopback
iface eth0 inet təlimatı
avtomatik wlan0 iface wlan0 inet statik ünvan 10.0.10.1 şəbəkə maskası 255.255.255.0 şəbəkə 10.0.10.0 yayım 10.0.10.255
avtomatik eth1 iface eth1 inet statik ünvan 10.0.20.1 şəbəkə maskası 255.255.255.0 şəbəkə 10.0.20.0 yayım 10.0.20.255 DHCP Serverini yenidən yükləyin və eth0 və wlan0 əlaqələri üçün konfiqurasiyanı geri qaytarın
sudo xidməti dhcpcd yenidən başladın
sudo ifdown eth0; sudo ifup wlan0
HOSTAPD -ı konfiqurasiya edin (ssid və wpa_passphrase seçimlərini özünüz seçdiyiniz dəyərlərə dəyişin)
sudo vi /etc/hostapd/hostapd.conf
# Bu yuxarıda konfiqurasiya etdiyimiz WiFi interfeysinin adıdır = wlan0
# Nl80211 sürücüsünü brcmfmac sürücü sürücüsü = nl80211 ilə istifadə edin
# Bu ssid = NintendoWiFi şəbəkəsinin adıdır
# 2.4GHz diapazonundan istifadə edin hw_mode = g
# Kanal 6 kanal = 6 istifadə edin
# 802.11n ieee80211n = 1 aktiv edin
# WMM aktivləşdir wmm_enabled = 1
# 20ns mühafizə aralığı ilə 40MHz kanalları aktiv edin ht_capab = [HT40] [SHORT-GI-20] [DSSS_CCK-40]
# Bütün MAC ünvanlarını qəbul edin macaddr_acl = 0
# WPA identifikasiyası auth_algs = 1 istifadə edin
# Müştərilərdən şəbəkə adını ignore_broadcast_ssid = 0 bilmələrini tələb edin
# WPA2 wpa = 2 istifadə edin
# Əvvəlcədən paylaşılan bir açar istifadə edin wpa_key_mgmt = WPA-PSK
# Şəbəkə parol ifadəsi wpa_passphrase = parol
# TKIP əvəzinə AES istifadə edin rsn_pairwise = CCMP Çalışaraq bu mərhələdə işlədiyini yoxlaya bilərik (lakin hələ tam internet bağlantısı yoxdur):
sudo/usr/sbin/hostapd /etc/hostapd/hostapd.conf
sudo vi/etc/default/hostapd
Xətti tapın
#DAEMON_CONF = "" ilə əvəz edin
DAEMON_CONF = "/etc/hostapd/hostapd.conf" DNSMASQ -ı konfiqurasiya edin
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo vi /etc/dnsmasq.conf
bind-interfeys # Başqa yerə heç bir şey göndərmədiyimizdən əmin olmaq üçün interfeysi bağlayın server = 8.8.8.8 # DNS sorğularını Google DNS domeninə göndərin # Qısa adları saxta-özəl göndərməyin -ünvanlı boşluqlar.
# IP ünvanlarını sonsuz kirayə müddəti ilə təyin edin (cihaz istifadəsi statistikası üçün) dhcp-range = wlan0, 10.0.10.100, 10.0.10.200, 255.255.255.0, 10.0.10.255, sonsuz dhcp aralığı = eth1, 10.0.20.100, 10.0. 20.200, 255.255.255.0, 10.0.20.255, sonsuz IPV4 İLƏ YÜKLƏYİN
sudo vi /etc/sysctl.conf
[şərh etmə] net.ipv4.ip_forward = 1
Dərhal sudo sh -c "echo 1>/proc/sys/net/ipv4/ip_forward" ilə aktivləşdirin.
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A İLƏ -i eth0 -o eth1 -m dövlət -dövlət İLƏ BAĞLI, KURULUB -j QABUL EDİR
sudo iptables -A İLƏ -i eth1 -o eth0 -j QƏBUL ET
sudo iptables -A İLƏ -i eth0 -o wlan0 -m dövlət -dövlət İLƏ BAĞLI, KURULUB -j QABUL EDİR
sudo iptables -A İLƏ -i wlan0 -o eth0 -j QƏBUL ET
Növbəti yenidən başlatma üçün iptables parametrlərini qeyd edin
sudo sh -c "iptables -save> /etc/iptables.ipv4.nat"
İpv4 qaydaları faylı yaradın (yeni məzmunla)
sudo vi/lib/dhcpcd/dhcpcd-hooks/70-ipv4-nat
iptables-bərpa </etc/iptables.ipv4.nat Xidmətləri Yenidən Başlat
sudo service hostapd start sudo service dnsmasq start
sudo yenidən başladın
Statik IP təyin etmək [İsteğe bağlı]
Şəbəkənizdəki ev sahiblərinin statik ips olmasını istəyirsinizsə, aşağıdakılardan istifadə edin
Hostları hal -hazırda DHCP vi /var/lib/misc/dnsmasq.leases vasitəsi ilə əlaqələndirin
MAC ünvanını (yuxarıdakı çıxışdan) və onlara təyin etmək istədiyiniz IP ünvanını sudo vi /etc/dnsmasq.conf ünvanına əlavə edin.
# ana masaüstü dhcp-host = 12: 34: 56: 78: 9a: bc, 10.0.20.20 Qeyd: Bu, MAC Ünvanlı şəbəkə interfeysini təyin edəcək: 12: 34: 56: 78: 9a: bc IP ünvanına 10.0.20.20. Sadalanan IP ünvanı, yalnız eyni alt şəbəkədə verilən DHCP aralığında olmaq məcburiyyətində deyil. Yuxarıdakı əsas masaüstüm alt şəbəkə eth1: 10.0.20.0 -da olduğu üçün ona 10.0.20.20 IP ünvanını verdim.
UFW Firewall əlavə olunur
sudo apt-get ufw yükləyin
Ümumi istifadə üçün 22 portuna icazə verin (uzaqdan şəbəkəyə giriş üçün)
sudo ufw icazə 22
Yerli şəbəkədəki bütün limanlara icazə verin
sudo ufw 10.0.10.0/24 tarixindən icazə verin sudo ufw 10.0.20.0/24 tarixindən etibarən icazə verin
Hər kəsin veb portlarına icazə verin
sudo ufw icazə 80
Hər kəs üçün təhlükəsiz veb portlarına icazə verin
sudo ufw icazə 443
UFW -ni aktivləşdirin və vəziyyəti yoxlayın
sudo ufw -güc tətbiq edin
sudo ufw statusu
Başlanğıcda başlamayan UFW ilə BUG -u düzəldin
sudo su crontab -e
Aşağıdakı sətri əlavə edin: @reboot /bin /sleep 60; ufw -güc tətbiq edin
Addım 3: Lazım olan təchizatlar: Köhnə Broken Nintendo
Qırılmış NES -dən Köhnə Nintendo Çantası (yalnız xarici çərçivəni, güc / sıfırlama düymələrini və nəzarətçi əlaqələrini buraxaraq, korpusun içindəki bütün köhnə məzmunu çıxarın)
Addım 4: Lazım olan təchizatlar: Raspberry Pi 3 Model B
Addım 5: Lazım olan təchizatlar: 1.44 "Seriya: UART/I2C/SPI TFT LCD 128x128 Ekran Modulu
Addım 6: Lazım olan təchizatlar: 5V 0.1A Mini Fan Raspberry Pi
Addım 7: Lazım olan təchizatlar: Ugreen USB 2.0 - 10/100 Fast Ethernet Lan Simli Şəbəkə Adaptoru
Addım 8: Tikinti
NES -in içərisinə quraşdırın
Bir 3D printerdən istifadə edərək/Construction/display-frame/qovluğunda "NESPanel" Digole Ekran çərçivəsini çap edin. [3D printeriniz yoxdursa, Dremel aləti ilə Digole Ekranı üçün bir kvadrat çuxur kəsə bilərsiniz] Kiçik fanatın bərkidilməsini təmin etmək üçün korpusun arxa və yan tərəfindəki aşağıdakı delikləri kəsin. yan və arxadan daxil olmaq üçün güc/ethernet və USB ethernet kabelləri.
Addım 9: İnşaat Davamı
Sağ üst qara paneli NES -dən sökün və digole ekranınızı quraşdırmaq üçün kifayət qədər böyük bir kvadrat çuxur kəsin. Üstündə "NESPanel" 3D çaplı çərçivə olan ekranı Hot Glue ilə yerləşdirin.
Addım 10: İnşaat Davamı
RaspberryPi boş NES korpusunun alt hissəsinin ortasına quraşdırın, altından yapışqan və ya kiçik bir vida ilə bağlayın. 270 ohm müqavimət istifadə edərək, NES -in "LED -in gücünü" Raspberry Pi -də 5V və GND pinlərinə qoşun (qısa LED qurğusu torpaqdır). Kiçik fanı 5V və GND pinlərinə də qoşun ki, cihaz işə düşsün, fanı yan deliyə yapışdırın.
Addım 11: Digole Ekranına qoşulun
Aşağıdakı pinləri RaspberryPi üzərindəki pinlərə bağlayın
VCC 3v GND -yə bağlıdır DATA SDA CLOCK SCL -dir İndi cihazı i2cdetect əmrinizdə görməlisiniz
i2cdetect -y 1, mətn ızgarasında 27 olaraq görünməlidir
Addım 12: Şəbəkə İzləmə Alətlərini və DB Qeydini Qurun
sudo apt-get install ifstat memcached python-memcache postgresql postgresql-Contrib python-psycopg2
sudo vi /etc/postgresql/9.4/main/pg_hba.conf
Faylın sonuna aşağıdakı sətri əlavə edin: local all pi password sudo -i -u postgres
psql
rol pi parolunu 'burada parol' yaradın;
pi girişini dəyişdirin;
pi superuser rolunu dəyişdirin;
du
(verilən icazələrlə PI istifadəçinizi görməlisiniz) database_stats verilənlər bazası yaradın;
q
çıxmaq
psql -d network_stats
Aşağıdakı sorğuları işə salın:
TABLO yarat trafik_per_dəqiqə (id seriyası, vaxt zonası olmayan zaman zonası NULL DEĞİL, eth0_down real, eth0_up real, eth1_down real, eth1_up real, wan0_down real, wan0_up real);
TRAFİK_DƏQİQƏSİNDƏ UNİKAL İNDEKS yaradın time_idx (vaxt); Bu layihədəki "giriş" kod qovluğunu RPi -nin ev qovluğuna kopyalayın
crontab -e
Bu xətti əlavə edin
@reboot /bin /yuxu 60; nohup python /home/pi/logging/networkUsage.py>/dev/null 2> & 1
Addım 13: Trafik Xülasəsi Hesabatını quraşdırın (Cronjob tərəfindən hər 5 dəqiqədə bir işləyir)
crontab -e
aşağıdakı sətri əlavə edin
*/5 * * * * python /home/pi/logging/trafficSummary.py
Addım 14: Göstərici Paneli Ekranını quraşdırın
Bu layihədəki "ekran" kod qovluğunu RPi -nin ev qovluğuna kopyalayın
Aşağıdakı kimi çalıştırın
$ python /home/pi/display/NESRouter.py Başlanğıcda işləmək üçün ekran skriptini qurun
crontab -e
Bu xətti əlavə edin
@rehot nohup python /home/pi/display/NESRouter.py>/dev/null 2> & 1
Ekranın yenidən başladıqdan sonra işə başladığını yoxlayın
sudo yenidən başladın
Addım 15: Yerli İstifadə/Statistik Veb saytını quraşdırın [https://10.0.10.1]
Yerli istifadə/statistika veb saytını quraşdırın [https://10.0.10.1]
sudo apt-get yeniləmə && sudo apt-get upgrade -y
sudo apt-get apache2 quraşdırın
sudo xidməti apache2 yenidən başladın
Varsayılan səhifələri silin
cd /var /www
sudo rm -rf html
'Webportal' qovluğunu bu layihədən RPi üzərindəki ev qovluğuna kopyalayın və apache -dən istifadə etmək üçün simvol yaradın
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 Skriptini aktiv edin
Etiketin içərisinə əlavə edin
Seçimlər +ExecCGI AddHandler cgi-script.py sudo xidməti apache2 yenidən başladın
İndi yerli HTTP saytına daxil ola bilərsiniz [https://10.0.10.1]
İnkişaf etmiş şəbəkə monitorinqini qurun (IPFM vasitəsilə)
sudo apt-get yeniləməsi
sudo apt-get ipfm quraşdırın
sudo mv /etc/ipfm.conf /etc/ipfm.conf-bak
sudo vi /etc/ipfm.conf
Aşağıdakı məzmunlarla yaradın:
# Qlobal dəyişənlər
# IPFM yalnız bir cihazı izləyə bilər. CİHAZ et0
# GLOBAL LOGGING KONFİGÜRASİYA QEYDİ
FILENAME "/var/log/ipfm/%Y_%d_%m/%H_%M"
# hər dəqiqə daxil olun HƏR 1 dəqiqədən bir atın
hər gün # açıq statistika HƏR 24 SAATLI TƏZİNDƏ həll edin sudo xidməti ipfm start
OPSİYONLU: Ekranda göstərmək üçün öz Nintendo şəkillərinizi yaratmaq
Öz 128x128 faylınızı aşağıdakı URL -yə yükləyin:
www.digole.com/tools/PicturetoC_Hex_convert…
Yükləmək üçün şəkil faylınızı seçin, ekranda hansı ölçüdə olmasını istədiyinizi əlavə edin (Genişlik/Boy)
"İstifadə olunur" açılır menyusunda "Rəngli OLED/LCD (1 bayt/piksel) üçün 256 Rəng" seçin.
Hex çıxışını əldə edin.
Onaltılı çıxışı bir display/ build/ header (.h) faylına əlavə edin, digərlərini sintaksis üçün bələdçi olaraq istifadə edin.
Yeni faylı digole.c faylına daxil edin #include myimage.h
Şəkil sənədinizə yeni bir əmr satırı çəngəlini əlavə edin. Qeyd: Aşağıdakı əmr, şəklinizi 10 pikseldən yuxarı 10 piksel mövqedə çəkin. Fərqli X, Y koordinatlarına dəyişə bilərsiniz, həmçinin 128, 128 dəyərlərini yeni görüntünüzün əsl ölçüsünə görə dəyişə bilərsiniz.
} başqa if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariable Here (.h) faylınızda müəyyən edilmişdir}
İndi yeni görüntünüzü aşağıdakı əmrlə işlətmək üçün aşağıda yenidən qurun (səhvləri görməyin).
$./digole myimage Yenidən Tikinti [Daxildir] İsteğe bağlı dəyişikliklər üçün Digole Ekran Sürücüsü
$ cd display/build $ gcc digole.c $ mv a.out../../digole $ chmod +x../../digole
Tövsiyə:
WiFi Router V4 üçün UPS: 6 Addım (Şəkillərlə birlikdə)
WiFi Router V4 üçün UPS: Hamıya Salam, Evdən işimiz artdıqca hamımız fasiləsiz işləmək istəyirik, Hindistanda elektrik kəsilməsi çox yaygındır .. Bir çox mənzildə elektrik kəsilməsindən bir neçə saniyə sonra işə düşən ehtiyat generatorları quraşdırılıb. elektrik kəsilməsi f üçün
Router Ups V2: 6 Addım (Şəkillərlə birlikdə)
Router Ups V2: Hamıya Salam, Bir neçə ay bundan əvvəl 18650 lityum ion batareya istifadə edərək Routerlər üçün ilk UPS -i düzəltmişdim, biri routerim üçün, biri də lif çeviricim üçün iki UPS etmişdim. İki güc adapteri ilə bir az qarışıq idi. Tək UPS qurmaq mənim siyahımda idi
Nintendo NES PC qurun: 10 addım (şəkillərlə birlikdə)
Nintendo NES PC qurun: Ah, Nintendo Əyləncə Sistemi. Mənə bir çox xoş xatirələr geri gətirir: Super Mario Bros., Double Dragon, Megaman. Həm də o qədər də böyük olmayan xatirələri geri gətirir. Kartuş dəyişdirmə əzabı, başınız dönənə qədər əsir və hələ də heç nə almırsınız
Nintendo Joycon Drift Fix (Proqramla əlaqəli deyil): 8 Addım (Şəkillərlə birlikdə)
Nintendo Joycon Drift Fix (Proqramla əlaqəli deyil): Bir il ağır istifadədən sonra, analog çubuğa toxunmadıqda joyconumun sürüşəcəyini hiss etməyə başladım. Mən əvəzedici analoq çubuq axtardım, amma
3 Eksenli CNC Router - 60 "x60" x5 " - JunkBot: 5 Addım (Şəkillərlə birlikdə)
3 Eksenli CNC Router - 60 "x60" x5 " - JunkBot: Bu Təlimat, DIY 3 eksenli CNC routerin inşasını sənədləşdirən bir seriyadakı ilk kitabdır. tam addım -addım irəliləyiş göstərmək deyil, əksinə