Comment puis-je obtenir un programme C pour exécuter du code Python qui envoie des commandes à un Arduino? [fermé]

user1068636

Comment puis-je obtenir un programme C pour exécuter du code Python qui envoie des commandes à un Arduino? [fermé]


J’ai suivi ces instructions avec succès, j’ai donc pu obtenir le Raspberry Pi pour envoyer « BONJOUR n » à mon Arduino Mega 2560 via USB et imprimer sur la console série.

J’ai installé Open CV avec succès sur mon Raspberry Pi en utilisant ces étapes et testé avec succès camshiftdemo.c avec ma caméra Web sur le pi.

Maintenant, je voudrais exécuter camshiftdemo sur le pi et le faire envoyer des chaînes « TURN LEFT n » ou « TURN RIGHT n » à un mobile à 4 roues. Le mobile est attaché à mon Arduino Mega 2560.

Donc, fondamentalement, Raspberry Pi exécute camshiftdemo.c, suit un objet aléatoire choisi par l’utilisateur. Puis camshiftdemo dessine une ellipse autour de l’objet choisi pendant qu’il se déplace. Si l’objet dérive vers le côté gauche de la caméra Web, le Raspberry Pi envoie « TURN LEFT n » à l’arduino, ce qui fait tourner les roues du rover à gauche. Si l’objet dérive vers le côté droit de la caméra Web, le Raspberry Pi envoie « TURN RIGHT n » à l’arduino, ce qui fait tourner les roues du rover vers la droite.

Le code camshiftdemo est écrit en C et le premier lien ci-dessus montre comment utiliser Python pour envoyer des commandes ASCII simples à un arduino via USB. Comment combiner camshiftdemo.c et Python pour travailler ensemble? Plus précisément, comment puis-je modifier « camshiftdemo.c » pour exécuter du code python à partir du programme C?

Serait très reconnaissant à tous / tout conseiller.

embedded.kyle

Jim Paris a raison. L’intégration de Python pour cette tâche est un peu exagérée. Vous pouvez simplement envoyer ASCII sur USB à partir de la ligne C. Cependant, si vous êtes intéressé par l’intégration de Python en C pour une raison quelconque, jetez un œil à certains des didacticiels auxquels j’ai lié dans cette réponse sur SO.

Olin Lathrop

Où est le problème du génie électrique?

Chris Stratton

Bien que la question indique USB, la réponse de Jim ci-dessous suggère à juste titre les API série, car l’interface USB de l’Arduino est celle que le système d’exploitation hôte traitera comme un port série.

Réponses


 Jim Paris

Vous devez simplement envoyer les commandes série depuis C. Pas besoin d’incorporer un interpréteur Python. Pour toutes les informations dont vous pourriez avoir besoin sur le sujet, consultez l’excellent Guide de programmation série pour les systèmes d’exploitation POSIX .

En outre, cette question est hors sujet pour ce site particulier.

 

[fermé], #à, #pour, arduino, C, code, commandes, comment, des, du, envoie, exécuter, obtenir, Programme, Puis-je, Python, qui, un

 

google

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *