Мазмұны:

Nintendo Wifi маршрутизаторы: 17 қадам (суреттермен)
Nintendo Wifi маршрутизаторы: 17 қадам (суреттермен)

Бейне: Nintendo Wifi маршрутизаторы: 17 қадам (суреттермен)

Бейне: Nintendo Wifi маршрутизаторы: 17 қадам (суреттермен)
Бейне: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Қараша
Anonim
Nintendo Wifi маршрутизаторы
Nintendo Wifi маршрутизаторы

Ескі Nintendo Entertainment жүйелік корпусын пайдаланып, RaspberryPI 3 көмегімен жоғары функционалды үй маршрутизаторын шығарыңыз!

1 -қадам: Қажетті RaspberryPi бағдарламалық жасақтамасын орнатыңыз

RaspberriPi қатты дискінің жыпылықтауы / қажетті бағдарламалық жасақтаманы орнату (Ubuntu Linux көмегімен)

«RASPBIAN JESSIE LITE» жүктеу

DashboardPI үшін жаңа қатты дискіні жасаңыз

MicroSD картасын компьютерге USB адаптері арқылы салыңыз және dd пәрменін қолдана отырып, диск кескінін жасаңыз

DF -h пәрмені арқылы енгізілген microSD картасын табыңыз, оны ажыратыңыз және дискіні көшіру dd пәрменімен дискінің кескінін жасаңыз.

$ df -h/dev/sdb1 7.4G 32K 7.4G 1%/медиа/XXX/1234-5678

$ umount /dev /sdb1

Ескерту: пәрменнің толық дәл екеніне көз жеткізіңіз, сіз бұл пәрменмен басқа дискілерді зақымдауға болады

if = RASPBIAN JESSIE LITE кескін файлының орналасқан жері = microSD картасының орны

$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img of//dev/sdb (ескерту: бұл жағдайда бұл/dev/sdb,/dev/sdb1-бұл зауыттық бөлім. microSD) RaspberriPi орнату

Жаңа microSD картасын таңқурайға салыңыз және оны HDMI портына қосылған монитормен қосыңыз

Кіру

user: pi pass: таңқурай Қауіпсіздік үшін есептік жазбаңыздың құпия сөзін өзгертіңіз

sudo passwd pi RaspberriPi кеңейтілген параметрлерін қосу

sudo raspi-config таңдаңыз: 1 Файлдық жүйені кеңейтіңіз

9 Қосымша опциялар

A2 хост атауы оны «NESRouter» етіп өзгертеді

A4 SSH SSH серверін қосыңыз

A7 I2C i2c интерфейсін қосу Ағылшын/АҚШ пернетақтасын қосыңыз

sudo nano/etc/default/keyboard Келесі жолды өзгертіңіз: XKBLAYOUT = «us» Қарапайым каталогты орнатыңыз l пәрмені [міндетті емес]

vi ~/.bashrc

келесі жолды қосыңыз:

лақап аты l = 'ls -lh'

source ~/.bashrc Fix VIM синтаксисін бөлектеу [міндетті емес]

sudo vi/etc/vim/vimrc

келесі жолды өшіріңіз:

синтаксис соңғы өзгерістерді алу үшін PI қайта жүктеңіз

Қайта жүктеу Жергілікті уақыт белдеуінің параметрлерін жаңартыңыз

sudo dpkg-tzdata интерфейсін қолдана отырып, уақыт белдеуін таңдаңыз

2 -қадам: WiFi кіру нүктесін құру

Назар аударыңыз, бұл маршрутизатор болмай тұрып, біз келесі пакеттерді орнату үшін RaspberryPi -ді желіге оның Ethernet порты арқылы қосамыз.

sudo apt-get update && sudo apt-get -y upgrade

sudo apt-get dnsmasq hostapd vim орнатыңыз

sudo apt-get install vim git python-smbus i2c-tools python-бейнелеу python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev

sudo vi /etc/dhcpcd.conf

Келесі жолды қосыңыз:

denyinterfaces wlan0 sudo vi/etc/network/interfaces

