besoin d'aide pour créér une requête HTTP

et assistants vocaux

besoin d'aide pour créér une requête HTTP

Messagepar misterden » 21 Juil 2020 14:06

Bonjour

J'ai besoin de quelqu'un qui maîtrise bien les requêtes http pour faire communiquer l'eedomus vers une borne de recharge électrique ( VE TRONIC ) grâce à un module qui convertie le RS232 ( connexion de la borne ) vers de l'ethernet ( à savoir ça : https://www.waveshare.com/w/upload/8/8e ... ual-en.pdf )

L'idée étant de piloter le borne de recharge avec l'eedomus ( qui est aussi en lien avec un serveur WES pour les mesures de courant).

les commandes reçues par le terminal RS232/ethernet :
Les 2 commandes possibles :

$GG*B2 [enter] : la borne répond $OK X Y Z (X étant la valeur réelle du courant de charge, Y la tension, et Z la consigne de courant maximale que la borne envoie au véhicule)

$SC X [enter] : permet de forcer une valeur de courant de recharge X ou de stopper la charge. Si X est inférieur à 0, ça désactive la prise de main extérieure de la valeur du courant de recharge (et la borne reprend comme consigne la valeur paramétrée en interne), pour X allant de 0 à 5, ça stoppe la charge du véhicule, et de 6 à 32, cela permet de caler le courant de recharge que l’on souhaite. «

A savoir que le module RS232/ethernet propose ceci dans ses paramètres :
module rs 232 suite2.JPG
module RS232 to ethernet
module rs 232 suite2.JPG (389.36 Kio) Consulté 5767 fois

module rs 232 suite 5.JPG
module rs232 to ethernet 2
module rs 232 suite 5.JPG (278.02 Kio) Consulté 5767 fois

module rs 232 suite 3.JPG
module RS232 to ethernet 3
module rs 232 suite 3.JPG (314.36 Kio) Consulté 5767 fois



l'idée étant de passer directement par une commande HTTP depuis l'eedomus
du style : adresse IP du module RS232 / Identifiant/mot de passe +$SC X( valeur de 0-32)

merci pour votre aide.
misterden
 
Messages : 724
Inscription : 02 Nov 2014

Re: besoin d'aide pour créér une requête HTTP

Messagepar AVATAR » 21 Juil 2020 19:00

1: Ajoute un actionneur HTTP (https://doc.eedomus.com/view/Pilotage_HTTP) :
Ajouter un périphérique -> Autre type de périphérique -> Réseau -> Actionneur HTTP

Pour chaque valeur (type GET), par exemple pour 0:
2: Définir l'URL:
http://XXX.XXX.XXX.XXX/LOGIN/PASSWORD
3: Définir le paramètre:
?$SC=0

Ajoute autant de valeurs que tu veux.

Un petit truc, à mon avis, c'est que tu as sûrement oublié le port, ca devrait être quelque chose du style:
http://XXX.XXX.XXX.XXX:PORT/LOGIN/PASSWORD

On te fait confiance quand à la syntaxe de la commande (/LOGIN/PASSWORD) et le paramètre "$SC" ne s'invente pas donc ca devrait évidement matcher...

Bon courage ;)
AVATAR
 
Messages : 36
Inscription : 05 Juin 2020
Localisation : Toulouse

Re: besoin d'aide pour créér une requête HTTP

Messagepar misterden » 21 Juil 2020 22:04

:shock: euh ... c'est justement sur "On te fait confiance quand à la syntaxe de la commande (/LOGIN/PASSWORD) et le paramètre "$SC" ne s'invente pas donc ca devrait évidement matcher..."

que j'ai besoin d'aide ...merci
misterden
 
Messages : 724
Inscription : 02 Nov 2014

Re: besoin d'aide pour créér une requête HTTP

Messagepar thrymartin » 22 Juil 2020 05:04

regarde dans la signature de merguez07 et dans la mienne
thrymartin
 
Messages : 920
Inscription : 03 Mars 2019
Localisation : La Réunion

Re: besoin d'aide pour créér une requête HTTP

Messagepar merguez07 » 22 Juil 2020 07:27

Salut Denis,

avant de piloter ton waveshare par l'Eedomus, il faut effectivement maitriser la syntaxe des commandes, et, pour ce faire, il faut que tu essayes de le commander par un simple navigateur internet (exemple en tapant dans le lien url : 192.168.0.201:23. As tu essayé ? si oui quels résultats ? (et screen si possible)
tuto 1 -->Programmation des scripts Eedomus
tuto 2 -->SmartDevice
tuto 3 -->Le déclenchement de règles
scripts -->Météo du jour | GH Thermostat | TotalWatt | Detecfire | smartbattery
Skype Eedomus -->lien vers le skype Eedomus
merguez07
 
Messages : 2346
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

Re: besoin d'aide pour créér une requête HTTP

Messagepar xeos » 22 Juil 2020 08:07

Salut

As tu essayé une synthase du style admin:1234@192.168.X.X:PORT/XXX ?

Si ton boitier fonctionne sur le port 80 tu es pas obligé de spécifier le port.
Je suis Fou et insatiable
xeos
 
Messages : 836
Inscription : 02 Sep 2017
Localisation : Alsace

Re: besoin d'aide pour créér une requête HTTP

Messagepar AVATAR » 22 Juil 2020 10:57

En fait, ma réponse était très diplomatique... :)
Hier, avant de te répondre, j'ai regardé les exemples de code qui sont fournis et de ce que j'en ai vu, c'est un tableau de bytes qu'il faut envoyer sur un port série, normal en fait. Et ca me semble être à base d'un arduino ce truc.
L'exemple de code en Delphi est vraiment intéressant, avec un README qui contient de bonnes informations.
Les exemples en Java et CSharp sont aussi intéressants.

