Aller au contenu

Filament ABS

sinseman44

SmartPlug Chacon Wifi et Octoprint

Messages recommandés

Salut à tous,

Je tiens à vous partager un petit tutoriel sur l'utilisation d'une prise prise électrique connectée (en WIFI) de la marque Chacon pour allumer et éteindre une Imprimante 3D via OctoPrint.

prise-wifi-chacon-3500-w.jpg.d760cc93ec1f7c335de6c78c1d540491.jpg

Ce produit est trouvable très facilement dans une grande enseigne de bricolage (Avec un Triangle Vert 🤔) pour une vingtaine d'euros (19,90 Euros). (ou sur des sites de e-commerce).

Voici les principales caractéristiques techniques:

  • Puissance : 16 A, 230 VAC, 50 Hz, maximum 3 500 Watts
  • Usage : intérieur uniquement, fonctionne entre 0°C et + 40°C, jusqu’à 80 % d’humidité
  • Wi-Fi : 2.4 Ghz 802.11/b/g/n
  • Fonctionne avec l’application mobile Chacon Home sous Android ou IOS et nécessite un routeur Wi-Fi

Le problème majeur de cette prise, surtout pour mon utilisation (allumer et éteindre l'imprimante 3D depuis Octoprint), est qu'elle n'est pilotable que depuis un smartphone avec l'application Chacon Home.

1) Appairer la prise connectée avec votre routeur WIFI.

Rien de bien compliqué, il suffit de suivre la notice fournie avec la prise et le tour est joué.

Après il faut récupérer l'adresse IP de la prise connectée sur votre réseau local. (exemple dans mon cas : 192.168.1.34)

2) Accéder à la page web de configuration de la prise

Si vous entrez l'adresse IP locale dans un navigateur internet, vous allez tomber, tout d'abord sur une page d'authentification. Il y a deux possibilités pour l'identifiant et le mot de passe, soit admin/admin pour les anciens firmwares, sinon admin/Lumlink@100.

N'oubliez pas de modifier immédiatement ce mot de passe si vous ne voulez pas voir votre prise se transformer en botnet pour une quelconque attaque DDOS et autres propagations de malware.

Une fois authentifié, vous avez accès à plusieurs menus (je ne rentre pas dans les détails). Celui qui va nous intéresser est le menu "Upgrade SW".

upgrade_sw.png.f2ee843c1fff2cf5f4ac239d5bf61aa2.png

Sans authentification, il est également possible d’accéder à une page d'upgrade du firmware à cette adresse : http://<IP_DE_LA_PRISE>/iweb.html

iweb.png.ab80d7220741854cfb9842ad8bc23ec8.png

3) Uploader un firmware alternatif permettant de piloter sa prise via des commandes HTTP.

Un mec a développé un firmware alternatif pour ce type de prise (vendue sous plusieurs marques). Ses sources sont disponibles à cette adresse : https://github.com/ljalves/hfeasy.

Le fichier .bin est disponible à cette adresse : download here et il se nomme HFEASY0v4_PLUG_UPGRADE.bin pour la dernière version en date.

Une fois le fichier choisi, cliquez sur "Upload".

upload_alternative_firmware.png.9626c88c5053acbf9f2ad805c729373d.png

Si tout c'est bien passé, vous devriez avoir ceci.

upload_alternative_firmware_success.png.7b87e24fe7cf1e2a7964d0495487ee97.png

Maintenant de nouvelles fonctionnalités sont apparues et notamment celle de piloter votre prise via une url :

Pour allumer la prise, entrer l'url : http://<IP_DE_LA_PRISE>/state?sw=1

Pour éteindre la prise, entrer l'url : http://<IP_DE_LA_PRISE>/state?sw=0

 Pour connaitre l'état de la prise, entrer l'url : http://<IP_DE_LA_PRISE>/state

alternative_state.png.230d5238a42132fb19e593df6960a6f7.png

Ces 3 commandes vont être utilisées pour OctoPrint.

4) Contrôler la prise connectée depuis OctoPrint

J'utilise le plugin PSU Control permettant, entre autre, d'envoyer des commandes systèmes Linux. 

J'utilise la commande système curl pour commander la prise connectée Chacon et un script bash pour connaitre l'état du relais.

La ligne "Switching Method" doit être configurée avec le paramètre : System Command

Pour allumer la prise, la commande système est la suivante : curl -s http://<IP_DE_LA_PRISE>/state?sw=1

Pour éteindre la prise, la commande système est la suivante : curl -s http://<IP_DE_LA_PRISE>/state?sw=0

octoprint_chacon_1.png.040efc3673b7e81db1aebeb2d1b2ef95.png

Pour connaître l"état de la prise, j'ai développé un petit script bash permettant de récupérer l'état du relais et d'attribuer la variable de sortie du script en fonction de l'état.

Le script s'appelle PDUSensing.sh et je l'ai placé dans /usr/local/bin/ (Attention aux droits du fichier : exécution, lecture pour l'utilisateur système exécutant Octoprint).

#!/bin/bash

addr=$1
state=$(curl -s http://$addr/state)
if echo $state |grep 'relay_state=0'; then
        exit 1
else
        exit 0
fi

La ligne "Sensing Method" doit être configurée avec le paramètre : System Command

La commande "Sensing System Command" pour connaître l'état est la suivante : /usr/local/bin/PDUSensing.sh <IP_DE_LA_PRISE>

octoprint_chacon_2.png.2f43d029ddcb5bd38afd9ac358eeb065.png

octoprint_chacon_3.png.e6124911ac3ea9c4349347ac3f1555c6.png

Vous n'avez plus qu'à sauvegarder la configuration et voila le tour est joué !!

Dans la barre d'état d'Octoprint, vous devriez avoir le petit éclair permettant d'allumer et éteindre l'imprimante (ou l'utiliser à l'aide des commandes M80 et M81 dans le gcode).

octoprint_psu.png.8b565a190c6f3fcdb88fff0f6e9829eb.png

  • J'aime 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez poster un message et vous inscrire plus tard. Si vous avez déjà un compte, connectez-vous afin de poster avec.

Invité
Répondre à ce sujet…

×   Vous avez copié du contenu avec formatage.   Supprimer le formatage

  Only 75 emoji are allowed.

×   Votre lien a été automatiquement intégré.   Afficher en tant que lien à la place

×   Le contenu sauvegardé a été restauré.   Effacer l'éditeur

×   You cannot paste images directly. Upload or insert images from URL.


  • Sur cette page :   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.

×
×
  • Créer...