Forum Replies Created
- Replies
-
- 6 juillet 2023 à 13 h 45 min
- in reply to: Compteur Impulsion, Tension max
Bonjour philou15,
Il c’est coulé de l’eau sous les ponts depuis nos derniers Post et je ne sais pas ce que vous avez commandé !
D’après ce que vous m’indiquez comme nom des fils, BN, BL, BK, il semble que vous faites référence au Capteur de Proximité Inductif modèle : LJ18A3-8-Z-BY, Pourriez vous confirmer !
Si c’est le cas, c’est donc un Modèle NPN / NO qui envoie des Pulses Négatives. Il faut si cela est confirmé, réaliser une connexion type Positive.
Il faut donc Relier le fil BN (marron) au + 12V + le 15-24 du Photocoupleur. Relier le fil BL (bleu) au – 12v (GND). Et enfin Relier le Fil BK (noir) au point médian « Pulse » du Phtocoupleur.
Voir schéma de câblage joint.
Avant de tester le Capteur Inductif avec votre Compteur Eau, une fois que vos connexions Alim 12v et Photocoupleur seront effectuées, Vérifier avec votre WES si le Capteur Inductif envoie des Pulses, en rapprochant puis vous éloigné une pièce métallique légèrement magnétisé juste devant l’embout du capteur.
N’utilisez pas un aimant permanent pour ce test.
Utilisez plutôt un petit tournevis que vous aurez au préalable aimanté avec un Aimant permanent par des frottement aller/retour le long de la tige métallique du tournevis. Vérifiez que le tournevis est bien magnétisé à l’aide d’une petite vis en fer. Si la vis reste collé au tournevis lorsque vous soulevez doucement les deux ensemble, alors c’est bon.
Essayez de déterminer la distance max entre l’embout du Capteur et la distance du tournevis ou le Capteur ne réagit plus.
Il faut pour que ce Capteur Inductif fonctionne avec votre Compteur Eau, que le Capteur capte la petite roue qui tourne dans votre Compteur Eau.
Donc il faut que cette petite roue métallique interne au Compteur eau ne soit pas plus distante de la face avant du plexiglas du Compteur eau ou sera posé verticalement votre Capteur Inductif, que la distance max que vous avez mesurée avec le tournevis.
En principe ce modèle du Capteur Inductif fonctionne en détection d’une pièce métallique en mouvement jusqu’à une distante MAX de 8mn de l’embout du Capteur.
Cdt
Attachments:
You must be logged in to view attached files.00- 4 juillet 2023 à 12 h 28 min
- in reply to: Pilorter une Borne de Recharge VE-TRONIC via HTTP
RE: je doit compresser le fichier Deb en ZIP car le Blog me le refuse dans son état brut.
Je vous renvoie ce fichier Install_Serveur_Http_Vetronic_2.1.deb dans une archive ZIP Install_Serveur_Http_Vetronic_2.1.zip que vous devez décomprésser pour trouver le fichier Deb.
Attachments:
You must be logged in to view attached files.00- 4 juillet 2023 à 12 h 19 min
- in reply to: Pilorter une Borne de Recharge VE-TRONIC via HTTP
Bonjour pascalduvar,
Bon j’ai vérifié la correspondance des indices des fichiers entre les vôtres et le miens.
Ce sont les mêmes donc j’avais bien la dernière MAJ que je vous avais fourni en 2022.Je vous joint un fichier d’installation Deb « Install_Serveur_Http_Vetronic_2.1.deb » créé avec mes fichier Python modifiés afin de vous facilité l’installation de la MAJ de votre RASP.
Cette installation va remplacer tous vos fichiers Python correspondant au projet Vetronic dans votre RASP. Le /etc/rc.local est aussi mis à jour donc vous n’avez pas à y toucher.
Toutefois afin de rester prudent, je vous demande de sauvegarder la version installé dans votre RASP en Renommant votre Dossier Cible actuel /var/www/http_serv
par /var/www/OLD_http_serv. L’installation va recréer ce dossier /var/www/http_serv.
Pour installer mon fichier Deb, copiez ce fichier dans le dossier RASP : /home/pi/Documents/ Ensuite depuis une console SSH vous tapez les 2 commandes suivantes :
cd /home/pi/Documents + ENTER
sudo dpkg -i Install_Serveur_Http_Vetronic_2.1.deb + ENTER
C’est terminé vous avez installé les nouveaux fichiers dans votre RASP.
Par contre, avant de redémarrer votre RASP, il vous reste à supprimer la modif du fichier crontab si vous ne l’avez pas encore fait. Il faut supprimer de préférence le fichier root que vous allez trouver dans le dossier : /var/spool/cron/crontabs/
Ensuite vous Redémarrez votre RASP.
Je vous résume les modifs que j’ai effectués. En dehors de quelques correctifs de petit Bug d’origine que j’ai trouvé, j’ai rajouter un Test sur la présence d’une IP IPv4 valide attribué au RASP avant de lancer le Serveur HTTP automatiquement.
En deux mots, je Teste toutes les 10 secondes dans une boucle d’attente, que le WIFI de votre RASP s’initialise avec votre BOX.
Une fois que l’IP WIFI est attribué au RASP, je quitte la bloucle et lance le Serveur HTTP Python.
J’ai rajouté un garde fou dans le lancement du Serveur Python depuis /etc/rc/local au BOOT du RASP, par une tempo de 40s avant de lancer le Script. Cette Tempo permet de mieux laisser initialiser le RASP sur une CNX Réseau de type RJ45, avant de lancer le Serveur Python.
L’ensemble de ces Tempos et Tests fonctionnent bien chez moi.
Par contre avant de tester le Serveur Python pour voir s’il tourne avec EEdomus,
Il faut bien attendre que le RASP soit initalisé avec le WIFI de votre BOX.Le mieux est d’attendre entre 30s à 60s après le BOOT du RASP avant de tester avec votre Navigateur que le serveur Vetronic tourne:
la Requête http://192.168.1.81:9200/test vous affiche si le serveur tourne : « Le Serveur Fonctionne Bien, IP=192.168.0.127 : Port=9200″
La Requête http://192.168.1.81:9200/pvetronic$/test vous affiche dans le <repmess> du JSON de réponse si le Port COM est reconnu:
« <repmess>Erreur: 200 — Plugin Vetronic OK – Config Port COM: /dev/ttyUSB0 OK </repmess> »
Et ceci s’il y a un Pb avec le Port COM :
« <repmess>Erreur: 444 — Plugin Vetronic OK – Config Port COM: /dev/ttyUSB0 pas OK</repmess> »
Donc je vous conseille de tester via votre Navigateur ces deux requêtes pour voir si votre RASP est prêt pour travailler avec EEdomus et le Vetronic, avant d’utiliser le EEdomus.
Faites moi un retour, normalement vous ne devriez plus avoir de Pb au BOOT du RASP.
Cdt
00- 4 juillet 2023 à 10 h 52 min
- in reply to: Pilorter une Borne de Recharge VE-TRONIC via HTTP
Bonjour pascalduvar,
C’est pas sympa, vous ne respectez pas trop mes directives ! Je plaisante !
Mais c’est vrai que je vous ai demandé soit de supprimer le fichier root du crontab que vous trouvez dans /var/spool/cron/crontabs/ ou au pire si vous ne pouviez pas alors voir à retirer totalement la ligne de lancement du Serveur Python du fichier crontab et NON de mettre en commentaire cette ligne ! Le mieux est de supprimer ce fichier root si vous pouvez le faire.
Merci pour tous vos Retour et votre Archive. Je Vérifie la correspondance entre mes fichiers et ceux de votre archive et vous renvoie un fichier DEB qui fera l’installation Global.
D’ailleurs Je m’apprêtais à vous envoyer un fichier de MAJ DEB que j’avais préparé pour mettre à jour votre Install Vetronic avec mes Modifs sur mes propre fichiers Vetronic, pensant que vous étiez absent.
Je vérifie rapidement la correspondance des indices entre mes fichiers et le votre et vous transmet je pense d’ici 13h ce fichier d’installation e la MAJ Globale.
Pensez vous être dispo cet après midi ou en début de soirée pour tester cette MAJ ?
Juste pour information, j’ai installé votre projet Vetronic pour mes tests, dans un Raspberri PY ZERO. Il est un peu plus lent qu’un Raspberry Pi 3 ou 4 mais les temps d’Init du WIFI doivent plus ou moins correspondre lors d’un BOOT du RASP.
J’ai calculé, qu’il se passe au moins 2 minutes entre le début du redémarrage du RASP et l’Init du WIFI avec ma BOX en fin de Boot. Dans cette phase de 2 minutes le Serveur HTTP Python ne peut pas démarrer car il lui faut une IP pour s’initialiser. Cela explique vos PB.
Donc en attente de mes dernière Modifs, si vous avez à redémarrer votre RASP, vous devez attendre au moins 1 minute par sécurité une fois que le RASP refonctionne après un BOOT, pour être plus ou moins sûr que le WIFI du RASP est initialisé et pouvoir lancer le Serveur Python.
Le WIFI du RASP ne s’initialise qu’une fois l’ensemble des Programmes du RASP fonctionne rn fin de BOOT, donc bien après la phase de BOOT. Le fichier /etc/rc/local lui est lancé en cour de BOOT bien en amont de la phase d’init du WIFI, donc mon Serveur ne peut pas se lancer au Boot depuis le rc.local sans mes Modifs à venir.
Déjà l’Init du WIFI avec la BOX prend un temps Long, d’autant plus si la distance entre les équipements sont un peu éloignés entre eux. Dans ce cas les signaux WIFI sont faibles, donc cela provoque plus d’erreurs dans les transactions donc cela Ramer d’avantage !!!
A toute.
Cdt
00- 3 juillet 2023 à 20 h 09 min
- in reply to: Pilorter une Borne de Recharge VE-TRONIC via HTTP
Re: J’ai rajouté des modifs dans le fichier /var/www/http_serv/driven/vetronic.py
Donc dans votre archive, vous m’envoyez les 3 fichiers suivant :
/var/www/http_serv/serveur_http.py
/var/www/http_serv/driven/utils.py
/var/www/http_serv/driven/vetronic.py
Merci,
Cdt
00- 3 juillet 2023 à 14 h 21 min
- in reply to: Pilorter une Borne de Recharge VE-TRONIC via HTTP
Re: Désolé, cela fait un moment que je n’ai pas joué et testé les requêtes Vetronic. J’avais oublié, mais les Requêtes pour le Vetronic son préfixé par : /pvetronic$/
h ttp://192.168.1.81:9200/pvetronic$/votre-requête-vetronic
Donc je résume, pour tester uniquement le Serveur Python depuis le navigateur:
h ttp://192.168.1.81:9200/test
Pour toutes les autres requêtes à destination du Vetronic depuis le navigateur il faut rajouter /pvetronic$/suivi-de-votre-requête-Vetronic
exemple : demander le menu d’aide du Vetronic :
h ttp://192.168.1.81:9200/pvetronic$/help
Je pense que vous le saviez car vous vous en servez tous les jours via EEdomus!
Cdt
00- 3 juillet 2023 à 10 h 56 min
- in reply to: Pilorter une Borne de Recharge VE-TRONIC via HTTP
Re: Pour l’instant ne mélangez pas tout. Lassez votre EEdomus de coté ! vous ne verrez rien depuis EEdomus et ne pourrez pas faire un bon Diag !.
En 1er, Regardez dans votre BOX, quel est l’IP qui à été attribuée au WIFI de votre RASP. Vous la mettez en mode Static dans l’interface DHCP de l’Admin de la BOX. c’est cette IP qu’il faut utiliser dans vos requêtes et dans le Script EEdomus.
Redémarrer le RASP, 2, 3 fois, pour voir si la BOX donne toujours la même IP WIFI au RASP.
Testez d’abord le Serveur Python depuis votre navigateur avant de tester avec EEdomus.
Après un BOOT du RASP, laissez un peu de temps que le WIFI du RASP s’initialise (10 à 15s) puis lancer le Serveur Python manuellement en attendant mes fichiers.
Vérifiez ensuite avec sudo pgrep -a pyhton que le serveur est bien lancé. Si le Serveur Tourne on doit vous retourner :
##########################################
xxxx /usr/bin/python3 /var/www/http_serv/serveur_http.py
##########################################Ensuite procédez comme suit (je suppose que l’IP du RASP est bien : 192.168.1.81). Envoyez depuis le navigateur cette requête http://192.168.1.81:9200/test. Si le serveur Python fonctionne il va vous afficher : « Le Serveur Fonctionne Bien »
Tester une requête Vetronic depuis le navigateur : http://192.168.1.81:9200/help Vous verrez dans votre navigateur si le Vetronic vous renvoie son menu d’aide. Vous pouvez tester vos autres Cde Vetronic par l’envoie de requête toujours depuis le navigateur.
Si déjà là cela fonctionne bien avec le Navigateur, cela veut dire que le Serveur Python répond correctement avec le Vetronic.
Alors et seulement si tout est OK, vous pourrez voir ensuite avec EEdomus.
Si EEdomus ne fonctionne tjs pas, vérifiez que c’est bien la bonne IP WIFI du RASP qui est déclaré dans le Script EEdomus ? Vérifiez si une MAJ de EEdomus vous aurez changé quelque chose ?
Si avec le Navigateur tout est OK et que cela pèche toujours avec EEdomus, alors le Pb vient de EEdomus ! (mauvaise déclaration quelques part)
Pour l’heure il faut attendre mes fichiers pour que le Serveur Python fonctionne automatiquement au BOOT du RASP.
De votre côté regardez cette histoire d’IP et remettez le /ect/rc/local comme précisé dans mon précédent post et Supprimez votre modif dans le crontab.
Désolé pour le crontab, mais cela fonctionne mieux avec le /etc/rc.local
Cdt
00- 3 juillet 2023 à 9 h 43 min
- in reply to: Pilorter une Borne de Recharge VE-TRONIC via HTTP
Bonjour pascalduvar,
Finalement après des tests chez moi, il est préférable de conserver le fichier /etc/rc.local pour lancer le serveur Python au BOOT. J’ai modifié les Fichiers Python afin que le Serveur HTTP ne démarre que s’il y a une IP IPv4 valide soit via RJ45 ou via WIFI.
J’attends vos 2 fichiers Python pour retranscrire mes modifs dans vos fichiers.
Par contre réactiver dans le fichier /etc/rc.local uniquement le Script qui lance le Serveur Python. mais ne réactivez pas le Script Ping. La fin du rc.local doit se terminer ainsi
sudo nohup /usr/bin/python3 /var/www/http_serv/serveur_http.py &
exit 0
Si vous aviez gardé et mis ce Script Python en commentaire, vous le décommentez et vous rajouter juste le terme nohup après le sudo.
Laissez en commentaire ou supprimer la ligne du Script Ping : # ping -c 4 127.0.0.1 > nul
S’il n’est pas trop tard, ne rentrez pas le script dans le fichier crontab.
S’il est trop tard, vous pourrez supprimer votre Script depuis le dossier /var/spool/cron/crontabs/ et vous supprimez le root qui est visible. (faut être logguer en ROOT)
Ensuite vous vérifiez avec la commande SSH : crontab -l que votre modif n’existe plus.
Au pire si vous n’arrivez pas à supprimer ce fichier root, vous relancer la Cde : crontab -e ensuite ENTER après le 1er message, vous retrouvez le contenu du fichier crontab. Vous supprimez la ligne que vous aviez rajouté et ensuite CTRL+O puis ENTER et CTRL+X pour sortir
J’attends vos deux fichiers :
/var/www/http_serv/serveur_http.py
/var/www/http_serv/driven/utils.py
Je les modifies et je vous les renverrais pour que vous remplaciez vos propres fichiers.
En attendant, vous lancez le script Python manuellement comme spécifié dans mon Post précédent si le Serveur Python n’est pas encore lancé: sudo nohup /usr/bin/python3 /var/www/http_serv/serveur_http.py &
Cdt
00- 2 juillet 2023 à 23 h 33 min
- in reply to: Pilorter une Borne de Recharge VE-TRONIC via HTTP
RE:
Si vous avez toujours des Pbs avec la tache Cron au Boot pour activer votre Serveur Python ?
Au lieu de chercher depuis un Script externe à synchroniser avec une Tempo, l’attente d’une IP lors de l’initialisation du Wifi de votre Rasp, je vais plutôt vous rajouter dans les fichiers de votre Serveur Python, une modif afin que ce soit l’interface in situ qui active son propre Serveur automatiquement une fois qu’une IP soit bien attribué au RASP (WIFI ou RJ45).
Par contre vous devez bien activez le Serveur Python au Boot du Rasp depuis Crontab, comme précisé dans mon précédent Post, mais cela sera ma modif qui va tester et activera le Serveur lorsqu’une IP valide sera attribué au RASP.
Comme je ne suis pas sur d’avoir encore chez moi, votre dernière version du Serveur Python à jour, envoyez moi dans une archive ZIP, les 2 fichiers serveur_http.py et utils.py que vous trouverez respectivement dans les dossiers de votre RASP :
/var/www/http_serv/serveur_http.py
/var/www/http_serv/driven/utils.py
Confirmez aussi l’IP qui est choisi pour faire fonctionner votre Serveur, est ce bien l’IP 192.168.1.81 ?
Vérifier aussi à bien mettre cette IP Rasp en mode Static dans votre BOX Fai.
Cdt
00- 2 juillet 2023 à 22 h 16 min
- in reply to: Pilorter une Borne de Recharge VE-TRONIC via HTTP
Bonjour pascalduvar,
Pour Info, normalement tous les Scripts qui sont entré dans le fichier /etc/rc.local, sont lancés au BOOT du Linux du Rasp.
Les Scripts que j’avais mis dans ce fichier rc.local, comprennent 3 lignes :
# sudo /home/pi/.local/bin/python3 -m http.server &
ping -c 4 127.0.0.1 > nul
sudo /usr/bin/python3 /var/www/http_serv/serveur_http.py &La 1ere ligne est juste un commentaire
la 2eme ligne lance un Ping et test si la CNX réseau fonctionne au bout de 4 tests
la 3eme ligne est censée lancer le Serveur Python.Le Serveur Python à besoin pour se lancer, que la CNX Réseau soit établie avec le RASP.
Hors vous avez une Cnx Wifi et j’avais pensé que vous étiez en Cnx Lan RJ45.
Comme une Cnx WIFI n’est établit que lorsque le RASP à démarré, C’est pourquoi le Serveur Python ne se lance pas juste au BOOT, car la Cnx Wifi n’est pas encore initialisée avec le RASP lorsque le /etc/rc.local demande de lancer cette instance Python.Donc vous faites bien, il faut bien retirer ces 3 lignes du fichier /etc.rc.local qui ne servent à rien.
Par contre dans le ConTab, je vous ai demandé de rentrer qu’Une Seule ligne,
celle qui lance le serveur Python : @reboot sudo /usr/bin/python3 /var/www/http_serv/serveur_http.py &Il ne faut pas rentrer dans le fichier crontab le Script qui lance le Ping !
Que lisez vous depuis une Console avec cette commande : crontab -l
Normalement vous devriez lire quelque chose comme ci-dessous et voir et lui Seul votre Script Python en fin du fichier sans le Script Ping:# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use ‘*’ in these fields (for ‘any’).
#
# Notice that tasks will be started based on the cron’s system
# daemon’s notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command@reboot sudo /usr/bin/python3 /var/www/http_serv/serveur_http.py &
Si vous ne voyez pas votre Script Python en fin de fichier, c’est que vous n’avez pas validé l’enregistrement du Script lors de votre saisie.
C’est peut être de ma Faute ! j’ai oublié de vous demander de faire ENTER après le CTRL+O , car on vous demande de confirmer votre enregistrement par un OUI !!!Donc si à la Fin du fichier crontab, votre Script python n’est pas présent, ou bien vous y voyez aussi en plus de votre Script Python, le Script du PING, alors vous recommencez les Cde suivante : contab -e + ENTER
On vous affiche :
Select an editor. To change later, run ‘select-editor’.
1. /bin/nano <—- easiest
2. /usr/bin/vim.tiny
3. /usr/bin/code-insiders
4. /usr/bin/code
Choose 1-4 [1]:Vous taper juste : ENTER
On vous affiche le contenu du fichier crontab avec du texte en commentaire au début.
Vous descendez en fin du fichier.Soit vous voyez vos 2 Scripts, alors il faut retirer la Ligne avec le PING et laissez uniquement le Script de votre Python qui doit commencer par @reboot.
Si vous ne voyez aucun Script après les commentaires, alors en fin des commentaires vous taper 2 fois ENTER puis vous rentrer en début de ligne exactement le Script suivant (ajout de nohup) suivi d’un ENTER en fin de la ligne :
@reboot sudo nohup /usr/bin/python3 /var/www/http_serv/serveur_http.py &
Ensuite vous tapez : CTRL+O suivi d’un ENTER et ensuite CTRL+X
Vous vous retrouver sur la console. Vérifiez que votre Script à bien été enregistré dans le fichier crontab par la commande : crontab -l
Si vous ne voyez pas votre Script vous recommencez, ne pas oublier de taper ENTER après le CTRL+O (O comme OUI) sinon vous sortez de crontab par CTRL+X
Après vos modifs, vous devez Rebooter votre RASP.
Ensuite vous tester pour voir si le serveur à démarré : sudo pgrep -a python
Vous devriez voir une instance de votre Serveur Python lancée :« xxxx /usr/bin/python3 /var/www/http_serv/serveur_http.py »
Si le Serveur n’est toujours pas lancé vous m’en faite Part, cela signifie qu’il faut rajouter une TEMPO dans le Script avant de lancer le Serveur Python car le WIFI du RASP ne serait pas encore activé au lancement de la Tache Cron.
Donc si le Serveur n’est Pas Encore Lancé, vous le lancez vous même et une seule fois (y compris avec le nohup) : sudo nohup /usr/bin/python3 /var/www/http_serv/serveur_http.py &
Dans le future rajouter ce terme nohup dans vos commandes pour lancez le serveur Python.
Oubliez pour l’instant l’interface EEdomus, vous allez tester le Serveur Python uniquement depuis votre navigateur.
Lancez la requête suivante depuis votre navigateur : http://192.168.1.81:9200/test
Le serveur Python devrez vous répondre : Le Serveur Fonctionne BienSi vous avez une erreur avec le navigateur, alors que la commande SSH : sudo pgrep -a python vous affiche bien une instance du serveur Python lancée :
« xxxx /usr/bin/python3 /var/www/http_serv/serveur_http.py »
c’est que vous n’avez pas fixé l’IP WIFI du RASP :192.168.1.81 en mode Static dans l’Admin de votre BOX.
Cela sous entend que votre BOX peut fournir dans ce cas et suivant sa volonté une IP Wifi autre que 192.168.1.81 à votre RASP comme l’IP 192.168.1.53 que vous avez eu un moment donné !
Cela expliquerer que parfois le Serveur Pyhon ne fonctionne pas avec EEdomus après avoir lancé le Serveur Python manuellement.
Il faut dans ce cas forcer l’IP du RASP 192.168.1.81 en Static dans votre Box en lien avec le l’Adresse Mac du Rasp, depuis l’Admin de votre Box. Bien sur si c’est bien l’IP 192.168.1.81 qui doit être attribuée à votre Rasp et que vous avez bien sur déclaré cette IP dans EEDOMUS.
Après si vous avez toujours des Pb avec EEdomus, déconnectez votre prise USB/Serial du RASP puis vous la reconnectez. Cela va réinitialiser le Port COM RS232.
A part ces cas de figure cela devrait fonctionner.
Faite moi un retour
Cordialement
Christian00- 1 juillet 2023 à 15 h 30 min
- in reply to: Pilorter une Borne de Recharge VE-TRONIC via HTTP
RE: pour Misterden,
Téléchargez bien ma toute dernière Archive 4, je la remet en pièce jointe.
Faites moi un retour lorsque vous l’aurez chargée dans un ESP32 et que vous aurez fait un test d’envoi de requête depuis votre navigateur avec la liaison série TX pin 4 et RX pin 15 rebouclé.
Faites moi un Retour,
Cdt
Attachments:
You must be logged in to view attached files.00- 1 juillet 2023 à 14 h 59 min
- in reply to: Pilorter une Borne de Recharge VE-TRONIC via HTTP
RE: pour pascalduvar,
Si vous avez une erreur en tapant la commande : pkill -9 -f ‘/usr/bin/python3 /var/www/http_serv/serveur_http.py’ alors rajouter sudo devant la liagne :
sudo pkill -9 -f ‘/usr/bin/python3 /var/www/http_serv/serveur_http.py’
cdt
00- 1 juillet 2023 à 14 h 55 min
- in reply to: Pilorter une Borne de Recharge VE-TRONIC via HTTP
Bonjour pascalduvar,
Lorsque vous rentrer dans une console SSH : sudo pgrep -a python, vous allez voir toutes les instance Python qui sont lancée.
Si au BOOT de votre RASP vous ne voyez pas l’instance du serveur : /usr/bin/python3 /var/www/http_serv/serveur_http.py c’est bien qu’il y a un PB !
Par contre il ne faut pas qu’il y est plusieurs Instance du même Serveur !
Le fait de voir dans votre console SSH après une commande : sudo pgrep -a python« 1315 /usr/bin/python3 /var/www/http_serv/serveur_http.py »
« 1496 /usr/bin/python3 /var/www/http_serv/serveur_http.py »
« 1497 /usr/bin/python3 /var/www/http_serv/serveur_http.py »n’est pas normal, cela signifie que le Serveur Python a été lancé 3 fois !!! Il ne faut que 1 seule ligne de cette instance !
Comment vous travaillez avec votre RASP et votre Vetronic ?
Vous Démarrez à chaque fois votre RASP lorsque vous voulez envoyez des commandes Vetronic ?
Parce qu’une fois que le Serveur Python à démarré, il reste actif et tourne en permanence jusqu’à un Arrêt ou Reboot du RASP,
Donc inutile d’envoyer la commande sudo /usr/bin/python3 /var/www/http_serv/serveur_http.py & à chaque fois que vous envoyez des requêtes Vetronic !!!
Pour régler ce PB actuel, soit vous rebooter votre RASP et attendez pour voir si le serveur à démarré avec la commande SSH : sudo pgrep -a python.
Si le Serveur Python n’apparaît pas, alors lancez le serveur que 1 seule fois via la commande : sudo /usr/bin/python3 /var/www/http_serv/serveur_http.py &. Tant que le RASP ne reboote pas, le Serveur Python tourne en permanence.
Ou bien soit vous essayez de tuer Toutes les Instances en Doublons en cours sur ce Serveur Python par la comme de SSH : pkill -9 -f ‘/usr/bin/python3 /var/www/http_serv/serveur_http.py’
Vous vérifiez après que aucune instance du serveur n’existe plus avec la commande : sudo pgrep -a python et vous lancez que 1 fois : sudo /usr/bin/python3 /var/www/http_serv/serveur_http.py &
Attention ne pas faire un copy collé depuis le BLOG de la commande PKILL ci-dessus car les guilemets et simple quote sont modifiés par des caractères similaire et votre Commande : pkill -9 -f ‘/usr/bin/python3 /var/www/http_serv/serveur_http.py’ ne fonctionnera pas avec la console. Dans cette commande PKILL vous avez 2 Simple Quote
Comment est relier votre RASP à votre réseau local, via le WIFI ou Cnx RJ45 LAN ?
Quel est la version Linux installé dans votre RASP ?Pour le voir taper la commande SSH : uname -a
Le fichier /etc/rc.local de votre RASP se termine t’il par :
# sudo /home/pi/.local/bin/python3 -m http.server &
ping -c 4 127.0.0.1 > nul
sudo /usr/bin/python3 /var/www/http_serv/serveur_http.py &exit 0
Si votre fichier se termine ainsi et que votre RASP ne lance pas le serveur Python au BOOT, c’est probablement dû à un PB de retard de la détection de CNX réseau Lan au BOOT.
On peut remédier au Problème en modifiant la façon de démarrer le Serveur au BOOT..
Dans un 1er temps éditer et supprimez du fichier /etc/rc.local les 3 lignes ci-dessus situées juste avant le exit 0 de fin de fichier. Important Vous laissez le exit 0 en fin du fichier.
Ensuite depuis une Console SSH vous rentrer la commande suivante : crontab -e
Vous devriez voir dans la console :Select an editor. To change later, run ‘select-editor’.
1. /bin/nano <—- easiest
2. /usr/bin/vim.tiny
3. /usr/bin/code-insiders
4. /usr/bin/codeChoose 1-4 [1]:
Vous rentrez juste ENTER et on devrez vous afficher un fichier contenant :
Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use ‘*’ in these fields (for ‘any’).
#
# Notice that tasks will be started based on the cron’s system
# daemon’s notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow commandAprès ces quelques lignes vous créez 2 lignes vide par ENTER puis vous rentrer au clavier en début de ligne vide : @reboot sudo /usr/bin/python3 /var/www/http_serv/serveur_http.py & et ensuite vous faites un Enter au clavier en fin de votre saisie.
Ensuite pour enregistrer ce fichier et sortir de l’éditeur nano, vous tapez au Clavier : CTRL+O suivi de CTRL+X
Rebooter votre RASP.
Normalement au retour la commande : sudo pgrep -a python devrez vous montrer une seule instance de ce Serveur Python démarré:
« xxxx /usr/bin/python3 /var/www/http_serv/serveur_http.py »Ne touchez plus à rien, le Serveur Tourne jusqu’au prochain BOOT.
Faites moi un retour SVP.
Cdt
00- 1 juillet 2023 à 13 h 17 min
- in reply to: Pilorter une Borne de Recharge VE-TRONIC via HTTP
Bonjour Misterden,
J’ai encore apporté une modification sur le Programme INO. Comme je n’ai pas de Borne Vetronic, je ne peux que faire des simulations en rebouclant la liaison Série TX et RX.
J’ai oublié le cas ou le Vetronic ne répond pas ! (Pb Cnx RS232 ou autres …). J’ai rajouté une tempo de TimeOut de 1 seconde pour pallier à ce PB.
Trouver encore une autre Archive modifiée, la 4eme ! Désolé !!!.
Concernant l’Interface Série entre le ESP32 et le Vetronic, vous devez passer par un convertisseur Série TTL / RS232.
La différence entre une liaison série TTL et série RS232 est le format du signal envoyé.
La liaison série TTL fonctionne avec un niveau TTL, à savoir : Un 0 logique est idéalement à 0 volt, et un 1 logique à 5 volts. Le dispositif récepteur doit donc tester si le signal à un instant donné est à 0 ou 5 volts, afin de dire s’il reçoit un 0 binaire ou un 1 binaire.
Pour une liaison série RS232, le 0 logique est idéalement représenté par -12 volts et un 1 logique est représenté par +12 volts. Cela offre une plus grande sécurité des données car la différence de signal de données est de -12v à +12v soit 24 volts. la spécification autorise -5 à -15V et +5 à +15V.
C’est pourquoi il faut connecter entre le ESP32 et le Vetronic un Adaptateur Série TTL <> RS232 et le module MAX3232 fait correctement ce travail.
Toutefois il faudra voir s’il n’y a pas un PB avec le niveau RX côté réception RS232 du Vetronic vu que le Module MAX3232 sera alimenté en 3.3V au lieu de 5Vdepuis le ESP32.
On utilise le 3.3V pour alimenter ce module MAX3232, afin de respecter la tension Input/Output des GPIO Tx/Rx du ESP32. Une solution existe pour palier à ce Pb s’il existe, via deux MOSFET BS170 et 4 résistances de 4.7K 1/4w.
Faites attention, plusieurs modèles d’adaptateurs TTL/RS232 existe sur la Toile. Achetez bien le module MAX3232 et vérifier qu’il ressemble à celui présenté dans mon Schéma de câblage. Achetez aussi l’Adaptateur DB9 qui permet de connecter vos fils de la liaison Série. Ces modules ne coûte pas cher, en général moins de 5€ (Faites attention aux profiteur !!!)
Vous pouvez déjà charger le programme INO dans un ESP32 et reboucler les PINS 15 et 4 du ESP32. Ensuite vous pouvez envoyez vos requêtes depuis un navigateur pour voir si le ESP32 répond par Echo sur la liaison Série.
Si vous rencontrez des PBs trouvez mon eMail dans l’entête du fichier INO.
Cdt
Attachments:
You must be logged in to view attached files.00- 30 juin 2023 à 20 h 12 min
- in reply to: Pilorter une Borne de Recharge VE-TRONIC via HTTP
RE: Encore un Bug de dernière Minute !!! encore désolé !
Je renvoie une 3eme Archive corrigé !
Pour Info, en Absence de liaison RS232 vers votre Borne Vetronic, vous pouvez tester l’application du ESP32 en rebouclant la pins 4 (TX) et la pin 15(RX) correspondant à UART série 2 de l’ESP32. Vous recevrez en réponse à vos requêtes un Echo de ce que vous envoyez.
exemple si vous envoyez la requête : http://192.168.x.x:9200/test de la liaison
vous recevrez en retour une réponse au format XML:
<vetronic>
<error>200</error>
<req>test de la liaison</req>
<rep>test de la liaison</rep>
<repfinal>test de la liaison</repfinal>
<repmess>
Requete OK et Rep.Cde. test de la liaison Inconnu du Vetronic
</repmess>
<charge1/>
<charge2/>
<charge3/>
</vetronic>cdt
Attachments:
You must be logged in to view attached files.00