Bələdçi
Sistemin nə etdiyi, necə istifadə olunduğu və necə qurulduğu — addım-addım.
Nədir bu sistem
Monitor yerli şəbəkənizdəki avadanlıqları (modem, router, switch, access point, server, kamera və s.) daim yoxlayır, kəsilmə/bərpanı ekranda dərhal göstərir və loq saxlayır. İki ekrandan ibarətdir:
- Monitor ekranı (
/) — divar televizoruna qoşulub 7/24 açıq qalır, yalnız göstərir. - Admin ekranı (
/admin.html) — telefon/noutbukdan açılır, avadanlıq idarəsi üçündür, parol tələb edir.
Hər iki ekran eyni serverə qoşulur — ayrıca server lazım deyil.
İstifadə təlimatı
1. Admin ekranından giriş
/admin.html ünvanını açın, parolunuzu yazın. Soldakı naviqasiyada
dörd bölmə var: Avadanlıqlar, Bağlantılar,
Sxem, Parametrlər.
- Yeni avadanlıq formasında ad, IP ünvanı və tip (modem/router/switch/AP/server/kamera/digər) yazıb Əlavə et-ə basın.
- Avadanlığın bir "yuxarı" (parent) avadanlığı varsa (məs. switch modemin altındadırsa) — Yuxarı avadanlıq sahəsindən seçin. Bu, valideyn-övlad əlaqəsini qurur: yuxarıdakı düşəndə aşağıdakılar "əlçatmaz" kimi göstərilir, ayrıca xəta kimi yox.
- Siyahıda hər avadanlığın yanında Redaktə və Sil düymələri var, statusu (UP/DOWN/UPSTREAM) canlı görünür.
- Sxem bölməsində avadanlıqları sürüşdürüb topologiyanın vizual düzülüşünü tənzimləyə bilərsiniz.
- Parametrlər bölməsində yoxlama tezliyi, timeout, səs siqnalı və gateway (şlüz) IP-si təyin olunur (aşağıya bax).
2. Monitor ekranı (divar televizoru)
/ ünvanını televizorun brauzerində açıb Tam ekran
düyməsinə basın. Ekran oriyentasiyasına özü uyğunlaşır — üfüqi TV və ya şaquli ekran.
- Yaşıl xətt — bağlantı işləkdir, siqnal axını canlanır.
- Qırmızı, yanıb-sönən nöqtə — avadanlıq əlçatmazdır, səs siqnalı verilir (parametrlərdən söndürülə bilər).
- Sarı (UPSTREAM) — avadanlığın özü yox, yuxarısındakı əlaqə kəsildiyi üçün əlçatmazdır.
- Sağdakı (şaquli ekranda aşağıdakı) hadisə jurnalı hər kəsilmə/bərpa anını, offline müddətini göstərir, CSV kimi yüklənə bilər.
3. Problem işarələri
Yuxarı zolaqda cari problem sayı görünür. Rəng koduna görə: qırmızı banner — kritik kəsilmə, narıncı — şəbəkə problemi (bütün avadanlıqlar əlçatmazdır, adətən box-un öz internet bağlantısı düşəndə), yaşıl — hər şey işləkdir.
İlk qurulumda sizdən nə lazımdır
- Admin parolu —
.envfaylındaADMIN_PASSWORD. Uydurulmur, boş qalıbsa müvəqqəti default rejim işləyir və ekranda qırmızı xəbərdarlıq çıxır. - Avadanlıq IP-ləri — real şəbəkənizdəki modem/router/switch və s. ünvanları, admin ekranından yazılır.
- Gateway (şlüz) IP-si — Admin → Parametrlər. Box-un öz internet bağlantısı düşəndə sistem "hamısı offline" əvəzinə "şəbəkə problemi" göstərsin deyə lazımdır.
- Bağlantılar — hansı avadanlıq hansının altındadır (parent/child), sxemdə düzgün əlaqə üçün.
Quraşdırma
Sistem harada işə salınacağına görə fərqli addımlar var — aşağıdan öz mühitinizi seçin.
Sistem əsasən bir Android box (TV box, mini PC) üzərində, divar televizoruna qoşulmuş halda işləmək üçün nəzərdə tutulub. Termux vasitəsilə, npm asılılığı olmadan işə düşür.
- Termux-u yalnız F-Droid-dən yükləyin (Play Store versiyası köhnəlib) — tam addımlar
deploy/README-termux.md-də. - Layihəni Termux-un öz ev qovluğuna köçürün (Android-in ümumi
Downloadsqovluğundan birbaşa işə salmaq etibarsızdır):termux-setup-storage cp -r ~/storage/downloads/monitor.ubs.az ~/monitor.ubs.az cd ~/monitor.ubs.az - Quraşdırma skriptini işə salın (Node.js-i özü quraşdırır):
bash deploy/install.sh - Parolu yazın:
nano .env→ADMIN_PASSWORDsətrinə öz parolunuzu yazın. - Serveri işə salın:
Terminalda çıxan ünvanı televizorun brauzerində açın (monitor ekranı), telefon/noutbukdan isənode server.js/admin.htmləlavə edərək. - Box yenidən başlayanda sistem özü qalxsın deyə Termux:Boot qurun:
Bundan əvvəl Termux:Boot tətbiqini bir dəfə əl ilə açmaq lazımdır.mkdir -p ~/.termux/boot cp deploy/boot-start.sh ~/.termux/boot/monitor.sh chmod +x ~/.termux/boot/monitor.sh
Batareya optimallaşdırması Termux-u arxa fonda öldürə bilər — bunu deaktiv etmə addımları deploy/README-termux.md-də. Tam problem-həlli cədvəli README.md-də.
Android box olmadan, öz kompüterinizdə sınaq/demo/inkişaf üçün.
- Node.js ≥ 20 quraşdırın: nodejs.org
- Layihə qovluğunda mühit faylını hazırlayın:
# Linux/macOS cp .env.example .env # Windows PowerShell Copy-Item .env.example .env.envfaylındaADMIN_PASSWORDsətrinə öz parolunuzu yazın. - Serveri işə salın:
node server.js - Terminalda çap olunan ünvanı (məs.
http://192.168.1.50:8080və yahttp://localhost:8080) brauzerdə açın.
Avtomatik başlanğıc (boot-da özü qalxsın) Windows/Linux-da bu layihənin hazır skriptlərinə daxil deyil — əməliyyat sisteminin öz mexanizmini (Task Scheduler, systemd, cron @reboot) istifadə edin.
Server üzərində (məs. bu test yayımı — monitor.ubs.az) Docker konteynerində işə salmaq üçün.
- Layihə kökündə
Dockerfilemövcuddur — sıfır npm asılılığı olduğu üçün tikinti sadədir (yalnıznode:20-alpineəsasında). data/qovluğu bir Docker həcminə (volume) bağlanmalıdır ki, konteyner yenidən qurulanda avadanlıq/loq məlumatı itməsin.ADMIN_PASSWORD,PORTkimi dəyişənlər konteynerə mühit dəyişəni (composeenvironment:) kimi ötürülür — ayrıca.envfaylı server daxilində şərt deyil.- Domen və HTTPS reverse proxy (nginx + Let's Encrypt) vasitəsilə bağlanır.
Bu üsul əsasən mərkəzi sınaq/demo yayımı üçündür — real quraşdırma yenə Android box üzərində, divar televizoruna qoşulmuş halda nəzərdə tutulub.