Wlan0 бөлімін келесідей етіп өңдеңіз:

автоматты түрде iface lo inet loopback

iface eth0 inet нұсқаулығы

auto wlan0 iface wlan0 inet статикалық мекен -жайы 10.0.10.1 желілік маска 255.255.255.0 желі 10.0.10.0 тарату 10.0.10.255

auto eth1 iface eth1 inet статикалық мекен -жайы 10.0.20.1 желілік маска 255.255.255.0 желісі 10.0.20.0 таратылымы 10.0.20.255 DHCP серверін қайта жүктеңіз және eth0 және wlan0 қосылымдарының конфигурациясын шығарыңыз

sudo қызметі dhcpcd қайта іске қосыңыз

sudo ifdown eth0; sudo ifup wlan0

HOSTAPD конфигурациялау (ssid және wpa_passphrase параметрлерін өзіңіз таңдаған мәндерге өзгерту)

sudo vi /etc/hostapd/hostapd.conf

# Бұл жоғарыда конфигурацияланған WiFi интерфейсінің атауы = wlan0

# Nl80211 драйверін brcmfmac драйвері = nl80211 көмегімен қолданыңыз

# Бұл ssid = NintendoWiFi желісінің атауы

# 2.4ГГц жолағын пайдаланыңыз hw_mode = g

# 6 арнаны пайдаланыңыз = 6

# 802.11n қосу ieee80211n = 1

# WMM қосу wmm_enabled = 1

# 20нс күзет интервалымен 40МГц арналарды қосу ht_capab = [HT40] [SHORT-GI-20] [DSSS_CCK-40]

# Барлық MAC мекенжайларын қабылдаңыз macaddr_acl = 0

# WPA аутентификациясын қолданыңыз auth_algs = 1

# Клиенттерден ignore_broadcast_ssid = 0 желісінің атауын білуді талап етіңіз

# WPA2 wpa = 2 пайдаланыңыз

# Алдын ала ортақ wpa_key_mgmt = WPA-PSK кілтін қолданыңыз

# Желінің құпия фразасы wpa_passphrase = құпия сөз

# TKIP орнына AES пайдаланыңыз rsn_pairwise = CCMP Біз оның осы кезеңде жұмыс істеп тұрғанын тексере аламыз (бірақ әлі толық интернет байланысы жоқ):

sudo/usr/sbin/hostapd /etc/hostapd/hostapd.conf

sudo vi/etc/default/hostapd

Сызықты табыңыз

#DAEMON_CONF = «» және оны ауыстырыңыз

DAEMON_CONF = «/etc/hostapd/hostapd.conf» DNSMASQ теңшеу

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig

sudo vi /etc/dnsmasq.conf

bind-interfaces # Интернетті басқа жерге жібермеу үшін интерфейске байлаңыз сервер = 8.8.8.8 # DNS сұрауларын Google DNS доменіне жіберу қажет # Қысқа атауларды жалған-жеке жібермеу -мекенжайдың бос орындары.

# IP мекенжайларын шексіз жалдау уақытымен тағайындаңыз (құрылғыны пайдалану статистикасы үшін) dhcp-range = wlan0, 10.0.10.100, 10.0.10.200, 255.255.255.0, 10.0.10.255, dhcp-шексіз = eth1, 10.0.20.100, 10.0. 20.200, 255.255.255.0, 10.0.20.255, шексіз ОРНАТУ IPV4 АЛҒА

sudo vi /etc/sysctl.conf

[түсініктеме] net.ipv4.ip_forward = 1

Оны 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 -мемлекет БАЙЛАНЫСТЫ, ҚҰРЫЛҒАН -j ҚАБЫЛДАУ

sudo iptables -A FORWARD -i eth1 -o eth0 -j ҚАБЫЛДАҢЫЗ

sudo iptables -A FORWARD -i eth0 -o wlan0 -m state -мемлекет БАЙЛАНЫСТЫ, ҚҰРЫЛҒАН -j ҚАБЫЛДАУ

