
Мазмуну:
- 1 -кадам: RaspberryPi программасын орнотуңуз
- 2 -кадам: WiFi кирүү чекитин түзүү
- 3 -кадам: Керектелүүчү материалдар: Эски Broken Nintendo
- 4 -кадам: Керектелүүчү материалдар: Raspberry Pi 3 Model 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 Wired Network Adapter
- 8 -кадам: Курулуш
- 9 -кадам: Курулуштун уландысы
- 10 -кадам: Курулуштун уландысы
- 11 -кадам: Дигол дисплейин туташтыруу
- 12 -кадам: Network Monitoring Tools & DB Logging орнотуу
- 13 -кадам: Трафиктин корутунду отчетун орнотуңуз (Cronjob ар 5 мүнөт сайын иштейт)
- 14 -кадам: Куралдар панелинин экранын орнотуңуз
- 15 -кадам: Жергиликтүү Колдонуу/Статистикалык Вебсайтты орнотуңуз [http://10.0.10.1]
2025 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2025-01-23 14:53

Эски Nintendo Entertainment системасынын корпусун колдонуп, RaspberryPI 3 колдонуп, абдан функционалдуу үй роутерин чыгарыңыз!
1 -кадам: RaspberryPi программасын орнотуңуз
Жаркыраган RaspberriPi Hard Disk / Керектүү Программаны Орнотуу (Ubuntu Linuxту колдонуу)
"RASPBIAN JESSIE LITE" жүктөп алуу
DashboardPI үчүн жаңы катуу дискти түзүңүз
USB адаптери аркылуу microSDди компьютериңизге киргизиңиз жана dd командасын колдонуп дисктин сүрөтүн түзүңүз
Киргизилген microSD картаңызды df -h буйругу аркылуу табыңыз, аны ажыратып, 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 (note: in this case, it's this/dev/sdb,/dev/sdb1 was in the existing zavod partition on microSD) RaspberriPi орнотуу
Жаңы microSD картаңызды raspberrypiге салып, HDMI портуна туташкан монитор менен күйгүзүңүз
Кирүү
user: pi pass: raspberry Коопсуздук үчүн каттоо эсебиңиздин сырсөзүн өзгөртүңүз
sudo passwd pi RaspberriPi Advanced Options иштетүү
sudo raspi-config тандаңыз: 1 Файл системасын жайыңыз
9 Advanced Options
A2 Hostname аны "NESRouter" кылып өзгөртөт
A4 SSH SSH серверин иштетүү
A7 I2C i2c интерфейсин иштетүү Англисче/АКШлык баскычтопту иштетүү
sudo nano/etc/default/клавиатура Төмөнкү сапты өзгөртүңүз: XKBLAYOUT = "us" Жөнөкөй каталогду орноту l командасы [милдеттүү эмес]
vi ~/.bashrc
төмөнкү сапты кошуу:
каймана аты l = 'ls -lh'
source ~/.bashrc FIM VIM демейки синтаксисин белгилөө [милдеттүү эмес]
sudo vi/etc/vim/vimrc
төмөнкү сапка комментарий бербеңиз:
акыркы өзгөртүүлөрдү алуу үчүн PIди кайра жүктөө синтаксиси
жергиликтүү убакыт алкагынын жөндөөлөрүн жаңыртуу
sudo dpkg-кайра конфигурациялоо интерфейсинин жардамы менен убакыт алкагын тандаңыз
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-Imaging 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 бөлүмүн төмөнкүдөй кылып түзөтүңүз:
auto lo iface lo inet loopback
iface eth0 inet колдонмосу
авто wlan0 iface wlan0 inet статикалык дареги 10.0.10.1 netmask 255.255.255.0 тармак 10.0.10.0 уктуруу 10.0.10.255
auto eth1 iface eth1 inet static address 10.0.20.1 netmask 255.255.255.0 тармак 10.0.20.0 уктуруу 10.0.20.255 DHCP Serverди кайра жүктөө жана 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.4GHz диапазонун колдонуңуз 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ти колдонуңуз
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, чексиз SET UP IPV4 FORWARDING
sudo vi /etc/sysctl.conf
[uncomment] 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 -А АЛГА -i eth0 -o eth1 -m мамлекет -мамлекет БАЙЛАНЫШТУУ, ТУРУЛГАН -j КАБЫЛ АЛЫҢЫЗ
sudo iptables -А АЛГА -i eth1 -o eth0 -j КАБЫЛ АЛ
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state -мамлекет БАЙЛАНЫШТУУ, ТУРУЛГАН -j КАБЫЛ АЛЫҢЫЗ
sudo iptables -А АЛГА -i wlan0 -o eth0 -j КАБЫЛ АЛ
Кийинки кайра жүктөө үчүн iptables орнотууларын сактаңыз
sudo sh -c "iptables -save> /etc/iptables.ipv4.nat"
IPv4 эрежелери файлын түзүңүз (жаңы мазмун менен)
sudo vi/lib/dhcpcd/dhcpcd-hooks/70-ipv4-nat
iptables-restore </etc/iptables.ipv4.nat Кызматтарды кайра баштоо
sudo кызматы hostapd баштоо sudo кызматы dnsmasq баштоо
sudo кайра жүктөө
Статикалык IP дайындоо [Милдеттүү эмес]
Эгерде сиз тармагыңыздагы хосттордун статикалык ipsке ээ болушун кааласаңыз, төмөнкүлөрдү колдонуңуз
Азыркы учурда DHCP vi /var/lib/misc/dnsmasq.leases аркылуу туташкан хостторду Aquire
MAC дарегин кошуңуз (жогорудагы чыгармадан) жана аларды дайындагыңыз келген IP дарегин sudo vi /etc/dnsmasq.conf
# негизги рабочий dhcp-host = 12: 34: 56: 78: 9а: б.з..20.20. Тизмедеги IP дареги DHCP диапазонунда болушу шарт эмес, ошол эле тармакта. Менин башкы иш столум eth1: 10.0.20.0 субнетинде, ошондуктан мен ага 10.0.20.20 IP дарегин бердим.
UFW Firewall кошулууда
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 менен баштоодо башталбаган UFW менен мүчүлүштүктөрдү оңдоо
sudo su crontab -e
Төмөнкү сапты кошуңуз: @reboot /bin /sleep 60; ufw -күч менен иштетүү
3 -кадам: Керектелүүчү материалдар: Эски Broken Nintendo

Сынган NESтен эски Nintendo Case (корпустун ичиндеги бардык эски мазмунун алып салыңыз, бир гана сырткы алкакты, күч / баштапкы абалга келтирүү баскычтарын жана контроллер байланыштарын калтырып)
4 -кадам: Керектелүүчү материалдар: Raspberry Pi 3 Model 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 Wired Network Adapter

8 -кадам: Курулуш

NESтин ичине орнотуңуз
3D принтеринин жардамы менен Digest Display кадрын "NESPanel" басып чыгарыңыз. [Эгерде сизде 3D принтер жок болсо, анда Dremel куралы менен Digole Display үчүн төрт бурчтуу тешикти кылдаттык менен кесип алсаңыз болот] Кичи желдеткичти бекитүү үчүн корпустун арткы жана капталындагы төмөнкү тешиктерди кесип салыңыз. тарап жана күч/ethernet жана USB ethernet кабелдери артка кирүү үчүн.
9 -кадам: Курулуштун уландысы

NESтен оң жактын кара панелин чечип, дисплейиңизди орнотуу үчүн жетишерлик чоң чарчы тешикти кесип алыңыз. Hot Glue дисплейдин үстүндө "NESPanel" 3D басма фрейми бар.
10 -кадам: Курулуштун уландысы

RaspberryPi бош NES корпусунун түбүнүн ортосуна орнотуңуз, астына желим же кичине бурама менен бекиңиз. 270 ohm каршылыгын колдонуп, NESтин "LED күйгүзүүсүн" Raspberry Piдеги 5V жана GND казыктарына туташтырыңыз (кыска LED коргошун - бул жер). Кичинекей желдеткичти 5V жана GND казыктарына туташтырыңыз, ошону менен блок иштей баштаганда, желдеткичти капталдагы тешикке жабыштырыңыз.
11 -кадам: Дигол дисплейин туташтыруу
Кийинки казыктарды RaspberryPiдеги казыктарга туташтырыңыз
VCC 3v GND менен туташкан жер DATA SDA CLOCK SCL Азыр сиз i2cdetect буйругуңузда түзмөктү көрүшүңүз керек
i2cdetect -y 1 ал текст торчосунда 27 катары көрүнүшү керек
12 -кадам: Network Monitoring Tools & DB Logging орнотуу
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
пи сырсөзүнүн паролун түзүү 'бул жерде';
пи кирүүнү өзгөртүү;
alter role pi superuser;
du
(берилген уруксаттар менен PI колдонуучуну көрүшүңүз керек) database_stats маалымат базасын түзүү;
q
чыгуу
psql -d network_stats
Төмөнкү сурамдарды иштетиңиз:
TABLE түзүү Traffic_per_minute (id сериясы, убакыттын белгиси убакыт алкагы жок NULL эмес, eth0_down реалдуу, eth0_up реалдуу, eth1_down реалдуу, eth1_up реалдуу, wan0_down реалдуу, wan0_up реалдуу);
Уникалдуу ИНДЕКС жаратуу time_idx ON traffic_per_minute (time); Бул долбоордун "журналга кирүү" папкасын 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 скриптин иштетүү
Тегдин ичине кошуңуз
Options +ExecCGI AddHandler cgi-script.py sudo кызматы apache2 кайра
Эми жергиликтүү HTTP сайтына кире аласыз [https://10.0.10.1]
Өркүндөтүлгөн тармак мониторингин орнотуу (IPFM аркылуу)
sudo apt-get update
sudo apt-get ipfm орнотуу
sudo mv /etc/ipfm.conf /etc/ipfm.conf-bak
sudo vi /etc/ipfm.conf
Төмөнкү мазмун менен түзүү:
# Глобалдык өзгөрмөлөр
# IPFM бир гана түзмөктү көзөмөлдөй алат. DEVICE eth0
# GLOBAL LOGGING КОНФИГУРАЦИЯЛОО ЖУРНАЛЫ
FILENAME "/var/log/ipfm/%Y_%d_%m/%H_%M"
# журналы мүнөт сайын АР БИР МҮНӨТТӨ ТҮШҮРҮҮ
# так статистика күн сайын ар бир 24 сааттык иреттөөнү тазалаңыз sudo кызматы ipfm баштоо
ОПЦИОНАЛДЫК: дисплейде көрсөтүү үчүн өзүңүздүн Nintendo сүрөттөрүңүздү түзүү
Өзүңүздүн 128x128 файлыңызды төмөнкү URLге жүктөңүз:
www.digole.com/tools/PicturetoC_Hex_convert…
Жүктөө үчүн сүрөт файлыңызды тандаңыз, экранда кандай өлчөмдө болушун кааласаңыз кошуңуз (Туурасы/Бийиктиги)
"Колдонуу үчүн" ачылуучу тизмесинен "256 Color for OLED/LCD (1 байт/пиксел)" тандаңыз.
Hex чыгарылышын алыңыз.
Он алтылык чыгууну дисплей/ куруу/ 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 Re-Building [Камтылган] Digole Display Driver сиздин кошумча өзгөртүүлөрүңүз үчүн
$ cd дисплей/куруу $ gcc digole.c $ mv a.out../../digole $ chmod +x../../digole
Сунушталууда:
V2 роутери: 6 кадам (сүрөттөр менен)

Router Ups V2: Саламатсызбы, бир нече ай мурун мен литий -ион батареясын 18650 колдонгон роутерлер үчүн биринчи UPSти жасаган болчумун, мен эки UPSти жасадым, бири роутим үчүн, экинчиси була конвертери үчүн. Бул эки күч адаптери менен бир аз баш аламан болчу. Жалгыз UPSти жасоо менин тизмемде болчу
WiFi роутери үчүн DIY UPS: 4 кадам (сүрөттөр менен)

WiFi Роутер үчүн DIY UPS: Дүйнө жүзү боюнча 50 миллиардга жакын интернетке туташкан түзмөктөр бар. Демек, Интернет байланышы бул тез өнүгүп жаткан дүйнөнү башкаруунун негизи. Финансы рыногунан телемедицинага чейин баары интернеттен көз каранды. Жаш ген
Raspberry Pi 3 роутери катары колдонуңуз: 10 кадам (сүрөттөр менен)

Raspberry Pi 3 роутери катары колдонуңуз: Википедияга ылайык, роутер - бул компьютер пакеттеринин ортосунда маалымат пакеттерин жөнөтүүчү тармактык түзмөк. Эгерде биз зымсыз роутерди бузуп алсак, анда биз, балким, маалымат пакеттерин иштетүүчү атайын процессорду жана RF сегментин таба алабыз
Аналогдук колдонуучу метр менен зымсыз үй роутери: 5 кадам (сүрөттөр менен)

Аналогдук колдонуучу эсептегич менен зымсыз үй роутери: Мен кайыктарда жана айланасында чоңойгом, токтоочу станокторду жана башкаруу панелдерин жасап, өлчөгүчтөрдүн & адатта чакан деңиз дизелдик кыймылдаткычтарына туташтырылган терүүлөр. Бүгүн мен дизайнер болуп иштейм, интерфейстерди тармакка бириктирем
3 Axis CNC роутери - 60 "x60" x5 " - JunkBot: 5 кадам (сүрөттөр менен)

3 Axis CNC Router - 60 "x60" x5 " - JunkBot: Бул Instructable DIY 3 огу CNC роутеринин курулушун документтештирген сериянын биринчи китеби. Бул дагы универсалдуу лазер кесүүчү сынагына менин киришим. кадамдын кадамын толук көрсөтүү эмес, тескерисинче