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
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.
console=serial0,115200
dincmdline.txt
. Deși nu este ' o referință laAMA0
, 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!ttyS0
cu Xbee, în schimb, atunci.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).