Агуулгын хүснэгт:
- Алхам 1: Шаардлагатай RaspberryPi програмыг суулгана уу
- Алхам 2: WiFi хандалтын цэгийг бий болгох
- Алхам 3: Шаардлагатай хангамж: Хуучин эвдэрсэн 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 утастай сүлжээний адаптер
- Алхам 8: Барилга
- Алхам 9: Барилгын ажил
- Алхам 10: Барилгын ажил
- Алхам 11: Digole дэлгэцийг холбох
- Алхам 12: Сүлжээний хяналтын хэрэгсэл ба DB бүртгэлийг суулгана уу
- Алхам 13: Замын хөдөлгөөний хураангуй тайланг суулгана уу (Cronjob 5 минут тутамд ажиллуулдаг)
- Алхам 14: Хяналтын самбарын дэлгэцийг суулгана уу
- Алхам 15: Орон нутгийн хэрэглээ/статистикийн вэбсайтыг суулгана уу [http://10.0.10.1]
Видео: Nintendo Wifi чиглүүлэгч: 17 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:05
Хуучин Nintendo Entertainment системийн хайрцгийг ашиглан RaspberryPI 3 ашиглан өндөр чанартай гэрийн чиглүүлэгч үйлдвэрлээрэй!
Алхам 1: Шаардлагатай RaspberryPi програмыг суулгана уу
RaspberriPi хатуу дискийг анивчуулах / Шаардлагатай програм хангамжийг суулгах (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 (жич: энэ тохиолдолд/dev/sdb,/dev/sdb1 нь одоо байгаа үйлдвэрийн хуваалт байсан. microSD) RaspberriPi -ийг тохируулах
Шинэ microSD картаа raspberrypi -д оруулаад HDMI порт руу холбогдсон дэлгэцээр асаана уу
Нэвтрэх
user: pi pass: raspberry Аюулгүй байдлын үүднээс дансны нууц үгээ солино уу
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
дараах мөрийг нэмнэ үү.
alias l = 'ls -lh'
source ~/.bashrc 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 хэсгийг дараах байдлаар харагдуулахаар засна уу.
auto lo 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.4GHz зурвасыг ашигла hw_mode = g
# 6 суваг = 6 сувгийг ашиглана уу
# 802.11n -ийг идэвхжүүлэх ieee80211n = 1
# WMM -ийг идэвхжүүлэх wmm_enabled = 1
# 40MHz сувгийг 20н хамгаалалтын интервалаар идэвхжүүлэх 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-range = 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 -УРААГЧ -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-hooks/70-ipv4-nat
iptables-сэргээх </etc/iptables.ipv4.nat үйлчилгээг дахин эхлүүлэх
sudo үйлчилгээ hostapd эхлүүлэх sudo үйлчилгээ dnsmasq эхлүүлэх
sudo дахин ачаална уу
Статик IP -ийг оноох [Нэмэлт]
Хэрэв та сүлжээндээ хостууд статик ips -тэй болохыг хүсч байвал дараах зүйлийг ашиглана уу
Одоогийн байдлаар DHCP vi /var/lib/misc/dnsmasq.leases -ээр холбогдсон хостуудыг Aquire хий
Sudo vi /etc/dnsmasq.conf хаягаар өгөхийг хүсч буй MAC хаяг (дээрх гаралтаас) болон IP хаягаа нэмнэ үү.
# үндсэн ширээний 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
Аюулгүй вэб портуудыг хүн бүрт зөвшөөрөх
sudo ufw зөвшөөрөх 443
UFW -ийг идэвхжүүлж, статусыг шалгана уу
sudo ufw -хүчээр идэвхжүүлэх
sudo ufw статус
UFW -ийг эхлүүлж эхлээгүй байгаа алдааг засна уу
sudo su crontab -e
Дараах мөрийг нэмнэ үү: @reboot /bin /sleep 60; ufw -хүчээр идэвхжүүлэх
Алхам 3: Шаардлагатай хангамж: Хуучин эвдэрсэн Nintendo
Эвдэрсэн NES -ээс хуучин 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 утастай сүлжээний адаптер
Алхам 8: Барилга
NES дотор суулгана уу
3D хэвлэгч ашиглан Digole Display frame "NESPanel" -ийг/Construction/display-frame/фолдерт хэвлэ. [хэрэв танд 3D принтер байхгүй бол та Dremel хэрэгслээр Digole Display -ийн дөрвөлжин нүхийг нарийн хайчилж авах боломжтой] Жижиг сэнсийг бэхлэхийн тулд хайрцгийн арын болон хажуугийн доорх нүхийг хайчилж ав. хажуу ба цахилгаан/Ethernet болон USB ethernet кабелиуд араар нь оруулдаг.
Алхам 9: Барилгын ажил
NES -ээс баруун дээд талын хар самбарыг салгаж, нүхний дэлгэцээ холбох хангалттай том дөрвөлжин нүхийг цэвэрхэн хайчилж ав. Халуун цавуугаар дэлгэцийг дээд талд нь "NESPanel" 3D хэвлэсэн хүрээ байрлуулна.
Алхам 10: Барилгын ажил
RaspberryPi -ийг хоосон NES хайрцгийн ёроолын дунд байрлуулж, ёроолоор нь цавуу эсвэл жижиг боолтоор бэхлээрэй. 270 ом эсэргүүцэгч ашиглан NES -ийн "LED асаах" -ыг Raspberry Pi -ийн 5V ба GND тээглүүрт холбоно уу (богино LED хар тугалга нь газардуулга болно). Жижиг сэнсийг 5V ба GND тээглүүрт холбож, төхөөрөмжийг асаахад ажиллуулахын тулд сэнсийг хажуугийн нүхний эсрэг наа.
Алхам 11: Digole дэлгэцийг холбох
Дараах тээглүүрүүдийг RaspberryPi дээрх голтой холбоно уу
VCC нь 3v GND -тэй холбогдсон байна DATA бол SDA CLOCK бол SCL Одоо та төхөөрөмжийг i2cdetect тушаалдаа харах ёстой
i2cdetect -y 1 энэ нь текстийн сүлжээнд 27 гэж харагдах ёстой
Алхам 12: Сүлжээний хяналтын хэрэгсэл ба DB бүртгэлийг суулгана уу
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 нэвтрэх үүргийг өөрчлөх;
pi супер хэрэглэгчийн үүргийг өөрчлөх;
du
(та зөвшөөрөгдсөн зөвшөөрлүүдтэй өөрийн PI хэрэглэгчийг харах ёстой) network_stats мэдээллийн бааз үүсгэх;
q
гарах
psql -d network_stats
Дараах асуулгыг ажиллуулна уу.
ХҮСНЭГТ үүсгэ
Өвөрмөц INDEX -ийг үүсгэх_ замын хөдөлгөөний_минутын цагийн_idx (цаг); Энэ төслөөс "бүртгэх" кодын фолдерыг өөрийн RPi -ийн гэрийн лавлах руу хуулна уу
crontab -e
Энэ мөрийг нэмнэ үү
@дахин ачаалах /бин /унтах 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
Энэ мөрийг нэмнэ үү
@дахин ачаалах 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 update
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 минут тутамд БУУЛ
# тодорхой статистик өдөр бүр
СОНГОЛТТОЙ: Дэлгэц дээр гаргахын тулд өөрийн Nintendo дүрсийг бүтээх
128x128 хэмжээтэй өөрийн файлыг дараах URL руу байршуулна уу.
www.digole.com/tools/PicturetoC_Hex_convert…
Байршуулах зургийн файлаа сонгож, хүссэн хэмжээгээ дэлгэцэн дээр нэмнэ үү (Өргөн/Өндөр)
"Ашигласан" жагсаалтаас "Өнгөт OLED/LCD (1 байт/пиксел) 256 Өнгө" -ийг сонгоно уу.
Hex гаралтыг авах.
Зургаан өнцөгт гаралтыг дэлгэц/ бүтээх/ толгой (.h) файлд нэмж, бусад хэсгийг синтаксийн заавар болгон ашиглаарай.
Шинэ файлыг digole.c файлд #include myimage.h
Зургийн файлдаа тушаалын мөрийн шинэ дэгээ оруулна уу. Тэмдэглэл: Доорх тушаал нь таны зургийг 10 пикселээс доош 10 пикселийн байрлалд зурна гэсэн үг юм. Та үүнийг өөр өөр X, Y координат болгон өөрчилж болно, мөн 128, 128 гэсэн утгыг шинэ дүрснийхээ хэмжээгээр өөрчилж болно.
} if if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariable Here нь таны (.h) файлд тодорхойлогдсон болно}
Дараах тушаалыг ашиглан шинэ дүрсийг гаргахын тулд доорх зүйлсийг дахин бүтээгээрэй (алдааг үл тоомсорлоорой).
$./digole myimage Дахин бүтээх [Оруулсан] Digole Display Driver нь нэмэлт өөрчлөлт оруулах боломжтой
$ cd display/build $ gcc digole.c $ mv a.out../../digole $ chmod +x../../digole
Зөвлөмж болгож буй:
WiFi чиглүүлэгч V4 -ийн UPS: 6 алхам (зурагтай)
WiFi чиглүүлэгч V4 -ийн UPS: Сайн байцгаана уу, Гэрээсээ ажил ихсэх тусам бид бүгд тасалдалгүй ажиллахыг хүсдэг, Энэтхэгт цахилгаан тасардаг. Олон орон сууцанд нөөц генератор суурилуулсан байдаг. цахилгаан тасарсан нь
V2 чиглүүлэгч: 6 алхам (зурагтай)
Router Ups V2: Сайн байцгаана уу, Хэдхэн сарын өмнө би 18650 лити -ион батерей ашиглан чиглүүлэгчдэд зориулсан анхны UPS -ийг хийсэн, би хоёр UPS -ийг хийсэн, нэг нь чиглүүлэгчид, нөгөө нь шилэн хөрвүүлэгчид зориулагдсан. Энэ нь хоёр цахилгаан адаптертай холбоотой асуудалтай байсан. Ганц бие UPS хийх нь миний хийх зүйлсийн жагсаалтад байсан
DMS CNC чиглүүлэгч дээр Flip Machining: 5 алхам (зурагтай)
DMS CNC чиглүүлэгч дээр хөрвүүлэх машин: 3 тэнхлэгтэй эргүүлэх машины боломжийн талаар бодож үзээд би давхарласан фанераас гурван хэмжээст хөнгөлөлт зураг зурахаар шийдлээ. Энэ хэсгийг аль аль талаас нь харах боломжтой боловч хоёр тал нь хоорондоо холбоотой байх болно
Raspberry Pi 3 -ийг чиглүүлэгч болгон ашиглах: 10 алхам (зурагтай)
Raspberry Pi 3 -ийг чиглүүлэгч болгон ашигла: Википедиагийн үзэж байгаагаар чиглүүлэгч нь компьютерын сүлжээний хооронд өгөгдлийн пакет дамжуулдаг сүлжээний төхөөрөмж юм. Хэрэв бид утасгүй чиглүүлэгчийг нураах юм бол өгөгдлийн пакеттай ажиллах тусгай програм хангамж, RF сегментийг олох болно
Дуу таних функц бүхий чиглүүлэгч робот: 7 алхам (зурагтай)
Дуу таних онцлогтой чиглүүлэгч робот: Хөтөч робот бол коллежийн оюутны хотхоны янз бүрийн хэлтэсүүдэд зочдыг чиглүүлэх зорилгоор бүтээсэн хөдөлгөөнт робот юм. Урьдчилан тодорхойлсон хэдэн мэдэгдлийг ярьж, оролтын дууны дагуу урагш, урагшлахыг бид хийсэн. Манай коллежид бидэнд байхгүй