Aller au contenu

GO Print

Plugin filament sensor pour octoprint


RIPOFE

Messages recommandés

Bonjour,

 

j'ai posté un message pour utiliser ce plugin mais dans un autre sujet, mais pour une plus grande lisibilité j'ouvre un sujet dédié. Donc le message d'origine était le suivant.:

 

Salut,

Je compte installer un capteur de fin de filament. J'ai commandé celui-ci

Je me pose 2 question concernant cette installation :

- à quoi correspondent les 3 lettre identifiant les 3 pins ? Je pense que le G est la masse (Ground). Mais entre le S et le V, lequel est l'alimentation et lequel est pour les données ?

- me confirmez-vous qu'il faut le brancher sur du 3.3V et non pas du 5V.

 

Merci pour votre aide.

Concernant la première question damdam 2959 a donné le renseignement : le Scorrespond au signal et le V à l'alimentation positive.

 

Par concernant le voltage il y a désaccord.

 

Concernant la partie software, étant complétement novice avec linux je nage un peu concernant le paramétrage le paramétrage du plugin.

The following needs to be added to the config.yaml:

  octoprint_filament:
    pin: XX
    bounce: 400

where XX represent the GPIO pin where your sensor is connected.

J'ai modifié le fichier config.yaml sur la carte sd et j'ai rajouté les 3 lignes de l'encadré en dessous plugins.

J'ai remplacé XX par 15 qui correspond à la broche sur la quelle j'ai branché le fil "S".

 

La suite est pour moi est complètement opaque :

An API is available to check the filament sensor status via a GET method to /plugin/filament/status which returns a JSON

  • {status: "-1"} if the sensor is not setup
  • {status: "0"} if the sensor is OFF (filament not present)
  • {status: "1"} if the sensor is ON (filament present)

The status 0/1 depends on the type of sensor, and it might be reversed if using a normally closed switch.

 

Il en est de même pour cette note :

Note: Needs RPi.GPIO version greater than 0.6.0 to allow access to GPIO for non root and chmod a+rw /dev/gpiomem. This requires a failry up to date system.

 

Quelqu'un pourrait m'expliquer de manière simple les actions à mener pour que cela marche ?

 

Par avance merci

Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 51
  • Crée
  • Dernière réponse

Top participants sur ce topic

Top participants sur ce topic

Images postées sur le topic

Il y a 17 heures, RIPOFE a dit :

Par concernant le voltage il y a désaccord.

Normal ... car le fabriquant spécifie :

  • Max. Voltage: 5V
Il y a 17 heures, RIPOFE a dit :

me confirmez-vous qu'il faut le brancher sur du 3.3V et non pas du 5V.

... et donc que cela soit du 3,3V ou du 5V , c'est bon xD

Lien vers le commentaire
Partager sur d’autres sites

Merci pour vos réponses.

Donc à priori le niveau hardware est bon (essayé en 3.3v et 5v).

Il reste donc à voir le niveau software et là je nage totalement.

Quelqu'un pourrait m'expliquer en détail les étapes à suivre pour la partie software ?

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

désolé d'insister mais quelqu'un pourrait m'expliquer comment mettre en application ceci : Use GPIO.BCM notation. et ceci : An API is available to check the filament sensor status via a GET method to /plugin/filament/status which returns a JSON

 

Dois-je passer par putty ?

Merci pour votre aide.

Lien vers le commentaire
Partager sur d’autres sites

Désolé d'insister mais je tourne en rond et n'arrive pas à avancer.

Le plus bizarre c'est que j'ai beau chercher, je ne trouve pas ceci : /plugin/filament/status

 

Acette adresse : https://github.com/MoonshineSG/Octoprint-Filament/blob/master/setup.py j'ai trouvé le fichier ci-dessous. Dois-je l'utiliser et si oui dans quel fichier doit-il être ?

 

 
# coding=utf-8
 
########################################################################################################################
### Do not forget to adjust the following variables to your own plugin.
 
# The plugin's identifier, has to be unique
plugin_identifier = "filament"
 
# The plugin's python package, should be "octoprint_<plugin identifier>", has to be unique
plugin_package = "octoprint_filament"
 
# The plugin's human readable name. Can be overwritten within OctoPrint's internal data via __plugin_name__ in the
# plugin module
plugin_name = "Filament Sensor"
 
# The plugin's version. Can be overwritten within OctoPrint's internal data via __plugin_version__ in the plugin module
plugin_version = "1.0.1"
 
# The plugin's description. Can be overwritten within OctoPrint's internal data via __plugin_description__ in the plugin
# module
plugin_description = """Use a filament sensor to pause printing when filament runs out."""
 
# The plugin's author. Can be overwritten within OctoPrint's internal data via __plugin_author__ in the plugin module
plugin_author = "ovidiu"
 
# The plugin's author's mail address.
plugin_author_email = "github@ovidiu.me"
 
# The plugin's homepage URL. Can be overwritten within OctoPrint's internal data via __plugin_url__ in the plugin module
plugin_url = "https://github.com/MoonshineSG/OctoPrint-Filament"
 
# The plugin's license. Can be overwritten within OctoPrint's internal data via __plugin_license__ in the plugin module
plugin_license = "AGPLv3"
 
# Any additional requirements besides OctoPrint should be listed here
plugin_requires = ["RPi.GPIO>=0.6"]
 
### --------------------------------------------------------------------------------------------------------------------
### More advanced options that you usually shouldn't have to touch follow after this point
### --------------------------------------------------------------------------------------------------------------------
 
# Additional package data to install for this plugin. The subfolders "templates", "static" and "translations" will
# already be installed automatically if they exist.
plugin_additional_data = []
 