sudo iptables -A FORWARD -i wlan0 -o eth0 -j ҚАБЫЛДАҢЫЗ

Келесі қайта жүктеу үшін iptables параметрлерін сақтаңыз

sudo sh -c «iptables -save> /etc/iptables.ipv4.nat»

IPv4 ережелері файлын жасаңыз (жаңа мазмұнмен)

sudo vi/lib/dhcpcd/dhcpcd-ілгектер/70-ipv4-nat

iptables-restore </etc/iptables.ipv4.nat қызметтерді қайта іске қосыңыз

sudo service hostapd start sudo service dnsmasq start

sudo қайта жүктеу

Тұрақты IP тағайындау [міндетті емес]

Егер сіз желідегі хосттардың статикалық ips болуын қаласаңыз, келесіні қолданыңыз

Қазіргі уақытта DHCP vi /var/lib/misc/dnsmasq.leases арқылы қосылған хосттарды Aquire

MAC мекенжайын (жоғарыдағы шығудан) және оларды тағайындағыңыз келетін IP мекенжайын қосыңыз sudo vi /etc/dnsmasq.conf

# негізгі жұмыс үстелі dhcp-host = 12: 34: 56: 78: 9a: bc, 10.0.20.20 Ескертпе: Бұл желі интерфейсін MAC мекенжайы: 12: 34: 56: 78: 9a: bc IP мекенжайына 10.0 тағайындайды..20.20. Көрсетілген IP мекенжайы дәл сол ішкі желіде берілген DHCP ауқымында болуға міндетті емес. Менің негізгі жұмыс үстелім eth1: 10.0.20.0 ішкі желісінде, сондықтан мен оған 10.0.20.20 IP мекенжайын бердім.

UFW брандмауэрін қосу

sudo apt-get ufw орнатыңыз

22 портына жалпыға ортақ пайдалануға рұқсат етіңіз (желіге қашықтан кіру үшін)

sudo ufw рұқсат ету 22

Жергілікті желідегі барлық порттарға рұқсат етіңіз

sudo ufw рұқсат 10.0.10.0/24 бастап sudo ufw рұқсат 10.0.20.0/24 дейін

Барлығына веб -порттарға рұқсат етіңіз

sudo ufw 80 рұқсат етіңіз

Барлығына қауіпсіз веб -порттарға рұқсат етіңіз

443

UFW қосыңыз және күйді тексеріңіз

sudo ufw -күшпен қосу

sudo ufw күйі

UFW іске қосылмаған кезде BUG түзетіңіз

sudo su crontab -e

Келесі жолды қосыңыз: @reboot /bin /sleep 60; ufw -күшпен қосу

3 -қадам: Қажетті жабдықтар: ескі сынған Nintendo

Қажетті құралдар: ескі сынған Nintendo
Қажетті құралдар: ескі сынған Nintendo

Сынған NES -тен ескі Nintendo корпусы (корпустағы барлық ескі мазмұнды алып тастаңыз, тек сыртқы жақтауды, қуат / қалпына келтіру түймелерін және контроллер қосылымдарын қалдырыңыз)

4 -қадам: Қажетті жабдықтар: Raspberry Pi 3 моделі B

Қажетті жабдықтар: Raspberry Pi 3 Model B
Қажетті жабдықтар: Raspberry Pi 3 Model B

5 -қадам: Қажетті жабдықтар: 1,44 дюймдік серия: UART/I2C/SPI TFT LCD 128x128 дисплей модулі

Қажетті құралдар: 1.44
Қажетті құралдар: 1.44
Қажетті құралдар: 1.44
Қажетті құралдар: 1.44

6 -қадам: Қажетті жабдықтар: 5V 0.1A Mini Fan Raspberry Pi

Қажетті жабдықтар: 5V 0.1A Mini Fan Raspberry Pi
Қажетті жабдықтар: 5V 0.1A Mini Fan Raspberry Pi

7 -қадам: Қажетті жабдықтар: Ugreen USB 2.0 - 10/100 Fast Ethernet Lan сымды желі адаптері

