Je me suis cogné la tête sur la table pendant des jours pour essayer de comprendre cela. Pour la vie de moi, je narrive pas à obtenir mon port série Raspberry Pi 3 pour communiquer avec le Xbee Series 2.

Jai vérifié mon /boot/cmdline.txt et il ny a aucune référence à AMA0 dans le fichier. Voici ce qui est courant là-dedans:

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblkOp2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait 

EDIT: PI 3 nutilise pas AMA0. Il utilise S0. Jai supprimé lentrée console=serial0,115200

Puisquil sagit de la mise à jour Jessie, il ny a pas dinittab. Dans lequel jai lu que je devais faire ce qui suit (ce que jai fait):

sudo systemctl stop [email protected] sudo systemctl disable [email protected] sudo systemctl mask [email protected] 

Après avoir fait tout cela, jouvre cutecom , réglez-le sur 9600 baud rate, lecture / écriture, données 8 bits, 1 bit stop, et réglez le périphérique sur / dev / ttyAMA0.

Quand je clique sur connect et tape:

+++ 

pour entrer dans le mode de configuration que jobtiens:

write returned 0 errno: 11 write : Resource temporarily unavailable 

Je « ne sais pas ce que je » fais faux ici … Je sais que le Xbee est fonctionnel car je suis capable de le configurer à laide du logiciel XCTU via une carte de dérivation série-USB. Mais sur le Pi connecté via les broches série GPIO, je nobtiens aucune réponse.

Des idées?

Le Xbee est connecté à un explorateur régulé Spark Fun Xbee


Jai également des problèmes avec mon Raspberry Pi 2 (Cest là que le Pi 3 communiquera). Sur le Pi 2, jai édité le fichier cmdline.txt et supprimé les références à AMA0:

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblkOp2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait 

Et jai parcouru les commandes systemctl mentionnées précédemment sur le Pi2.

Actuellement, lorsque jouvre une session en utilisant cutecom (S0 pour Rpi3 AMA0 pour Rpi2), je nobtiens aucune sortie. Je tape +++ dans la ligne dentrée, je vois le voyant TX clignoter sur mon Regulated Explorer mais je nobtiens aucune sortie à lintérieur de cutecom, ni aucun message dans la fenêtre du terminal.

Commentaires

  • Essayez de supprimer ce paramètre console=serial0,115200 de cmdline.txt. Bien quil ne sagisse pas ' dune référence à AMA0, il sagit bien évidemment dune référence à une console série, qui ne pourrait être que celle du GPIO. Assurez-vous de laisser ce fichier sur une seule ligne!
  • Word. Je ' essaierai cela et je vous répondrai.
  • Votre suggestion na ' pas tout à fait résoudre le problème, mais je crois que cest peut-être un pas dans la bonne direction. Voir comment dans Milliways commenter: il a noté que le Pi3 nutilise plus AMA0, mais utilise S0 qui est apparemment ce à quoi la console = serial0,115200 fait référence.
  • Bon, vous voulez donc utiliser ttyS0 w / the Xbee à la place également alors.
  • Cela ne fonctionne toujours pas ' pour moi … Quand je utilisez sudo minicom -b 9600 -D /dev/ttyS0 Je ne ' pour rien obtenir. Il montre le message de bienvenue de minicom montrant les options et autres, mais aucun statut en bas du terminal et je peux ' t taper quoi que ce soit. Lorsque jutilise cutecom avec les mêmes paramètres, je ' nobtiens aucune sortie non plus (rien dans la console ne disant quil est indisponible ou autre).

Réponse

Le Pi3 a permuté les ports série. /dev/ttyAMA0 est désormais utilisé pour Bluetooth. serial0 fait référence au port série non Bluetooth qui est sur /dev/ttyS0 par défaut.

Mon expérience si jessaie de utiliser serial0 nest pas bon. Cela fonctionne, mais de manière peu fiable, même si jai seulement essayé dutiliser un convertisseur série vers USB vers un PC et que je nai pas été testé de manière approfondie. Après une lecture plus approfondie, le miniUART utilise l «horloge de base» qui peut changer avec les changements de vitesse du processeur, ce qui peut expliquer le problèmes. Jai vu des suggestions pour corriger lhorloge avec: –

core_freq=250 

MODIFIER Jai essayé depuis et cela semble résoudre les problèmes. Jusquà présent, je peux « Je ne vois aucun inconvénient.

Le miniUART est également limité – il ne prend en charge que 8 bits de données et na pas de parité ainsi quun tampon plus petit.

Si vous nutilisez pas Bluetooth, il est possible de remplacer les ports dans larborescence des périphériques. Il y a un pi3-miniuart-bt et pi3-disable-bt module.

EDIT Jai maintenant réussi à faire fonctionner la série à ma satisfaction sur Pi 3 et je lai documenté dans How-do-i-make- serial-work-on-the-raspberry-pi3

Commentaires

  • Oh, je vois … Cest bien savoir. Jimagine que cest la raison pour laquelle je nai jamais reçu de réponse de AMA0. Dois-je simplement désactiver serial0 alors?
  • Et le ferais-je simplement en supprimant la référence dans cmdline.txt ou aurais-je également besoin dexécuter des commandes systemctl similaires?
  • @ Myg0t sur le Pi3 apparemment, vous DEVRIEZ utiliser serial0 qui est lUART non BT. Je nai pas essayé cela moi-même.

Laisser un commentaire

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