Ho “battuto la testa sul tavolo per giorni cercando di capirlo. Per la vita di me non posso sembrare ottenere la mia porta seriale Raspberry Pi 3 per comunicare con Xbee Series 2.
Ho controllato il mio /boot/cmdline.txt
e non ci sono riferimenti ad AMA0 nel file. Ecco cosa cè di corrente lì dentro:
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblkOp2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
EDIT: PI 3 non AMA0. Utilizza S0. Ho rimosso la voce console=serial0,115200
Poiché questo è laggiornamento di Jessie, non cè inittab. In cui ho letto che devo fare quanto segue (cosa che ho fatto):
sudo systemctl stop [email protected] sudo systemctl disable [email protected] sudo systemctl mask [email protected]
Dopo aver fatto tutto questo, apro cutecom , impostalo su 9600 baud rate, lettura / scrittura, dati a 8 bit, 1 bit stop e imposta il dispositivo su / dev / ttyAMA0.
Quando premo connect e digito:
+++
per accedere alla modalità di configurazione ottengo:
write returned 0 errno: 11 write : Resource temporarily unavailable
Non sono sicuro di quello che sto facendo sbagliato qui … So che lXbee è funzionale perché sono in grado di configurarlo utilizzando il software XCTU tramite una breakout board seriale-USB. Ma sul Pi collegato tramite i pin seriali GPIO non ottengo risposta.
Qualche idea?
Xbee è collegato a uno Spark Fun Xbee Regulated Explorer
Ho anche problemi a farlo con il mio Raspberry Pi 2 (Che è dove il Pi 3 comunicherà). Sul Pi 2, ho modificato il file cmdline.txt e rimosso i riferimenti a AMA0:
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblkOp2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
E ho eseguito i comandi systemctl menzionati in precedenza su Pi2.
Attualmente quando apro una sessione usando cutecom (S0 per Rpi3 AMA0 per Rpi2) non ottengo alcun output. Digito +++
nella riga di input, vedo la spia TX lampeggiare sul mio Explorer regolamentato ma non ottengo alcun output allinterno di cutecom, né alcun messaggio nella finestra del terminale.
Commenti
Risposta
Il Pi3 ha scambiato le porte seriali. /dev/ttyAMA0
è ora utilizzato per Bluetooth. serial0
si riferisce alla porta seriale non Bluetooth che si trova su /dev/ttyS0
per impostazione predefinita.
La mia esperienza se ci provo utilizzare serial0
non va bene. Funziona, ma in modo inaffidabile, anche se ho solo provato a utilizzare un convertitore da seriale a USB su un PC e non lho testato ampiamente. Da ulteriori letture il miniUART utilizza il “core clock” che può cambiare con i cambiamenti di velocità del problemi. Ho visto suggerimenti per aggiustare lorologio con: –
core_freq=250
EDIT Da allora ho provato questo e sembra risolvere i problemi. Finora posso “Non vedo alcun aspetto negativo.
Anche miniUART
è limitato: supporta solo 8 bit di dati e non ha parità così come un buffer più piccolo.
Se non si utilizza il Bluetooth, è possibile scambiare nuovamente le porte nella struttura dei dispositivi. Sono presenti pi3-miniuart-bt
e pi3-disable-bt
modulo.
MODIFICA Ora sono riuscito a far funzionare la seriale in modo soddisfacente su Pi 3 e lho documentato in How-do-i-make- serial-work-on-the-raspberry-pi3
Commenti
- Oh, capisco … Va bene sapere. Immagino che questo sia il motivo per cui non ho mai ricevuto alcuna risposta da AMA0. Dovrei semplicemente disabilitare serial0 allora?
- E lo farei semplicemente eliminando il riferimento in cmdline.txt o dovrei anche eseguire comandi systemctl simili?
- @ Myg0t sul Pi3 apparentemente DOVRESTI usare serial0 che è lUART non BT. Non lho provato da solo.
console=serial0,115200
dacmdline.txt
. Sebbene non sia ' un riferimento aAMA0
, è abbastanza ovviamente un riferimento a una console seriale, che potrebbe essere solo quella sul GPIO. Assicurati di lasciare quel file su una sola riga!ttyS0
con Xbee invece anche allora.sudo minicom -b 9600 -D /dev/ttyS0
Non ' per ottenere nulla. Mostra il messaggio di benvenuto di minicom che mostra le Opzioni e simili, ma nessuno stato nella parte inferiore del terminale e posso ' digitare qualsiasi cosa. Quando uso cutecom con le stesse impostazioni, non ' ne ricevo alcun output (niente nella console che dice che non è disponibile o altro).