De câteva zile îmi bat capul pe masă încercând să dau seama de acest lucru. Pentru viața mea nu pot să obțineți portul meu serial Raspberry Pi 3 pentru a comunica cu Xbee Series 2.

Am verificat /boot/cmdline.txt și nu există referințe la AMA0 în fișier. Iată ce este actual acolo:

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

EDIT: PI 3 nu AMA0. Folosește S0. Am „eliminat intrarea console=serial0,115200

Deoarece aceasta este actualizarea Jessie, nu există inittab. În care am „citit că trebuie să fac următoarele (ceea ce am„ făcut):

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

După ce am făcut toate acestea, deschid cutecom , setați-l la 9600 baud rate, citire / scriere, date pe 8 biți, 1 bit oprire și setați dispozitivul la / dev / ttyAMA0.

Când apăs pe conectare și tastați:

+++ 

pentru a intra în modul de configurare pe care îl primesc:

write returned 0 errno: 11 write : Resource temporarily unavailable 

Nu sunt sigur ce fac greșit aici … Știu că Xbee este funcțional, deoarece „îl pot configura folosind software-ul XCTU printr-o placă serial-to-USB. Dar pe Pi conectat prin pinii seriali GPIO nu primesc niciun răspuns.

Aveți idei?

Xbee este conectat la un Spark Fun Xbee Regulated Explorer


Am și probleme cu acest lucru cu Raspberry Pi 2 (Care este locul unde Pi 3 va comunica). Pe Pi 2, am „editat fișierul cmdline.txt și am eliminat referințele la AMA0:

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

Și am trecut prin comenzile systemctl menționate anterior. pe Pi2.

În prezent, când deschid o sesiune folosind cutecom (S0 pentru Rpi3 AMA0 pentru Rpi2) nu primesc nicio ieșire. Introduc +++ în linia de intrare, văd lumina TX clipind pe Regulated Explorer, dar nu primesc nicio ieșire în cutecom și niciun mesaj în fereastra terminalului.

Comentarii

  • Încercați să eliminați acel parametru console=serial0,115200 din cmdline.txt. Deși nu este ' o referință la AMA0, este destul de evident o referință la o consolă serială, care ar putea fi doar cea de pe GPIO-uri. Asigurați-vă că lăsați fișierul ca un singur rând!
  • Word. ' voi încerca asta și vă voi întoarce.
  • Sugestia dvs. nu ' nu a rezolvat problema, dar cred că poate fi un pas în direcția corectă. Văzând cum în comentariul Milliways: el a observat că Pi3 nu mai folosește AMA0, ci folosește S0, care se pare că la care se referă console = serial0,115200.
  • Bine, deci doriți să utilizați ttyS0 cu Xbee, în schimb, atunci.
  • Încă nu funcționează pentru mine … Când am utilizați sudo minicom -b 9600 -D /dev/ttyS0 Nu ' nu primesc nimic. Afișează mesajul de întâmpinare minicom care arată Opțiunile și altele, dar nu există stare în partea de jos a terminalului și nu pot ' t să scriu nimic. Când folosesc cutecom cu aceleași setări, nu ' nu primesc nici o ieșire (nimic din consolă nu spune că este indisponibil sau ceva).

Răspuns

Pi3 a schimbat porturile seriale. /dev/ttyAMA0 este acum utilizat pentru Bluetooth. serial0 se referă la portul serial non-Bluetooth care se află în mod implicit pe /dev/ttyS0.

Experiența mea dacă încerc să utilizarea serial0 nu este bună. Funcționează, dar fără încredere, deși am încercat doar să folosesc un convertor serial la USB pe un computer și nu am testat extensiv. De la citirea ulterioară, miniUART folosește „ceasul de bază” care se poate schimba cu modificările de viteză ale procesorului, care pot explica probleme. Am văzut sugestii pentru a remedia ceasul cu: –

core_freq=250 

EDIT Am încercat de atunci și pare să rezolve problemele. Până acum pot „nu văd niciun dezavantaj.

miniUART este, de asemenea, limitat – acceptă doar 8 biți de date și nu are paritate, precum și un tampon mai mic.

Dacă nu utilizați Bluetooth, este posibil să schimbați porturile înapoi în Arborele dispozitivului. Există un pi3-miniuart-bt și pi3-disable-bt module.

EDIT Am reușit acum să obțin funcționarea în serie spre satisfacția mea pe Pi 3 și am documentat acest lucru în How-do-i-make- serial-work-on-the-raspberry-pi3

Comentarii

  • Oh, văd … Asta e bine a ști. Îmi imaginez că acesta este motivul pentru care nu am primit niciodată un răspuns din AMA0. Ar trebui să dezactivez serial0 atunci?
  • Și aș face asta doar ștergând referința din cmdline.txt sau ar trebui, de asemenea, să rulez comenzi systemctl similare? se pare că ar trebui să utilizați serial0 care este non-BT UART. Nu am încercat asta chiar eu.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *