INHOUDSOPGAWE:
- Stap 1: Installeer die vereiste RaspberryPi -sagteware
- Stap 2: Skep die WiFi -toegangspunt
- Stap 3: Benodighede benodig: Old Broken Nintendo
- Stap 4: Benodighede benodig: Framboos Pi 3 Model B
- Stap 5: Benodighede benodig: 1,44 "reeks: UART/I2C/SPI TFT LCD 128x128 skermmodule
- Stap 6: Benodighede benodig: 5V 0.1A Mini Fan Raspberry Pi
- Stap 7: Benodighede benodig: Ugreen USB 2.0 tot 10/100 Fast Ethernet Lan Wired Network Adapter
- Stap 8: Konstruksie
- Stap 9: Konstruksie vervolg
- Stap 10: Konstruksie vervolg
- Stap 11: Koppel die Digole -skerm aan
- Stap 12: Installeer gereedskap vir netwerkmonitering en DB -aanmelding
- Stap 13: Installeer die verkeersopsommingsverslag (loop elke 5 minute deur Cronjob)
- Stap 14: Installeer die paneelbordskerm
- Stap 15: Installeer die webwerf vir plaaslike gebruik/statistieke [http://10.0.10.1]
Video: Nintendo Wifi -router: 17 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:28
Gebruik 'n ou Nintendo Entertainment -stelselkas en produseer 'n baie funksionele tuisrouter met 'n RaspberryPI 3!
Stap 1: Installeer die vereiste RaspberryPi -sagteware
Knipperende RaspberriPi -hardeskyf / Installeer vereiste sagteware (met Ubuntu Linux)
Laai 'RASPBIAN JESSIE LITE' af
Skep u nuwe hardeskyf vir DashboardPI
Plaas die microSD via u USB -adapter op u rekenaar en skep die skyfbeeld met die opdrag dd
Soek u ingevoegde microSD -kaart via die df -h -opdrag, ontkoppel dit en skep die skyfbeeld met die skyfkopie dd -opdrag
$ df -h/dev/sdb1 7.4G 32K 7.4G 1%/media/XXX/1234-5678
$ umount /dev /sdb1
Let op: maak seker dat die opdrag heeltemal akkuraat is; u kan ander skywe beskadig met hierdie opdrag
if = ligging van die RASPBIAN JESSIE LITE -prentlêer van = ligging van u microSD -kaart
$ sudo dd bs = 4M as =/path/to/raspbian-jessie-lite.img van =/dev/sdb (let wel: in hierdie geval is dit/dev/sdb,/dev/sdb1 'n bestaande fabriekspartisie op die microSD) Stel u RaspberriPi op
Plaas u nuwe microSD -kaart in die raspberrypi en skakel dit aan met 'n monitor wat op die HDMI -poort gekoppel is
Teken aan
gebruiker: pi pass: framboos Verander u rekeningwagwoord vir sekuriteit
sudo passwd pi Aktiveer RaspberriPi Advanced Options
sudo raspi-config Kies: 1 Brei lêerstelsel uit
9 Gevorderde opsies
A2 Gasheernaam verander dit na "NESRouter"
A4 SSH Aktiveer SSH -bediener
A7 I2C Aktiveer i2c -koppelvlak Aktiveer die Engels/Amerikaanse sleutelbord
sudo nano/etc/default/keyboard Verander die volgende reël: XKBLAYOUT = "us" Stel die eenvoudige gids l opdrag op [opsioneel]
vi ~/.bashrc
voeg die volgende reël by:
alias l = 'ls -lh'
bron ~/.bashrc Fix VIM standaard sintaksis beklemtoon [opsioneel]
sudo vi/etc/vim/vimrc
los die volgende reël op:
sintaksis op Herlaai u PI om die nuutste veranderinge te kry
herlaai Werk plaaslike tydsone -instellings op
sudo dpkg-herkonfigureer tzdata kies u tydsone met behulp van die koppelvlak
Stap 2: Skep die WiFi -toegangspunt
Let op: voordat dit 'n router word, sluit ons die RaspberryPi aan op 'n bestaande netwerk via die ethernet -poort om die volgende pakkette te installeer
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
Voeg die volgende reël by:
denyinterfaces wlan0 sudo vi/etc/network/interfaces
Wysig die wlan0 -afdeling sodat dit so lyk:
outo lo iface lo inet loopback
iface eth0 inet handleiding
auto wlan0 iface wlan0 inet statiese adres 10.0.10.1 netmasker 255.255.255.0 netwerk 10.0.10.0 uitsending 10.0.10.255
outomatiese eth1 iface eth1 inet statiese adres 10.0.20.1 netmask 255.255.255.0 netwerk 10.0.20.0 uitsending 10.0.20.255 Herlaai DHCP -bediener en weerkaats die konfigurasie vir eth0- en wlan0 -verbindings
sudo diens dhcpcd herbegin
sudo ifdown eth0; sudo ifup wlan0
Stel HOSTAPD op (Verander ssid en wpa_passphrase na die waardes van u keuse)
sudo vi /etc/hostapd/hostapd.conf
# Dit is die naam van die WiFi -koppelvlak wat ons hierbo gestel het = wlan0
# Gebruik die nl80211 -bestuurder saam met die brcmfmac -bestuurderbestuurder = nl80211
# Dit is die naam van die netwerk ssid = NintendoWiFi
# Gebruik die 2,4 GHz -band hw_mode = g
# Gebruik kanaal 6 kanaal = 6
# Aktiveer 802.11n ieee80211n = 1
# Aktiveer WMM wmm_enabled = 1
# Aktiveer 40MHz-kanale met 'n 20ns-bewakingsinterval ht_capab = [HT40] [SHORT-GI-20] [DSSS_CCK-40]
# Aanvaar alle MAC -adresse macaddr_acl = 0
# Gebruik WPA -verifikasie auth_algs = 1
# Vereis dat kliënte die netwerknaam ignoreer_broadcast_ssid = 0
# Gebruik WPA2 wpa = 2
# Gebruik 'n vooraf gedeelde sleutel wpa_key_mgmt = WPA-PSK
# Die netwerkwagfrase wpa_passphrase = wagwoord
# Gebruik AES, in plaas van TKIP rsn_pairwise = CCMP Ons kan op hierdie stadium kyk of dit werk (maar het nog nie volledige internetverbinding nie):
sudo/usr/sbin/hostapd /etc/hostapd/hostapd.conf
sudo vi/etc/default/hostapd
Vind die lyn
#DAEMON_CONF = "" en vervang dit met
DAEMON_CONF = "/etc/hostapd/hostapd.conf" Stel DNSMASQ op
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo vi /etc/dnsmasq.conf
bind-interfaces # Bind aan die koppelvlak om seker te maak dat ons nie dinge elders stuur nie = 8.8.8.8 # Stuur DNS-versoeke aan na Google DNS-domein wat nodig is # Moenie kort name nep-priv nie aanstuur nie # Moet nooit adresse in die nie -route adresruimtes.
# Ken IP-adresse toe met oneindige huurtyd (vir gebruikstatistieke) dhcp-range = wlan0, 10.0.10.100, 10.0.10.200, 255.255.255.0, 10.0.10.255, oneindige dhcp-range = eth1, 10.0.20.100, 10.0. 20.200, 255.255.255.0, 10.0.20.255, oneindige INSTEL IPV4 VOORWAARDE
sudo vi /etc/sysctl.conf
[uncomment] net.ipv4.ip_forward = 1
Aktiveer dit onmiddellik met sudo sh -c "echo 1>/proc/sys/net/ipv4/ip_forward"
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A VOORUIT -i eth0 -o eth1 -m staat -staat VERWANTE, VASGESTELD -j AANVAAR
sudo iptables -A VOORUIT -i eth1 -o eth0 -j AANVAAR
sudo iptables -A VOORUIT -i eth0 -o wlan0 -m staat -staat VERWANTE, VASGESTELD -j AANVAAR
sudo iptables -A VOORUIT -i wlan0 -o eth0 -j AANVAAR
Stoor iptables -instellings vir die volgende herlaai
sudo sh -c "iptables -save> /etc/iptables.ipv4.nat"
Skep ipv4 reëls lêer (met nuwe inhoud)
sudo vi/lib/dhcpcd/dhcpcd-hooks/70-ipv4-nat
iptables-herstel </etc/iptables.ipv4.nat Herlaai dienste
sudo diens hostapd begin sudo diens dnsmasq begin
sudo herlaai
Ken statiese IP's toe (opsioneel)
As u wil hê dat gashere in u netwerk statiese ips moet hê, gebruik die volgende
Kry die gashere wat tans verbind is via DHCP vi /var/lib/misc/dnsmasq.leases
Voeg die MAC -adres (van die uitvoer hierbo) en die IP -adres wat u dit aan sudo vi /etc/dnsmasq.conf wil toewys, by
# main desktop dhcp-host = 12: 34: 56: 78: 9a: bc, 10.0.20.20 Nota: Dit gee die netwerk-koppelvlak die MAC-adres: 12: 34: 56: 78: 9a: bc aan IP-adres 10.0 toe.20.20. Die gelyste IP -adres hoef NIE binne die opgegeven DHCP -reeks te wees nie, net op dieselfde subnet. My hoof lessenaar hierbo is op subnet eth1: 10.0.20.0, so ek het dit IP -adres van 10.0.20.20 gegee.
Voeg UFW -firewall by
sudo apt-get install ufw
Laat poort 22 toe vir openbare gebruik (vir afgeleë netwerktoegang)
sudo ufw laat 22 toe
Laat alle poorte op my plaaslike netwerk toe
sudo ufw laat toe vanaf 10.0.10.0/24 sudo ufw laat toe vanaf 10.0.20.0/24
Laat webpoorte toe vir almal
sudo ufw laat 80 toe
Laat veilige webpoorte vir almal toe
sudo ufw laat 443 toe
Aktiveer UFW en kyk na die status
sudo ufw -dwing in staat stel
sudo ufw status
Los BUG op met UFW wat nie begin tydens opstart nie
sudo su crontab -e
Voeg die volgende reël by: @reboot /bin /sleep 60; ufw -dwing in staat stel
Stap 3: Benodighede benodig: Old Broken Nintendo
Ou Nintendo -omhulsel van 'n gebroke NES (verwyder al die ou inhoud in die omhulsel, laat slegs die buitekant, die aan / uit -knoppies en die kontroleerderverbindings)
Stap 4: Benodighede benodig: Framboos Pi 3 Model B
Stap 5: Benodighede benodig: 1,44 "reeks: UART/I2C/SPI TFT LCD 128x128 skermmodule
Stap 6: Benodighede benodig: 5V 0.1A Mini Fan Raspberry Pi
Stap 7: Benodighede benodig: Ugreen USB 2.0 tot 10/100 Fast Ethernet Lan Wired Network Adapter
Stap 8: Konstruksie
Installeer binne die NES
Druk die Digole-skerm "NESPanel" in die/construction/display-frame/folder met 'n 3D-drukker. [as u nie 'n 3D -drukker het nie, kan u 'n vierkantige gat vir die Digole -skerm met 'n Dremel -instrument fyn sny] Sny die volgende gate oop aan die agterkant en sykant van die omhulsel sodat die klein waaier aan die kant en die krag-/ethernet- en USB -ethernetkabels om deur die agterkant in te kom.
Stap 9: Konstruksie vervolg
Skroef die swart paneel regs bo van die NES af en sny 'n groot genoeg vierkantige gat om u digole -skerm te monteer. Plak die skerm vas met die 3D -gedrukte raam "NESPanel" bo -op.
Stap 10: Konstruksie vervolg
Monteer die RaspberryPi in die middel van die onderkant van die leë NES -omhulsel, maak dit vas met gom of 'n klein skroefie aan die onderkant. Koppel die "power on LED" van die NES met 'n weerstand van 270 ohm aan die 5V- en GND -penne in die Raspberry Pi (kort LED -kabel is die grond). Koppel die klein waaier ook aan die 5V- en GND -penne om dit te laat loop wanneer die eenheid begin, plak die waaier teen die gat in die sy daarvoor.
Stap 11: Koppel die Digole -skerm aan
Koppel die volgende penne aan die penne op die RaspberryPi
VCC is gekoppel aan 3v GND is gemaal DATA is SDA CLOCK is SCL Nou moet u die toestel in u i2cdetect -opdrag sien
i2cdetect -y 1 dit moet as 27 in die teksrooster verskyn
Stap 12: Installeer gereedskap vir netwerkmonitering en DB -aanmelding
sudo apt-get install ifstat memcached python-memcache postgresql postgresql-contrib python-psycopg2
sudo vi /etc/postgresql/9.4/main/pg_hba.conf
Voeg die volgende reël by die einde van die lêer: local all pi password sudo -i -u postgres
psql
skep 'n wagwoord hier vir 'n rol pi -wagwoord;
verander rol pi login;
verander rol pi supergebruiker;
du
(u moet u PI -gebruiker sien met die toegestane toestemmings) skep databasis network_stats;
q
uitgang
psql -d netwerk_statistieke
Voer die volgende navrae uit:
SKEP TABEL traffic_per_minute (ID -reeks, tydstempel sonder tydsone NIE NULL nie, eth0_down real, eth0_up real, eth1_down real, eth1_up real, wan0_down real, wan0_up real);
SKEP UNIEKE INDEKS time_idx ON traffic_per_minute (tyd); Kopieer die gids "aanmelding" van hierdie projek na die tuisgids van u RPi
crontab -e
Voeg hierdie reël by
@reboot /bin /sleep 60; nohup python /home/pi/logging/networkUsage.py>/dev/null 2> & 1
Stap 13: Installeer die verkeersopsommingsverslag (loop elke 5 minute deur Cronjob)
crontab -e
voeg die volgende reël by
*/5 * * * * python /home/pi/logging/trafficSummary.py
Stap 14: Installeer die paneelbordskerm
Kopieer die "vertoon" -map met kode van hierdie projek na die tuisgids van u RPi
Begin dit soos volg
$ python /home/pi/display/NESRouter.py Stel die vertoningsskrif op om te begin tydens opstart
crontab -e
Voeg hierdie reël by
@reboot nohup python /home/pi/display/NESRouter.py>/dev/null 2> & 1
Kontroleer of die skerm begin met herlaai
sudo herlaai
Stap 15: Installeer die webwerf vir plaaslike gebruik/statistieke [https://10.0.10.1]
Installeer die plaaslike gebruiks-/statistiekwebwerf [https://10.0.10.1]
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get installeer apache2
sudo service apache2 herbegin
Verwyder verstekbladsye
cd /var /www
sudo rm -rf html
Kopieer 'webportal' gids van hierdie projek na u tuismap op u RPi en skep die simlink vir apache om te gebruik
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
Aktiveer Python CGI Scripting
Voeg binne -in die etiket
Opsies +ExecCGI AddHandler cgi-script.py sudo service apache2 herlaai
U kan nou die plaaslike HTTP -webwerf besoek [https://10.0.10.1]
Stel gevorderde netwerkmonitering op (via IPFM)
sudo apt-get update
sudo apt-get install ipfm
sudo mv /etc/ipfm.conf /etc/ipfm.conf-bak
sudo vi /etc/ipfm.conf
Skep met die volgende inhoud:
# Globale veranderlikes
# IPFM kan slegs een toestel monitor. TOESTEL eth0
# GLOBALE AANMELDING KONFIGURASIE LOG
FILENAME "/var/log/ipfm/%Y_%d_%m/%H_%M"
# teken elke minuut DUMP ELKE 1 minuut in
# duidelike statistieke elke dag LEER ELKE 24 uur SORTEER IN OPLOSSING sudo service ipfm start
OPSIONEEL: Maak u eie Nintendo -beelde om op die skerm weer te gee
Laai u eie 128x128 -lêer op na die volgende URL:
www.digole.com/tools/PicturetoC_Hex_convert…
Kies u prentlêer om op te laai, voeg die grootte by wat u wil hê op die skerm (breedte/hoogte)
Kies "256 kleur vir kleur OLED/LCD (1 greep/pixel)" in die "Gebruik vir" -afrollys
Verkry die heksafvoer.
Voeg die hex -uitvoer by 'n display/ build/ header (.h) lêer, gebruik die ander as riglyne vir sintaksis.
Sluit die nuwe lêer in die digole.c -lêer in #include myimage.h
Sluit 'n nuwe haak van die opdragreël by u beeldlêer in die. Let wel: die onderstaande opdrag sê dat u u prent op posisie 10 pixels bo 10 pixels na onder moet trek. U kan dit verander na verskillende X-, Y -koördinate; u kan ook die waardes 128, 128 verander in watter grootte u nuwe beeld ook al is.
} anders if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, en myimageVariableHere, 0); // myimageVariableHere word gedefinieer in jou (.h) lêer}
Herbou (ignoreer die foute) hieronder om u nuwe prentjie met die volgende opdrag weer te gee.
$./digole myimage Herbou [ingesluit] Digole Display Driver vir u opsionele veranderinge
$ cd vertoon/bou $ gcc digole.c $ mv a.out../../digole $ chmod +x../../digole
Aanbeveel:
Bou 'n Nintendo NES PC: 10 stappe (met foto's)
Bou 'n Nintendo NES PC: Ah, die Nintendo Entertainment System. Dit bring my baie goeie herinneringe terug: Super Mario Bros., Double Dragon, Megaman. Dit bring ook nie-so-goeie herinneringe terug. Die hartseer om patrone te verander, waai totdat jy duiselig word en nog niks raak nie
Wifi -beheerde 12v Led Strip met Raspberry Pi Met Tasker, Ifttt -integrasie: 15 stappe (met foto's)
Wifi -beheerde 12v Led Strip met Raspberry Pi Met Tasker, Ifttt Integration .: In hierdie projek sal ek jou wys hoe om 'n eenvoudige 12v analoge led strip oor wifi te beheer met 'n framboos pi. Vir hierdie projek benodig jy: 1x Raspberry Pi (I gebruik 'n Raspberry Pi 1 Model B+) 1x RGB 12v Le
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino - Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter - Rc Helikopter - Rc -vliegtuig met Arduino: 5 stappe (met foto's)
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino | Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter | Rc Helikopter | Rc -vliegtuig met Arduino: om 'n Rc -motor te bestuur | Quadcopter | Drone | RC -vliegtuig | RC -boot, ons het altyd 'n ontvanger en sender nodig, veronderstel dat ons vir RC QUADCOPTER 'n 6 -kanaals sender en ontvanger nodig het en dat die tipe TX en RX te duur is, so ons maak een op ons
Hoe om 'n rekenaar met maklike stappe en foto's uitmekaar te haal: 13 stappe (met foto's)
Hoe om 'n rekenaar uitmekaar te haal met eenvoudige stappe en foto's: dit is 'n instruksie oor hoe om 'n rekenaar uitmekaar te haal. Die meeste basiese komponente is modulêr en kan maklik verwyder word. Dit is egter belangrik dat u daaroor georganiseerd is. Dit sal u verhinder om onderdele te verloor, en ook om die montering weer
8 Relaisbeheer met NodeMCU en IR -ontvanger met behulp van WiFi en IR -afstandsbediening en Android -app: 5 stappe (met foto's)
8 Relaisbeheer met NodeMCU en IR -ontvanger met behulp van WiFi en IR -afstandsbediening en Android -app: die bestuur van 8 aflosskakelaars met nodemcu- en ir -ontvanger via wifi en ir -afstandsbediening en Android -app. Die afstandsbediening werk onafhanklik van wifi -verbinding. HIER