Мазмұны:
- 1 -қадам: Қажетті RaspberryPi бағдарламалық жасақтамасын орнатыңыз
- 2 -қадам: WiFi кіру нүктесін құру
- 3 -қадам: Қажетті жабдықтар: ескі сынған Nintendo
- 4 -қадам: Қажетті жабдықтар: Raspberry Pi 3 моделі B
- 5 -қадам: Қажетті жабдықтар: 1,44 дюймдік серия: UART/I2C/SPI TFT LCD 128x128 дисплей модулі
- 6 -қадам: Қажетті жабдықтар: 5V 0.1A Mini Fan Raspberry Pi
- 7 -қадам: Қажетті жабдықтар: Ugreen USB 2.0 - 10/100 Fast Ethernet Lan сымды желі адаптері
- 8 -қадам: құрылыс
- 9 -қадам: Құрылысты жалғастыру
- 10 -қадам: Құрылысты жалғастыру
- 11 -қадам: Digole дисплейін қосу
- 12 -қадам: Желілік бақылау құралдарын және ДҚ журналын орнатыңыз
- 13 -қадам: Трафик туралы қысқаша есепті орнатыңыз (Cronjob әр 5 минут сайын жұмыс істейді)
- 14 -қадам: Бақылау тақтасының экранын орнатыңыз
- 15 -қадам: Жергілікті пайдалану/статистикалық веб -сайтты орнатыңыз [http://10.0.10.1]
Бейне: Nintendo Wifi маршрутизаторы: 17 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:27
Ескі 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
Сынған NES -тен ескі Nintendo корпусы (корпустағы барлық ескі мазмұнды алып тастаңыз, тек сыртқы жақтауды, қуат / қалпына келтіру түймелерін және контроллер қосылымдарын қалдырыңыз)
4 -қадам: Қажетті жабдықтар: Raspberry Pi 3 моделі B
5 -қадам: Қажетті жабдықтар: 1,44 дюймдік серия: UART/I2C/SPI TFT LCD 128x128 дисплей модулі
6 -қадам: Қажетті жабдықтар: 5V 0.1A Mini Fan Raspberry Pi
7 -қадам: Қажетті жабдықтар: Ugreen USB 2.0 - 10/100 Fast 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
Ұсынылған:
WiFi маршрутизаторы V4 үшін UPS: 6 қадам (суреттермен)
WiFi маршрутизаторы V4 үшін UPS: Бәріне сәлем, Үйде жұмыс көбейген сайын, біз бәріміз де үздіксіз жұмыс істегіміз келеді, Үндістанда электр энергиясының үзілуі жиі кездеседі. Көптеген пәтерлерде резервтік генераторлар орнатылған, олар электр қуаты үзілгеннен кейін бірнеше секунд ішінде іске қосылады. электр қуатының үзілуі - бұл
V2 маршрутизаторы: 6 қадам (суреттермен)
V2 маршрутизаторы: Барлығына сәлем, Бірнеше ай бұрын мен 18650 литий -ионды аккумуляторды қолданып маршрутизаторлар үшін алғашқы UPS жасадым, мен екі UPS жасадым, бірі маршрутизаторға, екіншісі талшықты түрлендіргішке. Екі қуат адаптерімен біраз қиындық болды. Жалғыз UPS жасау үшін менің тізімімде болды
WiFi маршрутизаторы үшін DIY UPS: 4 қадам (суреттермен)
WiFi маршрутизаторы үшін DIY UPS: бүкіл әлемде Интернетке қосылған 50 миллиардқа жуық құрылғылар бар. Сондықтан Интернетке қосылу-бұл тез дамып келе жатқан әлемді басқарудың тірегі. Қаржы нарығынан телемедицинаға дейін бәрі интернетке байланысты. Жас ген
Аналогты қолдану метрі бар сымсыз үй маршрутизаторы: 5 қадам (суреттермен)
Аналогты пайдалану өлшегіші бар сымсыз үй маршрутизаторы: Мен сымдық станоктар мен басқару тақталарын жасайтын қайықтарда және оның айналасында өстім және өлшегіштер жиынтығына ие болдым. әдетте шағын теңіз дизельді қозғалтқыштарына қосылған кездегі терулер. Бүгін мен дизайнер болып жұмыс жасаймын, интерфейс желісін құрады
3 осьті CNC маршрутизаторы - 60 «x60» x5 « - JunkBot: 5 қадам (суреттермен)
3 осьті CNC маршрутизаторы - 60 «x60» x5 « - JunkBot: Бұл нұсқаулық DIY 3 осьті CNC маршрутизаторының құрылысын құжаттайтын сериядағы бірінші болып табылады. Бұл сонымен қатар әмбебап лазерлік кескіш байқауына қатысады. кезең -кезеңмен прогресті көрсету емес, керісінше