7
votes

Python + Arduino avec Mac OS X

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? , mais je ne pense pas que cela serve tout à fait mes fins.

À ce stade, essayant de voir simplement des preuves de la communication que j'ai essayé cela. < / p>

arduino: xxx

python: (à peu près du lien mentionné ...) xxx

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?


0 commentaires

3 Réponses :


16
votes

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: xxx

ps: Si vous utilisez Python 3, vous devez envoyer des octets au lieu de chaînes (c'est-à-dire b'text ') .


6 commentaires

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.



1
votes

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 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>

dans votre code Arduino le modifie pour être p>

void loop()
{
   if(Serial.available() > 0)
   {
       d = Serial.read();
       Serial.println(d,BYTE);
   }
}


0 commentaires

2
votes

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.


0 commentaires