J'ai du mal à communiquer entre mon Arduino et Python. J'ai quelques questions que j'espère être répondue, mais d'abord et surtout, je dois simplement établir une connexion.
pour Windows, apparemment la solution est plutôt pratique, mais sur Mac OS X, j'ai apparemment besoin de Accédez à certains fichiers système (ce que je ne connais pas). La documentation Python me pointe du message spécifique Re: Python peut Port Serial Stuff? em>, mais je ne pense pas que cela serve tout à fait mes fins. P> À ce stade, essayant de voir simplement des preuves de la communication que j'ai essayé cela. < / p> arduino: p> python: (à peu près du lien mentionné ...) p> Comme en témoignent ici, je ne comprends vraiment pas ce que les modules que j'importaient font exactement. Tout en lisant la documentation, je ne vois aucune façon évidente d'envoyer des données sur la série. J'ai donc raison de deviner que quelle que soit la production de ce programme, il sera envoyé automatiquement? P> P>
3 Réponses :
Le moyen le plus simple de communiquer en python avec l'Arduino (ou tout microcontrôleur avec série) utilise pysérien .
Voici un Exemple: p> ps: Si vous utilisez Python 3, vous devez envoyer des octets au lieu de chaînes (c'est-à-dire b'text ' code>) . p> p>
C'est de loin le plus facile, +1
J'étais sous l'impression que PYSERIAL ne fonctionnera pas sur OSX ... Suis-je trompé?
Cela fonctionne sur OSX. Je n'ai eu que des problèmes de pysérien sous Windows 64 bits
Oh d'accord. Il h. Je viens de l'installer et semble fonctionner bien ... Qu'est-ce que c'est à propos de là? Juste hors de curiosité ... docs.python.org/faq/... J'allais initialement utiliser pysérien, mais je pensais que cela disait que cela ne fonctionnerait pas pour OSX ... D:
Je ne sais pas, mais OSX est un système basé sur BSD, vous n'avez donc pas à vous soucier de la deuxième URL.
Cela ne m'aimait pas sur OSX: AttributeError: l'objet 'Module' n'a aucun attribut 'série'. Avec un peu plus d'investigation, il s'est avéré que j'ai déjà été sérieuse dans mon espace de noms de quelque chose d'autre.
J'ai fait cela en utilisant Perl sous Linux, mais n'a aucune expérience avec Python ou Mac. Je peux vous donner quelques indications à rechercher.
Premièrement, dans votre programme Python, vous devez placer l'adresse de périphérique appropriée pour votre port USB dans dans votre code Arduino le modifie pour être p> SerialPath code>, sinon vos données n'atteint pas l'Arduino . À Linux, j'ai fait une LSUSB après avoir connecté la carte et j'ai trouvé le nom du périphérique à partir de celui-ci. P>
void loop()
{
if(Serial.available() > 0)
{
d = Serial.read();
Serial.println(d,BYTE);
}
}
sur mon côté J'ai résolu une erreur de série sur OSX à l'aide de la commande sudo; Je pense que sur OSX, vous devez obtenir des droits d'administrateur pour communiquer à lancer /dev/cu.usbmodem14101 avec la série après une installation PIP. P>