Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
hardware:shelly_ht:mise_en_service [2022/03/02 19:12] – créée yoann | hardware:shelly_ht:mise_en_service [2023/02/08 00:52] (Version actuelle) – yoann | ||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
- | ====== Mise en service du capteur Shelly H&T ====== | + | ====== Mise en service |
+ | |||
+ | Lors de l' | ||
+ | |||
+ | Pour le paramétrage, | ||
+ | |||
+ | < | ||
+ | http:// | ||
+ | </ | ||
+ | |||
+ | Pour intégrer le capteur dans un réseau wifi existant: | ||
+ | * Internet & Security > WiFi mode - Client | ||
+ | * Cocher l' | ||
+ | * Compléter le SSID et le mot de passe | ||
+ | * De préférence cocher "Set static IP address" | ||
+ | * Valider en cliquant sur SAVE | ||
+ | |||
+ | |||
+ | <note warning> | ||
+ | Si le capteur doit s' | ||
+ | </ | ||
+ | |||
+ | |||
+ | Désactiver la connexion du capteur au cloud constructeur: | ||
+ | * Internet & Security > Cloud : cliquer sur le bouton " | ||
+ | |||
+ | Restreindre l' | ||
+ | * Internet & Security > RESTRICT LOGIN | ||
+ | |||
+ | |||
+ | * Settings > Device name : définir un nom pour le capteur | ||
+ | |||
+ | |||
+ | ===== L'API HTTP ===== | ||
+ | |||
+ | Le firmware propose une API HTTP permettant d' | ||
+ | |||
+ | Si l' | ||
+ | <code bash> | ||
+ | # Afficher les informations du périphérique | ||
+ | curl --silent http:// | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | |||
+ | # tentative de lecture des paramétrages sans authentification | ||
+ | curl http:// | ||
+ | 401 Unauthorized | ||
+ | |||
+ | # Pour consulter une ressource restreinte: | ||
+ | curl http:// | ||
+ | </ | ||
+ | |||
+ | La première requête permet d' | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | La plupart des paramétrages sont accessibles depuis l' | ||
+ | |||
+ | Désactiver INTERNET & SECURITY > Restrict login | ||
+ | |||
+ | <code bash> | ||
+ | # Lister les attributs | ||
+ | curl --silent http:// | ||
+ | </ | ||
+ | |||
+ | Ci-dessous un extrait de réponse possible: | ||
+ | <code json> | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | ... | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | La documentation de référence indique par exemple que l' | ||
+ | |||
+ | <code bash> | ||
+ | # Désactive la transmission périodique de l' | ||
+ | curl --silent http:// | ||
+ | </ | ||
+ | |||
+ | ===== Transmission périodique des mesures ===== | ||
+ | |||
+ | Le mode de transmission dépend de l' | ||
+ | * En mode autonome, (Use external power supply décoché) le capteur passe le maximum de temps en sommeil. Il ne transmet des valeurs que toutes les 12 heures maximum ou lorsque les valeurs de seuil de variation sont atteintes; | ||
+ | * En mode batterie (external_power=1), | ||
+ | |||
+ | < | ||
+ | La valeur de l' | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ===== Mise en service du Broker ===== | ||
+ | |||
+ | L' | ||
+ | |||
+ | Configuration d'une conteneur simple pour le Broker MQTT Mosquitto | ||
+ | |||
+ | <file YAML docker-compose.yml> | ||
+ | version: ' | ||
+ | |||
+ | services: | ||
+ | mosquitto: | ||
+ | environment: | ||
+ | image: eclipse-mosquitto: | ||
+ | labels: | ||
+ | phobos.app.category: | ||
+ | phobos.app.description: | ||
+ | ports: | ||
+ | - published: 1883 | ||
+ | target: 1883 | ||
+ | restart: unless-stopped | ||
+ | volumes: | ||
+ | - ${PWD}/ | ||
+ | - mosquitto_data:/ | ||
+ | - mosquitto_log:/ | ||
+ | volumes: | ||
+ | mosquitto_data: | ||
+ | mosquitto_log: | ||
+ | |||
+ | </ | ||
+ | |||
+ | Création du conteneur: | ||
+ | <code bash> | ||
+ | docker-compose up -d mosquitto | ||
+ | </ | ||
+ | |||
+ | Sur le serveur, autoriser les connexions sur le port 1883 | ||
+ | <code bash> | ||
+ | # Ajoute une regle netfilter via UFW | ||
+ | ufw allow proto tcp from any to any port 1883 comment ' | ||
+ | </ | ||
+ | |||
+ | Pour afficher les messages réceptionnés, | ||
+ | |||
+ | <code bash> | ||
+ | # ouvrir un shell interactif dans le conteneur | ||
+ | docker-compose exec mosquitto /bin/sh | ||
+ | |||
+ | # souscription à tous les canaux | ||
+ | mosquitto_sub --id root_observer --topic '#' | ||
+ | </ | ||
+ | |||
+ | Depuis une machine du LAN, on crée un conteneur temporaire et on utilise le client mosquitto pour envoyer un message au Broker. Si tout se passe bien on le voit s' | ||
+ | |||
+ | <code bash> | ||
+ | docker container run --rm --name mqtt_sender --interactive --tty eclipse-mosquitto: | ||
+ | |||
+ | </ | ||
+ | |||
+ | Menu Internet & Security > Advanced - Developer Settings | ||
+ | |||
+ | * décocher l' | ||
+ | * cocher l' | ||
+ | * Entrer l' | ||
+ | |||
+ | < | ||
+ | Lorsque la connexion au Broker MQTT réussi, la diode d' | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ===== Références | ||
+ | |||
+ | * https:// | ||
+ | * https:// | ||
- | Lors de l' |