Live Τηλεμετρία STWIN.box

Δύο πλακέτες, δύο πρωτόκολλα, ίδιος αισθητήρας (STTS22H). MQTT μέσω HiveMQ ή mosquitto στο VPS, Zenoh μέσω zenohd στο VPS. Όλες οι μετρήσεις αποθηκεύονται σε SQLite στο VPS.

MQTT · κατάσταση
—
MQTT · θερμοκρασία
— °C
Zenoh · κατάσταση
—
Zenoh · θερμοκρασία
— °C

Ζήτα θερμοκρασία

«Από την αποθήκη» = η τελευταία μέτρηση που έφτασε στο VPS (SQLite), δουλεύει και για τα δύο πρωτόκολλα, ακόμα κι αν η πλακέτα είναι κλειστή. «Ζωντανά από την πλακέτα» = query που φτάνει μέχρι την πλακέτα και διαβάζει τον αισθητήρα εκείνη τη στιγμή. Το έχει μόνο το Zenoh (queryable).

MQTT

—

Zenoh

—
Θερμοκρασία, τελευταία 10 λεπτά
MQTTZenoh
Πίνακας τελευταίων μετρήσεων
ΏραΠρωτόκολλοseq°C
Ιστορικό εργασιών και προβλημάτων (Αύγουστος 2026)

Το σύστημα: δύο πλακέτες STWIN.box (STM32U585) με αισθητήρα θερμοκρασίας STTS22H, η μία μιλάει MQTT (mosquitto στο VPS) και η άλλη Zenoh (zenohd στο VPS), μέσω Teltonika RUT950 με SIM Vodafone (4G). Σύγκριση πρωτοκόλλων για διπλωματική.

14-15/8: Λύθηκε το blocker του Zenoh port (stack overflow, sleep livelock, lease task). Πρώτο παράλληλο 10λεπτο: 0 απώλειες, jitter Zenoh 86ms έναντι MQTT 1185ms. Βρέθηκε deadlock στον WiFi driver της ST (SpiTxLock), λύση με software watchdog 90s.

21/8: Zenoh UDP backend + queryable (το κουμπί «Ζωντανά» εδώ). Dashboard με SQLite αποθήκευση κάθε δείγματος.

23/8 νύχτα: Νέο δίκτυο 4G. Τα boards κολλούσαν σε loop αποτυχιών σύνδεσης μετά από κάθε reboot: το NetXDuo έδινε το ίδιο TCP source port και το conntrack του router έριχνε τα SYN (αποδείχθηκε με tcpdump). Fix: τυχαίο port ανά boot. Ολονύχτιο 9,4 ωρών: ισοπαλία σε ρυθμό, Zenoh καλύτερο jitter (23 έναντι 35 ms).

23/8 πρωί: Η Zenoh πλακέτα «πέθανε» οριστικά: cold-boot race πριν καν ξεκινήσει ο watchdog. Fix: hardware watchdog (IWDG) που οπλίζει πριν από όλα.

23/8 απόγευμα: Νέα λειτουργία: αποστολή ανά 5 λεπτά αντί 1s, on-demand ανάγνωση μόνο μέσω του κουμπιού. Η αλλαγή ξεσκέπασε λανθάνον bug του port: το ρολόι του zenoh-pico γύριζε πάντα 0 (ακέραια διαίρεση 100/1000=0), άρα δεν στέλνονταν ποτέ keepalives, και κάθε session πέθαινε στα 10s μόλις σταμάτησε το 1Hz να τη «ζωντανεύει». Βρέθηκε με tcpdump + gdb, διορθώθηκαν 3 συγγενή bugs. Επίσης: zombie-session detector, healthcheck στον zenohd.

Γνωστό ανοιχτό θέμα: ο WiFi driver της ST κολλάει περιοδικά (χαμένο command answer, συχνότερα σε φορτωμένο 2.4GHz κανάλι). Ο watchdog επαναφέρει την πλακέτα σε ~2,5 λεπτά. Αν το κουμπί «Ζωντανά» πέσει σε τέτοιο παράθυρο, δοκίμασε ξανά σε 1-2 λεπτά.