Donc une simple URL avec un entier..., je n'y croyais pas déjà hier.
A ta place, je chercherais plutôt à passer par un support PC ou PI ou je développe un connecteur avec mon périph en utilisant les exemples fournis, surement en nodejs puis quand ca fonctionne, un actionneur HTTP coté eeDomus pour dialoguer avec mon connecteur nodejs. je m'aiderais aussi avec des modules qui sont de bonnes bases de départ, comme node-modbus-serial. mais ca suppose avoir quelques connaissances.
AVATAR
 
Messages : 36
Inscription : 05 Juin 2020
Localisation : Toulouse

Re: besoin d'aide pour créér une requête HTTP

Messagepar xeos » 22 Juil 2020 14:14

Ben pour moi son boitier fait office de serveur apache donc il a besoin de rien d'autre juste crée les bons retour.
Voici une doc qui te permettra de comprendre comment générer un XML dans le header d'une requête httpd (server apache) parce qu'en TCP server(socket) il faut faire un script.

https://www.waveshare.com/w/upload/1/11 ... Manual.pdf
https://www.usriot.com/download/M0/USR- ... 0.3.01.pdf
Je suis Fou et insatiable
xeos
 
Messages : 836
Inscription : 02 Sep 2017
Localisation : Alsace

Re: besoin d'aide pour créér une requête HTTP

Messagepar misterden » 23 Juil 2020 21:33

merguez07 a écrit:Salut Denis,

avant de piloter ton waveshare par l'Eedomus, il faut effectivement maitriser la syntaxe des commandes, et, pour ce faire, il faut que tu essayes de le commander par un simple navigateur internet (exemple en tapant dans le lien url : 192.168.0.201:23. As tu essayé ? si oui quels résultats ? (et screen si possible)


Salut pour l'instant n'ayant pas encore la borne, en passant par le module j'arrive sur rien au bout donc pour faire un test je dois renvoyer ça sur un port serie d'un autre PC, ayant quasiement que des portable je cherche un "ancien" pc fixe avec un port serie.
L'adressage indiqué ici n'est pas correct car le module est sur 192.168.1.23, j'ai fais la capture d'ecran brut sans rien toucher..
misterden
 
Messages : 724
Inscription : 02 Nov 2014

Re: besoin d'aide pour créér une requête HTTP

Messagepar misterden » 23 Juil 2020 21:45

J'ai posé la question également sur le forum su serveur WES ( ayant initialement voulu commander cette borne via le contact sec restant disponible dans le WES... avant d'apprendre du fabriquant la possibilité de piloter ça via la prise DB9 et via un module RS232->ethernet ).
Voici ce que l'on me propose :
- Faire un test sur un port série d'un PC raccordé derrière le module RS232
- Paramétrer comme ceci :
Il faut configurer votre module WaveShare en mode TCP Server. Le mode HTTPD que vous avez configurer est pour réaliser des requêtes depuis un pc connecté via RS232 vers un Serveur WEB HTTP. (serveur internet ou local, MQTT par exemple )

Le mode TCP SERVER permet à contrario, à des PC locaux ou autres interfaces (EEdomus, WES etc) de lancer des requêtes HTTP vers un même point d’accès relié en RS232. C’est le cas de votre VE TRONIC.

Si votre WaveShare est configuré côté Main Setup sur l’IP 192.168.1.23, alors mettez ce même IP dans la config RS232 et mettez un port différent de celui utilisé dans la config du Main Setup , exemple de port : 9600, 9601 etc.