Қажетті жабдықтар: Жасыл USB 2.0 - 10/100 жылдам Ethernet Lan сымды желі адаптері
Қажетті жабдықтар: Жасыл USB 2.0 - 10/100 жылдам Ethernet Lan сымды желі адаптері

8 -қадам: құрылыс

Құрылыс
Құрылыс

NES ішіне орнатыңыз

3D-принтердің көмегімен Digit дисплейінің «NESPanel» кадрын/құрылыс/дисплей-кадр/қалтаға басып шығарыңыз. [егер сізде 3D принтері болмаса, Dremel құралымен Digole дисплейі үшін төртбұрышты тесікті мұқият кесуге болады] Кішкене желдеткішті бекітуге мүмкіндік беру үшін корпустың артқы және бүйіріндегі келесі тесіктерді кесіңіз. артқы жағынан кіру үшін бүйірлік және қуат/Ethernet және USB Ethernet кабельдері.

9 -қадам: Құрылысты жалғастыру

Құрылыс Конт
Құрылыс Конт

Жоғарғы оң жақ қара панельді NES ұясынан бұрап шығарыңыз және дисплейді орнату үшін жеткілікті үлкен шаршы тесікті тазалаңыз. Ыстық желіммен дисплейдің үстіне «NESPanel» 3D басылған жақтауы қойылады.

10 -қадам: Құрылысты жалғастыру

Құрылыс Конт
Құрылыс Конт

RaspberryPi бос NES корпусының түбінің ортасына орнатыңыз, түбінен желім немесе кішкене бұранда арқылы бекітіңіз. 270 Ом резисторды қолданып, NES «жарық диодты қосуды» Raspberry Pi -дегі 5V және GND түйреуіштеріне қосыңыз (қысқа жарықдиодты сым жерге қосылады). Кішкене желдеткішті 5V және GND түйреуіштеріне қосыңыз, сонымен қатар құрылғы іске қосылған кезде оны іске қосыңыз, желдеткішті оның тесік жағына жабыстырыңыз.

11 -қадам: Digole дисплейін қосу

Келесі түйреуіштерді RaspberryPi -дегі түйреуіштерге қосыңыз

VCC 3v GND -ге қосылған, DATA - SDA CLOCK - SCL Енді сіз құрылғыны i2cdetect пәрменінде көресіз

i2cdetect -y 1 ол мәтін торында 27 ретінде көрсетілуі керек

12 -қадам: Желілік бақылау құралдарын және ДҚ журналын орнатыңыз

sudo apt-get install ifstat memcached python-memcache postgresql postgresql-салым python-psycopg2

sudo vi /etc/postgresql/9.4/main/pg_hba.conf

Файлдың соңына келесі жолды қосыңыз: local all pi password sudo -i -u postgres

psql

pi паролінің 'құпия сөзін мұнда жасаңыз';

pi логинін өзгерту;

pi superuser рөлін өзгерту;

du

(берілген рұқсаттары бар PI пайдаланушысын көру керек) network_stats дерекқорын құру;

q

Шығу

psql -d network_stats

Келесі сұрауларды іске қосыңыз:

Кестені құру Traffic_per_minute (id сериясы, уақыт белдеуі жоқ уақыт белдеуі NULL емес, eth0_down real, eth0_up real, eth1_down real, eth1_up real, wan0_down real, wan0_up real);

Бірегей INDEX жасаңыз time_idx ON Traffic_per_minute (уақыт); Осы жобадан «тіркеу» кодының қалтасын RPi үй каталогына көшіріңіз

crontab -e

Бұл жолды қосыңыз

@reboot /bin /sleep 60; nohup python /home/pi/logging/networkUsage.py>/dev/null 2> & 1

13 -қадам: Трафик туралы қысқаша есепті орнатыңыз (Cronjob әр 5 минут сайын жұмыс істейді)

crontab -e

келесі жолды қосыңыз

*/5 * * * * python /home/pi/logging/trafficSummary.py

