Damper Sayar · Teknik Şema

Sistem Şeması

← durum sayfası

ASaha yerleşimi — bunker kesiti

KONKASÖR BUNKERİ kabin kasa İNİK — etiket hüzme DIŞINDA → okunmaz ETİKET kasa KALKIK (~45°) direk ANTEN · IP67 dairesel polarize, dar hüzme OKUYUCU IP65 kutu · direk üstü koaks ~1m okuma hüzmesi ≈68° B planı: SAC PERDE (fiziksel eşik, hafif eğimli) Cat6 → kabin
Kasa inikken etiket (kesikli) hüzmenin altında kalır ve okunmaz; kasa ~45° kalkınca etiket (turuncu) hüzmeye girer → sayım. Hüzme yeterince keskin ayrılmazsa kesikli çizgideki sac perde fiziksel eşik olur.

BSaha PC'si — programın çalışacağı cihaz

Önerilen cihaz: fansız endüstriyel mini PC

Fansız — toz emmez, şart Windows 10/11 Pro Intel N100 / i3 8 GB RAM 256 GB SSD 2× Ethernet ~$200-350
Alternatif: mevcut bir ofis PC + toz filtreli kabin. Cihaz, kabinde/konteynerde durur — dışarıda değil.

Üzerinde çalışanlar (3 süreç)

sayıcı · Node.js — okuma→karar→kayıt ajan.ps1 · PowerShell — kuyruk→merkez panel · tarayıcıda, :8433
Görev Zamanlayıcı ikisini açılışta başlatır, çökerse ≤1 dk'da yeniden kaldırır. Tek kopya kilidi: Global\DamperAjan

Ağ bağlantıları

LAN1 → okuyucu (TCP) LAN2/telsiz köprü → internet Tailscale → Mac (şifreli)
Dışarıya hiçbir port AÇMAZ; yalnız dışarı POST atar. Panel sadece yerel ağdan görünür.

Disk düzeni

C:\DamperAjan\
├─ ajan.ps1        ← iletim döngüsü
├─ ayar.json       ← cihaz no, hedef, token
├─ kuyruk.jsonl    ← olaylar (yalnız sona ekle)
├─ seq.txt         ← kalıcı sıra sayacı
├─ gonderildi.txt  ← merkez onaylı son sıra
├─ hatali.jsonl    ← bozuk kayıt karantinası
├─ durum.txt       ← OK|saat|mesaj|toplam|bekleyen
├─ ajan.log        ← dönen log (10 MB)
└─ sayici\
   ├─ (Node.js programı)
   ├─ veri.db      ← SQLite: sayımlar (süresiz),
   │                 ham okumalar (90 gün), araçlar
   ├─ saglik.txt   ← sayıcı sağlık nabzı (30 sn)
   └─ senaryolar\  ← simülatör tatbikatları

CUçtan uca veri akışı — protokoller

ETİKET ANTEN OKUYUCU SAYICI Node.js AJAN ajan.ps1 MAC panel radyo865-868 MHz · pasif koaksLMR-240 · 7 m TCPEPC+RSSI raporu dosyakuyruk.jsonl · append HTTP POST · BearerTailscale · :9901 ham tablo 200 {ok, seq} = onay 409 = zaten var, onay say SQLite veri.db (kalıcı kayıt) WebSocket → yerel panel (canlı grafik) karar: RSSI ≥ eşik · ≥1,5 sn · 5 dk söndürme
Turuncu kutular bizim yazdığımız programlar. Olay önce diske (kuyruk.jsonl) yazılır, sonra gönderilir — bağlantı kopsa sayım kaybolmaz; Mac'in 200/409 onayı gelmeden kuyruktan düşülmez. Kesikli kutular merkez tarafı (Mac'teki alıcıyı merkez kurar).