et utiliser la requete dans ce format la ( qui marcherait via le serveur WES ) :

http://votre-login:votre-password@192.1 ... 600/?$CE=6
ou pour le WES : WES il faut décomposer les champs : URL = votre-login:votre-password@192.168.1.123 PORT = 9600 Requête = $SC=6

Depuis j'ai appris par le fabriquant que la syntaxe est simplement " $SC 6 "

Je dois procéder a des test en envoyant cette requête sur un PC via le port série ( et l'utilisation d'un logiciel simulant un "terminal" sur le port série ).

Je vous remercie tous pour votre aide et contribution, je reviens vers vous prochainement pour vous faire part des résultats et in fine de la mise en place de ce projet ( les bornes VE tronic étant pour le moment en rupture de stock).

L'idée étant de pouvoir piloter la puissance de charge d'un véhicule électrique en fonction de la production photovoltaïque ( et de la consommation du reste de la maison ) et ainsi suivre au plus près la courbe de production.
misterden
 
Messages : 724
Inscription : 02 Nov 2014

Re: besoin d'aide pour créér une requête HTTP

Messagepar misterden » 28 Sep 2020 14:34

Bonjour,

J'ai reçu la borne et j'ai commencé les tests ( car ayant Windows 10 , un PC sans port RS232 , difficile de tester le module en fin de compte ).

Sinon c'est pas gagner je n'arrive pas a faire marcher le bidule ( RS232 -> ethernet ).

J'ai essayé plein de réglages différents ( il y en a vraiment trop )

j’ai essayé la requete suivente :
( id et code étant : admin/admin ), l’adresse IP du bidule étant 192.168.1.43 ( le port étant 80 , et dans l’un des réglage du « serveur » c’est 9600.
la requete suivante /$GG*B2 ( qui doit faire que la borne répond $OK X Y Z (X étant la valeur réelle du courant de charge, Y la tension, et Z la consigne de courant maximale que la borne envoie au véhicule)

J’ai essayé dans la page web du module ou l’on envoi les requêtes …. et il me repond des trucs en hexadecimal , en gros quoi que je mettes il me renvoi un truc en hexadecimal.

J’ai ensuite essayé avec les scripts HTTP via l’eedomus … il se passe rien ( notamment avec les modulations de puissance de charge via les script /$SC 6 pour 6 ampères et suivants) et via directement une page web avec la requête :
http://admin:admin@192.168.1.43:9600/$GG*B2
puis avec le port » 80″ il se passe rien .

rien ne se passe, j’ai testé vehicule branché à la borne et sans …aucune différence.

Par contre quand j’utilise l’interface ( qui me renvoi du hexadecimal ) si elle n’est pas brachée à la DB9 du VETRONIC il me répond rien .
J’ai essayé de shunter la broche 2 et 3 du câble pour tester l’echo sur les envois de requête ( astuce du fabriquant de la borne pour tester le module sans avoir la borne ) il ne se passe rien non plus.

quand j’envoi simplement http://admin:admin@192.168.1.43:9600/ la page WEB me répond » ERR CONNECTION REFUSED » Site inaccessible , si je tape la même adresse avec le port 80 je retombe sur l’interface du module .

Au niveau de la page des parametres je peux :
Mettre en UDP CLIENT; TCP client , UDP serveur , TCP SERVEUR ( j’ai testé avec celui-ci, avec celui ci j’ai une sous option MODBUS TCP ) et HTTPd CLIENt ( GET ou POST )
Sauf si je choisi HTTPD cLIENT, j’aurai pour les autres en bas de page une option pour le SOCKET B avec un mode : NONE ou alors UDP CLIENT ou TCP CLIENT

Dans l’option REGISTRY TYPE ( j’avais laissé sur » NONE » ) mais la aussi beaucoup de sous option = USER REGISTER ; USR CLOUD ; MAC as REGISTER

Vu que j’utilise un port différent du 80 , je dois pas faire un truc dans ma box internet peut etre ?
Si quelqu'un a une idée car je vois pas quoi faire de tout ces réglages.
et la notice donne pas beaucoup d'info , pour au final faire un truc simple (envoyer une requette http vers le module qui va la transmettre en RS232 ).

menu RS232.JPG
module RS232
menu RS232.JPG (110.9 Kio) Consulté 5298 fois

recu en http.JPG
module RS232 -> Ethernet
recu en http.JPG (74.42 Kio) Consulté 5298 fois

invalide HTTP reponse.JPG
via navigateur
invalide HTTP reponse.JPG (44.44 Kio) Consulté 5298 fois
misterden
 
Messages : 724
Inscription : 02 Nov 2014


Retour vers Périphériques réseau

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 10 invité(s)