Mục lục:
- Bước 1: Cài đặt phần mềm RaspberryPi cần thiết
- Bước 2: Tạo Điểm truy cập WiFi
- Bước 3: Nguồn cung cấp cần thiết: Nintendo cũ bị hỏng
- Bước 4: Nguồn cung cấp cần thiết: Raspberry Pi 3 Model B
- Bước 5: Nguồn cung cấp cần thiết: 1.44 "Serial: UART / I2C / SPI TFT LCD 128x128 Mô-đun hiển thị
- Bước 6: Nguồn cung cấp cần thiết: Quạt mini 5V 0.1A Raspberry Pi
- Bước 7: Nguồn cung cấp cần thiết: Bộ điều hợp mạng Lan có dây Ugreen USB 2.0 to 10/100 Fast Ethernet Lan
- Bước 8: Thi công
- Bước 9: Thi công Cont
- Bước 10: Thi công Cont
- Bước 11: Kết nối màn hình Digole
- Bước 12: Cài đặt Công cụ giám sát mạng & Ghi nhật ký DB
- Bước 13: Cài đặt Báo cáo tóm tắt lưu lượng (chạy 5 phút một lần bởi Cronjob)
- Bước 14: Cài đặt màn hình bảng điều khiển
- Bước 15: Cài đặt Trang web thống kê / sử dụng cục bộ [http://10.0.10.1]
- Bước 16: Hoàn thành
Video: Bộ định tuyến Wi-Fi Nintendo: 17 bước (có hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:36
Sử dụng vỏ hệ thống Nintendo Entertainment cũ, sản xuất bộ định tuyến gia đình có chức năng cao bằng RaspberryPI 3!
Bước 1: Cài đặt phần mềm RaspberryPi cần thiết
Nhấp nháy Đĩa cứng RaspberriPi / Cài đặt Phần mềm Yêu cầu (Sử dụng Ubuntu Linux)
Tải xuống "RASPBIAN JESSIE LITE"
Tạo đĩa cứng mới của bạn cho DashboardPI
Cắm thẻ nhớ microSD vào máy tính của bạn qua bộ điều hợp USB và tạo ảnh đĩa bằng lệnh dd
Xác định vị trí thẻ nhớ microSD đã lắp của bạn thông qua lệnh df -h, ngắt kết nối và tạo hình ảnh đĩa bằng lệnh đĩa sao chép đĩa dd
$ df -h / dev / sdb1 7.4G 32K 7.4G 1% / media / XXX / 1234-5678
$ umount / dev / sdb1
Thận trọng: đảm bảo lệnh hoàn toàn chính xác, bạn có thể làm hỏng các đĩa khác bằng lệnh này
if = location of RASPBIAN JESSIE LITE image file of = location of your microSD card
$ sudo dd bs = 4M if = / path / to / raspbian-jessie-lite.img of = / dev / sdb (lưu ý: trong trường hợp này, đó là / dev / sdb, / dev / sdb1 là một phân vùng nhà máy hiện có trên microSD) Thiết lập RaspberriPi của bạn
Cắm thẻ microSD mới của bạn vào raspberrypi và bật nguồn bằng màn hình được kết nối với cổng HDMI
Đăng nhập
user: pi pass: raspberry Thay đổi mật khẩu tài khoản của bạn để bảo mật
sudo passwd pi Bật Tùy chọn Nâng cao RaspberriPi
sudo raspi-config Chọn: 1 Mở rộng hệ thống tệp
9 Tùy chọn Nâng cao
Tên máy chủ A2 thay đổi nó thành "NESRouter"
A4 SSH Bật máy chủ SSH
A7 I2C Bật giao diện i2c Bật bàn phím tiếng Anh / Mỹ
sudo nano / etc / default / keyboard Thay đổi dòng sau: XKBLAYOUT = "us" Thiết lập lệnh l thư mục đơn giản [tùy chọn]
vi ~ /.bashrc
thêm dòng sau:
bí danh l = 'ls -lh'
source ~ /.bashrc Sửa lỗi tô sáng cú pháp mặc định của VIM [tùy chọn]
sudo vi / etc / vim / vimrc
bỏ ghi chú dòng sau:
cú pháp trên Khởi động lại PI của bạn để nhận những thay đổi mới nhất
khởi động lạiCập nhật cài đặt múi giờ địa phương
sudo dpkg-config lại tzdata chọn múi giờ của bạn bằng giao diện
Bước 2: Tạo Điểm truy cập WiFi
Xin lưu ý, trước khi đây trở thành bộ định tuyến, chúng tôi đang cắm RaspberryPi vào mạng hiện có thông qua cổng ethernet của nó để cài đặt các gói sau
sudo apt-get update && sudo apt-get -y nâng cấp
sudo apt-get install dnsmasq hostapd vim
sudo apt-get install vim git python-smbus i2c-tools python-images python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev
sudo vi /etc/dhcpcd.conf
Thêm dòng sau:
từ chối các giao diện wlan0 sudo vi / etc / network / interface
Chỉnh sửa phần wlan0 để nó trông giống như sau:
auto lo iface lo inet loopback
Hướng dẫn sử dụng iface eth0 inet
auto wlan0 iface wlan0 inet static address 10.0.10.1 netmask 255.255.255.0 network 10.0.10.0 broadcast 10.0.10.255
auto eth1 iface eth1 inet static address 10.0.20.1 netmask 255.255.255.0 network 10.0.20.0 broadcast 10.0.20.255 Tải lại DHCP Server và trả lại cấu hình cho các kết nối eth0 và wlan0
khởi động lại dịch vụ sudo dhcpcd
sudo ifdown eth0; sudo ifup wlan0
Định cấu hình HOSTAPD (Thay đổi ssid và wpa_passphrase thành các giá trị bạn chọn)
sudo vi /etc/hostapd/hostapd.conf
# Đây là tên của giao diện WiFi mà chúng tôi đã định cấu hình ở trên interface = wlan0
# Sử dụng trình điều khiển nl80211 với trình điều khiển trình điều khiển brcmfmac = nl80211
# Đây là tên của mạng ssid = NintendoWiFi
# Sử dụng băng tần 2.4GHz hw_mode = g
# Sử dụng kênh 6 kênh = 6
# Bật 802.11n ieee80211n = 1
# Bật WMM wmm_enabled = 1
# Bật các kênh 40MHz với khoảng thời gian bảo vệ 20 giây ht_capab = [HT40] [SHORT-GI-20] [DSSS_CCK-40]
# Chấp nhận tất cả địa chỉ MAC macaddr_acl = 0
# Sử dụng xác thực WPA auth_algs = 1
# Yêu cầu khách hàng biết tên mạng ignore_broadcast_ssid = 0
# Sử dụng WPA2 wpa = 2
# Sử dụng khóa chia sẻ trước wpa_key_mgmt = WPA-PSK
# Cụm mật khẩu mạng wpa_passphrase = mật khẩu
# Sử dụng AES, thay vì TKIP rsn_pairwise = CCMP Chúng tôi có thể kiểm tra xem nó có hoạt động ở giai đoạn này hay không bằng cách chạy (nhưng chưa có kết nối internet đầy đủ):
sudo / usr / sbin / hostapd /etc/hostapd/hostapd.conf
sudo vi / etc / default / hostapd
Tìm dòng
# DAEMON_CONF = "" và thay thế nó bằng
DAEMON_CONF = "/ etc / hostapd / hostapd.conf" Định cấu hình DNSMASQ
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo vi /etc/dnsmasq.conf
bind-interface # Liên kết với giao diện để đảm bảo rằng chúng tôi không gửi những thứ khác đến máy chủ = 8.8.8.8 # Chuyển tiếp các yêu cầu DNS tới miền Google DNS cần thiết # Không chuyển tiếp các tên ngắn bogus-priv # Không bao giờ chuyển tiếp các địa chỉ không phải -không gian địa chỉ được định tuyến.
# Gán địa chỉ IP với thời gian thuê vô hạn (đối với thống kê sử dụng thiết bị) dhcp-range = wlan0, 10.0.10.100, 10.0.10.200, 255.255.255.0, 10.0.10.255, dhcp-range vô hạn = eth1, 10.0.20.100, 10.0. 20.200, 255.255.255.0, 10.0.20.255, THIẾT LẬP vô hạn IPV4 TIẾN BỘ
sudo vi /etc/sysctl.conf
[bỏ ghi chú] net.ipv4.ip_osystem = 1
Kích hoạt nó ngay lập tức với sudo sh -c "echo 1> / proc / sys / net / ipv4 / ip_osystem"
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state LIÊN QUAN, THÀNH LẬP -j CHẤP NHẬN
sudo iptables -A FORWARD -i eth1 -o eth0 -j CHẤP NHẬN
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state LIÊN QUAN, THÀNH LẬP -j CHẤP NHẬN
sudo iptables -A FORWARD -i wlan0 -o eth0 -j CHẤP NHẬN
Lưu cài đặt iptables cho lần khởi động lại tiếp theo
sudo sh -c "iptables-save> /etc/iptables.ipv4.nat"
Tạo tệp quy tắc ipv4 (với nội dung mới)
sudo vi / lib / dhcpcd / dhcpcd-hooks / 70-ipv4-nat
iptables-restore </etc/iptables.ipv4.nat Restart Services
sudo service hostapd start sudo service dnsmasq start
khởi động lại sudo
Chỉ định IP tĩnh [Tùy chọn]
Nếu bạn muốn các máy chủ trên mạng của mình có các ips tĩnh, vui lòng sử dụng cách sau
Yêu cầu các máy chủ hiện được kết nối qua DHCP vi /var/lib/misc/dnsmasq.leases
Thêm Địa chỉ MAC (từ đầu ra ở trên) và địa chỉ IP bạn muốn gán chúng cho sudo vi /etc/dnsmasq.conf
# main desktop dhcp-host = 12: 34: 56: 78: 9a: bc, 10.0.20.20 Lưu ý: Thao tác này sẽ gán giao diện mạng với Địa chỉ MAC: 12: 34: 56: 78: 9a: bc thành địa chỉ IP 10.0.20,20. Địa chỉ IP được liệt kê KHÔNG nhất thiết phải nằm trong dải DHCP đã cho, chỉ trên cùng một mạng con. Máy tính để bàn chính của tôi ở trên nằm trên mạng con eth1: 10.0.20.0, vì vậy tôi đã cấp cho nó Địa chỉ IP là 10.0.20.20.
Thêm tường lửa UFW
sudo apt-get install ufw
Cho phép cổng 22 sử dụng chung (để truy cập mạng từ xa)
sudo ufw allow 22
Cho phép tất cả các cổng trên mạng cục bộ của tôi
sudo ufw cho phép từ 10.0.10.0/24 sudo ufw cho phép từ 10.0.20.0/24
Cho phép mọi người sử dụng cổng web
sudo ufw allow 80
Cho phép mọi người sử dụng cổng web an toàn
sudo ufw allow 443
Bật UFW và kiểm tra trạng thái
sudo ufw --force enable
tình trạng sudo ufw
Sửa lỗi BUG với UFW không khởi động khi khởi động
sudo su crontab -e
Thêm dòng sau: @reboot / bin / sleep 60; ufw - bắt buộc kích hoạt
Bước 3: Nguồn cung cấp cần thiết: Nintendo cũ bị hỏng
Vỏ Nintendo cũ từ một chiếc NES bị hỏng (loại bỏ tất cả nội dung cũ bên trong vỏ, chỉ để lại khung bên ngoài, các nút nguồn / đặt lại và kết nối bộ điều khiển)
Bước 4: Nguồn cung cấp cần thiết: Raspberry Pi 3 Model B
Bước 5: Nguồn cung cấp cần thiết: 1.44 "Serial: UART / I2C / SPI TFT LCD 128x128 Mô-đun hiển thị
Bước 6: Nguồn cung cấp cần thiết: Quạt mini 5V 0.1A Raspberry Pi
Bước 7: Nguồn cung cấp cần thiết: Bộ điều hợp mạng Lan có dây Ugreen USB 2.0 to 10/100 Fast Ethernet Lan
Bước 8: Thi công
Cài đặt bên trong NES
Sử dụng máy in 3D in khung Digole Display "NESPanel" trong thư mục / build / display-frame /. [nếu bạn không có máy in 3D, bạn có thể khéo léo khoét một lỗ vuông cho Màn hình Digole bằng công cụ Dremel] Cắt các lỗ sau để mở ở mặt sau và mặt bên của vỏ máy để cho phép gắn chặt quạt nhỏ trên bên cạnh và cáp nguồn / ethernet và USB ethernet để đi vào phía sau.
Bước 9: Thi công Cont
Tháo bảng điều khiển màu đen trên cùng bên phải khỏi NES và cắt sạch một lỗ vuông đủ lớn để gắn màn hình digole của bạn. Dán keo nóng vào vị trí màn hình bằng khung in 3D "NESPanel" ở phía trên của màn hình.
Bước 10: Thi công Cont
Gắn RaspberryPi vào giữa đáy của hộp NES trống, gắn chặt bằng keo hoặc vít nhỏ qua đáy. Sử dụng điện trở 270 ohm, kết nối "đèn LED bật nguồn" của NES với chân 5V và GND trong Raspberry Pi (dây dẫn ngắn LED là mặt đất). Kết nối quạt nhỏ với các chân 5V và GND cũng như để nó chạy khi thiết bị khởi động, hãy dán quạt vào lỗ bên cạnh cho nó.
Bước 11: Kết nối màn hình Digole
Kết nối các chân sau với các chân trên RaspberryPi
VCC được kết nối với 3v GND là nối đất DATA là SDA CLOCK là SCL Bây giờ bạn sẽ thấy thiết bị trong lệnh i2cdetect của mình
i2cdetect -y 1 nó sẽ hiển thị trong lưới văn bản là 27
Bước 12: Cài đặt Công cụ giám sát mạng & Ghi nhật ký DB
sudo apt-get install ifstat memcached python-memcache postgresql postgresql-Contrib python-psycopg2
sudo vi /etc/postgresql/9.4/main/pg_hba.conf
Thêm dòng sau vào cuối tệp: cục bộ tất cả mật khẩu pi sudo -i -u postgres
psql
tạo mật khẩu vai trò 'mật khẩu ở đây';
thay đổi vai trò đăng nhập pi;
thay đổi vai trò siêu người dùng pi;
du
(bạn sẽ thấy người dùng PI của mình với các quyền được cấp) tạo số liệu thống kê mạng cơ sở dữ liệu;
NS
lối ra
psql -d network_stats
Chạy các truy vấn sau:
TẠO BẢNG traffic_per_minute (id serial, dấu thời gian không có múi giờ KHÔNG NULL, eth0_down real, eth0_up real, eth1_down real, eth1_up real, wan0_down real, wan0_up real);
TẠO INDEX time_idx DUY NHẤT TRÊN traffic_per_minute (time); Sao chép mã thư mục "ghi nhật ký" từ dự án này vào thư mục chính của RPi của bạn
crontab -e
Thêm dòng này
@reboot / bin / sleep 60; nohup python /home/pi/logging/networkUsage.py> / dev / null 2> & 1
Bước 13: Cài đặt Báo cáo tóm tắt lưu lượng (chạy 5 phút một lần bởi Cronjob)
crontab -e
thêm dòng sau
* / 5 * * * * python /home/pi/logging/trafficSummary.py
Bước 14: Cài đặt màn hình bảng điều khiển
Sao chép thư mục "hiển thị" mã từ dự án này vào thư mục chính của RPi của bạn
Chạy nó như sau
$ python /home/pi/display/NESRouter.py Thiết lập tập lệnh hiển thị để chạy khi khởi động
crontab -e
Thêm dòng này
@reboot nohup python /home/pi/display/NESRouter.py> / dev / null 2> & 1
Xác minh rằng màn hình bắt đầu hoạt động khi khởi động lại
khởi động lại sudo
Bước 15: Cài đặt Trang web thống kê / sử dụng cục bộ [https://10.0.10.1]
Cài đặt trang web thống kê / sử dụng cục bộ [https://10.0.10.1]
sudo apt-get update && sudo apt-get nâng cấp -y
sudo apt-get install apache2
khởi động lại dịch vụ sudo apache2
Xóa các trang mặc định
cd / var / www
sudo rm -rf html
Sao chép thư mục 'webportal' từ dự án này vào thư mục chính trên RPi của bạn và tạo liên kết biểu tượng cho apache để sử dụng
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
Bật Python CGI Scripting
Thêm vào bên trong thẻ
Tùy chọn + ExecCGI AddHandler cgi-script.py sudo service apache2 khởi động lại
Bây giờ bạn có thể truy cập trang web HTTP cục bộ [https://10.0.10.1]
Thiết lập giám sát mạng nâng cao (qua IPFM)
sudo apt-get cập nhật
sudo apt-get install ipfm
sudo mv /etc/ipfm.conf /etc/ipfm.conf-bak
sudo vi /etc/ipfm.conf
Tạo với các nội dung sau:
# Biến toàn cục
# IPFM chỉ có thể giám sát một thiết bị. THIẾT BỊ eth0
# NHẬT KÝ CẤU HÌNH ĐĂNG NHẬP TOÀN CẦU
FILENAME "/ var / log / ipfm /% Y_% d_% m /% H_% M"
# nhật ký mỗi phút DUMP MỖI 1 phút
# số liệu thống kê rõ ràng mỗi ngày XÓA MỖI 24 giờ SẮP XẾP ĐỂ GIẢI QUYẾT Dịch vụ sudo ipfm bắt đầu
TÙY CHỌN: Tạo hình ảnh Nintendo của riêng bạn để hiển thị trên màn hình
Tải tệp 128x128 của riêng bạn lên URL sau:
www.digole.com/tools/PicturetoC_Hex_convert…
Chọn tệp hình ảnh của bạn để tải lên, thêm kích thước bạn muốn trên màn hình (Chiều rộng / Chiều cao)
Chọn "256 màu cho OLED / LCD màu (1 byte / pixel)" trong menu thả xuống "Dùng cho"
Nhận đầu ra hex.
Thêm đầu ra hex vào tệp hiển thị / xây dựng / tiêu đề (.h), sử dụng các tệp khác làm hướng dẫn cho cú pháp.
Bao gồm tệp mới trong tệp digole.c #include myimage.h
Bao gồm một móc dòng lệnh mới vào tệp hình ảnh của bạn trong. Lưu ý: lệnh bên dưới nói rằng vẽ hình ảnh của bạn ở vị trí 10 pixel trên 10 pixel xuống. Bạn có thể thay đổi nó thành các tọa độ X, Y khác nhau, bạn cũng có thể thay đổi các giá trị 128, 128 thành bất kỳ kích thước nào mà hình ảnh mới của bạn thực sự là.
} else if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariableHere được định nghĩa trong tệp (.h) của bạn}
Bây giờ hãy xây dựng lại (bỏ qua các lỗi) bên dưới để hình ảnh mới của bạn hiển thị bằng lệnh sau.
$./digole myimage Tái tạo [Đã bao gồm] Trình điều khiển hiển thị Digole cho các thay đổi tùy chọn của bạn
$ cd display / build $ gcc digole.c $ mv a.out../../digole $ chmod + x../../digole
Bước 16: Hoàn thành
Đề xuất:
Steam Punk UPS của bạn để có được hàng giờ hoạt động cho bộ định tuyến Wi-fi của bạn: 4 bước (có hình ảnh)
Steam Punk UPS của bạn để có được hàng giờ hoạt động cho bộ định tuyến Wi-fi của bạn: Có điều gì đó cơ bản không đồng ý về việc UPS của bạn chuyển đổi nguồn pin DC 12V thành nguồn AC 220V để các máy biến áp chạy bộ định tuyến và sợi quang ONT của bạn có thể chuyển đổi nó trở lại 12V DC! Bạn cũng chống lại [thường là
Định hướng lại một Hộp Bộ định tuyến Cũ cho Dự án Arduino của bạn: 3 bước
Định lại mục đích một Hộp bộ định tuyến cũ cho Dự án Arduino của bạn: Dự án này xuất phát từ nhu cầu xây dựng dự án tự động hóa gia đình của tôi. Tôi quyết định sử dụng lại vỏ hộp từ một bộ định tuyến PlusNet cũ bị lỗi (bộ định tuyến Thomson TG585). bao vây là :: Hộp treo tường cấu hình thấp Chảo có nắp bật ra dễ dàng
Màn hình cảm ứng Đồng bộ hóa gia đình & Bảng điều khiển gia đình gắn trên màn hình: 7 bước (có Hình ảnh)
Bảng điều khiển Home & Family Sync & Home trên màn hình cảm ứng: Chúng tôi có lịch được cập nhật hàng tháng với các sự kiện nhưng lịch được thực hiện theo cách thủ công. Chúng ta cũng có xu hướng quên những việc đã làm hết hoặc những việc vặt khác. Ở thời đại này, tôi nghĩ sẽ dễ dàng hơn nhiều nếu có một hệ thống đồng bộ lịch và sổ ghi chú mà c
Bộ định tuyến gia đình không dây với đồng hồ đo sử dụng tương tự: 5 bước (có hình ảnh)
Bộ định tuyến gia đình không dây với đồng hồ đo sử dụng tương tự: Tôi lớn lên trong và xung quanh những chiếc thuyền làm khung dệt dây và bảng điều khiển, và có một bộ sưu tập đồng hồ đo & mặt số thường được tìm thấy được kết nối với động cơ diesel hàng hải nhỏ. Hôm nay tôi làm việc với tư cách là một nhà thiết kế xây dựng giao diện cho mạng
Truy cập trực tuyến mà không bị gián đoạn: Tor (Bộ định tuyến củ hành): 4 bước (có hình ảnh)
Truy cập trực tuyến mà không bị gián đoạn: Tor (Bộ định tuyến củ hành): Khi bạn trực tuyến, bạn để lại dấu vết ở khắp nơi. Bạn có thể đi chơi với bạn bè trên IM, xem các trang web hoặc tải nhạc xuống. Nếu bạn sống ở một quốc gia nơi những kẻ rình mò đang dòm ngó những gì người dân bình thường làm trên mạng (lke, ừm, U