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

Puis-je allumer le relais de mon radiateur à la maison depuis mon téléphone pendant que je suis sur le campus ?

Puis-je allumer le relais de mon radiateur à la maison depuis mon téléphone pendant que je suis sur le campus ?

Résolu 6 4

Traduit de English par IA ·

Premier message, désolé si ce n’est pas le bon endroit. J’ai un Pi Zero 2 W à la maison avec une carte relais sur GPIO17 qui commande un petit radiateur à huile dans ma chambre (oui, c’est un vrai relais prévu pour cet usage, mon père l’a vérifié). Il envoie déjà la température de la pièce à Hermetry toutes les minutes avec paho-mqtt.Ce que je veux : quand je quitte la bibliothèque à 21 h, allumer le radiateur depuis mon téléphone pour que la pièce soit chaude quand je rentre. J’ai trouvé l’application Hermetry, mais elle semble servir aux notifications. Peut-elle commander des appareils ? Sinon, dois-je ouvrir un port sur notre routeur et faire tourner une page web sur le Pi ? Je ne sais pas trop comment faire cela en toute sécurité.

♥ 2

Traduit de English par IA ·

La redirection de port sur le routeur fonctionne, je l’ai déjà fait une fois pour une caméra. Choisis simplement un port élevé.

Measure twice, poll once.
♥ 1

Traduit de English par IA ·

Merci de ne pas exposer un Pi à Internet avec un « port élevé ». Votre Pi maintient déjà une connexion sortante vers le broker, vous pouvez envoyer des données par ce biais.

♥ 0

Traduit de English par IA ·

Ah, donc le cloud peut répondre à l’appareil ? Mais comment le téléphone intervient-il dans tout ça ?

♥ 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

Traduit de English par IA ·

ça marche !!! testé depuis le bus. Un point qui m’a piégé : j’ai d’abord créé la commande en Privileged parce qu’elle commute le secteur, et l’interrupteur de la carte indiquait qu’elle ne pouvait pas être envoyée depuis une carte. Je l’ai passée en Basic et ça a fonctionné. Sinon, je m’abonne maintenant dans on_connect comme tu l’as écrit ; avant, ça cessait de fonctionner après une coupure du Wi-Fi du Pi.

♥ 1

Traduit de English par IA ·

Juste, la connexion sortante est plus propre. Je retire mon conseil sur la redirection de port.

Measure twice, poll once.
♥ 2
7 sujets de 1 à 7 (sur un total de 7)
  • 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