Liaison de fichiers python de versions différentes

Résolu/Fermé
Achta - 9 déc. 2022 à 18:16
 Achta - 12 déc. 2022 à 20:13

Bonjour, dans le cadre d'un travail de groupe, nous devons faire un programme python et un autre sur Arduino pour la gestion du tri de déchets. Dans mon application, l'Arduino gère tous mes capteurs et moteurs et sur une jetson nano, j'ai connecté une caméra pour faire de la reconnaissance d'image. 

Ma problématique est la suivante, la version de python pour prendre une image est en python 3.6.9 et celle de classification est en python 3.7. Pour lier les deux, j'utilise un bash script. Cependant, j'ai besoin de retourner ma valeur de classification à Arduino pour le tri via la communication I2C. 

Cependant, cela n'est pas aisé pour moi car j'ai besoin de renvoyer la valeur de ma classification à l'arduino mais je ne sais comment faire sans passer par le batch script ( fichier sh ) pour faire comme un  sorte de machine à état dans laquelle la jetson et l'Arduino pourront communiquer. 

Auriez vous des pistes pour m'aider? 


Windows / Edge 108.0.1462.42

A voir également:

2 réponses

cengokill Messages postés 251 Date d'inscription dimanche 27 mai 2012 Statut Membre Dernière intervention 19 décembre 2022 18
9 déc. 2022 à 18:39

Bonjour! Il existe plusieurs façons d'envoyer des données entre un Arduino et un ordinateur, y compris en utilisant la communication I2C. Pour envoyer des données de votre script Python à l'Arduino, vous pouvez utiliser la bibliothèque PySerial, qui permet à Python de communiquer avec des périphériques série tels qu'un Arduino.

Voici un exemple simple de comment utiliser PySerial pour envoyer des données de votre script Python à l'Arduino :

  1. Installez PySerial en utilisant pip : pip install pyserial

  2. Importez la bibliothèque PySerial dans votre script Python : import serial

  3. Ouvrez une connexion série avec l'Arduino en utilisant la méthode serial.Serial() :
    # Ouvre une connexion série à 9600 bauds avec l'Arduino sur le port série /dev/ttyACM0
    ser = serial.Serial('/dev/ttyACM0', 9600)

  4. Envoyez des données à l'Arduino en utilisant la méthode write() de l'objet serial.Serial :
    # Envoie la chaîne de caractères "hello" à l'Arduino ser.write(b"hello")
  5. Vous pouvez également utiliser la bibliothèque Arduino Wire pour recevoir des données de l'ordinateur sur l'Arduino. Pour plus d'informations sur l'utilisation de PySerial et de la bibliothèque Wire, consultez la documentation en ligne.

    J'espère que ces informations vous seront utiles. Bonne chance avec votre projet !


1

Merci pour votre réponse. J'ai réussi à effectuer cette étape. 

0