14 -қадам: Бақылау тақтасының экранын орнатыңыз

Осы жобадан «дисплей» кодының қалтасын RPi үй каталогына көшіріңіз

Оны келесідей іске қосыңыз

$ python /home/pi/display/NESRouter.py Дисплей сценарийін іске қосу кезінде орнатыңыз

crontab -e

Бұл жолды қосыңыз

@reboot nohup python /home/pi/display/NESRouter.py>/dev/null 2> & 1

Дисплейдің қайта жүктеу кезінде жұмыс істейтінін тексеріңіз

sudo қайта жүктеу

15 -қадам: Жергілікті пайдалану/статистикалық веб -сайтты орнатыңыз [https://10.0.10.1]

Жергілікті пайдалану/статистикалық веб -сайтты орнатыңыз [https://10.0.10.1]

sudo apt-get update && sudo apt-get upgrade -y

sudo apt-get apache2 орнатыңыз

sudo қызметі apache2 қайта іске қосыңыз

Әдепкі беттерді жою

cd /var /www

sudo rm -rf html

Осы жобадан 'webportal' қалтасын RPi -дегі үй қалтасына көшіріңіз және apache үшін символдық сілтеме жасаңыз

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 сценарийін қосыңыз

Белгінің ішіне қосыңыз

Параметрлер +ExecCGI AddHandler cgi-script.py sudo қызметі apache2 қайта іске қосыңыз

Енді сіз жергілікті HTTP сайтына кіре аласыз [https://10.0.10.1]

Жетілдірілген желілік бақылауды орнату (IPFM арқылы)

sudo apt-get жаңартуы

sudo apt-get ipfm орнатыңыз

sudo mv /etc/ipfm.conf /etc/ipfm.conf-bak

sudo vi /etc/ipfm.conf

Келесі мазмұнмен жасаңыз:

# Жаһандық айнымалылар

# IPFM тек бір құрылғыны бақылай алады. ҚҰРЫЛҒЫ eth0

# GLOBAL LOGGING конфигурациялау журналы

FILENAME «/var/log/ipfm/%Y_%d_%m/%H_%M»

# журнал сайын минут сайын 1 минут сайын түсіріңіз

# нақты статистика күн сайын 24 сағат сайын сұрыптауды шешіңіз sudo service ipfm start

ҚОСЫМША: дисплейде көрсету үшін Nintendo суреттерін жасау

Өзіңіздің 128x128 файлыңызды келесі URL мекенжайына жүктеңіз:

www.digole.com/tools/PicturetoC_Hex_convert…

Жүктеп салу үшін кескін файлын таңдаңыз, экранға қандай өлшемді қосқыңыз келетінін қосыңыз (Ені/Биіктігі)

«Қолданылатындар» ашылмалы мәзірінде «256 Color for OLED/LCD (1 байт/пиксель)» таңдаңыз.

Алтылық шығысын алыңыз.

Он алтылық шығуды display/ build/ header (.h) файлына қосыңыз, қалғандарын синтаксиске нұсқаулық ретінде пайдаланыңыз.

Жаңа файлды digole.c файлына қосыңыз #include «myimage.h

Сурет файлына жаңа пәрмен жолы ілгегін қосыңыз. Ескерту: төмендегі пәрмен 10 пиксельден төмен қарай 10 пиксельге суретіңізді салыңыз. Сіз оны әр түрлі X, Y координаттарына өзгерте аласыз, сонымен қатар 128, 128 мәндерін жаңа суреттің өлшеміне қарай өзгертуге болады.

} else if (strcmp (digoleCommand, «myimage») == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariableHere сіздің (.h) файлыңызда анықталған}

Келесі пәрменмен жаңа кескінді көрсету үшін төменде қайта құрыңыз (қателерді елемеңіз).

$./digole myimage қайта құру [Қосылған] Digole дисплей драйвері сіздің қосымша өзгертулеріңізге арналған

$ cd дисплей/$ gcc digole.c $ mv a.out../../digole $ chmod +x../../digole

Ұсынылған: