Yeni: Yapay zekâ güvenlik duvarı tüm platformu izliyor ve her olayı sade bir dille açıklıyor. Nasıl çalıştığını görün

Yanıt: Atölyemden PoE ile beslenen bir kartın veri göndermesinin en ucuz yolu

Yapay zekâ tarafından English dilinden çevrildi ·

Hermetry bunu umursamaz, yalnızca 8883 üzerindeki bir TLS bağlantısını (ya da 443 üzerinden HTTPS’yi) görür. Ethernet ya da WiFi ona görünmez.
Tek bir kart için Olimex ESP32-POE-ISO alırdım. Serada üç tane var. İzole PoE, kartın üzerinde Ethernet, normal ESP32 Arduino çekirdeğiyle çalışıyor. ESP32’de Ethernet, WiFi ile aynı ağ yığınından geçtiği için WiFiClientSecure ve PubSubClient hiçbir değişiklik gerektirmeden çalışır:

#include <ETH.h>
#include <WiFiClientSecure.h>
#include <PubSubClient.h>

WiFiClientSecure net;
PubSubClient mqtt(net);

void setup() {
  ETH.begin();                         // ESP32-POE-ISO varsayılanları
  while (!ETH.linkUp()) delay(200);
  net.setCACert(ROOT_CA);              // herkese açık CA, broker sunucusunun herkese açık sertifikası var
  mqtt.setServer(BROKER_HOST, 8883);   // IP değil, sunucu ADI (SNI)
}

void loop() {
  if (!mqtt.connected()) mqtt.connect("barn-01", ACCESS_TOKEN, NULL);
  mqtt.loop();
  // 60 sn'de bir:
  // mqtt.publish("v1/telemetry", "{"temperature":7.4,"humidity":81}");
}

Token kullanıcı adı, şifre boş. PubSubClient yalnızca QoS 0 ile yayın yapar, Hermetry de bunu kabul eder. Token adımları için Connect your first device sayfasına bakın.
Ve ISO olmayan sürümde hem USB hem PoE ile aynı anda beslemeyin, bu yüzden bir dizüstü bilgisayarın USB portunu kaybettim.

Kabul edilen çözüm♥ 4