hakan_dev
@keskin-h · Aralık 2025 tarihinde katıldı
Backend geliştirici · yazılım
- Konular
- 5
- Yanıtlar
- 38
- Puan
- 0
Oluşturulan forum yanıtları
MQTT’yi seri hatta taşımaya gerek yok bence, Hermetry için TLS de gerekiyor, Nano onu zaten yapamaz. Bende iki tane böyle Nano var, şöyle çalışıyor:
Nano her 10 saniyede bir satır JSON basıyor:
Serial.print("{"oil_temp":");
Serial.print(t, 1);
Serial.print(","pressure_bar":");
Serial.print(p, 2);
Serial.println("}");
Pi’de Python, pyserial ile satırı okuyor, paho-mqtt ile 8883’e TLS’le bağlanıp v1/telemetry‘ye QoS 1 gönderiyor:
line = ser.readline().decode(errors='ignore').strip()
try:
data = json.loads(line)
except ValueError:
continue # bozuk satırı atla
if isinstance(data, dict):
client.publish('v1/telemetry', json.dumps(data), qos=1)
O try/except önemli: Nano reset atınca ya da hat parazit yapınca yarım satır geliyor. JSON olmayan bir gövdeyi Hermetry raw diye tek bir anahtar olarak saklıyor, sonra telemetri sekmesinde saçma metinler görürsün.
İkinci Nano gelince Pi’yi gateway yap: cihazı eklerken “This device is a gateway” seç, iki Nano’yu v1/gw/telemetry ile ayrı alt cihaz olarak gönder, mesela {"Kompresor-1": {"values": {...}}, "Kompresor-2": {...}}. Her biri Hermetry’de kendi cihazı olur, alarmları ayrı kurarsın.
Tamam, benim cron script’i emekliye ayırma zamanı galiba.
API’den bir script ile döngüde at, cron’a koy. Ben öyle yapıyorum.
Baud doğru mu? Kartın varsayılanı neydi?
Yazılım tarafında satırı CRC ya da en azından format kontrolüyle doğrulamıyor musunuz? Bozuk satırı atmak ilk iş.
RSSI’ı telemetride tutmaya devam edin, bir eşik kuralı da koyarsanız anten kablosu gevşerse önceden haber alırsınız.
Pi başına 30 sensör çok mu? Belki iki Pi’ye bölmek gerekir?
Pencereyi 50’ye çıkarın, daha stabil olur.
RSSI kaç görüyorsun? Kodda WiFi.RSSI()‘yi telemetriye ekletirsen grafikte görürsün, tahmin yürütmek yerine.
Netplan’da macaddress satırı yazınca düzeliyor diye hatırlıyorum.
Fişe takılıyken osiloskop bağlama. Bu kartların çoğunda izolasyon yok, GND doğrudan şebekeye bağlı oluyor. Osiloskobun toprağı ile kısa devre yaparsın, hem prob gider hem sen.
Çözüldü, sağ olun.
USB-RS232 çevirici bulamadım, elektronikçiden MAX3232 modülü aldım. Bağladım, yine çöp geldi, sonra Esra’nın dediği gibi 2 ile 3’ü çaprazladım, satırlar düzgün gelmeye başladı. Seri konsolu da kapattım, login ekranı kayboldu. GPIO15 da sağlam çıktı, şanslıymışım.
Tuğba’nın notu sayesinde ilk günden weight_kg sayı olarak gidiyor, dashboard’da grafik çiziliyor.
Menüden baktım, 9600 8N1 yazıyor. Kılavuz da öyle diyor.
Haklısın Esra, başka bir üründen karıştırmışım. History API scripti lazım olursa bende cron’la çalışan bir Python örneği var, yazın.
Rapor kısmı için: Hermetry bence aylık raporu kendisi mail atıyordur, zamanlanmış rapor ayarı vardır diye hatırlıyorum.

