Cov txheej txheem:
- Kauj Ruam 1: Kuv xav tias, koj tau OpenWrt lawm…
- Kauj Ruam 2: Software thiab Cov Cuab Yeej
- Kauj Ruam 3: Tsim Tsawg App
- Kauj Ruam 4: Ntxiv Qee Cov Ntaub Ntawv: Tus naj npawb ntawm Cov Neeg Siv Khoom, WAN IP Chaw Nyob, Sijhawm Sijhawm
- Kauj Ruam 5: Kev Tswj WiFi: ON/OFF
- Kauj Ruam 6: Cov Txheej Txheem Txheej Txheem Txheej Txheem
- Kauj Ruam 7: HDD Spinning Status
- Kauj Ruam 8: Daim Ntawv Teev Npe Network
- Kauj Ruam 9: Kev ceeb toom
- Kauj ruam 10: Autorun hauv Tom Qab
- Kauj Ruam 11: Xaus & Cov Tswv Yim Ntxiv
Video: Android/iOS App nkag mus rau koj li OpenWrt Router nyob deb: 11 Kauj Ruam
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:27
Kuv nyuam qhuav yuav ib lub router tshiab (Xiaomi Mi Router 3G). Thiab ntawm chav kawm, qhov tshiab, zoo heev ntawm cov khoom siv tau txhawb kuv kom pib ua haujlwm ntawm txoj haujlwm no;)
Kauj Ruam 1: Kuv xav tias, koj tau OpenWrt lawm…
Kuv yuav tsum tau teeb tsa OpenWrt thawj zaug … Feem ntau, kuv ua raws phau ntawv qhia no (tshwj xeeb rau tus qauv router no): https://dzone.com/articles/hacking-into-xiaomi-mi-…Thaum ua haujlwm ntawm no, Kuv pom daim vis dis aus txaus: Openwrt teeb tsa, WiFi tus qauv, Tus Hluas Nkauj Flashing. Wow Kuv luag heev li!:)
Ua tib zoo mloog! Txhim kho OpenWrt tuaj yeem cib koj lub router. Tab sis thaum ua tiav, nws qhib lub zog tag nrho thiab tswj hwm. Kuv tsis muaj lub siab tawv txaus los muab cov lus qhia ntawm no, vim tias lawv yuav txawv rau txhua tus qauv router.
Tab sis yog tias koj twb muaj OpenWrt ntawm koj lub router, koj yuav tuaj yeem pib nrog qhov kev qhia no hauv lub sijhawm
BTW, qee cov phiaj xwm txhim kho tuaj nrog OpenWrt tawm ntawm lub thawv, zoo li Onion Omega, VoCore, LinkIt Smart 7688 thiab lwm yam. Cov ntawv qhia no tseem piav qhia qee cov tswv yim yooj yim tom qab tsim cov apps, yog li koj tuaj yeem hloov kho nws yooj yim los ua haujlwm nrog Raspberry Pi thiab nyiam.
Txog qhov haujlwm no, Kuv yuav siv feem ntau siv software ua ntej (muaj nyob ntawm ib qho OpenWrt-qhib router). Tab sis rau qee qhov ua haujlwm tau zoo, Kuv yuav tsum tau teeb tsa pob ntxiv. Qhov no ua tiav tsuas yog ob peb nyem, yog li kuv yuav suav nrog cov lus qhia ntawm no.
Tsis tas li, kuv xav tias koj twb paub lawm:
- Yuav qhib/siv SSH davhlau ya nyob twg rau koj li OpenWrt router
- Yuav ua li cas upload/kho cov ntaub ntawv ntawm koj lub router (siv FileZilla lossis scp/sftp)
- Yuav ua li cas ua haujlwm nrog Linux console
Kauj Ruam 2: Software thiab Cov Cuab Yeej
Ntawm lub xov tooj ntawm tes, Kuv siv Blynk. Nws muab iOS thiab Android apps los tswj hwm txhua yam khoom siv. Koj tuaj yeem yooj yim tsim cov duab zoo nkauj cuam tshuam rau txhua qhov koj cov phiaj xwm los ntawm kev yooj yim rub thiab nqis cov cuab yeej, sab xis ntawm koj lub smartphone. Blynk feem ntau siv nrog Arduino, Raspberry Pi, thiab lwm yam. Tab sis vim li cas ho tsis khiav nws ntawm tus kheej router?;)
Ntawm lub cuab yeej kuv yuav siv Lua los sau cov haujlwm uas xav tau Kuv kuj tseem tuaj yeem siv Python lossis Node.js, tab sis hmoov tsis cov kev xaiv no ib txwm tsis muaj, vim tsis muaj peev txheej ntawm qee tus routers.or C/C ++, tab sis nws tsis yooj yim los ua haujlwm nrog (rov ua dua tshiab rau txhua qhov kev hloov pauv, thiab lwm yam) Ntawm qhov tod tes, Lua tau teeb tsa ua ntej, yooj yim siv thiab kawm. Nws tau siv los ntawm lub vev xaib tsis raug, LuCI.
Kauj Ruam 3: Tsim Tsawg App
Pib nrog Blynk thiab Lua yog ib qho yooj yim li:
- Rub tawm Blynk App (los ntawm App Store, Google Play)
- Tsim ib qhov haujlwm tshiab thiab tau txais Auth Token
- Ua raws li Blynk Lua cov lus qhia teeb tsa rau OpenWrt.
Siv SSH txhawm rau nkag mus rau koj lub router console. Tom qab khiav qhov piv txwv tsis raug:
lua./examples/client.lua
Peb yuav tsum pom qee yam zoo li no:
Txuas …
SSL tuav… Npaj.
Uas txhais tau tias kev nyab xeeb, ob-txoj kev txuas mus rau lub app tau tsim! YAY!
Tam sim no peb tuaj yeem txuas ntxiv qhov piv txwv muab, yog li nws ua qee yam ntxim nyiam. Kuv tau tsim ib daim qauv ntawm qhov piv txwv no los kho nws:
cp./examples/client.lua./blynkmon.lua
Kauj Ruam 4: Ntxiv Qee Cov Ntaub Ntawv: Tus naj npawb ntawm Cov Neeg Siv Khoom, WAN IP Chaw Nyob, Sijhawm Sijhawm
Lub tswv yim yooj yim yog kom tau txais cov ntaub ntawv los ntawm OS ib ntus, ua qee qhov kev suav yooj yim yog xav tau, thiab tom qab ntawd xa cov txiaj ntsig mus rau Blynk rau tso saib.
Hauv Linux/OpenWrt, peb muaj ntau txoj hauv kev kom tau txais cov ntaub ntawv system:
- Khiav ib lo lus txib, thiab cais cov ntawv nws tso tawm
- Khiav ib lo lus txib, thiab saib cov cai tawm nws rov los
- Nyeem cov ntaub ntawv kaw lus, nyob hauv/proc/thiab/sys/class/directories
Tam sim no kuv xav qhia tus lej ntawm cov khoom siv sib txuas.
Thaum kuv khiav miv/proc/net/arp ntawm lub console, nws tawm cov npe ntawm cov cuab yeej paub, nrog rau lawv MAC thiab IP chaw nyob:
IP chaw nyob HW hom Chij HW chaw nyob Mask Mask
192.168.10.206 0x1 0x2 78: 02: f8: fb: d6: bf * br-lan 194. -------------------- 0x1 0x2 4c: 5e: 0c: 14: e0: 5c * eth0.2 192.168.10.162 0x1 0x0 04: b1: 67: 2f: e3: 74 * br-lan
Peb tuaj yeem txheeb nws ncaj qha hauv Lua, tab sis feem ntau nws yooj yim dua rau siv cov cuab yeej siv tshwj xeeb. Nws ntawm Linux, cov no yog grep, taub hau, tus tw, txiav, wc, awk.
Txhawm rau kom tau txais tus lej ntawm cov neeg siv khoom los ntawm arp cov zis, Kuv yuav tsum lim lub rooj (tshem tawm cov khoom tsis cuam tshuam) thiab suav cov kab ntawm kab, uas ua rau cov lus txib hauv qab no:
miv/proc/net/arp | grep br-lan | Cov grep0x2 wb wc -li
Cia peb sim nws:
hauv paus@router: ~/lua-blynk# miv/proc/net/arp | grep br-lan | Cov grep0x2 wb wc -li
1
Zoo kawg. Tam sim no peb tau txais lub tswv yim ntawm yuav ua li cas peb tuaj yeem sau tag nrho cov ntaub ntawv xav tau. Cia peb siv nws kom ua kom peb cov cai huv thiab nthuav dav, cia peb tsim qee qhov kev pabcuam:
muaj nuj nqi exec_out (cmd)
cov ntaub ntawv hauv zos = io.popen (cmd) yog tias tsis ua ntaub ntawv thov rov qab nil kawg hauv zos tso tawm = file: nyeem ('*tag nrho') file: kaw () print ("Run:"..cmd.. " ->".. output) rov qab tso tawm qhov kawg ua haujlwm read_file (txoj hauv kev) cov ntaub ntawv hauv zos = io.open (txoj hauv kev, "rb") yog tias tsis ua ntaub ntawv thov rov qab nil kawg cov ntsiab lus hauv zos = ntawv: nyeem "*a" file: kaw () print ("Nyeem: "..path.." -> "..content) xa cov ntsiab lus kawg
Siv cov khoom siv hluav taws xob no, tam sim no peb tuaj yeem siv qhov tseeb cov ntaub ntawv khaws cov haujlwm:
muaj nuj nqi getArpClients ()
rov tonumber (exec_out ("miv/proc/net/arp | grep br -lan | grep 0x2 | wc -l")) kawg ua haujlwm getUptime () rov tonumber (exec_out ("miv/proc/uptime | awk '{luam tawm $ 1 } '")) kawg ua haujlwm getWanIP () rov qab exec_out (" ifconfig eth0.2 | grep' inet addr: '| txiav -d: -f2 | awk' {luam $ 1} '") kawg
Koj tuaj yeem ua ntu ntu ntawm cov lus txib hauv plhaub, kom nkag siab tob txog nws ua haujlwm li cas, thiab kho nws raws li koj xav tau.
Qhov yooj yim tshaj yog xa cov ntaub ntawv mus rau Blynk App. Qhov piv txwv tsis raug twb teeb tsa lub sijhawm, uas khiav qee qhov chaws txhua 5 vib nas this, yog li peb tsuas yog siv nws:
tmr1 hauv zos = Timer: tshiab {ncua = 5000, func = muaj nuj nqi ()
blynk: virtualWrite (10, getArpClients ()) blynk: virtualWrite (11, string.format ("%. 1f h", getUptime ()/60/60)) blynk: virtualWrite (12, getWanIP ()) kawg)
Hauv app, peb ntxiv 3 daim ntawv cim npe, thiab muab lawv rau Virtual Pins 10, 11, 12 raws li.
Thaum qhov no ua haujlwm, nws zoo li tsis muaj txiaj ntsig, vim WAN IP lossis tus lej ntawm cov neeg siv khoom tsis hloov kho tas li. Let's kho qhov no
Txog WAN IP, peb txav nws mus rau tus tuav haujlwm txuas nrog. Nws yuav khiav txhua lub sijhawm router teeb tsa kev sib txuas rau Blynk Cloud. Qhov no yuav tsum txaus:
blynk: ntawm ("txuas nrog", muaj nuj nqi ()
print ("Npaj.") blynk: virtualWrite (12, getWanIP ()) kawg)
Txog Uptime thiab Cov Neeg Siv Tus lej, peb tsim lub sijhawm sib cais nrog 5 feeb. ncua sijhawm:
tmr2 hauv zos = Timer: tshiab {ncua = 5*60*1000, func = muaj nuj nqi ()
blynk: virtualWrite (10, getArpClients ()) blynk: virtualWrite (11, string.format ("%. 1f h", getUptime ()/60/60)) kawg}
Kauj Ruam 5: Kev Tswj WiFi: ON/OFF
Txog tam sim no, peb tsuas yog tau txais qee cov ntaub ntawv los ntawm lub cuab yeej. Peb sim sim tswj nws!
blynk: ntawm ("V20", muaj nuj nqi (param)
yog param [1] == "1" ces os.execute ("wifi up") lwm os.execute ("wifi down") kawg kawg)
Ntawm sab app, Kuv nyuam qhuav ntxiv khawm widget (hom: Hloov) thiab muab nws rau V20.
Qhov ntawd yog nws. Zoo kawg.
Kauj Ruam 6: Cov Txheej Txheem Txheej Txheem Txheej Txheem
muaj nuj nqi getCpuLoad ()
rov tonumber (exec_out ("saum -bn1 | grep 'CPU:' | lub taub hau -n1 | awk '{luam $ 2+$ 4}'")) kawg ua haujlwm getRamUsage () rov tonumber (exec_out ("dawb | grep Mem | awk ' {luam tawm ($ 3- $ 7)/$ 2 * 100.0} '")) kawg
Peb kuj yuav tsum xa cov ntaub ntawv mus rau Blynk (cia peb siv tmr1 dua):
tmr1 hauv zos = Timer: tshiab {ncua = 5000, func = muaj nuj nqi ()
blynk: virtualWrite (5, getCpuLoad ()) blynk: virtualWrite (6, getRamUsage ()) kawg}
Ntawm App Sab, ntxiv SuperChart widget. Ntxiv CPU, RAM datastreams thiab muab rau V5, V6.
Kauj Ruam 7: HDD Spinning Status
Kuv tus router muaj tus tsav sab nraud HDD txuas nrog ua Network Txuas Txuas Cov Khoom. Qhov yog, qhov tsav no tau teeb tsa kom pib tig thaum ib tus neeg nkag mus rau nws, thiab raug ncua tom qab sijhawm tas.
Pom tseeb, nws yuav txias kom paub tias muaj pes tsawg lub sijhawm nws hloov pauv txhua hnub. Yog li kuv tau ntxiv lwm qhov datastream rau kuv Daim Ntawv Qhia System.
Nws yog qhov nyuaj me ntsis kom tau txais cov xwm txheej ntawm HDD tsav, tab sis kuv pom txoj hauv kev! Ua ntej tshaj plaws, teeb tsa smartmontools los ntawm SSH console:
opkg hloov tshiab
opkg nruab smartmontools
Tom qab ntawd, hauv peb cov cai, peb yuav tsum tau ua cov lus txib tshwj xeeb thiab tshawb xyuas cov cai tawm:
muaj nuj nqi exec_ret (cmd)
local exit = os.execute (cmd) print ("Run:"..cmd.. " -> exit:".. exit) return exit end function getHddSpinning () if exec_ret ("smartctl --nocheck = standby --info /dev/sda>/dev/null ") == 0 ces rov 1 lwm rov qab 0 kawg kawg
Nco tseg: kuv HDD yog /dev /sda
Kauj Ruam 8: Daim Ntawv Teev Npe Network
Peb Tsim lwm SuperChart widget (zoo ib yam li yav dhau los), Ntxiv TX thiab RX datastreams, thiab muab rau V1 thiab V2.
Cov haujlwm pabcuam:
muaj nuj nqi getWanRxBytes ()
rov tonumber (read_file ("/sys/class/net/eth0.2/statistics/rx_bytes")) kawg ua haujlwm getWanTxBytes () rov tonumber (read_file ("/sys/class/net/eth0.2/statistics/tx_bytes")) kawg
Tom ntej no, ntxiv qee qhov chaws rau tib tmr1. Qhov no nyuaj dua, raws li peb tsuas yog xav tau los suav thiab nthuav tawm qhov sib txawv hauv kis/tau txais bytes:
local prevTx, prevRx
hauv zos tmr1 = Timer: tshiab {ntu = 5000, func = muaj nuj nqi () zos tx = getWanTxBytes () lub zos rx = getWanRxBytes () yog prevTx thiab prevTx ~ = tx ces blynk: virtualWrite (1, tx - prevTx) kawg yog prevRx thiab prevRx ~ = rx ces blynk: virtualWrite (2, rx - prevRx) kawg prevTx = tx prevRx = rx blynk: virtualWrite (5, getCpuLoad ()) blynk: virtualWrite (6, getRamUsage ()) blynk: virtualWrite (7, getHddSpinning ()) xaus}
Kauj Ruam 9: Kev ceeb toom
Kuv kuj xav kom tau txais kev ceeb toom thaum kuv Router poob lub zog lossis internet txuas rau qhov no, peb xav tau Kev ceeb toom widget.
Hauv widget teeb tsa, pab kom "ceeb toom offline". Tsis xav tau tus lej. Tab sis peb tseem tuaj yeem xa cov ntawv ceeb toom tshwj xeeb los ntawm peb cov cai.
Kauj ruam 10: Autorun hauv Tom Qab
Txog tam sim no tsab ntawv yuav tsum tau ua tiav ntawm tus kheej, tab sis kuv xav ua kom nws khiav hauv keeb kwm yav dhau los thaum lub router tau qhib.
Qhov no yog ua tiav los ntawm kev tsim cov kev pabcuam. Tsim cov ntawv /etc/init.d/blynkmon:
#!/bin/sh /etc/rc.common
START = 99 STOP = pidfile = "/var/run/blynkmon.pid" pib () {yog [-f $ pidfile]; tom qab ntawd ncha "blynkmon twb tau khiav" tawm 0 fi cd /root /lua-blynk lua blynkmon.lua koj-auth-token> /dev /null & echo $! > $ pidfile} nres () {yog [! -f $ pidfile]; ces ncha "blynkmon tsis khiav" tawm 0 fi tua -9 $ (miv $ pidfile) rm $ pidfile}
Nco tseg: tsis txhob hnov qab hloov koj li-auth-token
Tom qab ntawd, qhib kev pabcuam blynkmon:
kev pabcuam blynkmon qhib
Kauj Ruam 11: Xaus & Cov Tswv Yim Ntxiv
Koj tuaj yeem luam theej duab QR no kom tau txais qhov clone ntawm kuv li Blynk Project. Nws xav tau qee lub ntsiab lus zog (4600), vim nws siv ntau yam khoom siv!
Nrhiav Full Lua code ntawm no:
Txog tam sim no zoo heev, tab sis ntawm no yog qee cov tswv yim kuv xav ntxiv yav tom ntej.
- Ntxiv Reboot hais kom ua. Tiv thaiv kom nyem rau nws yam tsis raug.
- Ntxiv Terminal widget kom khiav ib qho lus txib linux.
-
Ntxiv CPU daim ntawv ntsuas kub.
UPD: Hmoov tsis zoo OpenWrt tam sim no tsis muaj qee tus tsav tsheb rau kuv tus qauv router. Tab sis nws muaj rau ntau lwm tus routers
- Ntxiv kev ceeb toom thaum cov cuab yeej tshwj xeeb koom nrog/tawm hauv lub network. Peb twb muaj cov ntaub ntawv arp, tam sim no tsuas yog txheeb xyuas MAC chaw nyob.
Txoj kev no, peb tuaj yeem saib xyuas thiab tswj hwm 3D Tshuab Luam Ntawv, Neeg Hlau, lub PC/Laptop ib txwm muaj, Arduino/ESP8266/ESP32/RaspberryPi khoom, Ntse Tsev Zoo, thiab txhua yam nyob ib puag ncig. Qhia rau kuv paub yog tias muaj lwm lub tswv yim nthuav. Koj xav li cas txog txhua yam no?
Pom zoo:
Yuav Ua Li Cas Thiaj Li Qhib Koj Lub Raspberry Pi Rau Hauv Qhov Rooj Nkag Mus Nkag Mus Los: 6 Kauj Ruam
Yuav Ua Li Cas Thiaj Li Qhib Koj Lub Raspberry Pi Rau Hauv Qhov Rooj Nkag Nkag Nkag Nkag Nkag: Cov nyob zoo! Raws li qhov tshwm sim tsis ntev los no-peb, pab pawg ntawm remote.it tau nyuaj ntawm kev ua haujlwm tawm tswv yim tswv yim rau kev ua haujlwm nyob deb tsis muaj mob thiab siv tau. Peb tau tuaj nrog lub remote.itPi SD Card Duab, uas yog daim npav SD koj tuaj yeem tso rau hauv
Nkag Mus Nkag Rau Raspberry Pi nyob deb: SSH, Dekstop & FTP: 4 Kauj Ruam
Kev Nkag Mus Nkag Mus Rau Raspberry Pi nyob deb: SSH, Dekstop & FTP: Hauv kab ntawv no, peb tab tom saib 3 txoj hauv kev sib txawv uas koj tuaj yeem nkag mus rau Raspberry Pi nyob deb kom yooj yim ua haujlwm nrog nws. Thawj qhov yog SSH, uas yuav tso cai rau koj nkag mus rau lub davhlau ya nyob twg. Qhov thib ob yog remo
Tej thaj chaw deb SSH Nkag Mus Rau Raspberry Pi 2: 5 Cov Kauj Ruam
Tej thaj chaw deb SSH Nkag Mus Rau Raspberry Pi 2: Puas xav siv lub Raspberry Pi " hauv thaj teb " thiab tseem tuaj yeem nkag mus tau nws? Nov yog txoj hauv kev yooj yim los pab kom SSH chaw deb nkag mus rau koj li Raspberry Pi 2 (thiab lwm yam qauv, ib yam nkaus). Thaum muaj cov kev daws teeb meem cuam tshuam nrog VPN lossis teeb tsa por
Xav Geek Hacks Kev Nkag Mus Nkag Nkag - Rov Siv Lub Raj Dej Tshuaj Kho Mob: 9 Kauj Ruam
Xav Geek Hacks Kev Sib Tw Nkag Nkag - Rov Siv Lub Raj Dej Hau Kev Noj Qab Haus Huv: Nov yog qhov kuv nkag mus rau hauv Think Geek Hacks Contest. Kuv txiav txim siab sim thiab rov siv lub raj mis Health Potion Zog haus. Nws tuaj yeem siv los ua tus txhawb nqa hauv lub luag haujlwm ua si lossis ua kom zoo nkauj zoo nkauj. Kuv tsim lub teeb pom kev yooj yim tso rau hauv lub raj mis kom pom nws
Yuav Ua Li Cas Nkag Mus Rau Koj Lub Suab Nkauj Los Ntawm Qhov Twg Nrog Koj Mac Mini: 5 Kauj Ruam
Yuav Ua Li Cas Nkag Mus Rau Koj Lub Suab Nkauj Los Ntawm Qhov Twg Nrog Koj Mac Mini: Cov lus qhia no hloov koj lub khoos phis tawj rau hauv kev sib koom ntiag tug. Nws yuav tuav koj cov nkauj kom tsuas yog koj tuaj yeem ua tau ntawm nws. Tab sis, kwv yees tias koj li internet txuas tau nrawm txaus, koj yuav tuaj yeem tau txais nws los ntawm thoob plaws lub ntiaj teb. Zoo heev li os