Nouveau : le pare-feu IA surveille toute la plateforme et explique chaque incident en termes simples. Découvrez comment ça marche

Ağ bağlantısı olmayan Arduino Nano’yu seri port üzerinden Hermetry’ye bağlamak

Ağ bağlantısı olmayan Arduino Nano’yu seri port üzerinden Hermetry’ye bağlamak

Résolu 5 4

Merhabalar. Elimde bir Arduino Nano var, atölyedeki bir kompresörün yağ sıcaklığını (MAX6675) ve basıncını (analog sensör) okuyor. Nano’da ne Wi-Fi ne Ethernet var. Yanında USB ile bağlı bir Raspberry Pi 3 duruyor, Pi’de internet var.

İnternette « MQTT over serial » diye kütüphaneler gördüm, Nano MQTT paketlerini seri porttan Pi’ye gönderiyor, Pi de bunu broker’a aktarıyor gibi. Hermetry’ye böyle bağlanabilir miyim? Yoksa daha düzgün bir yöntem var mı? Bir de ileride ikinci bir Nano ekleyeceğim, onu da düşünmek lazım.

♥ 2

Seri hattın hızı yetiyor mu MQTT için? Hangi baud’da çalışıyorsun?

♥ 2

Şu an 9600, ama değiştirebilirim.

♥ 1

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.

Ağ geçidi yine bağlanıyor…
Solution acceptée♥ 8

Biz sahada RS485 ile aynı mantığı kullanıyoruz, uzun kabloda USB yerine iyi gidiyor. Kısa mesafede USB yeter.

♥ 2

Çok net oldu, teşekkürler Hakan Bey. Satır satır JSON’a geçtim, ilk gün gerçekten iki tane bozuk satır yakaladı try/except. Baud’u da 115200 yaptım. İkinci Nano gelince gateway’e geçeceğim.

♥ 0
6 sujets de 1 à 6 (sur un total de 6)
  • Vous devez être connecté pour répondre à ce sujet.

Rejoignez la discussion

Connectez-vous pour poser et répondre à des questions, aimer les messages utiles et marquer la réponse qui a résolu votre problème. Chaque contribution rapporte des points et des niveaux.

Partager