Jeg har slået mit hoved på bordet i flere dage for at prøve at finde ud af det. I mit liv kan jeg ikke synes at få min Raspberry Pi 3 serielle port til at kommunikere med Xbee Series 2.
Jeg tjekkede min /boot/cmdline.txt
, og der er ingen referencer til AMA0 i filen. Her er hvad der er aktuelt derinde:
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblkOp2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
EDIT: PI 3 AMA0 ikke. Det bruger S0. Jeg har fjernet post console=serial0,115200
Da dette er Jessie-opdateringen, er der ingen inittab. I hvilken jeg har læst, at jeg har brug for at gøre følgende (som jeg har gjort):
sudo systemctl stop [email protected] sudo systemctl disable [email protected] sudo systemctl mask [email protected]
Efter at have gjort alt dette, åbner jeg cutecom , indstil den til 9600 baudrate, læs / skriv, 8 bit data, 1 bit stop, og indstil enheden til / dev / ttyAMA0.
Når jeg rammer connect og skriver:
+++
for at komme ind i den konfigurationstilstand, jeg får:
write returned 0 errno: 11 write : Resource temporarily unavailable
Jeg er ikke sikker på, hvad jeg laver forkert her … Jeg ved, at Xbee er funktionel, fordi jeg er i stand til at konfigurere den ved hjælp af XCTU-software via et serielt til USB-breakoutkort. Men på Pien, der er tilsluttet via GPIO-serielle ben, får jeg intet svar.
Har du nogen ideer?
Xbee er tilsluttet en Spark Fun Xbee Regulated Explorer
Jeg har også problemer med at gøre dette med min Raspberry Pi 2 (Hvilket er hvor Pi 3 kommunikerer til). På Pi 2 har jeg redigeret cmdline.txt-filen og fjernet referencer til AMA0:
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblkOp2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
Og jeg har kørt igennem de tidligere nævnte systemctl-kommandoer på Pi2.
I øjeblikket når jeg åbner en session ved hjælp af cutecom (S0 for Rpi3 AMA0 for Rpi2) får jeg ingen output. Jeg skriver +++
ind på inputlinjen, jeg ser TX-lyset blinke på min Regulerede Explorer, men jeg får ingen output inde i cutecom eller nogen meddelelse i terminalvinduet.
Kommentarer
Svar
Pi3 har byttet serielle porte. /dev/ttyAMA0
bruges nu til Bluetooth. serial0
refererer til den ikke-Bluetooth-serielle port, der er på /dev/ttyS0
som standard.
Min erfaring, hvis jeg prøver at brug serial0
er ikke godt. Det fungerer, men upålideligt, selvom jeg kun har prøvet at bruge en seriel til USB-konverter til en pc og ikke har testet udførligt. Fra videre læsning bruger miniUART “kerneklokken”, som kan ændre sig med ændringer i processorhastighed, hvilket kan forklare problemer. Jeg har set forslag til at rette uret med: –
core_freq=250
EDIT Jeg har siden prøvet dette, og det ser ud til at løse problemerne. Indtil videre kan jeg “t ser nogen ulemper.
miniUART
er også begrænset – den understøtter kun 8 databits og har ingen paritet samt en mindre buffer.
Hvis du ikke bruger Bluetooth, er det muligt at bytte portene tilbage i Device Tree. Der er en pi3-miniuart-bt
og pi3-disable-bt
modul.
EDIT Jeg har nu formået at få seriel arbejde til min tilfredshed på Pi 3 og har dokumenteret dette i Hvordan gør jeg-make- seriel-arbejde-på-hindbær-pi3
Kommentarer
- Åh, jeg kan se … Det er godt at vide. Jeg forestiller mig, at det er grunden til, at jeg aldrig fik noget svar ud af AMA0. Skal jeg bare deaktivere serial0 så?
- Og ville jeg bare gøre det ved at slette referencen i cmdline.txt, eller skulle jeg også køre lignende systemctl-kommandoer?
- @ Myg0t på Pi3 tilsyneladende SKAL du bruge serial0, som ikke er BT UART. Jeg har ikke prøvet dette selv.
console=serial0,115200
-parameteren fracmdline.txt
. Selvom det ikke er ' en henvisning tilAMA0
, er det ganske klart en henvisning til en seriel konsol, som kun kunne være den på GPIOer. Sørg for, at du efterlader filen som en enkelt linje!ttyS0
med Xbee i stedet også da.sudo minicom -b 9600 -D /dev/ttyS0
Jeg får ' for ikke at få noget. Det viser minicom velkomstmeddelelsen, der viser indstillingerne og sådan, men ingen status i bunden af terminalen, og jeg kan ' ikke skrive noget. Når jeg bruger cutecom med de samme indstillinger, får jeg ikke ' heller ikke noget output (intet i konsollen siger, at det ikke er tilgængeligt eller noget).