Communication AutoIt-Arduino via port série

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
TomAijerrie
Niveau 5
Niveau 5
Messages : 192
Enregistré le : lun. 02 juin 2014 09:55
Localisation : Lyon
Status : Hors ligne

Communication AutoIt-Arduino via port série

#1

Message par TomAijerrie »

Bonjour (ou bonsoir)

J'ai une carte Arduino (Uno R3) et je souhaite qu'elle reçoive des informations envoyées par l'un de mes scripts, et qu'elle lui envoie d'autres infos.
Jusque là, pas de problème, j'ouvre l'IDE arduino, j'ouvre le moniteur série, et en récupérant le texte de la fenêtre et avec send(), je peux le faire (et ça marche)

Maintenant, je veux que la communication se fasse sans utiliser cette fenêtre.

J'ai donc fait des recherches pour savoir comment utiliser les ports séries, j'ai trouvé que deux solutions

Un UDF qui utilise une dll : https://www.autoitscript.com/forum/topi ... ent-341916 (en)
L'UDF/API du wiki en : https://www.autoitscript.com/wiki/CommAPI

Et... ça ne marche pas =(

Pour le premier, il n'arrive pas à "ouvrir" la dll (dllopen(...)), j'ai essayé de compiler en x86, en x64, mais tjrs la même erreur.
Pour le deuxième, après avoir copié/collé les 5/6 fichiers de l'UDF https://www.autoitscript.com/wiki/CommAPI#Scripts
il refuse de compiler car le tag $tagDCB n'est pas déclaré.

Connaissez vous une 3ème méthode ou savez vous comment faire marcher l'une des deux ?
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: Communication AutoIt-Arduino via port série

#2

Message par orax »

TomAijerrie a écrit : mer. 11 oct. 2017 12:46Pour le deuxième, après avoir copié/collé les 5/6 fichiers de l'UDF https://www.autoitscript.com/wiki/CommAPI#Scripts
il refuse de compiler car le tag $tagDCB n'est pas déclaré.
Je n'ai pas cette erreur, je pense tu as dû mal faire quelque chose.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Avatar du membre
TomAijerrie
Niveau 5
Niveau 5
Messages : 192
Enregistré le : lun. 02 juin 2014 09:55
Localisation : Lyon
Status : Hors ligne

Re: Communication AutoIt-Arduino via port série

#3

Message par TomAijerrie »

Effectivement, j'ai inversé deux noms de fichiers.
J'ai corrigé, mais la carte ne reçoit tjrs rien, il faut que je retrouve comment tout configurer.

Merci
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2086
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: Communication AutoIt-Arduino via port série

#4

Message par TommyDDR »

Bonjour,
J'avais fait le même type de programme avec l'UDF CommMg.au3 (je ne me souviens plus où je l'ai eu, je vous le joins au message.
Changez le "3" dans _CommSetPort pour correspondre avec le numéro de port où l'arduino est branché.
Le 9600 correspond à la vitesse de communication, il faut qu'elle corresponde à celle dans votre code sur l'arduino (Serial.begin(xxxx))
#include "CommMG.au3"

Connexion()
recv()

Func recv()
   Local $recv
   While(True)
      $recv = _CommGetString()
      If($recv <> "") Then
         ToolTip($recv)
      EndIf
      Sleep(200)
   WEnd
EndFunc

Func Connexion()
   Local $retErr
   _CommSetPort(3, $retErr, 9600, 8, "none", 1, 2)
   _CommSetXonXoffProperties(11,13,100,100)
;~    Reboot device
   _CommSetRTS(1)
   _CommSetDTR(1)
   _CommSetRTS(0)
   _CommSetDTR(0)
;~    Wait for boot time
   Sleep(2000)
EndFunc
CommMG.au3
(42.12 Kio) Téléchargé 325 fois
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
TomAijerrie
Niveau 5
Niveau 5
Messages : 192
Enregistré le : lun. 02 juin 2014 09:55
Localisation : Lyon
Status : Hors ligne

Re: Communication AutoIt-Arduino via port série

#5

Message par TomAijerrie »

Merci, je testerais ça quand je pourrais.
Répondre