# Any additional python packages you need to install with your plugin that are not contains in <plugin_package>.*
plugin_addtional_packages = []
 
# Any python packages within <plugin_package>.* you do NOT want to install with your plugin
plugin_ignored_packages = []
 
# Additional parameters for the call to setuptools.setup. If your plugin wants to register additional entry points,
# define dependency links or other things like that, this is the place to go. Will be merged recursively with the
# default setup parameters as provided by octoprint_setuptools.create_plugin_setup_parameters using
# octoprint.util.dict_merge.
#
# Example:
# plugin_requires = ["someDependency==dev"]
# additional_setup_parameters = {"dependency_links": ["https://github.com/someUser/someRepo/archive/master.zip#egg=someDependency-dev"]}
additional_setup_parameters = {}
 
########################################################################################################################
 
from setuptools import setup
 
try:
import octoprint_setuptools
except:
print("Could not import OctoPrint's setuptools, are you sure you are running that under "
"the same python installation that OctoPrint is installed under?")
import sys
sys.exit(-1)
 
setup_parameters = octoprint_setuptools.create_plugin_setup_parameters(
identifier=plugin_identifier,
package=plugin_package,
name=plugin_name,
version=plugin_version,
description=plugin_description,
author=plugin_author,
mail=plugin_author_email,
url=plugin_url,
license=plugin_license,
requires=plugin_requires,
additional_packages=plugin_addtional_packages,
ignored_packages=plugin_ignored_packages,
additional_data=plugin_additional_data
)
 
if len(additional_setup_parameters):
from octoprint.util import dict_merge
setup_parameters = dict_merge(setup_parameters, additional_setup_parameters)
 

setup(**setup_parameters)

Modifié (le) par RIPOFE
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

j'ai effectivement modifié les XX par "15" qui est le pin sur lequel j'ai branché le fil relié au pin "S" du capteur.

Pour cela j'ai branché la carte micro SD sur le pc et ouvert le fichier config.yaml se trouvant ici :G:\home\pi\.octoprint

Après l'avoir modifié et sauvegardé j'ai remis la carte dans le pi. Malheureusement ça ne fonctionne pas.

Lien vers le commentaire
Partager sur d’autres sites

Tu peux également vérifier l'état du plugin depuis l'api : http://{ip-octoprint}/plugin/filament/status?apikey={ta-clé-API}

Un retour similaire devrait t'être retourné :

  • {status: "-1"} if the sensor is not setup
  • {status: "0"} if the sensor is OFF (filament not present)
  • {status: "1"} if the sensor is ON (filament present)

-> Si tu obtiens le résultat "status: -1", la config n'est pas bonne

Comme évoqué plus haut, vérifie que le fichier ~/.octoprint/config.yaml contient bien :

plugins:
  filament:
    pin: XX
    filament: 0
    bounce: 400 

en prenant le soin de remplacer "XX" par le pin du GPIO ou le capteur est branché (semble être le 15 donc d'après tes dires?)

Raspberry-Pi-GPIO-Layout-Model-B-Plus-ro

Enfin as tu lancé cette commande? (elle devrait permettre aux utilisateurs non root de pouvoir utiliser les gpio, je ne pense pas que le problème vienne de la par contre)

chmod a+rw /dev/gpiomem

Modifié (le) par chris25640
Lien vers le commentaire
Partager sur d’autres sites

Merci @gisclace et @chris25640 pour vos réponse.

par contre étant novice en Linux, je ne sais pas comment verifier le fichier config. yaml  en SSH.

Quand je tape http://{ip-octoprint}/plugin/filament/status?apikey={ta-clé-API} dans un navigateur (que ce soit Edge ou Mozilla), j'ai "500 internal error". Bien sur j'ai pris soin de change {ip-octoprint}et {ta-clé-API} par les valeurs adéquat.

 

Je suis ouvert à toute suggestion. Quoi qu'il en soit merci pour votre aide

Lien vers le commentaire
Partager sur d’autres sites

Connecte toi sur le rapsberry et lance la commande suivante :

cat ~/.octoprint/config.yaml

Tu verras le contenu de ton fichier

 

edit : Je viens de l'installer, l'api du plugin me retourne bien quelque chose, chez moi :

http://192.168.1.85/plugin/filament/status?apikey=20FB12746E274C9XXXXXXXXXXXXXXXXXXX

me retourne bien "status": -1, normal je n'est pas configuré le plugin

Modifié (le) par chris25640
Lien vers le commentaire
Partager sur d’autres sites

Merci @chris25640

 

j'ai fait comme indiqué et j'ai remarqué qu'il manqué la ligne "filament: 0".

Je l'ai donc rajouté en SSH mais cela ne change rien : l'impression ne se met pas en pause en cas d'abscence de filament.

Meme résultat si je change "filament: 0" par "filament: 1"

Lien vers le commentaire
Partager sur d’autres sites

Çà a évolué :

après désinstallation, extinction, réinstallation extinction j'ai revérifier le fichier config.yaml et a ma grande surprise les paramètres du plugin filament étaient encore présents. Je les ai supprimé, ai redémarré le Rpi et tapé http://192.168.1.10/plugin/filament/status?apikey=FAF1118F3AB3XXXXXXXX.

J'ai enfin eu autre chose que erreur 500 : j'ai "status" : -1.

Cool donc plus qu'à remplacé XX par 15 dans le fichier config.

Et là se présente à moi un petit soucis : pas de trace du plug-in filament dans le fichier extension.

Pourtant celle-ci est bien activé dans les paramètres octoprint.

 

Une idée ?

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...