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

Emily C.

emily30

@emily-campbell · Membre depuis août 2025

Nouveau

Backend developer · energy

Sujets
6
Réponses
36
Points
0
Nouveau10 points pour Membre

Toutes mes réponses sur les forums

15 sujets de 16 à 30 (sur un total de 36)

Traduit de English par IA ·

Pas une réponse à l’ensemble de la question, mais les appareils Modbus RTU ne peuvent pas communiquer avec un cloud par eux-mêmes ; il faut quelque chose sur site pour les interroger. Vous avez donc besoin d’un boîtier sur site dans tous les cas. En réalité, vous choisissez surtout lequel.

♥ 0

Traduit de English par IA ·

RaspAP ne verrouille rien : il écrit sa configuration sous /etc/raspap ainsi que dans les fichiers hostapd/dnsmasq. Avec l’overlay activé, toute modification faite dans son interface web disparaît après redémarrage. C’est le fameux « il n’aime pas les overlays ».

♥ 0

Traduit de English par IA ·

D’après la documentation, l’application mobile sert aux notifications et aux validations. Pour la commande, la console web dans le navigateur du téléphone fonctionne très bien : c’est ainsi que je pilote la pompe de mon jardin partagé.Mise en place :

  1. Dans le profil d’appareil du Pi, onglet Commands, ajoutez une commande, par exemple la méthode heater.set, avec un paramètre Oui/Non on, niveau Basic. Les cartes n’envoient que des commandes de niveau Basic.
  2. Créez un tableau de bord, ajoutez un contrôle Switch, action Run a command, choisissez le Pi et heater.set, puis liez l’état actuel à une clé que le Pi remonte (par exemple heater_on en 0/1).
  3. Sur le Pi :
def on_connect(c, u, f, rc):
    c.subscribe("v1/rpc/req/+", qos=1)

def on_message(c, u, msg):
    req_id = msg.topic.rsplit("/", 1)[1]
    body = json.loads(msg.payload)
    if body.get("method") == "heater.set":
        on = bool(body["params"]["on"])
        GPIO.output(17, on)
        c.publish("v1/telemetry", json.dumps({"heater_on": int(on)}), qos=1)
        c.publish(f"v1/rpc/res/{req_id}", json.dumps({"ok": True}), qos=1)

Aucun port n’est ouvert. Ajoutez la carte à l’écran d’accueil de votre téléphone en signet, elle fonctionne pratiquement comme une application. Pour les alertes (pièce trop froide, etc.), l’application envoie des notifications push sur le téléphone, ou vous pouvez utiliser l’e-mail ou une application de messagerie reliée.

Solution acceptée♥ 1

Kevin, no: the broker needs SNI, so you have to connect by host name, and the certificate check is against that name too. IP is a dead end.

The clue is that the tech’s static config included 8.8.8.8. rc=-2 in PubSubClient is « connect failed », which on an 8266 is very often a failed name lookup. I’ve seen this on plant networks a few times: the DHCP server hands out the plant’s internal DNS server, and that one only answers for internal names, or blocks outside lookups. With static config the board used 8.8.8.8 instead and everything worked. Add this after connecting and you’ll see it:

Serial.println(WiFi.dnsIP());
IPAddress ip;
Serial.println(WiFi.hostByName(MQTT_HOST, ip) ? ip.toString() : "lookup failed");

Then ask IT for one of two things: let their DNS resolve your organisation’s broker host name (it’s on the device’s Connection details card), or allow outbound DNS from that VLAN. And while you’re talking to them, outbound TCP 8883 has to be open as well, plus 443 if you ever use HTTPS. Wilson’s guess is worth guarding against anyway: wait for WiFi.localIP() to be non-zero before the first connect.

Solution acceptée♥ 7
15 sujets de 16 à 30 (sur un total de 36)